1 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3 * tests/check/Makefile.am:
4 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6 Add a very simple check that should have caught the memleak I fixed
7 last night (if not for the slice allocator hiding it)
9 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12 (gst_bin_remove_func), (gst_bin_handle_message_func),
13 (bin_query_duration_fold), (bin_query_generic_fold):
14 Clean up references to the clock provider when disposed or when
15 handling a clock-lost message from it.
17 Unref sinks when performing a query via gst_iterator_fold, as the
18 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
20 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
21 (gst_clock_set_master):
22 Drop our reference to the master clock, if any, when we are disposed.
24 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
27 2006-01-26 Wim Taymans <wim@fluendo.com>
29 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
32 2006-01-26 Julien MOUTTE <julien@moutte.net>
34 * plugins/elements/gsttee.c: (gst_tee_do_push),
35 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
36 handles pad being NOT_LINKED or in WRONG_STATE.
38 2006-01-26 Stefan Kost <ensonic@users.sf.net>
43 2006-01-26 Stefan Kost <ensonic@users.sf.net>
48 2006-01-26 Stefan Kost <ensonic@users.sf.net>
50 * docs/gst/gstreamer-sections.txt:
51 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
52 (gst_bin_iterate_sources), (gst_bin_send_event):
54 * gst/gstelement.c: (gst_element_send_event):
56 * gst/gstpad.c: (gst_pad_send_event):
57 added code for downstream events, reviewed docs in gstevent.c
59 2006-01-25 Julien MOUTTE <julien@moutte.net>
61 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
62 We only query position using the clock in the playing state.
63 Query peer in the other cases.
64 * win32/common/config.h: Updates.
66 2006-01-24 Wim Taymans <wim@fluendo.com>
68 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
69 A clock entry that is scheduled for the exact time of the
70 clock is still in time.
72 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
73 (gst_base_sink_do_sync):
74 Add some more debug info.
76 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
79 Add new vs7 project files and solution.
81 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
84 all files removed as they were out-dated.
86 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
88 * docs/random/release:
90 * gst/gstbin.c: (gst_bin_init):
91 * gst/gstbus.c: (gst_bus_new):
93 * gst/gstpipeline.c: (gst_pipeline_init):
94 use gst_bus_new(), improve logging, fix docs
95 * win32/common/config.h:
98 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
101 up required version of automake to 1.7
103 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
105 * win32/common/libgstreamer.def:
106 export gst_buffer_is_metadata_writable
108 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
110 * docs/gst/gstreamer-sections.txt:
112 Add gst_event_replace() (#327001)
114 2006-01-20 Wim Taymans <wim@fluendo.com>
116 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
117 Make it actually compile too..
119 2006-01-20 Wim Taymans <wim@fluendo.com>
122 Clarify behaviour of _is_equal() when passing NULL parameters.
124 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
126 Cleanups. Don't unref NULL caps.
127 When setting the same caps, protect caps of the pad with
129 Use full functionality of _is_equal() when comparing caps.
131 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
133 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
134 Don't loop infinitely if there are no buffers to present. Partially
135 fixes #327197, but collectpads is just broken for reusing elements
136 to do multiple encodes atm.
138 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
140 * tools/gst-inspect.c: (print_element_features):
141 * tools/gst-xmlinspect.c: (main):
142 URL_HANDLER is not a plugin feature we can search for in
145 2006-01-19 Edward Hervey <edward@fluendo.com>
147 * gst/gstelement.c: (gst_element_pads_activate):
148 When activating, do src pads first, then sink pads.
149 When de-activating, do sink pads first, then src pads.
151 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
153 * docs/gst/gstreamer-sections.txt:
154 Add gst_index_add_associationv to the docs
156 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
161 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
162 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
163 Do some refactoring. Doesn't actually change functionality,
164 but makes landing the DRAIN event easier later.
166 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
168 * docs/pwg/advanced-scheduling.xml:
169 Update from 0.9.x to 0.10 API and make example a bit
172 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
174 * docs/gst/gstreamer-sections.txt:
175 Add gst_buffer_(is|make)_metadata_writable methods.
177 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
179 * docs/design/part-sparsestreams.txt:
180 Update sparse streams doc, hopefully for greater clarity
182 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
184 * docs/design/part-events.txt:
185 Remove mention of FILLER events.
188 * docs/design/part-sparsestreams.txt:
189 Write some things about using NEWSEGMENT to keep sparse streams
192 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
194 * gst/gstbin.c: (gst_bin_dispose):
195 Guard gst_object_unref call against a NULL object (dispose
196 can theoretically be called multiple times).
198 2006-01-18 Wim Taymans <wim@fluendo.com>
200 * gst/gstbin.c: (gst_bin_element_set_state):
201 * gst/gstclock.c: (gst_clock_id_wait):
202 Added some more debug info.
204 * libs/gst/base/gstadapter.c:
207 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
208 (gst_base_sink_do_sync), (gst_base_sink_chain):
211 2006-01-18 Wim Taymans <wim@fluendo.com>
213 * tests/check/Makefile.am:
214 * tests/check/elements/fakesink.c: (chain_async_buffer),
215 (chain_async), (chain_async_return), (GST_START_TEST),
216 (fakesink_suite), (main):
217 Added fakesink test that checks prerolling and clipping
220 * tests/check/gst/gstutils.c: (GST_START_TEST):
221 Make check run faster so that buildbots don't timeout.
223 2006-01-18 Wim Taymans <wim@fluendo.com>
225 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
226 (gst_base_sink_do_sync):
228 When the sink finishes blocking on the preroll buffer, it can
229 immediatly render it instead of rendering when the next buffer
232 2006-01-18 Wim Taymans <wim@fluendo.com>
234 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
235 (gst_base_sink_get_property), (gst_base_sink_do_sync),
236 (gst_base_sink_chain):
238 GST_ELEMENT_CLOCK and sync are protected with LOCK.
239 Don't store _last_stop if the buffer is dropped.
241 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
243 * plugins/elements/gsttypefindelement.c:
244 (gst_type_find_element_class_init):
245 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
246 object method handler that sets the caps on the pad and we want
247 that to happen before we emit the signal (fixes e.g. feeding a
248 plain text file to decodebin).
250 2006-01-18 Christian Schaller <Christian@fluendo.com>
252 * gst/gstplugin.c: Add MPL and Proprietary as license options
254 2006-01-18 Andy Wingo <wingo@pobox.com>
256 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
257 symbol was exported before, it appears this was just an oversight.
259 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
261 * gst/gstindex.c (gst_index_add_associationv): Changed int in
262 prototype to gint. OK since this prototype was not in the header.
264 2006-01-17 Andy Wingo <wingo@pobox.com>
266 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
267 registry while we remove plugins.
269 * tools/gst-inspect.c (print_element_info): Don't unref the
270 factory arg, that should be the responsibility of whatever code
271 received the ref. Fixes a double-free when called from
272 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
273 (main): Unref the factory if we have one.
274 (print_element_list): No change -- relies on the
275 plugin_feature_list_free to free the list of features.
277 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
279 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
280 (gst_buffer_make_metadata_writable):
282 * libs/gst/base/gstbasetransform.c:
283 (gst_base_transform_prepare_output_buf):
284 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
285 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
286 Replace gst_buffer_(make|is)_metadata_writable patch now
287 that the release is out.
289 2006-01-17 Andy Wingo <wingo@pobox.com>
291 * gst/gstregistry.c: Reflow design comment. Update so as to speak
292 in the present tense without reference to versions.
294 * gst/gstregistry.c (gst_registry_add_plugin)
295 (gst_registry_remove_plugin, gst_registry_remove_feature)
296 (gst_registry_find_feature, gst_registry_get_feature_list)
297 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
298 (gst_registry_lookup, gst_registry_scan_path)
299 (_gst_registry_remove_cache_plugins)
300 (gst_registry_get_feature_list_by_plugin): Add argument
303 === release 0.10.2 ===
305 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
308 releasing 0.10.2, "If man is five"
310 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
314 * libs/gst/base/gstbasetransform.c:
315 (gst_base_transform_prepare_output_buf):
316 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
317 * tests/check/gst/gstbuffer.c: (gst_test_suite):
318 Back out patch until after the release.
320 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
322 * gst/gstminiobject.c:
323 Spelling fix in docs.
324 * ChangeLog - remove conflict indicator
326 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
328 Reviewed By: Andy Wingo
330 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
331 (gst_buffer_make_metadata_writable):
333 Add gst_buffer_(is|make)_metadata_writable as analogues of
334 gst_buffer_(is|make)_writable.
336 * libs/gst/base/gstbasetransform.c:
337 (gst_base_transform_prepare_output_buf):
338 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
339 Use name gst_buffer_(is|make)_metadata_writable functions.
341 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
342 Test gst_buffer_(is|make)_metadata_writable
346 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
348 * docs/manual/Makefile.am:
349 don't do parallel make
352 * win32/common/config.h.in:
353 add generations for HOST_CPU and GST_MAJORMINOR
354 * win32/common/config.h:
355 commit generated result
357 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
359 * docs/manual/appendix-integration.xml:
360 Update GNOME integration section to use gst_init_get_option_group()
361 instead of the old popt stuff (#322911). Also, GNOME applications
362 should now use gconf*sink and gconf*src instead of the old gconf
365 2006-01-13 Stefan Kost <ensonic@users.sf.net>
368 * docs/gst/gstreamer-docs.sgml:
369 * docs/gst/gstreamer-sections.txt:
370 * docs/libs/gstreamer-libs-sections.txt:
371 add new API entries to the docs
372 * libs/gst/controller/Makefile.am:
373 * libs/gst/controller/gstcontroller.c:
374 * libs/gst/controller/gstcontroller.h:
375 * libs/gst/controller/gstcontrollerprivate.h:
376 * libs/gst/controller/gsthelper.c:
377 * libs/gst/controller/gstinterpolation.c:
378 move private structs to private header
380 gstreamer-0.7 -> gstreamer-0.10
381 * tests/check/libs/struct_i386.h:
382 remove private structs
384 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
386 * plugins/indexers/Makefile.am:
387 Fixes as part of #317048
389 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
391 * plugins/indexers/Makefile.am:
392 fix #316086 - compilation when mmap is missing
394 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
396 * libs/gst/base/gstbasesink.c:
397 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
398 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
399 * win32/common/config.h:
400 added some defines GST_MAJORMINOR and HOST_CPU
401 * win32/common/libgstbase.def:
402 * win32/common/libgstreamer.def:
403 added some exported functions.
405 2006-01-12 Stefan Kost <ensonic@users.sf.net>
407 * libs/gst/controller/gstcontroller.c:
408 (gst_controlled_property_set_interpolation_mode),
409 (gst_controlled_property_new):
410 * libs/gst/controller/gstcontroller.h:
411 * libs/gst/controller/gstinterpolation.c:
412 (interpolate_none_get_string_value_array):
413 make G_TYPE_STRING controlable
415 2006-01-12 Stefan Kost <ensonic@users.sf.net>
418 * tools/gst-feedback.1.in:
419 * tools/gst-inspect.1.in:
420 * tools/gst-launch.1.in:
421 * tools/gst-md5sum.1.in:
422 * tools/gst-typefind.1.in:
423 * tools/gst-xmlinspect.1.in:
424 * tools/gst-xmllaunch.1.in:
425 cleanup man-pages, remove reference to gst-register, document env-vars
427 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
429 * gst/gstbuffer.c: (gst_buffer_span):
430 gst_buffer_span should copy the timestamp of the first buffer
431 if they were both originally overlapping subbuffers of the
432 same parent, using the same logic as the 'slow copy' case.
434 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
436 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
437 Need to awaken ALL the pads when we pop a buffer, otherwise
438 collectpads only works when there is 2 input streams.
440 2006-01-11 Stefan Kost <ensonic@users.sf.net>
442 * docs/random/ensonic/media-device-daemon.txt:
445 fix doc example, add clarification
446 * tools/gst-launch.1.in:
447 add initial info about GST_PLUGIN_PATH, needs more work
449 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
451 * docs/manual/basics-bins.xml:
452 * docs/manual/basics-elements.xml:
453 * docs/manual/intro-basics.xml:
454 Some more minor docs additions and updates.
456 2006-01-11 Wim Taymans <wim@fluendo.com>
458 * docs/manual/basics-bins.xml:
459 * docs/manual/basics-elements.xml:
460 Some small fixes as pointed out by Ser-ver on IRC.
462 2006-01-10 Edward Hervey <edward@fluendo.com>
464 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
465 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
466 the single-segment mode.
468 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
470 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
472 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
473 (gst_base_src_perform_seek), (gst_base_src_send_event),
474 (gst_base_src_set_property), (gst_base_src_get_property),
475 (gst_base_src_loop), (gst_base_src_start),
476 (gst_base_src_activate_push):
477 * libs/gst/base/gstbasesrc.h:
478 Name (private) union; makes Sun's Forte compiler happy (#324900).
480 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
483 gst-register is gone.
485 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
487 * gst/gstvalue.c: (_gst_value_initialize):
488 make the G_TYPE_DATE instantiation work if debug is disabled
490 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
492 * gst/gstmessage.c: (gst_message_parse_tag),
493 (gst_message_parse_error), (gst_message_parse_warning):
494 Don't crash when return location for error/warning debug
495 string is NULL; add fact that return locations can be
496 NULL to docs where appropriate.
498 2006-01-05 Wim Taymans <wim@fluendo.com>
500 * gst/gstplugin.c: (gst_plugin_load_file):
501 Replace strdup by g_strdup.
503 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
505 * docs/pwg/advanced-types.xml:
508 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
510 submitted by: Abel Cheung
514 Added Chinese (traditional) translation
516 2006-01-04 Wim Taymans <wim@fluendo.com>
518 * docs/manual/basics-pads.xml:
519 * docs/plugins/Makefile.am:
520 * docs/plugins/gstreamer-plugins-docs.sgml:
521 * docs/plugins/gstreamer-plugins-sections.txt:
522 * docs/pwg/advanced-clock.xml:
523 * docs/pwg/advanced-scheduling.xml:
524 * docs/pwg/advanced-types.xml:
525 * plugins/elements/gstfdsink.c:
526 * plugins/elements/gstfdsrc.c:
527 * plugins/elements/gstfdsrc.h:
528 * plugins/elements/gstidentity.c: (gst_identity_class_init):
529 * plugins/elements/gstidentity.h:
530 * plugins/elements/gstqueue.h:
531 * plugins/elements/gsttee.c:
532 * plugins/elements/gsttee.h:
533 * plugins/elements/gsttypefindelement.c:
534 (gst_type_find_element_class_init):
535 * plugins/elements/gsttypefindelement.h:
536 Small updates to various docs.
537 Added core plugins to docs.
539 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
542 add a suppression for liboil's uninitialized variable
544 2006-01-02 James Livingston <jrl at ids dot org dot au>
546 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
549 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
550 macro, so that gcc doesn't complain if the -Wmissing-prototypes
551 compiler switch is being used (#325429).
553 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
555 * gst/gstbin.c: (gst_bin_query):
556 Disable duration query caching in bins until it gets
559 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
561 * tools/gst-inspect.c: (print_element_properties_info):
562 Handle properties of POINTER and BOXED type.
564 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
566 * gst/gst.c: (init_post):
567 Init tags stuff and some other things before loading
568 any static plugins (there may be other static plugins
569 than just the GStreamer ones, and they may want to
570 register their own tags or formats or whatever, and
571 preferably without segfaulting).
573 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
574 Print at least a warning in the debug logs if we drop a
575 query just because we don't know how to adjust the value
576 in the particular format.
578 2005-12-24 David Schleef <ds@schleef.org>
580 * tools/gstreamer-completion:
581 Replacement for gst-complete written in sh and sed. Only
582 completes names of features, but that's 90% of what I want
583 it for. Properties are not available in registry.xml. (Maybe
586 === release 0.10.1 ===
588 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
591 releasing 0.10.1, "Nollaig chridheil"
593 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
596 Add missing quote, should be make ERROR_CFLAGS="".
598 2005-12-20 Wim Taymans <wim@fluendo.com>
600 * docs/design/part-trickmodes.txt:
601 More documentation on trickmodes.
603 2005-12-20 Edward Hervey <edward@fluendo.com>
605 * gst/gstcaps.c: (gst_static_caps_get_type):
607 API addition: GST_TYPE_STATIC_CAPS
608 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
609 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
610 * gst/gstpadtemplate.h:
611 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
612 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
615 2005-12-18 Wim Taymans <wim@fluendo.com>
617 * libs/gst/base/gstadapter.c:
618 * libs/gst/base/gstadapter.h:
619 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
620 (gst_base_sink_get_position):
621 * libs/gst/base/gstbasesink.h:
622 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
623 (gst_base_src_default_query), (gst_base_src_default_do_seek),
624 (gst_base_src_do_seek), (gst_base_src_perform_seek),
625 (gst_base_src_send_event), (gst_base_src_update_length),
626 (gst_base_src_get_range), (gst_base_src_loop),
627 (gst_base_src_start):
628 * libs/gst/base/gstbasesrc.h:
629 * libs/gst/base/gstbasetransform.h:
630 * libs/gst/base/gstcollectpads.h:
631 * libs/gst/base/gstpushsrc.c:
632 * libs/gst/base/gstpushsrc.h:
633 * libs/gst/dataprotocol/dataprotocol.c:
634 * libs/gst/dataprotocol/dataprotocol.h:
635 * libs/gst/net/gstnetclientclock.h:
636 * libs/gst/net/gstnettimeprovider.h:
637 Documentation updates.
639 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
641 * docs/manual/basics-helloworld.xml:
642 Remove superfluous closing bracket in helloworld example.
644 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
646 * tools/gst-launch.1.in:
647 Update gst-launch man page; add a section with useful
648 environment variables. Fixes #323882.
650 2005-12-16 Stefan Kost <ensonic@users.sf.net>
654 change some char* into char[]
656 2005-12-16 Wim Taymans <wim@fluendo.com>
658 * gst/gstregistryxml.c: (load_feature):
660 Don't use g_object_unref on GstObjects so that we avoid
661 leaks on unsafe glibs.
663 2005-12-16 Wim Taymans <wim@fluendo.com>
665 * gst/gstbin.c: (gst_bin_recalc_state):
668 2005-12-16 Wim Taymans <wim@fluendo.com>
671 Added make forever target for check.
673 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
675 * gst/gst.c: (init_post):
676 make the registry cache file HOST_CPU-dependent
678 2005-12-16 Andy Wingo <wingo@pobox.com>
680 * plugins/elements/gstbufferstore.c
681 (gst_buffer_store_cleared_func): Pay attention to g_list_append
684 * tests/check/gst/gstobject.c
685 (test_fake_object_name_threaded_unique): Pay attention to
686 g_list_sort return value.
688 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
690 * tools/gst-feedback-m.m:
691 Update for 0.9/0.10 (fixes #323870).
693 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
695 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
696 Fix lcopy for mini objects, the mini object needs to be ref'ed.
698 * tests/check/gst/gstminiobject.c: (my_foo_init),
699 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
700 (test_value_collection), (gst_mini_object_suite):
701 Add test to ensure refcounts end up as expected when passing
702 GstMiniObjects through g_object_get() and g_object_set().
704 2005-12-14 Julien MOUTTE <julien@moutte.net>
706 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
707 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
708 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
709 of collectpads. This version removes a lot of races without
710 touching API/ABI. Yay !
712 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
714 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
715 Don't allow activation of a srcpad in pull_range if it has no
717 Change some debug statements to be a little clearer
719 * plugins/elements/gsttypefindelement.c:
720 (gst_type_find_handle_src_query):
721 Check that we have a peer before executing queries thereupon.
723 * tests/examples/metadata/read-metadata.c: (message_loop):
724 Use gst_bus_pop instead of gst_bus_poll when we just want it to
725 immediately return us any available message with 0 timeout.
727 2005-12-12 Michael Smith <msmith@fluendo.com>
729 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
730 Don't unref factories after calling them.
731 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
732 * plugins/elements/gsttypefindelement.c:
733 (gst_type_find_element_chain):
734 Free lists of factories after using them. Fixing typefinding memory
737 2005-12-12 Stefan Kost <ensonic@users.sf.net>
739 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
740 (gst_plugin_feature_load):
741 more meaningful debug output
744 * tests/old/examples/Makefile.am:
745 make make distcheck happy again
747 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
749 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
750 Catch the special case where we are operating chain-based,
751 but the downstream peer pad has no chain function. Emit a
752 custom error message in this case instead of letting the
753 core generate one implying that this is some sort of core
754 bug. It's not, it just means that whatever got plugged
755 into the pipeline downstream when we announced the type
756 can only operate pull-based, while our source can only
757 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
758 Error string has not been marked for translation yet, as
759 it probably needs some more work first.
761 (gst_type_find_element_get_best_possibility):
762 Add helper function to find the best of all available
763 found possibilities that qualify given the min. threshold.
765 (gst_type_find_element_handle_event):
766 Fix the case where we get an EOS while still in TYPEFIND
767 mode (we want to chose the best of all possible types,
768 not just the first type that happens to be in our unsorted
769 list of possible types).
771 (gst_type_find_element_chain):
772 Make sure we return GST_FLOW_ERROR when we errored out
773 in stop_typefinding(); also, don't just find the best of
774 all found type entries and then use the last examined
775 type entry, but actually use the best entry.
777 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
779 * tests/examples/typefind/typefind.c: (type_found):
780 * tests/examples/xml/runxml.c: (xml_loaded):
781 More gcc4 fixes and a mem leak fix.
783 2005-12-12 Stefan Kost <ensonic@users.sf.net>
785 * tests/examples/xml/createxml.c: (object_saved):
788 2005-12-12 Stefan Kost <ensonic@users.sf.net>
791 enable the examples even more
793 2005-12-12 Andy Wingo <wingo@pobox.com>
795 * libs/gst/net/gstnettimeprovider.c
796 (gst_net_time_provider_class_init, gst_net_time_provider_init)
797 (gst_net_time_provider_set_property)
798 (gst_net_time_provider_get_property):
799 API addition: Export "active" as a GObject property.
800 (gst_net_time_provider_thread): Only respond to time queries if
801 the time provider is active.
803 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
804 NetTimeProvider, preserving binary compat.
806 2005-12-12 Stefan Kost <ensonic@users.sf.net>
808 * tests/examples/controller/audio-example.c: (main):
809 * tests/examples/launch/Makefile.am:
810 convert comments again
812 2005-12-12 Wim Taymans <wim@fluendo.com>
814 * libs/gst/base/gstpushsrc.c:
817 2005-12-12 Wim Taymans <wim@fluendo.com>
819 * docs/libs/gstreamer-libs-sections.txt:
820 Added new symbol to docs.
822 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
823 (gst_base_src_init), (gst_base_src_set_format),
824 (gst_base_src_default_query), (gst_base_src_query),
825 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
826 (gst_base_src_perform_seek), (gst_base_src_send_event),
827 (gst_base_src_default_event), (gst_base_src_event_handler),
828 (gst_base_src_set_property), (gst_base_src_get_property),
829 (gst_base_src_wait), (gst_base_src_do_sync),
830 (gst_base_src_update_length), (gst_base_src_get_range),
831 (gst_base_src_check_get_range), (gst_base_src_loop),
832 (gst_base_src_default_negotiate), (gst_base_src_start),
833 (gst_base_src_activate_push), (gst_base_src_activate_pull),
834 (gst_base_src_change_state):
835 * libs/gst/base/gstbasesrc.h:
836 Implement seeking to other formats than _BYTES.
837 Implement more seeking methods correctly.
840 Added do_seek vmethod to make life easier for subclasses
842 API addition: gst_base_src_set_format()
844 2005-12-12 Stefan Kost <ensonic@users.sf.net>
846 * tests/examples/Makefile.am:
849 2005-12-12 Stefan Kost <ensonic@users.sf.net>
852 * docs/random/ensonic/media-device-daemon.txt:
853 * tests/examples/controller/.cvsignore:
854 * tests/examples/controller/Makefile.am:
855 * tests/examples/controller/audio-example.c: (main):
856 * tests/examples/helloworld/.cvsignore:
857 * tests/examples/helloworld/Makefile.am:
858 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
859 * tests/examples/launch/.cvsignore:
860 * tests/examples/launch/Makefile.am:
861 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
862 * tests/examples/metadata/.cvsignore:
863 * tests/examples/metadata/Makefile.am:
864 * tests/examples/metadata/read-metadata.c: (message_loop),
865 (make_pipeline), (print_tag), (main):
866 * tests/examples/queue/.cvsignore:
867 * tests/examples/queue/Makefile.am:
868 * tests/examples/queue/queue.c: (event_loop), (main):
869 * tests/examples/typefind/.cvsignore:
870 * tests/examples/typefind/Makefile.am:
871 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
873 * tests/examples/xml/.cvsignore:
874 * tests/examples/xml/Makefile.am:
875 * tests/examples/xml/createxml.c: (object_saved), (main):
876 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
877 * tests/old/examples/Makefile.am:
878 * tests/old/examples/TODO:
879 * tests/old/examples/controller/.cvsignore:
880 * tests/old/examples/controller/Makefile.am:
881 * tests/old/examples/controller/audio-example.c:
882 * tests/old/examples/helloworld/.cvsignore:
883 * tests/old/examples/helloworld/Makefile.am:
884 * tests/old/examples/helloworld/helloworld.c:
885 * tests/old/examples/launch/.cvsignore:
886 * tests/old/examples/launch/Makefile.am:
887 * tests/old/examples/launch/mp3parselaunch.c:
888 * tests/old/examples/launch/mp3play:
889 * tests/old/examples/manual/Makefile.am:
890 * tests/old/examples/metadata/Makefile.am:
891 * tests/old/examples/metadata/read-metadata.c:
892 * tests/old/examples/queue/.cvsignore:
893 * tests/old/examples/queue/Makefile.am:
894 * tests/old/examples/queue/queue.c:
895 * tests/old/examples/typefind/.cvsignore:
896 * tests/old/examples/typefind/Makefile.am:
897 * tests/old/examples/typefind/typefind.c:
898 * tests/old/examples/xml/.cvsignore:
899 * tests/old/examples/xml/Makefile.am:
900 * tests/old/examples/xml/createxml.c:
901 * tests/old/examples/xml/runxml.c:
902 applied some simple fixing to some examples
903 re-enabled the working examples
905 2005-12-12 Wim Taymans <wim@fluendo.com>
907 * gst/gstsegment.c: (gst_segment_init),
908 (gst_segment_set_last_stop), (gst_segment_set_seek),
909 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
910 (gst_segment_to_running_time):
911 Added more documentation.
912 Make sure the last_pos value is updated properly.
913 Make sure to_stream_time and to_running_time don't
914 operate on wrong values.
916 * tests/check/gst/gstsegment.c: (GST_START_TEST):
919 2005-12-12 Michael Smith <msmith@fluendo.com>
921 * plugins/elements/gsttypefindelement.c: (free_entry),
922 (gst_type_find_element_chain):
923 Now that we're not leaking factories, make sure we keep references
924 to them while we need them.
926 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
928 * tests/check/gst/struct_i386.h:
929 ifdef out the XML structs
931 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
933 * gst/gstvalue.c: (gst_value_transform_double_fraction):
934 floor is not needed, F is always positive; this obviates the
935 need for adding -lm when building without libxml
937 2005-12-12 Wim Taymans <wim@fluendo.com>
939 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
940 Take current playback rate into account when reporting
943 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
945 * docs/manual/mime-world.fig:
946 Let's try this again, this time with a file that is
947 actually in XFig format.
949 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
951 * docs/manual/mime-world.fig:
952 Add audioconvert element to diagram so that it
953 matches the text and the code (fixes #319526).
955 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
957 * docs/pwg/building-chainfn.xml:
958 * docs/pwg/building-pads.xml:
959 * docs/pwg/building-state.xml:
960 * docs/pwg/other-source.xml:
961 Update state change stuff for 0.10 (fixes #322969).
963 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
965 * docs/manual/advanced-dataaccess.xml:
966 * docs/manual/appendix-checklist.xml:
967 * docs/manual/appendix-programs.xml:
968 * docs/manual/basics-pads.xml:
969 * docs/manual/highlevel-components.xml:
970 * docs/manual/manual.xml:
971 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
972 add converters in front of pipelines; remove curly
973 brackets for threads stuff, they no longer exist; use
974 GST_TYPE_FRACTION for framerates; update some pieces of
975 code to 0.10, but there's plenty more to do.
977 * docs/manual/appendix-porting.xml:
978 Expand on asynchroneous state changes; s/0.9/0.10/;
979 mention disappearance of gst_init_get_popt_table()
982 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
984 * docs/faq/using.xml:
985 Spider no longer exists, and neither does gst-launch-ext.
986 Update examples to use decodebin and playbin and put
987 converters in front of sinks (fixes #323726).
989 2005-12-09 Michael Smith <msmith@fluendo.com>
991 * plugins/elements/gsttypefindelement.c: (find_peek),
992 (gst_type_find_element_chain):
993 Fix leaking element factories in typefinding.
994 Fix problem where we forgot about a probable type on non-seekable
995 files, and thus later mis-typefound it.
997 2005-12-09 Michael Smith <msmith@fluendo.com>
999 * common/m4/gst-makecontext.m4:
1000 * common/m4/gst-mcsc.m4:
1002 * win32/common/config.h:
1003 * win32/common/config.h.in:
1004 Remove makecontext stuff; not used in 0.10 and causes problems on
1005 HPUX according to bug #322441
1007 2005-12-07 Wim Taymans <wim@fluendo.com>
1009 * tests/check/Makefile.am:
1010 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1012 * tests/check/libs/struct_i386.h:
1013 Added ABI check for libs
1015 2005-12-07 Wim Taymans <wim@fluendo.com>
1017 * tests/check/Makefile.am:
1018 And add the struct_i386.h to dist.
1020 2005-12-07 Wim Taymans <wim@fluendo.com>
1022 * tests/check/Makefile.am:
1023 * tests/check/gst/.cvsignore:
1024 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1026 * tests/check/gst/struct_i386.h:
1027 Added check for ABI compatibility.
1029 2005-12-07 Wim Taymans <wim@fluendo.com>
1031 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1032 (gst_fake_src_get_times), (gst_fake_src_create):
1033 Fix broken sync option, fixes #323259
1035 2005-12-07 Wim Taymans <wim@fluendo.com>
1040 * gst/gstcaps.c: (gst_caps_is_equal):
1041 Don't assert on NULL <--> X. Fixes #323260
1043 * gst/gstminiobject.c: (gst_mini_object_replace):
1044 If we're doing atomic operations, we might just as well use
1045 the proper way to get an atomic pointer.
1047 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1050 2005-12-07 Michael Smith <msmith@fluendo.com>
1052 * gst/parse/grammar.y:
1053 Remove handling of { } for threads.
1055 2005-12-06 David Schleef <ds@schleef.org>
1057 * libs/gst/base/gstbasetransform.c: speling fix.
1059 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
1061 * docs/libs/tmpl/gstdataprotocol.sgml:
1062 * docs/random/omega/testing/gstobject.c:
1066 * gst/gstelementfactory.c:
1069 * gst/gstghostpad.c:
1071 * gst/gstpadtemplate.c:
1072 * gst/gstregistryxml.c:
1074 * gst/gsttagsetter.c:
1075 * gst/gsttypefind.c:
1077 * libs/gst/base/gstbasesrc.c:
1078 * libs/gst/net/gstnetclientclock.c:
1079 * libs/gst/net/gstnettimeprovider.c:
1080 * plugins/elements/gstfakesrc.c:
1081 * plugins/elements/gstfdsrc.c:
1082 * plugins/elements/gstfilesrc.c:
1083 * plugins/elements/gstidentity.c:
1084 * plugins/elements/gstqueue.c:
1085 * plugins/elements/gsttypefindelement.c:
1086 * plugins/indexers/gstfileindex.c:
1087 * plugins/indexers/gstmemindex.c:
1088 * tests/check/gst/gsttag.c:
1089 * tests/old/examples/cutter/cutter.c:
1090 * tests/old/examples/mixer/mixer.c:
1091 * tests/old/examples/xml/runxml.c: (main):
1092 * tests/old/testsuite/caps/normalisation.c:
1093 * tests/old/testsuite/debug/global.c:
1094 * tests/old/testsuite/parse/parse1.c:
1095 * tools/gst-xmlinspect.c:
1096 * win32/common/dirent.c:
1099 === release 0.10.0 ===
1101 2005-12-05 <thomas (at) apestaart (dot) org>
1104 releasing 0.10.0, "Maroilles"
1106 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
1108 submitted by: Funda Wang <fundawang@linux.net.cn>
1112 added Chinese (Traditional) translation
1114 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
1116 * docs/gst/gstreamer-sections.txt:
1117 * docs/libs/tmpl/gstdataprotocol.sgml:
1118 * docs/random/thomasvs/TODO:
1123 2005-12-05 Andy Wingo <wingo@pobox.com>
1125 patch by: Wim Taymans <wim@fluendo.com>
1127 * libs/gst/base/gstbasetransform.c
1128 (gst_base_transform_prepare_output_buf)
1129 (gst_base_transform_buffer_alloc):
1130 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1131 alloc_buffer_and_set_caps.
1133 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1134 set_caps on the source pad.
1135 (gst_pad_alloc_buffer_and_set_caps): New function, does what
1136 alloc_buffer used to do. Fixes #322874.
1138 * docs/gst/gstreamer-sections.txt:
1139 * docs/design/part-negotiation.txt:
1140 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1143 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
1145 patch by: Sebastien Moutte
1148 * win32/common/config.h.in:
1149 * win32/vs6/libgstcontroller.dsp:
1152 2005-12-05 Wim Taymans <wim@fluendo.com>
1154 * gst/gstcaps.c: (gst_caps_is_equal):
1155 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1156 (gst_fake_src_create):
1157 Back out previous code changes, leave doc updates, file bugs
1160 2005-12-05 Wim Taymans <wim@fluendo.com>
1162 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1163 (gst_fake_src_get_times), (gst_fake_src_create):
1164 * plugins/elements/gstfakesrc.h:
1165 Fix broken sync code.
1167 2005-12-05 Wim Taymans <wim@fluendo.com>
1169 * gst/gstcaps.c: (gst_caps_is_equal):
1170 Comparing NULL against !NULL yields different caps, not a
1173 2005-12-05 Wim Taymans <wim@fluendo.com>
1175 * gst/gstpipeline.c:
1176 Fix small typo in docs.
1178 2005-12-05 Andy Wingo <wingo@pobox.com>
1180 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
1182 * gst/gst.c (init_post): remove hard-coded 0.9 location for
1183 registries/plugins with a MAJORMINOR one.
1184 (plugin_desc): Rename library from gstcoreleements to
1185 staticelements. Fixes #323222.
1187 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
1189 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1190 Change debug category to 'collectpads' from 'collect_pads'
1193 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
1195 patch by: Sebastien Moutte
1197 * libs/gst/controller/gstinterpolation.c:
1198 use convert function for uint64/double
1199 * win32/vs6/libgstcontroller.dsp:
1202 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
1204 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1205 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1207 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1208 add tests that seem to show that the guint64/gdouble conversions
1211 2005-12-02 Wim Taymans <wim@fluendo.com>
1213 * gst/gstregistry.c: (gst_registry_add_path):
1214 * gst/gstregistry.h:
1215 * gst/gstregistryxml.c:
1218 2005-12-02 Wim Taymans <wim@fluendo.com>
1220 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1221 (gst_util_uint64_scale_int):
1224 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1227 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1230 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
1233 * win32/common/config.h:
1234 * win32/vs6/gstreamer.dsw:
1235 * win32/vs6/libgstcoreelements.dsp:
1236 * win32/vs6/libgstelements.dsp:
1237 renamed core elements plugin
1239 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
1241 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1243 do piece-wise major/minor comparison so 0.9 < 0.10
1244 also allow .exe extensions for tools
1246 2005-12-02 Michael Smith <msmith@fluendo.com>
1249 Escape a % to make gtkdoc happier; bug 322958.
1251 === release 0.9.7 ===
1253 2005-12-01 <thomas (at) apestaart (dot) org>
1256 releasing 0.9.7, "My Dog Has No Nose"
1258 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1260 * common/gst-xmlinspect.py:
1262 * docs/libs/tmpl/gstdataprotocol.sgml:
1263 * docs/random/release:
1282 * win32/common/config.h:
1283 * win32/common/config.h.in:
1284 * win32/vs6/gst_inspect.dsp:
1285 * win32/vs6/gst_launch.dsp:
1286 * win32/vs6/libgstbase.dsp:
1287 * win32/vs6/libgstelements.dsp:
1288 * win32/vs6/libgstreamer.dsp:
1289 * win32/vs7/GStreamer.vcproj:
1290 * win32/vs7/gst-inspect.vcproj:
1291 * win32/vs7/gst-launch.vcproj:
1292 * win32/vs7/libgstbase.vcproj:
1293 bump GST_MAJORMINOR to 0.10
1294 reset libtool version
1296 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1300 Added Bulgarian translation by (Alexander Shopov)
1302 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1304 * tests/check/gst/gstplugin.c:
1307 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1309 * common/gst-xmlinspect.py:
1310 * common/gtk-doc-plugins.mak:
1313 * docs/gst/Makefile.am:
1314 * docs/gst/gstreamer-docs.sgml:
1315 * docs/gst/gstreamer-sections.txt:
1316 * docs/gst/gstreamer.types:
1317 * docs/gst/gstreamer.types.in:
1318 * docs/plugins/Makefile.am:
1319 * docs/plugins/gstreamer-plugins-docs.sgml:
1320 * docs/plugins/gstreamer-plugins-sections.txt:
1321 * docs/plugins/gstreamer-plugins.types:
1322 * docs/plugins/inspect.stamp:
1323 * docs/plugins/inspect/plugin-coreelements.xml:
1324 * docs/plugins/inspect/plugin-coreindexers.xml:
1325 * docs/plugins/scanobj-build.stamp:
1326 * gstreamer.spec.in:
1327 * plugins/elements/Makefile.am:
1328 * plugins/elements/gstelements.c:
1329 * plugins/elements/gstfakesink.c:
1330 * plugins/elements/gstfakesrc.c:
1331 * plugins/elements/gstfilesink.c:
1332 * plugins/elements/gstfilesrc.c:
1333 * plugins/elements/gstqueue.c:
1334 * plugins/indexers/Makefile.am:
1335 * plugins/indexers/gstindexers.c:
1336 document core plugins in a separate document just like all the
1338 rename these plugins to something starting with core
1340 2005-12-01 Andy Wingo <wingo@pobox.com>
1342 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1343 padding here before, but it missed the commit.
1345 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1347 * libs/gst/controller/gstinterpolation.c:
1348 whitespace prices have crashed, we should feel free to use some now
1349 use gst_guint64_to_gdouble
1351 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1353 * libs/gst/controller/gstcontroller.c:
1354 * libs/gst/controller/gsthelper.c:
1355 * libs/gst/controller/gstinterpolation.c:
1356 * libs/gst/controller/lib.c:
1357 wrap config.h include
1359 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1361 * docs/gst/gstreamer-sections.txt:
1364 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1366 * plugins/elements/gstelements.c:
1367 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1368 (gst_fd_sink__class_init), (gst_fd_sink__init),
1369 (gst_fd_sink__chain), (gst_fd_sink__set_property),
1370 (gst_fd_sink__get_property):
1371 * plugins/elements/gstfdsink.h:
1372 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1373 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1374 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1375 (gst_fd_src_unlock), (gst_fd_src_set_property),
1376 (gst_fd_src_get_property), (gst_fd_src_create),
1377 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1378 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1379 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1380 (gst_fd_src_uri_handler_init):
1381 * plugins/elements/gstfdsrc.h:
1382 * plugins/elements/gstqueue.c: (gst_queue_get_type):
1385 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1387 * docs/gst/Makefile.am:
1388 * docs/gst/gstreamer.types.in:
1392 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1398 * gst/gstregistry.h:
1399 * tests/benchmarks/complexity.c:
1400 * tests/benchmarks/mass-elements.c:
1401 * tests/check/Makefile.am:
1402 * tools/Makefile.am:
1403 * tools/gst-inspect.c:
1404 * tools/gst-xmlinspect.c:
1405 various fixes to make
1406 --disable-nls --disable-registry --disable-loadsave
1407 --disable-parse --disable-gst-debug
1408 work and get the core .so down to 360444 bytes after stripping
1410 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1415 * docs/random/thomasvs/TODO:
1416 * tests/Makefile.am:
1420 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1422 * win32/GStreamer.vcproj:
1425 * win32/Makefile.inspect:
1426 * win32/Makefile.launch:
1427 * win32/Makefile.register:
1429 * win32/gst-inspect.vcproj:
1430 * win32/gst-launch.vcproj:
1431 * win32/gst-register.vcproj:
1432 * win32/gstelements.vcproj:
1433 * win32/gstgetbits.def:
1434 * win32/gstgetbits.vcproj:
1435 * win32/gstreamer-dbg.def:
1436 * win32/gstreamer.def:
1437 * win32/libgstbase.def:
1438 * win32/libgstbase.vcproj:
1439 * win32/link_oldruntime.c:
1444 move even more stuff, win32/ is nice and clean now
1446 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1448 * libs/gst/control/.cvsignore:
1453 * win32/gstbytestream.def:
1454 * win32/gstbytestream.vcproj:
1455 * win32/gstconfig.h:
1456 * win32/gstenumtypes.c:
1457 * win32/gstenumtypes.h:
1458 * win32/gstoptimalscheduler.vcproj:
1459 * win32/gstversion.h:
1461 * win32/testsuite/bins.vcproj:
1462 * win32/testsuite/bytestream.vcproj:
1463 * win32/testsuite/caps.vcproj:
1464 * win32/testsuite/cleanup.vcproj:
1465 * win32/testsuite/clock.vcproj:
1466 * win32/testsuite/debug.vcproj:
1467 * win32/testsuite/dlopen.vcproj:
1468 * win32/testsuite/dynparams.vcproj:
1469 * win32/testsuite/elements.vcproj:
1470 * win32/testsuite/ghostpads.vcproj:
1471 * win32/testsuite/indexers.vcproj:
1472 * win32/testsuite/negotiation.vcproj:
1473 * win32/testsuite/parse.vcproj:
1474 * win32/testsuite/plugin.vcproj:
1475 * win32/testsuite/refcounting.vcproj:
1476 * win32/testsuite/schedulers.vcproj:
1477 * win32/testsuite/states.vcproj:
1478 * win32/testsuite/tags.vcproj:
1479 * win32/testsuite/threads.vcproj:
1480 remove old win32 stuff that isn't maintained and should be
1483 2005-11-30 Andy Wingo <wingo@pobox.com>
1485 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1486 loading the gst.interfaces python module bork.
1488 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1489 available since GLib 2.2. Fixes #318031.
1491 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1495 * check/Makefile.am:
1496 * check/elements/.cvsignore:
1497 * check/elements/fakesrc.c:
1498 * check/elements/fdsrc.c:
1499 * check/elements/identity.c:
1500 * check/generic/.cvsignore:
1501 * check/generic/states.c:
1502 * check/gst-libs/.cvsignore:
1503 * check/gst-libs/controller.c:
1504 * check/gst-libs/gdp.c:
1505 * check/gst/.cvsignore:
1506 * check/gst/capslist.h:
1508 * check/gst/gstbin.c:
1509 * check/gst/gstbuffer.c:
1510 * check/gst/gstbus.c:
1511 * check/gst/gstcaps.c:
1512 * check/gst/gstelement.c:
1513 * check/gst/gstevent.c:
1514 * check/gst/gstghostpad.c:
1515 * check/gst/gstiterator.c:
1516 * check/gst/gstmessage.c:
1517 * check/gst/gstminiobject.c:
1518 * check/gst/gstobject.c:
1519 * check/gst/gstpad.c:
1520 * check/gst/gstpipeline.c:
1521 * check/gst/gstplugin.c:
1522 * check/gst/gstsegment.c:
1523 * check/gst/gststructure.c:
1524 * check/gst/gstsystemclock.c:
1525 * check/gst/gsttag.c:
1526 * check/gst/gstutils.c:
1527 * check/gst/gstvalue.c:
1528 * check/net/.cvsignore:
1529 * check/net/gstnetclientclock.c:
1530 * check/net/gstnettimeprovider.c:
1531 * check/pipelines/.cvsignore:
1532 * check/pipelines/cleanup.c:
1533 * check/pipelines/simple_launch_lines.c:
1534 * check/pipelines/stress.c:
1535 * check/states/.cvsignore:
1536 * check/states/sinks.c:
1538 * examples/Makefile.am:
1539 * examples/appreader/.cvsignore:
1540 * examples/appreader/Makefile.am:
1541 * examples/appreader/appreader.c:
1542 * examples/controller/.cvsignore:
1543 * examples/controller/Makefile.am:
1544 * examples/controller/audio-example.c:
1545 * examples/cutter/.cvsignore:
1546 * examples/cutter/Makefile.am:
1547 * examples/cutter/cutter.c:
1548 * examples/cutter/cutter.h:
1549 * examples/events/Makefile.am:
1550 * examples/events/seek.c:
1551 * examples/helloworld/.cvsignore:
1552 * examples/helloworld/Makefile.am:
1553 * examples/helloworld/helloworld.c:
1554 * examples/helloworld2/.cvsignore:
1555 * examples/helloworld2/Makefile.am:
1556 * examples/helloworld2/helloworld2.c:
1557 * examples/launch/.cvsignore:
1558 * examples/launch/Makefile.am:
1559 * examples/launch/mp3parselaunch.c:
1560 * examples/launch/mp3play:
1561 * examples/manual/.cvsignore:
1562 * examples/manual/Makefile.am:
1563 * examples/manual/extract.pl:
1564 * examples/metadata/Makefile.am:
1565 * examples/metadata/read-metadata.c:
1566 * examples/mixer/.cvsignore:
1567 * examples/mixer/Makefile.am:
1568 * examples/mixer/mixer.c:
1569 * examples/mixer/mixer.h:
1570 * examples/pingpong/.cvsignore:
1571 * examples/pingpong/Makefile.am:
1572 * examples/pingpong/pingpong.c:
1573 * examples/plugins/.cvsignore:
1574 * examples/plugins/Makefile.am:
1575 * examples/plugins/example.c:
1576 * examples/plugins/example.h:
1577 * examples/pwg/.cvsignore:
1578 * examples/pwg/Makefile.am:
1579 * examples/pwg/extract.pl:
1580 * examples/queue/.cvsignore:
1581 * examples/queue/Makefile.am:
1582 * examples/queue/queue.c:
1583 * examples/queue2/.cvsignore:
1584 * examples/queue2/Makefile.am:
1585 * examples/queue2/queue2.c:
1586 * examples/queue3/.cvsignore:
1587 * examples/queue3/Makefile.am:
1588 * examples/queue3/queue3.c:
1589 * examples/queue4/.cvsignore:
1590 * examples/queue4/Makefile.am:
1591 * examples/queue4/queue4.c:
1592 * examples/retag/.cvsignore:
1593 * examples/retag/Makefile.am:
1594 * examples/retag/retag.c:
1595 * examples/retag/transcode.c:
1596 * examples/thread/.cvsignore:
1597 * examples/thread/Makefile.am:
1598 * examples/thread/thread.c:
1599 * examples/typefind/.cvsignore:
1600 * examples/typefind/Makefile.am:
1601 * examples/typefind/typefind.c:
1602 * examples/xml/.cvsignore:
1603 * examples/xml/Makefile.am:
1604 * examples/xml/createxml.c:
1605 * examples/xml/runxml.c:
1606 * tests/Makefile.am:
1607 * tests/check/Makefile.am:
1608 * testsuite/.cvsignore:
1609 * testsuite/Makefile.am:
1611 * testsuite/caps/.cvsignore:
1612 * testsuite/caps/Makefile.am:
1613 * testsuite/caps/app_fixate.c:
1614 * testsuite/caps/audioscale.c:
1615 * testsuite/caps/caps.c:
1616 * testsuite/caps/caps.h:
1617 * testsuite/caps/caps_strings:
1618 * testsuite/caps/compatibility.c:
1619 * testsuite/caps/deserialize.c:
1620 * testsuite/caps/enumcaps.c:
1621 * testsuite/caps/eratosthenes.c:
1622 * testsuite/caps/filtercaps.c:
1623 * testsuite/caps/fixed.c:
1624 * testsuite/caps/fraction-convert.c:
1625 * testsuite/caps/fraction-multiply-and-zero.c:
1626 * testsuite/caps/intersect2.c:
1627 * testsuite/caps/intersection.c:
1628 * testsuite/caps/normalisation.c:
1629 * testsuite/caps/random.c:
1630 * testsuite/caps/renegotiate.c:
1631 * testsuite/caps/sets.c:
1632 * testsuite/caps/simplify.c:
1633 * testsuite/caps/string-conversions.c:
1634 * testsuite/caps/structure.c:
1635 * testsuite/caps/subtract.c:
1636 * testsuite/caps/union.c:
1637 * testsuite/debug/.cvsignore:
1638 * testsuite/debug/Makefile.am:
1639 * testsuite/debug/category.c:
1640 * testsuite/debug/commandline.c:
1641 * testsuite/debug/global.c:
1642 * testsuite/debug/output.c:
1643 * testsuite/debug/printf_extension.c:
1644 * testsuite/dlopen/.cvsignore:
1645 * testsuite/dlopen/Makefile.am:
1646 * testsuite/dlopen/dlopen_gst.c:
1647 * testsuite/dlopen/loadgst.c:
1648 * testsuite/elements/.cvsignore:
1649 * testsuite/elements/Makefile.am:
1650 * testsuite/elements/gst-inspect-check.in:
1651 * testsuite/elements/struct_i386.h:
1652 * testsuite/elements/struct_size.c:
1653 * testsuite/indexers/.cvsignore:
1654 * testsuite/indexers/Makefile.am:
1655 * testsuite/indexers/cache1.c:
1656 * testsuite/indexers/indexdump.c:
1657 * testsuite/parse/.cvsignore:
1658 * testsuite/parse/Makefile.am:
1659 * testsuite/parse/parse1.c:
1660 * testsuite/parse/parse2.c:
1661 * testsuite/plugin/.cvsignore:
1662 * testsuite/plugin/Makefile.am:
1663 * testsuite/plugin/README:
1664 * testsuite/plugin/dynamic.c:
1665 * testsuite/plugin/linked.c:
1666 * testsuite/plugin/loading.c:
1667 * testsuite/plugin/registry.c:
1668 * testsuite/plugin/static.c:
1669 * testsuite/plugin/static2.c:
1670 * testsuite/plugin/testplugin.c:
1671 * testsuite/plugin/testplugin2.c:
1672 * testsuite/plugin/testplugin2_s.c:
1673 * testsuite/plugin/testplugin_s.c:
1674 * testsuite/refcounting/.cvsignore:
1675 * testsuite/refcounting/Makefile.am:
1676 * testsuite/refcounting/bin.c:
1677 * testsuite/refcounting/element.c:
1678 * testsuite/refcounting/element_pad.c:
1679 * testsuite/refcounting/mainloop.c:
1680 * testsuite/refcounting/mem.c:
1681 * testsuite/refcounting/mem.h:
1682 * testsuite/refcounting/object.c:
1683 * testsuite/refcounting/pad.c:
1684 * testsuite/refcounting/sched.c:
1685 * testsuite/refcounting/thread.c:
1686 * testsuite/states/.cvsignore:
1687 * testsuite/states/Makefile.am:
1688 * testsuite/states/bin.c:
1689 * testsuite/states/locked.c:
1690 * testsuite/states/parent.c:
1691 * testsuite/threads/.cvsignore:
1692 * testsuite/threads/159566.c:
1693 * testsuite/threads/159852.c:
1694 * testsuite/threads/Makefile.am:
1695 * testsuite/threads/queue.c:
1696 * testsuite/threads/signals.c:
1697 * testsuite/threads/staticrec.c:
1698 * testsuite/threads/thread.c:
1699 * testsuite/threads/threadb.c:
1700 * testsuite/threads/threadc.c:
1701 * testsuite/threads/threadd.c:
1702 * testsuite/threads/threade.c:
1703 * testsuite/threads/threadf.c:
1704 * testsuite/threads/threadg.c:
1705 * testsuite/threads/threadh.c:
1706 * testsuite/threads/threadi.c:
1707 move all of these under tests
1709 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1712 * tests/Makefile.am:
1715 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1717 * docs/gst/gstreamer-sections.txt:
1718 * tests/sched/.cvsignore:
1719 * tests/sched/Makefile.am:
1720 * tests/sched/cases/(fs-fs).xml:
1721 * tests/sched/cases/(fs-i-fs).xml:
1722 * tests/sched/cases/(fs-i-i-fs).xml:
1723 * tests/sched/cases/(fs-i-q[i-fs]).xml:
1724 * tests/sched/dynamic-pipeline.c:
1725 * tests/sched/interrupt1.c:
1726 * tests/sched/interrupt2.c:
1727 * tests/sched/interrupt3.c:
1728 * tests/sched/runtestcases:
1729 * tests/sched/runxml.c:
1730 * tests/sched/sched-stress.c:
1731 * tests/sched/sort.c:
1732 * tests/sched/testcases:
1733 * tests/sched/testcases1.tc:
1734 * tests/seeking/.cvsignore:
1735 * tests/seeking/Makefile.am:
1736 * tests/seeking/seeking1.c:
1737 * tests/threadstate/.cvsignore:
1738 * tests/threadstate/Makefile.am:
1739 * tests/threadstate/test1.c:
1740 * tests/threadstate/test2.c:
1741 * tests/threadstate/threadstate1.c:
1742 * tests/threadstate/threadstate2.c:
1743 * tests/threadstate/threadstate3.c:
1744 * tests/threadstate/threadstate4.c:
1745 * tests/threadstate/threadstate5.c:
1746 remove obsolete tests
1748 * tests/bench-complexity.scm:
1749 * tests/bench-mass_elements.scm:
1750 * tests/complexity.c:
1751 * tests/complexity.gnuplot:
1752 * tests/instantiate/.cvsignore:
1753 * tests/instantiate/Makefile.am:
1754 * tests/instantiate/caps.c:
1755 * tests/mass_elements.c:
1756 * tests/network-clock-utils.scm:
1757 * tests/network-clock.scm:
1759 First pass at cleaning up tests/ dir before moving the rest
1760 Combined with CVS surgery
1762 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1765 queue has moved, update
1767 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1769 * docs/gst/gstreamer-sections.txt:
1770 remove double entries from the docs
1771 * gst/gst_private.h:
1772 * gst/gstinfo.c: (_gst_debug_init):
1773 remove the THREAD debug category
1777 * docs/gst/gstreamer.types:
1778 * plugins/elements/gstqueue.c: (gst_queue_get_type),
1779 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1780 completely move queue and fix up debugging categories
1782 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1784 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1785 make initialization portable, using LL is not
1787 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1789 * win32/common/gstconfig.h:
1792 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1794 * win32/common/libgstreamer.def:
1795 rename symbols; sort base section
1797 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1799 * gst/gstclock.c: (do_linear_regression):
1800 remove crack non-portable handrolled DEBUG macro
1802 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1804 * docs/random/release:
1806 * win32/common/gstenumtypes.c: (register_gst_object_flags),
1807 (gst_object_flags_get_type), (register_gst_bin_flags),
1808 (gst_bin_flags_get_type), (register_gst_buffer_flag),
1809 (gst_buffer_flag_get_type), (register_gst_bus_flags),
1810 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1811 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1812 (gst_caps_flags_get_type), (register_gst_clock_return),
1813 (gst_clock_return_get_type), (register_gst_clock_entry_type),
1814 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1815 (gst_clock_flags_get_type), (register_gst_state),
1816 (gst_state_get_type), (register_gst_state_change_return),
1817 (gst_state_change_return_get_type), (register_gst_state_change),
1818 (gst_state_change_get_type), (register_gst_element_flags),
1819 (gst_element_flags_get_type), (register_gst_core_error),
1820 (gst_core_error_get_type), (register_gst_library_error),
1821 (gst_library_error_get_type), (register_gst_resource_error),
1822 (gst_resource_error_get_type), (register_gst_stream_error),
1823 (gst_stream_error_get_type), (register_gst_event_type_flags),
1824 (gst_event_type_flags_get_type), (register_gst_event_type),
1825 (gst_event_type_get_type), (register_gst_seek_type),
1826 (gst_seek_type_get_type), (register_gst_seek_flags),
1827 (gst_seek_flags_get_type), (register_gst_format),
1828 (gst_format_get_type), (register_gst_index_certainty),
1829 (gst_index_certainty_get_type), (register_gst_index_entry_type),
1830 (gst_index_entry_type_get_type),
1831 (register_gst_index_lookup_method),
1832 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1833 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1834 (gst_index_resolver_method_get_type), (register_gst_index_flags),
1835 (gst_index_flags_get_type), (register_gst_debug_level),
1836 (gst_debug_level_get_type), (register_gst_debug_color_flags),
1837 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1838 (gst_iterator_result_get_type), (register_gst_iterator_item),
1839 (gst_iterator_item_get_type), (register_gst_message_type),
1840 (gst_message_type_get_type), (register_gst_mini_object_flags),
1841 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1842 (gst_pad_link_return_get_type), (register_gst_flow_return),
1843 (gst_flow_return_get_type), (register_gst_activate_mode),
1844 (gst_activate_mode_get_type), (register_gst_pad_direction),
1845 (gst_pad_direction_get_type), (register_gst_pad_flags),
1846 (gst_pad_flags_get_type), (register_gst_pad_presence),
1847 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1848 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1849 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1850 (gst_plugin_error_get_type), (register_gst_plugin_flags),
1851 (gst_plugin_flags_get_type), (register_gst_rank),
1852 (gst_rank_get_type), (register_gst_query_type),
1853 (gst_query_type_get_type), (register_gst_tag_merge_mode),
1854 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1855 (gst_tag_flag_get_type), (register_gst_task_state),
1856 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1857 (gst_alloc_trace_flags_get_type),
1858 (register_gst_type_find_probability),
1859 (gst_type_find_probability_get_type), (register_gst_uri_type),
1860 (gst_uri_type_get_type), (register_gst_parse_error),
1861 (gst_parse_error_get_type):
1862 * win32/common/gstenumtypes.h:
1863 * win32/common/gstversion.h:
1864 update visual studio generated files
1866 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1868 * win32/vs6/libgstbase.dsp:
1869 * win32/vs6/libgstelements.dsp:
1870 update project files for new locations
1872 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1877 reinstate and update
1882 * docs/random/LICENSE:
1885 2005-11-30 Edward Hervey <edward@fluendo.com>
1887 * gst/gsttypefind.c: (gst_type_find_register):
1888 * gst/gsttypefind.h:
1889 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1890 (gst_type_find_factory_dispose):
1891 * gst/gsttypefindfactory.h:
1892 Fix memory leak in GstTypeFindFactory.
1894 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1897 * plugins/elements/Makefile.am:
1898 * plugins/elements/gstelements.c:
1899 * plugins/elements/gstqueue.c:
1900 move queue from core to the elements plugin
1902 2005-11-29 Andy Wingo <wingo@pobox.com>
1904 * libs/gst/base/gstbasetransform.h:
1905 * libs/gst/base/gstbasesrc.h:
1906 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1908 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1909 of pointers by which to pad very extensible base classes (like the
1910 ones in libs/gst/base).
1912 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1914 * docs/gst/gstreamer-docs.sgml:
1915 * docs/gst/gstreamer-sections.txt:
1916 * docs/libs/gstreamer-libs-docs.sgml:
1917 * docs/libs/gstreamer-libs-sections.txt:
1918 moving documentation from core to lib
1920 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1922 * check/Makefile.am:
1924 * docs/gst/Makefile.am:
1926 * gst/base/.cvsignore:
1927 * gst/base/Makefile.am:
1929 * gst/base/gstadapter.c:
1930 * gst/base/gstadapter.h:
1931 * gst/base/gstbasesink.c:
1932 * gst/base/gstbasesink.h:
1933 * gst/base/gstbasesrc.c:
1934 * gst/base/gstbasesrc.h:
1935 * gst/base/gstbasetransform.c:
1936 * gst/base/gstbasetransform.h:
1937 * gst/base/gstcollectpads.c:
1938 * gst/base/gstcollectpads.h:
1939 * gst/base/gstpushsrc.c:
1940 * gst/base/gstpushsrc.h:
1941 * gst/base/gsttypefindhelper.c:
1942 * gst/base/gsttypefindhelper.h:
1943 * gst/check/Makefile.am:
1944 * gst/check/gstcheck.c:
1945 * gst/check/gstcheck.h:
1946 * gst/net/Makefile.am:
1948 * gst/net/gstnetclientclock.c:
1949 * gst/net/gstnetclientclock.h:
1950 * gst/net/gstnettimepacket.c:
1951 * gst/net/gstnettimepacket.h:
1952 * gst/net/gstnettimeprovider.c:
1953 * gst/net/gstnettimeprovider.h:
1954 * libs/gst/Makefile.am:
1955 * libs/gst/base/Makefile.am:
1956 * libs/gst/base/gstbasetransform.c:
1957 * libs/gst/check/Makefile.am:
1958 * plugins/elements/Makefile.am:
1960 CVS surgery + support to move base, check, and net out of gst
1963 2005-11-29 Andy Wingo <wingo@pobox.com>
1965 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1967 * gst/gststructure.h (struct _GstStructure): Only one pointer of
1970 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1972 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1974 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1976 * gst/gstobject.h: (struct _GstObject): Only one pointer of
1977 padding; reduces object size by about 30%. We don't expect
1978 anything else to go into gstobject.
1980 * gst/gstminiobject.h (struct _GstMiniObject)
1981 (struct _GstMiniObjectClass): Only one pointer of padding; the
1982 payload is only a pointer and two ints anyway. For the class there
1983 are only two methods as well.
1985 * gst/gstelement.h (struct _GstElementClass): Removed
1986 the state_changed signal callback, it is not used.
1988 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1990 * docs/gst/gstreamer.types:
1991 fix includes, though they are a little dinky
1993 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1995 * check/Makefile.am:
1996 look in the right place for elements, a lot more chance of
1999 remove indexers and elements subdirs
2000 * plugins/Makefile.am:
2001 make indexers conditional
2003 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2007 * plugins/elements/Makefile.am:
2008 * plugins/elements/gstcapsfilter.c:
2009 * plugins/elements/gstfilesink.c:
2010 * plugins/elements/gstfilesrc.c:
2011 * plugins/elements/gstidentity.c:
2012 * plugins/indexers/Makefile.am:
2013 do CVS surgery and related build fixery to move elements
2014 and indexers in a new gstreamer/plugins directory, out of the
2017 2005-11-29 Andy Wingo <wingo@pobox.com>
2019 * check/Makefile.am:
2020 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2021 * pkgconfig/gstreamer-net.pc.in:
2022 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2025 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
2027 * tools/Makefile.am:
2028 * tools/gst-complete.1.in:
2029 * tools/gst-complete.c:
2030 * tools/gst-compprep.1.in:
2031 * tools/gst-compprep.c:
2032 removing -compprep and -complete
2034 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
2036 * gst/gstevent.c: (gst_event_new_new_segment),
2037 (gst_event_parse_new_segment):
2039 fix #320529 - clean up new_segment API and structure.
2040 Let's hope everyone was using the methods, and not the structure.
2042 2005-11-29 Edward Hervey <edward@fluendo.com>
2044 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2045 (gst_base_sink_event), (gst_base_sink_do_sync),
2046 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2047 Properly handle non GST_FORMAT_TIME segment
2048 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2049 Properly handle non GST_FORMAT_TIME segment
2051 This function is valid if the accumulator is 0 and the format
2052 is different from the requested format.
2054 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
2056 * docs/gst/gstreamer-sections.txt:
2057 Add gst_query_new_seeking and gst_query_parse_seeking to the
2060 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
2062 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2063 Treat a pad alloc with new caps the same as if we were not
2064 negotiated, in order to allow a changing upstream output
2065 to produce a new format of data.
2067 2005-11-29 Edward Hervey <edward@fluendo.com>
2069 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2070 (gst_base_transform_event), (gst_base_transform_eventfunc):
2071 The event virtual method is now properly implemented, with a default
2073 Sub classes should call the parent_class event method. They should
2074 return FALSE if they had a problem handling the given event, or don't
2075 want GstBaseTransform to send that even downstream
2076 * gst/elements/gstidentity.c: (gst_identity_class_init),
2077 (gst_identity_init), (gst_identity_event),
2078 (gst_identity_transform_ip), (gst_identity_set_property),
2079 (gst_identity_get_property):
2080 * gst/elements/gstidentity.h:
2081 Added the single-segment boolean property.
2082 If set to TRUE, it will output a single segment of data, starting from
2083 0, will eat up all incoming newsegment, and modify the timestamp of the
2086 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
2088 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2089 Don't ref NULL target pad (#322751). Improve docs.
2091 2005-11-29 Michael Smith <msmith@fluendo.com>
2093 * gst/gstregistryxml.c: (load_plugin):
2094 Don't crash if we failed to load a feature from a plugin.
2096 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
2098 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2100 use more check API and less GLib API
2102 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
2105 don't run checks if we don't have check
2107 remove the registry when running make torture
2108 * docs/gst/gstreamer-sections.txt:
2109 remove second multiply
2110 * gst/gstqueue.c: (gst_queue_loop):
2111 fix a compile warning when disabling debug
2113 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
2116 Hey! Let's print the pad name if the pointer != NULL instead
2117 of when it == NULL :-)
2119 2005-11-28 Wim Taymans <wim@fluendo.com>
2121 * check/gst/gstutils.c: (GST_START_TEST):
2122 Updated check, add some scaling accuracy checking code.
2124 * gst/gstutils.c: (gst_util_div128_64),
2125 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2126 (gst_util_uint64_scale_int):
2127 Fix 6 times faster division code. Optimize for common
2128 1/1 and less common X/1 cases.
2130 2005-11-28 Wim Taymans <wim@fluendo.com>
2132 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2135 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2136 (do_linear_regression), (gst_clock_add_observation):
2138 Release lock when the clock cannot be slaved.
2139 Catch the case where the regression returned an invalid denominator.
2141 * gst/gstutils.c: (gst_util_div128_64_iterate),
2142 (gst_util_div128_64), (gst_util_uint64_scale_int64),
2143 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2144 Add protentially more performant non-iterative 128/64 divide function
2145 that unfortunatly does not work yet.
2146 Shortcut the trivial 0/X = 0 case.
2147 Remove the warnings on overflow.
2149 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
2151 * gst/gstplugin.c: (gst_plugin_register_func):
2152 everything causing a plugin not to load should be at least a WARNING
2154 2005-11-28 Stefan Kost <ensonic@users.sf.net>
2156 * docs/random/ensonic/dparams.txt:
2157 some TODOs for the next dev cycle
2158 * libs/gst/controller/gstcontroller.c:
2159 (gst_controlled_property_set_interpolation_mode),
2160 (gst_controlled_property_new):
2161 * libs/gst/controller/gstcontroller.h:
2162 use base type to assign acccessor functions
2164 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
2166 * check/Makefile.am:
2167 Oops, that should have been top_srcdir
2169 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
2171 * check/Makefile.am:
2172 * check/elements/fdsrc.c: (GST_START_TEST):
2173 Use a cmdline define to specify the location of a file to use for
2174 testing, to avoid breaking distcheck.
2176 2005-11-28 Andy Wingo <wingo@pobox.com>
2178 * gst/gstpad.c (fixate_value): Use array functions for arrays.
2180 2005-11-28 Edward Hervey <edward@fluendo.com>
2182 * tools/gst-launch.c: (main):
2183 Clarify the output strings, makes it easier to translate.
2186 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
2189 don't try and build net if we don't even have <sys/socket.h>
2191 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
2193 * check/Makefile.am:
2194 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2195 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2196 Add tests for fdsrc seekability
2198 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2199 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2200 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2201 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2202 * gst/elements/gstfdsrc.h:
2203 fdsrc should not be a 'live' source.
2204 Implement seeking on seekable fd's.
2206 * gst/gstquery.c: (gst_query_new_seeking),
2207 (gst_query_parse_seeking):
2209 Implement SEEKING query functions:
2210 *_new_seeking and *_parse_seeking
2212 2005-11-27 Stefan Kost <ensonic@users.sf.net>
2214 * gst/gstelement.c: (gst_element_dispose):
2217 * gst/gstiterator.c:
2218 * gst/gststructure.c:
2221 * libs/gst/controller/gstcontroller.c:
2222 (gst_controlled_property_set_interpolation_mode):
2223 * libs/gst/controller/gstcontroller.h:
2224 * libs/gst/controller/gstinterpolation.c:
2225 (interpolate_none_get_enum_value_array):
2226 support controlling enums
2228 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
2231 Improve documentation for gst_value_union().
2234 Change return value for union, intersect and subtract functions
2235 from gint to gboolean.
2237 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
2239 * gst/gstvalue.c: (gst_value_serialize_any_list),
2240 (gst_value_transform_any_list_string),
2241 (gst_value_deserialize_list), (gst_value_deserialize_array),
2242 (gst_value_set_int_range), (gst_value_deserialize_int_range),
2243 (gst_value_set_double_range), (gst_value_deserialize_double_range),
2244 (gst_value_set_fraction_range_full),
2245 (gst_value_deserialize_fraction_range),
2246 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2247 (gst_value_deserialize_boolean),
2248 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2249 (gst_value_serialize_float), (gst_value_deserialize_float),
2250 (gst_string_wrap), (gst_value_deserialize_string),
2251 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2252 (gst_value_union_int_range_int_range),
2253 (gst_value_intersect_int_range_int_range),
2254 (gst_value_intersect_double_range_double_range),
2255 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2256 (gst_value_subtract_int_range_int_range),
2257 (gst_value_subtract_double_double_range),
2258 (gst_value_subtract_double_range_double_range),
2259 (gst_value_deserialize_fraction):
2261 Use gint, gdouble and gchar in our API instead of int, double and
2262 char (and make usage in gstvalue.c more consistent).
2264 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
2266 * check/Makefile.am:
2267 * libs/gst/controller/Makefile.am:
2268 * libs/gst/dataprotocol/Makefile.am:
2269 fix up Makefile.am and remove GST_ENABLE_NEW
2271 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
2275 * gst/base/Makefile.am:
2276 * gst/check/Makefile.am:
2277 * gst/elements/Makefile.am:
2278 * gst/net/Makefile.am:
2279 update LDFLAGS use some more
2281 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
2283 * common/m4/gst-doc.m4:
2286 2005-11-26 Edward Hervey <edward@fluendo.com>
2288 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2289 This shouldn't issue a g_warning since it returns NULL if it
2290 couldn't find the plugin, and all functions using this behave
2291 properly on a NULL return. Switching to a GST_WARNING.
2293 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
2295 * gst/gstbin.c: (gst_bin_handle_message_func):
2296 Don't leak clock messages.
2298 2005-11-25 Wim Taymans <wim@fluendo.com>
2300 * gst/gstutils.c: (gst_util_uint64_scale_int64),
2301 (gst_util_uint64_scale_int):
2302 Optimisations, remove unneeded vars.
2304 2005-11-25 Wim Taymans <wim@fluendo.com>
2306 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2307 Added more checks for the high precision uint64 cases.
2309 * gst/gstutils.c: (gst_util_uint64_scale_int64),
2310 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2311 Implement high precision (guint64 * guint64) / guint64.
2313 2005-11-24 Wim Taymans <wim@fluendo.com>
2315 * gst/base/gstbasesrc.c: (gst_base_src_query):
2316 Fix wrong percentage query.
2318 * gst/gstutils.c: (gst_util_uint64_scale),
2319 (gst_util_uint64_scale_int):
2320 Add some more common cases that can be handled
2321 efficiently to _scale.
2323 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
2325 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2326 (gst_mini_object_suite):
2327 don't use check calls from threads; check probably isn't
2328 threadsafe and using a lock to make it threadsafe would
2329 defeat the purpose of this check
2330 * gst/check/gstcheck.c:
2331 * gst/check/gstcheck.h:
2332 use GST_DEBUG some more
2334 2005-11-24 Wim Taymans <wim@fluendo.com>
2336 * gst/gstutils.c: (gst_util_uint64_scale),
2337 (gst_util_uint64_scale_int):
2338 Chain trivial case to _scale_int.
2340 2005-11-24 Wim Taymans <wim@fluendo.com>
2342 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2343 Added test for scaling.
2348 * gst/gstutils.c: (gst_util_uint64_scale_int):
2349 Implemented high precision scaling code.
2351 2005-11-24 Stefan Kost <ensonic@users.sf.net>
2354 do not crash on pad==NULL
2356 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
2358 Patch by: Stefan Kost
2360 * common/gtk-doc.mak:
2361 * docs/gst/Makefile.am:
2362 * docs/libs/Makefile.am:
2363 Fix distcheck issues for the libraries docs build
2366 2005-11-24 Michael Smith <msmith@fluendo.com>
2368 * docs/manual/basics-helloworld.xml:
2369 Fix bug #315027: memory leak in example code in docs.
2371 2005-11-24 Michael Smith <msmith@fluendo.com>
2373 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2374 Unlock the PREROLL_LOCK in a failure case.
2376 2005-11-24 Wim Taymans <wim@fluendo.com>
2378 * docs/gst/gstreamer-sections.txt:
2379 * gst/base/gstadapter.h:
2380 * gst/base/gstbasesink.h:
2381 * gst/base/gstbasesrc.h:
2382 * gst/base/gstbasetransform.h:
2383 * gst/base/gstpushsrc.h:
2384 * gst/elements/gstfakesink.h:
2385 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2386 * gst/elements/gstfakesrc.h:
2387 * gst/elements/gstfilesink.h:
2388 * gst/elements/gstfilesrc.h:
2391 * gst/gstbuffer.c: (_gst_buffer_copy):
2394 * gst/gstchildproxy.c:
2397 * gst/gstelementfactory.c:
2398 * gst/gstelementfactory.h:
2400 * gst/gstghostpad.h:
2402 * gst/gstinterface.h:
2403 * gst/gstminiobject.c:
2404 * gst/gstminiobject.h:
2407 * gst/gstpadtemplate.h:
2408 * gst/gstpipeline.h:
2409 * gst/gstpluginfeature.h:
2414 * gst/gsttagsetter.c:
2415 * gst/gsttagsetter.h:
2418 * gst/gsttypefind.h:
2421 * gst/net/gstnetclientclock.c:
2422 * gst/net/gstnetclientclock.h:
2423 * gst/net/gstnettimepacket.c:
2424 * gst/net/gstnettimeprovider.c:
2425 * gst/net/gstnettimeprovider.h:
2428 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2430 * configure.ac: back to HEAD
2432 === release 0.9.6 ===
2434 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2437 releasing 0.9.6, "Always On Time"
2439 2005-11-23 Wim Taymans <wim@fluendo.com>
2441 * docs/gst/gstreamer-sections.txt:
2442 * gst/glib-compat.c:
2443 * gst/gsttagsetter.c:
2445 * gst/net/gstnetclientclock.c:
2446 * gst/net/gstnettimepacket.h:
2449 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2451 * docs/faq/using.xml:
2452 * docs/libs/tmpl/gstcontrol.sgml:
2453 * docs/manual/advanced-dparams.xml:
2454 * docs/manual/appendix-checklist.xml:
2455 * docs/manual/basics-elements.xml:
2456 * docs/pwg/other-source.xml:
2457 * docs/random/moving-plugins:
2459 * tools/gst-launch.1.in:
2460 remove mentions of sinesrc
2462 2005-11-23 Michael Smith <msmith@fluendo.com>
2464 * docs/gst/gstreamer-sections.txt:
2465 Update for new API and API changes.
2467 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2469 Documentation typo fix.
2470 * gst/net/gstnettimepacket.c:
2471 Documentation fixes for arguments.
2473 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
2475 * gst/gststructure.c: (gst_structure_get_fraction),
2476 (gst_structure_parse_value),
2477 (gst_structure_fixate_field_nearest_fraction):
2478 * gst/gststructure.h:
2479 * gst/gstutils.c: (gst_util_uint64_scale_int):
2481 * scripts/update-funcnames:
2483 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2484 Make gst_structure_fixate_field_nearest_fraction take a numerator
2485 and denominator argument instead of a GValue
2486 add gst_structure_get_fraction helper function.
2488 2005-11-23 Wim Taymans <wim@fluendo.com>
2490 * docs/design/part-TODO.txt:
2493 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2494 * gst/net/gstnetclientclock.h:
2495 Use parent fields for timeout and window_size.
2497 2005-11-23 Andy Wingo <wingo@pobox.com>
2499 * check/net/gstnetclientclock.c (test_functioning): Adjust to
2500 rate_num/rate_denom change.
2502 * gst/net/gstnetclientclock.c
2503 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2504 OBJECT_LOCK. Don't call add_observation with the lock.
2506 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2508 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2510 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2511 deal with rate as a fraction whose numerator and denominator are
2512 GstClockTime values.
2513 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2514 master; the other fields are protected by the SLAVE_LOCK.
2515 (do_linear_regression): Note that this must be called with the
2517 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2518 OBJECT_LOCK. Call set_calibration instead of touching the
2520 (gst_clock_set_property, gst_clock_get_property): Protect
2521 master/slave parameters with the SLAVE_LOCK.
2523 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2524 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2525 note that all of the instance variables that add_observation and
2526 the set_master functions use are protected by that lock and not
2528 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2530 * gst/gstclock.c (gst_clock_add_observation): No longer requires
2531 the caller to take the object lock.
2533 2005-11-23 Wim Taymans <wim@fluendo.com>
2535 * gst/gsterror.c: (_gst_core_errors_init):
2537 Add error for clock stuff.
2539 * gst/gstpipeline.c: (gst_pipeline_change_state),
2540 (gst_pipeline_set_clock):
2541 Post clock error when clock cannot be used in a pipeline.
2543 2005-11-23 Stefan Kost <ensonic@users.sf.net>
2545 * docs/gst/gstreamer-sections.txt:
2546 make two symbols from gstinfo private for the docs
2547 * gst/base/gstcollectpads.h:
2549 fix doc typos, update docs
2551 2005-11-22 Wim Taymans <wim@fluendo.com>
2553 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2554 (gst_base_sink_wait), (gst_base_sink_do_sync),
2555 (gst_base_sink_handle_event):
2556 * gst/base/gstbasesink.h:
2557 No need to store the clock, the parent element class already
2560 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2561 Updates for clock_set returning a gboolean
2563 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2564 (gst_clock_id_wait_async), (gst_clock_class_init),
2565 (gst_clock_init), (gst_clock_finalize),
2566 (gst_clock_get_internal_time), (gst_clock_get_time),
2567 (gst_clock_slave_callback), (gst_clock_set_master),
2568 (gst_clock_get_master), (do_linear_regression),
2569 (gst_clock_add_observation), (gst_clock_set_property),
2570 (gst_clock_get_property):
2572 Implement master/slave. When setting a clock as a slave, a
2573 periodic timeout is scheduled to sample master and slave times.
2574 Then the slave clock is recalibrated to match offset and rate
2575 of the master clock.
2576 Update logging a bit.
2577 Add flag so that a clock can state that is cannot be slaved to
2580 * gst/gstelement.c: (gst_element_set_clock):
2582 The set clock returns a gboolean for when an element cannot
2583 deal with the selected clock in the pipeline.
2585 * gst/gstpipeline.c: (gst_pipeline_change_state),
2586 (gst_pipeline_set_clock):
2587 * gst/gstpipeline.h:
2588 Handle the case where the selected clock cannot be set on
2591 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2592 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2593 (gst_net_client_clock_set_property),
2594 (gst_net_client_clock_get_property),
2595 (gst_net_client_clock_observe_times):
2596 * gst/net/gstnetclientclock.h:
2597 Use regression code in GstClock parent, remove duplicated
2600 2005-11-22 Michael Smith <msmith@fluendo.com>
2602 * gst/gstutils.c: (gst_util_clock_time_scale):
2604 * docs/gst/gstreamer-sections.txt:
2605 Rename method to have extra underscore.
2607 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
2609 * gst/elements/Makefile.am:
2610 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2611 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2612 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2613 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2614 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2615 * gst/elements/gstfakesrc.h:
2616 * gst/gstqueue.c: (queue_leaky_get_type):
2617 correctly fix GEnumValues so that nick is the short lowercase
2619 * tools/gst-inspect.c: (print_element_properties_info):
2620 also show the nick, since it's useful to use from parse_launch
2624 2005-11-22 Michael Smith <msmith@fluendo.com>
2626 * gst/gstutils.c: (gst_util_clocktime_scale):
2628 * docs/gst/gstreamer-sections.txt:
2629 Add util method for scaling a clocktime by a fraction. Useful
2630 implementation is left as an exercise for the reader.
2632 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2634 * gst/gstvalue.c: (gst_value_collect_fraction_range):
2635 If needed, allocate storage in the destination value during
2638 2005-11-22 Edward Hervey <edward@fluendo.com>
2640 * docs/gst/gstreamer-sections.txt:
2645 * gst/gstutils.c: (gst_util_set_object_arg):
2646 * tools/gst-compprep.c: (main):
2647 * tools/gst-inspect.c: (print_element_properties_info):
2648 Removed GstURI, closes bug #321061
2650 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2652 * check/gst/gststructure.c: (GST_START_TEST):
2653 * gst/gststructure.c: (gst_structure_parse_value):
2654 Oops, broke automatic string type parsing.
2655 Add a test to catch it in future.
2657 2005-11-22 Andy Wingo <wingo@pobox.com>
2659 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
2660 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2661 Actually rename the function implementations. Grr.
2663 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2665 * check/gst/capslist.h:
2667 * check/gst/gststructure.c: (GST_START_TEST),
2668 (gst_structure_suite):
2669 Test automatic value type detection in gst_structure_from_string.
2670 * gst/gststructure.c: (gst_structure_parse_value):
2671 Add fraction as a type we try and guess automatically in
2672 caps/structure strings.
2674 2005-11-22 Andy Wingo <wingo@pobox.com>
2676 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2678 * gst/gsttagsetter.h:
2679 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2680 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2681 (gst_tag_setter_add_tag_valist)
2682 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2683 _add_values, _add_valist, and _add_valist_values. Since this is an
2684 interface the function suffixes should be more explicit so
2685 language binding don't end up with element.add_valist ->
2686 gst_tag_setter_add_valist, for example. Fixes #322069.
2688 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2690 * check/gst/gstcaps.c: (GST_START_TEST):
2691 Extend caps string tests to check that a caps to string
2692 conversion is reversible and produces the same caps.
2694 * gst/gststructure.c: (gst_structure_value_get_generic_type):
2695 Output "fraction" as the generic type fraction range, so caps
2696 serialisation and deserialisation works.
2697 * check/gst/capslist.h:
2698 * gst/gstvalue.c: (gst_value_deserialize_fraction):
2699 Support 'MIN' and 'MAX' for deserialising fractions.
2701 2005-11-22 Andy Wingo <wingo@pobox.com>
2703 * gst/gstevent.h (gst_event_new_new_segment)
2704 (gst_event_parse_new_segment, gst_event_new_buffer_size)
2705 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2706 Renamed from *_newsegment, *_buffersize, *_notarget.
2708 * scripts/update-funcnames: New script, performs the changes
2711 2005-11-22 Wim Taymans <wim@fluendo.com>
2713 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2714 Make sure the GstFlowReturn is returned.
2716 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2717 (gst_bus_add_signal_watch):
2719 add gst_bus_add_signal_watch_full.
2721 * gst/gstplugin.c: (gst_plugin_load_file):
2722 Small style cleanup.
2724 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2726 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2727 Block the fakesrc srcpad when we send an event, to avoid
2728 contention on the stream_lock causing random test failures.
2730 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2732 * check/gst/gstvalue.c: (GST_START_TEST):
2733 * gst/gstvalue.c: (gst_value_fraction_subtract):
2736 2005-11-22 Stefan Kost <ensonic@users.sf.net>
2739 include "gstchildproxy.h"
2740 * gst/gstchildproxy.h:
2741 * libs/gst/controller/gstcontroller.h:
2742 use G_GNUC_NULL_TERMINATED
2744 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2746 * check/gst/capslist.h:
2747 * check/gst/gstcaps.c: (GST_START_TEST):
2748 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2749 * gst/gststructure.c: (gst_structure_parse_range),
2750 (gst_structure_fixate_field_nearest_fraction):
2751 * gst/gststructure.h:
2752 * gst/gstvalue.c: (gst_value_init_fraction_range),
2753 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2754 (gst_value_collect_fraction_range),
2755 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2756 (gst_value_set_fraction_range_full),
2757 (gst_value_get_fraction_range_min),
2758 (gst_value_get_fraction_range_max),
2759 (gst_value_serialize_fraction_range),
2760 (gst_value_transform_fraction_range_string),
2761 (gst_value_compare_fraction_range),
2762 (gst_value_deserialize_fraction_range),
2763 (gst_value_intersect_fraction_fraction_range),
2764 (gst_value_intersect_fraction_range_fraction_range),
2765 (gst_value_subtract_fraction_fraction_range),
2766 (gst_value_subtract_fraction_range_fraction),
2767 (gst_value_subtract_fraction_range_fraction_range),
2768 (gst_value_collect_fraction), (gst_value_fraction_multiply),
2769 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2770 (gst_value_transform_string_fraction), (_gst_value_initialize):
2772 Implement fraction ranges and extend GstFraction to support
2773 arithmetic subtraction, as well as deserialization from integer
2774 strings such as "100"
2775 Add a testsuite as for int and double range set operations
2777 2005-11-21 Andy Wingo <wingo@pobox.com>
2781 * gst/gststructure.h: Add glib-compat.h.
2783 2005-11-21 Wim Taymans <wim@fluendo.com>
2785 * gst/gstbin.c: (gst_bin_change_state_func):
2788 2005-11-21 Wim Taymans <wim@fluendo.com>
2791 And add a nice define too.
2793 2005-11-21 Wim Taymans <wim@fluendo.com>
2795 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2796 (gst_segment_new), (gst_segment_free), (gst_segment_init),
2797 (gst_segment_set_duration), (gst_segment_set_last_stop),
2798 (gst_segment_set_seek), (gst_segment_set_newsegment),
2799 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2802 Make binding friendly.
2804 2005-11-21 Andy Wingo <wingo@pobox.com>
2806 * gst/gsttagsetter.h:
2808 * gst/gststructure.h:
2810 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2813 * gst/gsterror.c (_gst_core_errors_init):
2814 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2817 * gst/Makefile.am (gst_headers): Add glib-compat.h.
2818 (noinst_HEADERS): noinst the -private.
2820 2005-11-21 Michael Smith <msmith@fluendo.com>
2823 * gst/gstregistry.h:
2824 Remove unimplemented declarations for which we can see no sensible
2827 2005-11-21 Andy Wingo <wingo@pobox.com>
2829 * gst/gst.h: Include glib-compat.h.
2831 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2833 * gst/glib-compat.c: Include the public and the private header.
2835 * gst/glib-compat-private.h: Copied here from glib-compat.h.
2839 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2841 * check/gst/gstevent.c (create_custom_events): Check that
2842 FLUSH_STOP is serialized.
2844 * check/elements/identity.c (event_func):
2845 * check/elements/fakesrc.c (event_func): No stream lock, the core
2848 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2849 stream lock taking, yay.
2851 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2852 ensure that core takes the stream lock.
2854 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2857 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2858 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2859 it already. For the flush start we do take it though so we get the
2860 right preroll state change messages.
2862 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2863 the stream lock here, the core does it for us.
2865 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2866 GST_STREAM_GET_LOCK.
2867 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
2868 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
2869 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2870 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2871 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
2872 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2874 * gst/gstpad.c: Update for stream lock name change.
2876 * gst/base/gstbasesink.c: Update for preroll lock name change.
2878 2005-11-21 Wim Taymans <wim@fluendo.com>
2880 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2881 (gst_clock_get_master):
2883 * gst/gstsystemclock.c: (gst_system_clock_init):
2884 Convert Clock flags to object flags.
2885 Added methods to manage master/slave clocks.
2887 2005-11-21 Wim Taymans <wim@fluendo.com>
2889 * check/gst/gstsegment.c: (GST_START_TEST):
2890 * docs/design/part-TODO.txt:
2891 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2892 (gst_base_sink_event), (gst_base_sink_do_sync),
2893 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2894 (gst_base_sink_query), (gst_base_sink_change_state):
2895 * gst/base/gstbasesink.h:
2896 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2897 (gst_base_src_default_newsegment),
2898 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2899 (gst_base_src_get_range), (gst_base_src_loop),
2900 (gst_base_src_change_state):
2901 * gst/base/gstbasesrc.h:
2902 * gst/base/gstbasetransform.c:
2903 (gst_base_transform_prepare_output_buf),
2904 (gst_base_transform_event), (gst_base_transform_change_state):
2905 * gst/base/gstbasetransform.h:
2906 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2907 (gst_collect_pads_event):
2908 * gst/base/gstcollectpads.h:
2909 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2910 (gst_fake_src_create):
2911 * gst/elements/gstfakesrc.h:
2912 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2913 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2914 (gst_segment_set_last_stop), (gst_segment_set_seek),
2915 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2916 (gst_segment_to_running_time), (gst_segment_clip):
2918 More segment updates, replace code in plugins with segment
2921 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2923 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2924 Don't ignore sscanf results
2926 2005-11-21 Andy Wingo <wingo@pobox.com>
2928 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2931 * *.c: Ran scripts/update-macros. Oh yes.
2933 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2934 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2937 * scripts/update-macros: New script. Run it on your files to
2938 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2941 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2943 * docs/gst/Makefile.am:
2944 * docs/gst/gstreamer-docs.sgml:
2945 * docs/gst/gstreamer-sections.txt:
2946 * docs/gst/gstreamer.types:
2948 more docs fixes, add new api to the docs
2950 2005-11-21 Andy Wingo <wingo@pobox.com>
2952 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2953 state_broadcast call.
2955 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2957 2005-11-21 Julien MOUTTE <julien@moutte.net>
2959 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2960 function calls for arrays.
2962 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2964 * docs/random/ensonic/media-device-daemon.txt:
2965 wild idea, can this be done?
2966 * docs/gst/gstreamer-sections.txt:
2971 * gst/gstpluginfeature.c:
2975 doc fixes and additions
2977 2005-11-21 Andy Wingo <wingo@pobox.com>
2979 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
2980 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
2981 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
2982 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2983 private to the basesrc implementation.
2985 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2986 behalf of event function if necessary. It should no longer be
2987 necessary to take the stream lock in pad's event functions. Fixes
2990 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2991 * docs/gst/gstreamer-sections.txt:
2992 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2993 (gst_structure_fixate_field_nearest_double),
2994 (gst_structure_fixate_field_boolean):
2995 * gst/gststructure.h:
2996 * win32/common/libgstreamer.def:
2997 * win32/gstreamer.def:
2999 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3002 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
3004 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3005 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3006 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3007 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3008 (gst_fdsrc_uri_handler_init):
3009 * gst/elements/gstfdsrc.h:
3010 Port fd:// URI handler from 0.8 to fdsrc
3012 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3014 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3015 (gst_value_serialize_fourcc):
3017 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3018 consistent with our other format defines (#320324).
3020 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3022 * gst/gstvalue.c: (gst_value_is_fixed):
3023 Revert previous commit. Value lists are by definition
3024 not fixed, as they are a list of possible values.
3026 2005-11-21 Andy Wingo <wingo@pobox.com>
3028 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3029 during the stable series if we need it. Fixes #319178.
3031 * gst/gstevent.c (gst_event_new_filler): Removed.
3033 * check/gst/gstevent.c: Update comment about filler events.
3035 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3037 * gst/gstvalue.c: (gst_value_is_fixed):
3038 Should handle both value arrays and value lists.
3040 2005-11-21 Andy Wingo <wingo@pobox.com>
3042 patch by: Alessandro Dessina <alessandro nnva org>
3044 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3045 functions to access arrays. Fixes #321962.
3047 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3049 * docs/gst/gstreamer.types:
3050 gst_collectpads_get_type => gst_collect_pads_get_type.
3052 * gst/base/gstbasetransform.c:
3053 Remove unused SIGNAL_HANDOFF enum.
3055 2005-11-21 Andy Wingo <wingo@pobox.com>
3057 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3058 the event type (upstream, downstream, serialized). Renamed
3059 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3060 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3061 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3063 * gst/gstevent.c: Update for new CUSTOM event names.
3065 * check/gst/gstevent.c: Update check for new CUSTOM event names.
3068 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3071 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3073 * docs/gst/gstreamer-sections.txt:
3074 * win32/common/libgstbase.def:
3075 * win32/libgstbase.def:
3076 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3077 (gst_collect_pads_class_init), (gst_collect_pads_init),
3078 (gst_collect_pads_finalize), (gst_collect_pads_new),
3079 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3080 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3081 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3082 (gst_collect_pads_start), (gst_collect_pads_stop),
3083 (gst_collect_pads_peek), (gst_collect_pads_pop),
3084 (gst_collect_pads_available), (gst_collect_pads_read),
3085 (gst_collect_pads_flush), (gst_collect_pads_event),
3086 (gst_collect_pads_chain):
3087 * gst/base/gstcollectpads.h:
3088 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3089 unimplemented functions as unimplemented. Add padding to
3090 GstCollectData. (#320766, #320423)
3092 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
3095 Improve docs for DURATION message (usage of duration parameter)
3098 2005-11-20 Wim Taymans <wim@fluendo.com>
3100 * check/Makefile.am:
3101 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3105 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3106 (gst_segment_set_seek), (gst_segment_set_newsegment),
3107 (gst_segment_to_stream_time), (gst_segment_to_running_time),
3110 Added segment helper structure and methods. Not fully implemented
3112 Added segment check.
3114 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
3116 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3117 Add a deserialisation test for fractions
3118 * examples/metadata/read-metadata.c: (message_loop),
3119 (make_pipeline), (main):
3120 Fix up metadata reading sample.
3121 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3123 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3124 Don't try and fixate empty caps
3125 * gst/gst_private.h:
3126 Wrap in G_BEGIN_DECLS/G_END_DECLS
3127 * gst/gstvalue.c: (gst_value_collect_fraction),
3128 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3129 (gst_value_transform_string_fraction),
3130 (gst_value_compare_fraction):
3131 Add some extra guards to ensure that we don't end up
3132 with an invalid denominator of 0 in a gstfraction and
3133 that fractions always get reduced.
3135 2005-11-20 Wim Taymans <wim@fluendo.com>
3137 * docs/gst/gstreamer-sections.txt:
3148 2005-11-20 Wim Taymans <wim@fluendo.com>
3150 * docs/design/part-TODO.txt:
3152 Make a proper enum of the flag.
3154 2005-11-19 Wim Taymans <wim@fluendo.com>
3156 * docs/design/part-TODO.txt:
3157 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3158 (gst_format_to_quark), (gst_format_register):
3160 * gst/gstquery.c: (_gst_query_initialize),
3161 (gst_query_type_get_name), (gst_query_type_to_quark),
3162 (gst_query_type_register):
3164 Add type to quark and type to string conversions.
3166 2005-11-19 Andy Wingo <wingo@pobox.com>
3168 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3171 2005-11-19 Wim Taymans <wim@fluendo.com>
3173 * docs/design/part-TODO.txt:
3174 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3175 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3176 (gst_bin_handle_message_func):
3178 Make message handling overridable.
3180 2005-11-19 Andy Wingo <wingo@pobox.com>
3182 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3185 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3187 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3188 is a GstClockTime. Fixes #321710.
3190 * gst/gstclock.h (GstClock): Remove offset property. Add
3191 internal_calibration and external_calibration. Fix padding. Pad
3192 also by GstClockTime so we don't run into problems.
3194 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3195 (gst_clock_get_rate_offset): Remove.
3196 (gst_clock_set_time_adjust): Remove. Fixes #321712.
3199 * gst/gstutils.c (g_static_rec_cond_wait)
3200 (g_static_rec_cond_timed_wait): Removed, no longer needed.
3202 * gst/gstbin.c: Remove terrible continue_state prototype.
3204 * gst/gstelement.h (gst_element_continue_state): Make public.
3207 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3208 by continue_state. Fixes #319389.
3210 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3211 Really fixes #168438. However I don't see anywhere where the
3212 filter function is called... stupid GStreamer...
3214 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3215 don't have a dispose function, so it won't get called when the
3216 object is unreffed, but oh well!
3218 * gst/gstindex.c (gst_index_set_filter_full): New API function,
3219 allows a destroy function to be set so user_data can be freed.
3221 (gst_index_set_filter): Call gst_index_set_filter_full.
3223 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3225 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3226 string should produce an error, given the lack of a way to
3227 represent NULL strings. Fixes #165650.
3230 * gst/gstvalue.c (gst_value_array_append_value)
3231 (gst_value_array_prepend_value, gst_value_array_get_size)
3232 (gst_value_array_get_value): New API, copied from
3233 gst_value_list_*, only operates on arrays.
3234 (gst_value_list_append_value, gst_value_list_prepend_value)
3235 (gst_value_list_concat, gst_value_list_get_size)
3236 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3238 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3239 init_list, because it works on both.
3240 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3241 (gst_value_copy_list_or_array): Renamed from copy_list.
3242 (gst_value_free_list_or_array): Renamed from free_list.
3243 (gst_value_collect_list_or_array): Renamed from collect_list.
3244 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3245 (gst_value_list_or_array_peek_pointer): Renamed from
3247 (_gst_value_array_value_table, _gst_value_list_value_table):
3248 Update value table functions.
3249 (gst_value_compare_list_or_array): Renamed from compare_list.
3251 * gsttaglist.h: Whoops, foreach function returns void. Also fix
3255 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3256 GstTagList*. Fixes #143472.
3258 * gst/gststructure.h: Clarify what the foreach/map functions can
3259 or can't do to their arguments.
3261 2005-11-18 Wim Taymans <wim@fluendo.com>
3263 * gst/gstclock.c: (gst_clock_set_calibration),
3264 (gst_clock_get_calibration):
3266 Calibration can be set with internal time equal to current
3269 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
3275 2005-11-18 Andy Wingo <wingo@pobox.com>
3278 * pkgconfig/gstreamer-net.pc.in:
3279 * pkgconfig/gstreamer-net-uninstalled.pc.in:
3280 * pkgconfig/Makefile.am: Add net pkgconfig files.
3282 2005-11-18 Stefan Kost <ensonic@users.sf.net>
3285 * gst/gstghostpad.c:
3291 2005-11-18 Andy Wingo <wingo@pobox.com>
3293 * gst/net/gstnetclientclock.c: Turn off debugging.
3295 * check/net/gstnetclientclock.c (test_functioning): Assert that the
3296 times connverge somewhat. Can't make a real test.
3298 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3299 integer arithmetic. Return the minimum of the domain, which can be
3300 set as "internal" for gst_clock_set_calibration.
3301 (gst_net_client_clock_observe_times): Call _set_calibration.
3302 (gst_net_client_clock_new): Call _set_calibration instead of
3305 * check/net/gstnetclientclock.c (test_functioning): Use the right
3309 * gst/gstclock.c (gst_clock_get_calibration)
3310 (gst_clock_set_calibration): New functions, obsolete the ones I
3311 added yesterday. Doh. Precision issues mean we have to extrapolate
3312 from a point in the more recent past than 1970.
3313 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3315 (gst_clock_adjust_unlocked): Use the right calibration data.
3317 2005-11-18 Edward Hervey <edward@fluendo.com>
3319 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3320 Also reset the ->current_* values in READY->PAUSED
3322 2005-11-18 Andy Wingo <wingo@pobox.com>
3324 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3325 Whoops, check the right fd. Also add some debugging.
3326 (gst_net_client_clock_observe_times): Adjust for int64 offset.
3327 (do_linear_regression): Add a crapload of debugging. Subtract off
3328 the minimum values from the input series to discard unneeded bits.
3329 Use only int arithmetic. There is still double arithmetic when
3330 calculating the intercept that needs fixing. Return boolean to
3331 indicate success; FALSE would mean the domain or range is too
3332 great. Still needs fixes.
3334 2005-11-18 Wim Taymans <wim@fluendo.com>
3336 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3337 For the current position in stream time, we need to subtract
3340 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3341 Release lock before calling the callback function of async
3344 2005-11-18 Andy Wingo <wingo@pobox.com>
3346 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3347 Port goes all the way to MAXUINT16.
3349 * gst/net/gstnettimeprovider.c: Make the port range the same as
3350 for the kernel: 0 assigns, otherwise ports are less than
3353 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3356 * check/net/gstnetclientclock.c (test_functioning): Add the start
3359 2005-11-18 Wim Taymans <wim@fluendo.com>
3361 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3362 (gst_bin_remove_func), (bin_bus_handler):
3364 Removing a clock provider from a bin, triggers a clock lost message
3365 so that a new clock will be selected.
3366 Adding a clock to a bin triggers a clock provider message.
3367 Make sure we reselect a clock when we received a clock lost message.
3368 Keep a reference to the element that provided the clock.
3370 2005-11-18 Andy Wingo <wingo@pobox.com>
3372 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3373 the clock initially so it produces values around the base time.
3374 (gst_net_client_clock_class_init): Typo fix.
3375 (gst_net_client_clock_thread): Add note on when the socket gets
3378 2005-11-17 Wim Taymans <wim@fluendo.com>
3380 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3381 Free remote and local time arrays.
3383 2005-11-17 Wim Taymans <wim@fluendo.com>
3385 * gst/net/gstnetclientclock.c: (do_linear_regression),
3386 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3387 Fix compilation, uninitialized vars and a forgotten continue.
3389 2005-11-17 Andy Wingo <wingo@pobox.com>
3391 * check/Makefile.am (check_PROGRAMS):
3392 * check/net/gstnetclientclock.c: Add a most minimal test for the
3393 net client clock. More to come later.
3396 * gst/net/Makefile.am: Add netclientclock.
3398 * gst/net/gstnetclientclock.h:
3399 * gst/net/gstnetclientclock.c: New files, implement an untested
3400 GstClock that takes its time from a network time provider.
3401 Implements the algorithm in network-clock.scm.
3403 * tests/network-clock.scm (*window-size*): Rename from
3405 * tests/network-clock.scm (network-time):
3406 * tests/network-clock-utils.scm (q-push): Update callers.
3408 2005-11-17 Wim Taymans <wim@fluendo.com>
3410 * gst/gstbin.c: (gst_bin_provide_clock_func),
3411 (gst_bin_sort_iterator_new):
3412 And unref the child too..
3414 2005-11-17 Wim Taymans <wim@fluendo.com>
3416 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3417 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3418 Refactor the sort iterator so it can be used while holding the
3420 Make clock selection select a clock closest to the source.
3422 2005-11-17 Michael Smith <msmith@fluendo.com>
3424 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3425 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3427 Anonymous structs are a gcc (and some other compilers) extension, so
3428 don't use them. Since this is only for ABI-compatibility, and our
3429 API/ABI freeze is over in a few days, this whole thing will only
3430 last a few days, so don't bother trying to think up a meaningful
3431 name for the struct.
3433 2005-11-17 Andy Wingo <wingo@pobox.com>
3435 * gst/gstclock.h (GstClock): Add rate and offset properties,
3436 preserving ABI stability. Add rate/offset accessors. Will file bug
3437 for the freeze break.
3439 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3440 and offset, trying to keep precision and avoiding
3442 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3443 functions. Make gst_clock_set_time_adjust obsolete.
3444 (gst_clock_set_time_adjust): Note that this function is obsolete.
3447 * gst/base/gstbasetransform.h: Make the ABI-stability hack
3448 greppable by using GST_PADDING-1+1.
3450 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
3452 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3454 * gst/gstmessage.c: (gst_message_parse_clock_lost):
3455 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3457 * gst/gstpadtemplate.h:
3458 * gst/gstpluginfeature.h:
3459 Don't use c++ style comments in headers (#321638).
3461 2005-11-16 Andy Wingo <wingo@pobox.com>
3463 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3466 * check/net/gstnettimeprovider.c: Check to see that the time
3467 provider actually provides times. Works, yo!
3469 2005-11-16 Wim Taymans <wim@fluendo.com>
3471 * check/Makefile.am:
3474 * check/elements/fakesrc.c: (GST_START_TEST):
3475 Set element to NULL before disposing it.
3477 2005-11-16 Andy Wingo <wingo@pobox.com>
3479 * gst/net/Makefile.am:
3481 * gst/net/gstnettimeprovider.c:
3482 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3483 provider, include it from gstnet.h, and add it to the build.
3485 * gst/net/gstnettimepacket.h:
3486 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3487 sending and receiving.
3489 2005-11-16 Wim Taymans <wim@fluendo.com>
3491 * check/Makefile.am:
3492 Enable valgrind check.
3494 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3495 (gst_fake_src_alloc_buffer):
3498 2005-11-16 Wim Taymans <wim@fluendo.com>
3500 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3501 Call parent finalize too.
3503 2005-11-16 Wim Taymans <wim@fluendo.com>
3505 * check/Makefile.am:
3506 Enable valgrind check that should work fine now.
3508 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3509 * gst/gstqueue.c: (gst_queue_init):
3510 Fix memleaks in pad allocation.
3512 2005-11-16 Andy Wingo <wingo@pobox.com>
3514 * gst/net/Makefile.am:
3515 * gst/net/gstnet.h: New part of core to hold network elements and
3516 objects. Put in core because it exposes API that applications want
3517 to use. The library is named libgstnet-tempname right now because
3518 of the existing libgstnet in gst-plugins-base. Solution is
3519 probably to rename the one in plugins-base; will file a bug for
3522 * gst/net/gstnettimeprovider.c:
3523 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3524 get_time call over the network.
3527 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3529 * check/Makefile.am:
3530 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3531 get additions shortly.
3533 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3535 * gst/gstpad.c: (gst_pad_new_from_static_template):
3537 add gst_pad_new_from_static_template functions
3538 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3539 (gst_check_setup_sink_pad):
3540 * gst/elements/gsttee.c: (gst_tee_init):
3543 2005-11-16 Wim Taymans <wim@fluendo.com>
3545 * gst/gstpad.c: (gst_pad_pause_task):
3546 Removed warning, it's not really an error either.
3548 2005-11-16 Wim Taymans <wim@fluendo.com>
3550 * gst/base/gstbasetransform.c:
3551 (gst_base_transform_prepare_output_buf),
3552 (gst_base_transform_event):
3553 Check if the caps are NULL, this can happen if the element
3554 is shutting down and the pad caps are set to NULL.
3556 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3558 * gst/elements/gsttee.c: (gst_tee_init):
3559 fix pad template leak in tee
3561 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3563 * gst/glib-compat.c: (g_value_dup_gst_object):
3564 * gst/glib-compat.h:
3565 * gst/gstpad.c: (gst_pad_set_property):
3566 use gst_object_ref when setting the pad template; this will
3567 trigger the pad template leaks on GLib 2.6 and the slaves
3569 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3571 * gst/glib-compat.c: (gst_flags_get_first_value):
3572 * gst/glib-compat.h:
3573 * gst/gstregistryxml.c:
3574 remove functions copied from GLib 2.6
3576 2005-11-16 Michael Smith <msmith@fluendo.com>
3579 Don't link against VALGRIND_LIBS. That was always the wrong thing to
3580 do, but only breaks with newer valgrind versions. We're not a
3581 valgrind tool, we have no link-time dependencies on libcoregrind.
3583 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3585 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3590 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3592 * gst/base/gstbasesrc.c: (gst_base_src_init):
3593 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3594 * gst/gstqueue.c: (gst_queue_init):
3595 * gst/gstregistryxml.c: (load_feature):
3596 Revert all these unrefs, they don't even pass make check !
3598 2005-11-15 Johan Dahlin <johan@gnome.org>
3600 * gst/base/gstbasesrc.c: (gst_base_src_init):
3601 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3602 * gst/gstqueue.c: (gst_queue_init):
3603 Free pad templates, fixes a couple of leaks.
3605 2005-11-15 Daniel Fischer <dan at f3c dot com>
3607 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3609 * gst/gstpad.c: (gst_pad_get_property):
3610 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3611 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3614 2005-11-15 Wim Taymans <wim@fluendo.com>
3619 2005-11-15 Andy Wingo <wingo@pobox.com>
3621 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3623 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3624 using GST_CLOCK_TIME_NONE to disable base time management.
3625 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3626 time if it was NONE before.
3627 (gst_pipeline_change_state): Only munge the base time if
3628 stream_time != GST_CLOCK_TIME_NONE.
3630 * check/gst/gstpipeline.c (test_base_time): Punt around the
3631 problem of the probe not being called, because that's not the
3632 issue I'm looking at. Add a check that setting stream_time to NONE
3633 disables base time management.
3635 2005-11-15 Wim Taymans <wim@fluendo.com>
3637 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3638 segment_stop == -1 at startup.
3640 * gst/base/gstbasetransform.c: (gst_base_transform_event),
3641 (gst_base_transform_change_state):
3642 Init segment values at start.
3644 2005-11-15 Wim Taymans <wim@fluendo.com>
3646 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3647 0 segment values are 0 in any format.
3649 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3650 * gst/base/gstbasetransform.h:
3651 Parse newsegment correctly in basetransform
3653 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3654 Sync to clock using updated segment values.
3656 2005-11-15 Andy Wingo <wingo@pobox.com>
3658 * check/gst/gstpipeline.c (test_base_time): Add check that the
3659 base time and stream time are reset correctly.
3661 2005-11-15 Wim Taymans <wim@fluendo.com>
3663 * docs/design/part-TODO.txt:
3664 Some more TODO items.
3666 2005-11-15 Andy Wingo <wingo@pobox.com>
3668 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3669 error if the user selected "no clock" as the clocking method.
3671 * check/gst/gstpipeline.c (test_base_time): New test for buffer
3672 timestamps with live capture.
3674 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3675 is 0 but we are a live source, timestamp the buffers using the
3678 2005-11-14 Stefan Kost <ensonic@users.sf.net>
3680 * docs/gst/gstreamer-sections.txt:
3682 * gst/gstghostpad.c:
3687 2005-11-14 Wim Taymans <wim@fluendo.com>
3690 add suppressions from Wim's Debian machine
3692 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
3695 add suppressions from Andy's AMD64 Ubuntu machine
3697 2005-11-14 Andy Wingo <wingo@pobox.com>
3699 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3700 STATE_LOCK not necessary. Fixes #311489.
3702 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3705 * gst/gstindex.c (gst_index_add_object): Note in the docs that
3706 this function is not implemented.
3708 2005-11-14 Julien MOUTTE <julien@moutte.net>
3710 * gst/base/gstbasetransform.c:
3711 (gst_base_transform_prepare_output_buf):
3712 Ref the source pad caps while we need them.
3715 2005-11-11 Wim Taymans <wim@fluendo.com>
3717 * docs/gst/gstreamer-sections.txt:
3718 Added some docs for GstCollectData.
3720 * gst/base/gstadapter.c:
3721 Some small code example fix.
3723 * gst/base/gstcollectpads.c:
3724 * gst/base/gstcollectpads.h:
3727 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3729 * configure.ac: back to HEAD
3731 === release 0.9.5 ===
3733 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3736 releasing 0.9.5, "Bike Lunch Day"
3738 2005-11-11 Wim Taymans <wim@fluendo.com>
3740 * gst/gstbuffer.c: (_gst_buffer_copy):
3743 * gst/gstcaps.c: (gst_caps_is_equal):
3745 Make _is_equal fast in the trivial cases.
3747 * gst/gstminiobject.c:
3748 * gst/gstminiobject.h:
3749 More docs. Spifify .h file.
3754 2005-11-11 Wim Taymans <wim@fluendo.com>
3756 * gst/base/gstbasetransform.c:
3757 (gst_base_transform_prepare_output_buf),
3758 (gst_base_transform_handle_buffer):
3760 If we're processing a buffer and need to allocate an output
3761 buffer, we cannot accept a format change. If we did get a
3762 format change, we have to alloc a buffer ourselves of the
3765 2005-11-11 Wim Taymans <wim@fluendo.com>
3767 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3768 While checking the flag for reentrancy in the gstcaps function
3769 is nice to detect recursive invocations, it also makes it
3770 impossible to call getcaps from multiple threads, which must be
3771 possible. So, checking for recursive calls has to go.
3773 2005-11-11 Michael Smith <msmith@fluendo.com>
3775 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3776 Don't sync on buffers that fall partially outside our current
3777 segment. Prevents an assertion failure/abort playing some files.
3779 2005-11-10 Andy Wingo <wingo@pobox.com>
3781 * check/gst/gstbin.c (test_message_state_changed_children): Style
3784 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3785 gst_bus_poll with the signal watch. Ensures that poll and a signal
3786 watch see the same messages.
3788 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3789 a poll and a watch at the same time get the same messages.
3791 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3793 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3794 * gst/gstcaps.c: (gst_caps_intersect):
3795 Don't call gst_caps_do_simplify - it doesn't respect order of caps
3796 and it's not needed.
3798 2005-11-10 Wim Taymans <wim@fluendo.com>
3800 * docs/design/part-TODO.txt:
3803 2005-11-10 Wim Taymans <wim@fluendo.com>
3805 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3806 * gst/base/gstbasesrc.c: (gst_base_src_wait),
3807 (gst_base_src_do_sync), (gst_base_src_get_range):
3808 Implement clock sync in base class.
3810 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3812 patch by: Tim-Philipp Müller <tim at centricular dot net>
3814 * gst/gststructure.c: (gst_structure_parse_field),
3815 (gst_structure_from_string):
3816 Forward-port a 0.8 patch to handle escaped spaces in structure string,
3817 so that gst_parse_launch() can deal with spaces in filtered link
3818 caps (fixes #164479)
3819 * check/gst/capslist.h:
3820 * check/gst/gststructure.c: (GST_START_TEST):
3821 add unit tests for this change
3823 2005-11-10 Wim Taymans <wim@fluendo.com>
3825 * docs/gst/gstreamer-sections.txt:
3828 Fix docs, move some STATE macros to private.
3830 2005-11-10 Wim Taymans <wim@fluendo.com>
3832 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3833 Added check for bug #317341
3837 Some more spiffifying.
3839 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3840 Call peer linkfunction if we are a source pad. Totally fixes
3844 Update docs, source pads should call the peer linkfunction
3845 so they can atomically perform the pad link.
3847 2005-11-09 Wim Taymans <wim@fluendo.com>
3851 Uber-spiffy-spiffify some more.
3853 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
3855 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3856 * gst/elements/gstfilesink.c: (gst_file_sink_init):
3857 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3858 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3859 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3860 * gst/gstpad.c: (gst_pad_init):
3861 Use GST_DEBUG_FUNCPTR() more extensively.
3863 2005-11-09 Wim Taymans <wim@fluendo.com>
3865 * gst/gstobject.c: (gst_object_class_init):
3867 Documentation fixes.
3869 2005-11-09 Edward Hervey <edward@fluendo.com>
3871 * gst/gsttypefindfactory.c:
3874 2005-11-09 Edward Hervey <edward@fluendo.com>
3876 * gst/base/gsttypefindhelper.c:
3877 * gst/gsttypefind.c:
3878 * gst/gsttypefind.h:
3881 2005-11-09 Wim Taymans <wim@fluendo.com>
3883 * gst/gstiterator.c:
3890 2005-11-09 Wim Taymans <wim@fluendo.com>
3896 2005-11-09 Wim Taymans <wim@fluendo.com>
3898 * docs/gst/gstreamer-sections.txt:
3899 Moved the message async delivery private lock and cond
3900 to the private section.
3906 2005-11-09 Edward Hervey <edward@fluendo.com>
3908 * docs/gst/gstreamer-sections.txt:
3911 Document GstURIHandler
3913 2005-11-09 Wim Taymans <wim@fluendo.com>
3915 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3916 (gst_iterator_find_custom):
3917 * gst/gstiterator.h:
3920 2005-11-09 Wim Taymans <wim@fluendo.com>
3923 Document another field.
3925 * gst/gststructure.c:
3926 * gst/gststructure.h:
3929 2005-11-09 Wim Taymans <wim@fluendo.com>
3934 2005-11-09 Wim Taymans <wim@fluendo.com>
3936 * docs/gst/gstreamer-sections.txt:
3937 Added some new macros.
3944 2005-11-09 Wim Taymans <wim@fluendo.com>
3946 * docs/design/part-TODO.txt:
3947 Some more items for the TODO
3953 2005-11-09 Andy Wingo <wingo@pobox.com>
3955 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3956 to work on something else now tho...
3958 * gst/base/gstadapter.c: More adapter docs.
3960 * gst/elements/gstfilesink.c (gst_file_sink_start)
3961 (gst_file_sink_stop): New functions, replace the state change
3963 (gst_file_sink_class_init): Hook up the start and stop functions.
3964 (gst_file_sink_base_init): Don't set the state change handler any
3965 more. It was a bit ugly too, being set from here...
3966 (gst_file_sink_get_property, gst_file_sink_set_property):
3968 (gst_file_sink_set_location): More robust check that doesn't call
3971 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
3973 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3974 Hold STREAM_LOCK while pushing newsegment or tag events as well.
3976 2005-11-08 Wim Taymans <wim@fluendo.com>
3978 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3979 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3980 (gst_base_sink_chain), (gst_base_sink_change_state):
3981 * gst/base/gstbasesink.h:
3982 * gst/base/gstbasesrc.h:
3985 Avoid excessive typechecking in macros.
3987 * gst/gstminiobject.c: (gst_mini_object_get_type),
3988 (gst_mini_object_init), (gst_mini_object_new),
3989 (gst_mini_object_free):
3990 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3991 (gst_object_finalize):
3992 Remove cruft code, optimize alloc_trace.
3994 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
3996 * docs/faq/gst-uninstalled:
3997 fix up PS1 for systems that try to reset it
3999 2005-11-07 Wim Taymans <wim@fluendo.com>
4001 * gst/base/gstbasesrc.c: (gst_base_src_init),
4002 (gst_base_src_get_range):
4003 Set the segment_end to -1 initially. Fixed typefind.
4005 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
4007 * gst/base/gstadapter.c:
4008 Debug category should be 'adapter', not 'GstAdapter'.
4010 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4011 (gst_collectpads_class_init), (gst_collectpads_init),
4012 (gst_collectpads_peek), (gst_collectpads_pop),
4013 (gst_collectpads_event), (gst_collectpads_chain):
4014 Add debug category and some debugging output. Use boilerplate
4015 macros. Remove some extraneous words from docs.
4017 2005-11-05 Andy Wingo <wingo@pobox.com>
4019 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4022 2005-11-04 Stefan Kost <ensonic@users.sf.net>
4024 * docs/gst/gstreamer-sections.txt:
4027 * gst/gstminiobject.h:
4032 2005-11-04 Wim Taymans <wim@fluendo.com>
4034 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4035 Small update to stop at the configured segment_end
4038 2005-11-04 Stefan Kost <ensonic@users.sf.net>
4040 * gst/gstregistry.c:
4041 * gst/gstregistry.h:
4044 2005-11-04 Edward Hervey <edward@fluendo.com>
4046 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4047 Check if we are doing a segment seek and have arrived at the
4048 end of that segment.
4050 2005-11-04 Wim Taymans <wim@fluendo.com>
4052 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4053 Don't leak a mutex unlock in case of an error.
4058 2005-11-04 Wim Taymans <wim@fluendo.com>
4060 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4062 Get the context to wake up only once.
4064 2005-11-03 Wim Taymans <wim@fluendo.com>
4066 * check/states/sinks.c: (GST_START_TEST):
4067 Uncomment fixed check.
4069 * docs/design/part-TODO.txt:
4072 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4073 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4074 (gst_base_sink_get_position):
4075 If we are going to PLAYING, post the right pending state
4076 when we post the intermediate paused message.
4078 * gst/gstelement.c: (gst_element_continue_state),
4079 (gst_element_set_state_func), (gst_element_change_state):
4080 Don't post state changes that were between the same state
4083 2005-11-03 Stefan Kost <ensonic@users.sf.net>
4085 * docs/gst/gstreamer-sections.txt:
4088 * gst/gstminiobject.h:
4091 more docs and doc style fixes
4093 2005-11-03 Stefan Kost <ensonic@users.sf.net>
4095 * docs/gst/gstreamer-sections.txt:
4097 * gst/gstminiobject.c:
4100 2005-11-03 Andy Wingo <wingo@pobox.com>
4102 * check/states/sinks.c (test_livesrc_sink): Add checks that the
4103 state-changed messages actually have the right order and the right
4106 2005-11-03 Wim Taymans <wim@fluendo.com>
4108 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4109 Added some more checks. Specifically the case where NO_PREROLL
4110 elements are in the pipeline.
4112 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4113 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4114 (gst_base_sink_get_position):
4115 Post READY->PAUSED state change messages too.
4116 Fix bug where VOID was posted as pending state...
4118 * gst/gstbin.c: (gst_bin_recalc_state):
4119 use _element_continue_state() to continue the state change.
4121 * gst/gstelement.c: (gst_element_continue_state),
4122 (gst_element_commit_state), (gst_element_set_state_func),
4123 (gst_element_change_state), (gst_element_change_state_func):
4124 Lots of state change cleanups, assign the STATE_RETURN in
4125 a new continue_state() function that also propagates the
4126 last return value from a state change to the app.
4127 Update some debug statements with proper category.
4129 2005-11-03 Wim Taymans <wim@fluendo.com>
4131 * docs/design/part-events.txt:
4132 * docs/design/part-gstpipeline.txt:
4133 * docs/design/part-messages.txt:
4134 * docs/design/part-overview.txt:
4135 * docs/design/part-seeking.txt:
4136 * docs/design/part-states.txt:
4137 * docs/design/part-trickmodes.txt:
4138 * docs/manual/advanced-position.xml:
4142 People think !! is ugly, this looks better.
4144 * gst/gstpad.c: (gst_pad_set_blocked_async):
4145 Remove !! since it's fixed elsewhere now.
4147 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
4149 * gst/gstminiobject.h:
4151 Add !! to _FLAG_IS_SET macros to make the result boolean.
4153 2005-11-03 Edward Hervey <edward@fluendo.com>
4155 * gst/gstpad.c: (gst_pad_set_blocked_async):
4156 comparing a flag and a gboolean rarely returns coherent results...
4157 Added two characters (!!) to make that work correctly.
4159 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
4161 * gst/gstbus.c: (gst_bus_class_init):
4164 * gst/gstqueue.c: (gst_queue_loop):
4165 Don't assume a miniobject that isn't a buffer is an
4166 event (it could be that there is a refcounting
4167 problem somewhere and the pointer is stale and
4168 refers to an already destroyed miniobject).
4170 2005-11-03 Julien MOUTTE <julien@moutte.net>
4172 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4174 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
4176 * docs/manual/advanced-position.xml:
4177 Update seek example and explanations to current 0.9 API.
4179 * gst/elements/gsttypefindelement.c:
4180 (gst_type_find_element_activate):
4181 Remove FIXME comment now that the found caps
4184 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
4186 * gst/gstregistryxml.c: (load_feature):
4187 Add another GST_STR_NULL instance
4189 2005-11-02 Edward Hervey <edward@fluendo.com>
4191 * gst/gstpad.c: (handle_pad_block):
4192 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4194 2005-11-02 Wim Taymans <wim@fluendo.com>
4199 * gst/gstelement.c: (gst_element_commit_state):
4200 Remove unused value.
4202 * gst/gstiterator.c:
4203 Mention that the returned element is reffed in the docs.
4205 2005-11-02 Wim Taymans <wim@fluendo.com>
4207 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4208 (gst_pad_push), (gst_pad_push_event):
4209 Unlock blocked pads when they are flushed.
4211 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
4214 * docs/gst/gstreamer-sections.txt:
4217 * gst/gstregistry.c: (gst_registry_scan_path_level):
4218 fix for a nasty little missed situation where an installed plug-in
4219 which was in the cache did not get overridden by an uninstalled one
4220 which was earlier in the plugin path because the newly created plugin
4221 for the uninstalled one (not in the registry) didn't get its
4222 ->registered set to TRUE
4224 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
4226 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4227 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4228 (gst_collectpads_is_active), (gst_collectpads_collect),
4229 (gst_collectpads_collect_range), (gst_collectpads_start),
4230 (gst_collectpads_stop), (gst_collectpads_peek),
4231 (gst_collectpads_pop), (gst_collectpads_available),
4232 (gst_collectpads_read), (gst_collectpads_flush):
4233 Guard public API with assertions.
4236 Fix docs for gst_pad_set_link_function().
4238 2005-11-02 Johan Dahlin <johan@gnome.org>
4240 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
4241 Unref found_caps after we used it.
4243 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
4245 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4246 Don't try to ref NULL.
4248 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
4250 * win32/common/config.h.in:
4251 provide a GST_FUNCTION that just gives a string for now
4253 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
4255 * win32/common/gstenumtypes.c: (register_gst_object_flags),
4256 (gst_object_flags_get_type), (register_gst_bin_flags),
4257 (gst_bin_flags_get_type), (register_gst_buffer_flag),
4258 (gst_buffer_flag_get_type), (register_gst_bus_flags),
4259 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4260 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4261 (gst_clock_return_get_type), (register_gst_clock_entry_type),
4262 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4263 (gst_clock_flags_get_type), (register_gst_state),
4264 (gst_state_get_type), (register_gst_state_change_return),
4265 (gst_state_change_return_get_type), (register_gst_state_change),
4266 (gst_state_change_get_type), (register_gst_element_flags),
4267 (gst_element_flags_get_type), (register_gst_core_error),
4268 (gst_core_error_get_type), (register_gst_library_error),
4269 (gst_library_error_get_type), (register_gst_resource_error),
4270 (gst_resource_error_get_type), (register_gst_stream_error),
4271 (gst_stream_error_get_type), (register_gst_event_type),
4272 (gst_event_type_get_type), (register_gst_seek_type),
4273 (gst_seek_type_get_type), (register_gst_seek_flags),
4274 (gst_seek_flags_get_type), (register_gst_format),
4275 (gst_format_get_type), (register_gst_index_certainty),
4276 (gst_index_certainty_get_type), (register_gst_index_entry_type),
4277 (gst_index_entry_type_get_type),
4278 (register_gst_index_lookup_method),
4279 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4280 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4281 (gst_index_resolver_method_get_type), (register_gst_index_flags),
4282 (gst_index_flags_get_type), (register_gst_debug_level),
4283 (gst_debug_level_get_type), (register_gst_debug_color_flags),
4284 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4285 (gst_iterator_result_get_type), (register_gst_iterator_item),
4286 (gst_iterator_item_get_type), (register_gst_message_type),
4287 (gst_message_type_get_type), (register_gst_mini_object_flags),
4288 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4289 (gst_pad_link_return_get_type), (register_gst_flow_return),
4290 (gst_flow_return_get_type), (register_gst_activate_mode),
4291 (gst_activate_mode_get_type), (register_gst_pad_direction),
4292 (gst_pad_direction_get_type), (register_gst_pad_flags),
4293 (gst_pad_flags_get_type), (register_gst_pad_presence),
4294 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4295 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4296 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4297 (gst_plugin_error_get_type), (register_gst_plugin_flags),
4298 (gst_plugin_flags_get_type), (register_gst_rank),
4299 (gst_rank_get_type), (register_gst_query_type),
4300 (gst_query_type_get_type), (register_gst_tag_merge_mode),
4301 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4302 (gst_tag_flag_get_type), (register_gst_task_state),
4303 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4304 (gst_alloc_trace_flags_get_type),
4305 (register_gst_type_find_probability),
4306 (gst_type_find_probability_get_type), (register_gst_uri_type),
4307 (gst_uri_type_get_type), (register_gst_parse_error),
4308 (gst_parse_error_get_type):
4309 * win32/common/gstversion.h:
4312 2005-11-01 Luca Ognibene <luogni@tin.it>
4315 fix docs. popt is dead, long live GOption.
4317 2005-10-31 Wim Taymans <wim@fluendo.com>
4322 2005-10-31 Andy Wingo <wingo@pobox.com>
4326 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4328 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4329 need to serialize property notifications on GLib 2.8. GLib 2.6 has
4330 the possibility of deadlocks here if code calling notify() or
4331 set() has a lock that can be taken in another notify handler (ABBA
4332 with class lock and e.g. python GIL state lock).
4334 2005-10-28 Julien MOUTTE <julien@moutte.net>
4336 * gst/gstbus.c: Doc updates.
4338 2005-10-28 Wim Taymans <wim@fluendo.com>
4340 * docs/design/part-TODO.txt:
4341 * gst/gstiterator.c:
4342 * gst/gstsystemclock.c:
4343 * gst/gstsystemclock.h:
4346 2005-10-28 Edward Hervey <edward@fluendo.com>
4348 * docs/gst/gstreamer-docs.sgml:
4349 * docs/gst/gstreamer-sections.txt:
4350 the GstURIType documentation page is private, it only defines GstURIType
4351 which should be defined in the GstURIHandler page
4353 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
4355 * gst/gstbin.c: (gst_bin_class_init):
4358 Documentation updates.
4360 2005-10-28 Wim Taymans <wim@fluendo.com>
4362 * docs/gst/gstreamer-sections.txt:
4365 Documented the clocks.
4367 2005-10-28 Stefan Kost <ensonic@users.sf.net>
4369 * docs/gst/gstreamer-sections.txt:
4370 move some macros to private sections
4371 * gst/gstminiobject.c:
4372 * gst/gstminiobject.h:
4373 add descriptions provided by ds and some more
4375 mark macro as to be removed
4377 2005-10-28 Wim Taymans <wim@fluendo.com>
4379 * docs/design/part-TODO.txt:
4380 Add an item to TODO.
4382 * gst/gstiterator.c: (gst_iterator_fold),
4383 (gst_iterator_find_custom):
4384 * gst/gstiterator.h:
4387 2005-10-28 Wim Taymans <wim@fluendo.com>
4389 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4390 (gst_base_transform_init):
4393 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4394 An EOS event marks the queue as completely filled.
4396 2005-10-27 Wim Taymans <wim@fluendo.com>
4398 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4399 (gst_base_sink_do_sync), (gst_base_sink_get_position):
4400 Some more debugging.
4402 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4403 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4404 (gst_base_transform_event), (gst_base_transform_getrange),
4405 (gst_base_transform_chain):
4406 * gst/base/gstbasetransform.h:
4408 Protect transform and concurrent buffer alloc with a new lock.
4409 Try not to break ABI/API.
4411 2005-10-27 Wim Taymans <wim@fluendo.com>
4413 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4414 (gst_base_src_init), (gst_base_src_query),
4415 (gst_base_src_default_newsegment),
4416 (gst_base_src_configure_segment), (gst_base_src_do_seek),
4417 (gst_base_src_send_event), (gst_base_src_event_handler),
4418 (gst_base_src_pad_get_range), (gst_base_src_loop),
4419 (gst_base_src_unlock), (gst_base_src_default_negotiate),
4420 (gst_base_src_start), (gst_base_src_deactivate),
4421 (gst_base_src_activate_push), (gst_base_src_change_state):
4422 Move some stuff around and cleanup things.
4424 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
4426 * gst/base/gstbasesrc.c: (gst_base_src_query):
4427 Add missing break statements.
4429 2005-10-27 Wim Taymans <wim@fluendo.com>
4431 * check/gst/gstbin.c: (GST_START_TEST):
4432 An extra refcount is taken in basesrc.
4434 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4435 (gst_base_src_get_range), (gst_base_src_pad_get_range),
4436 (gst_base_src_loop):
4437 Small cleanups, check for flushing after being unlocked from the
4438 LIVE_LOCK. take refcounts correctly (not yet everywhere).
4439 Don't send out EOS when going to READY.
4441 2005-10-27 Wim Taymans <wim@fluendo.com>
4443 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4444 (gst_base_sink_get_position):
4447 * gst/gstbin.c: (message_check), (bin_replace_message),
4448 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4449 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4450 (bin_query_duration_init), (bin_query_duration_fold),
4451 (bin_query_duration_done), (bin_query_generic_fold),
4453 * tools/gst-launch.c: (main):
4456 2005-10-26 Stefan Kost <ensonic@users.sf.net>
4458 * examples/controller/audio-example.c: (main):
4459 * examples/queue/queue.c: (event_loop):
4460 * gst/base/gstbasetransform.h:
4461 * gst/gstelement.c: (gst_element_send_event):
4463 * gst/gstpad.c: (gst_pad_send_event):
4466 changing log priority in error situations
4468 2005-10-25 Wim Taymans <wim@fluendo.com>
4470 * gst/gstbin.c: (message_check), (bin_replace_message),
4471 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4472 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4473 (bin_query_duration_init), (bin_query_duration_fold),
4474 (bin_query_duration_done), (bin_query_generic_fold),
4476 Some doc and debug updates.
4477 Cache previously requested query DURATION for speed. invalidate
4478 cached duration if element posts a DURATION message.
4480 2005-10-25 Wim Taymans <wim@fluendo.com>
4482 * docs/design/part-TODO.txt:
4485 * gst/gstbin.c: (message_check), (bin_replace_message),
4486 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4487 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4488 (bin_query_duration_init), (bin_query_duration_fold),
4489 (bin_query_duration_done), (bin_query_generic_fold),
4491 Handle SEGMENT_START/DONE messages correctly.
4492 More evolved query algorithm that handles duration queries
4495 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4496 (gst_element_get_state_func), (gst_element_abort_state),
4497 (gst_element_commit_state), (gst_element_lost_state):
4498 Some more debugging.
4503 2005-10-25 Wim Taymans <wim@fluendo.com>
4505 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4506 Don't use invalid stream_time.
4508 * gst/gstevent.c: (gst_event_new_newsegment):
4509 stream_time in newsegment cannot be undefined.
4511 2005-10-24 Wim Taymans <wim@fluendo.com>
4516 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4518 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4520 2005-10-24 Stefan Kost <ensonic@users.sf.net>
4522 * docs/libs/tmpl/gstdparam.sgml:
4523 * docs/libs/tmpl/gstdplinint.sgml:
4524 * docs/libs/tmpl/gstdpman.sgml:
4525 * docs/libs/tmpl/gstdpsmooth.sgml:
4526 * docs/libs/tmpl/gstunitconvert.sgml:
4529 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
4534 === release 0.9.4 ===
4536 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
4539 releasing 0.9.4, "Tyrannosaurus Rex"
4541 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
4543 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4544 (gst_file_sink_get_current_offset):
4545 Use fseeko() and ftello() if available. When falling back on
4546 lseek() to get the current offset, fflush() first to make sure
4547 everything is up-to-date and we get the right offset.
4549 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
4551 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4552 * gst/base/gstbasesrc.c: (gst_base_src_loop):
4553 * gst/gsterror.c: (_gst_stream_errors_init):
4555 * gst/gstqueue.c: (gst_queue_loop):
4557 remove prematurely added error category and clean up the instances
4559 2005-10-21 Wim Taymans <wim@fluendo.com>
4561 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4562 (gst_base_sink_get_position), (gst_base_sink_query),
4563 (gst_base_sink_change_state):
4564 Simply set the right flag when going to playing, that's all
4565 we need to do instead of calling a function inside the object
4566 lock (that could take the lock as well and deadlock)
4568 2005-10-21 Wim Taymans <wim@fluendo.com>
4570 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4571 (gst_base_src_loop):
4572 Don't warn, the peer element knows what to do best when
4573 the seek failed, it might try something else.
4575 2005-10-21 Wim Taymans <wim@fluendo.com>
4577 * gst/base/gstbasesrc.c: (gst_base_src_init),
4578 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4581 2005-10-21 Wim Taymans <wim@fluendo.com>
4583 * docs/design/part-segments.txt:
4586 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4587 Correctly set caps, even on the subbufer.
4589 2005-10-21 Wim Taymans <wim@fluendo.com>
4591 * docs/gst/gstreamer-docs.sgml:
4592 * docs/gst/gstreamer-sections.txt:
4599 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4603 And 2% more doc coverage.
4605 2005-10-21 Andy Wingo <wingo@pobox.com>
4607 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4610 2005-10-20 Wim Taymans <wim@fluendo.com>
4612 * gst/gsterror.c: (gst_error_get_message):
4615 * gst/gststructure.c:
4620 2005-10-20 Wim Taymans <wim@fluendo.com>
4625 Another 1% more coverage.
4627 2005-10-20 Wim Taymans <wim@fluendo.com>
4629 * docs/gst/gstreamer-sections.txt:
4630 * gst/gstelement.c: (gst_element_get_state_func),
4631 (gst_element_abort_state), (gst_element_commit_state),
4632 (gst_element_lost_state):
4634 * gst/gstquery.c: (gst_query_set_position),
4635 (gst_query_parse_position), (gst_query_set_duration),
4636 (gst_query_parse_duration), (gst_query_new_convert):
4638 Yay! 1% more docs coverage.
4640 2005-10-20 Wim Taymans <wim@fluendo.com>
4643 * gst/gstquery.c: (gst_query_set_position),
4644 (gst_query_parse_position), (gst_query_set_duration),
4645 (gst_query_parse_duration), (gst_query_new_convert):
4647 * gst/gstutils.c: (gst_element_query_convert):
4649 Docs and consistency fixes.
4651 2005-10-20 Wim Taymans <wim@fluendo.com>
4657 2005-10-20 Wim Taymans <wim@fluendo.com>
4659 * gst/gstbin.c: (message_check), (bin_replace_message),
4660 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4661 (update_degree), (gst_bin_sort_iterator_next),
4662 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4663 Reworked the message handling a bit, cache the messages instead of
4664 only the senders. alows us to do more in the future.
4666 2005-10-20 Wim Taymans <wim@fluendo.com>
4668 * docs/design/part-TODO.txt:
4671 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4672 (gst_base_sink_query):
4673 Don't use clock time to report position when in EOS.
4675 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
4677 * tools/gst-inspect.c: (print_interfaces),
4678 (print_element_properties_info), (print_element_info):
4679 Fix interface output with gst-inspect -a; don't print
4680 newlines after double/float properties.
4682 2005-10-20 Wim Taymans <wim@fluendo.com>
4684 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4685 (gst_base_sink_query):
4686 Speed up current position calculation.
4688 * gst/base/gstbasesrc.c: (gst_base_src_query),
4689 (gst_base_src_default_newsegment):
4690 Correctly set stream position in newsegment.
4692 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4693 (update_degree), (gst_bin_sort_iterator_next),
4694 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4695 * gst/gstmessage.c: (gst_message_new_custom):
4696 Clean up debugging info
4698 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4699 (gst_queue_loop), (gst_queue_handle_src_query):
4702 2005-10-19 Wim Taymans <wim@fluendo.com>
4704 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4705 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4706 Fix query handling again.
4708 2005-10-19 Wim Taymans <wim@fluendo.com>
4710 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4711 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4712 * gst/base/gstbasesrc.c: (gst_base_src_query):
4713 * gst/elements/gstfilesink.c: (gst_file_sink_query):
4714 * gst/elements/gsttypefindelement.c:
4715 (gst_type_find_handle_src_query), (find_element_get_length),
4716 (gst_type_find_element_activate):
4719 * gst/gstquery.c: (gst_query_new_position),
4720 (gst_query_set_position), (gst_query_parse_position),
4721 (gst_query_new_duration), (gst_query_set_duration),
4722 (gst_query_parse_duration), (gst_query_set_segment),
4723 (gst_query_parse_segment):
4725 Bundling query position/duration is not a good idea since duration
4726 does not change much and we don't want to recalculate it for every
4727 position query, so they are separated again..
4728 Base value in segment query is not needed.
4730 * gst/gstqueue.c: (gst_queue_handle_src_query):
4731 * gst/gstutils.c: (gst_element_query_position),
4732 (gst_element_query_duration), (gst_pad_query_position),
4733 (gst_pad_query_duration):
4735 Updates for query API change.
4736 Added some docs here and there.
4738 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
4740 * check/gst/gstbin.c: (GST_START_TEST):
4741 * check/gst/gstghostpad.c: (GST_START_TEST):
4742 * check/pipelines/cleanup.c: (GST_START_TEST):
4743 wait on thread to die so we can check refcount correctly
4745 2005-10-18 Wim Taymans <wim@fluendo.com>
4747 * check/pipelines/stress.c: (GST_START_TEST):
4748 Make check a little more time consuming.
4750 2005-10-18 Wim Taymans <wim@fluendo.com>
4752 * check/Makefile.am:
4753 * check/pipelines/stress.c: (GST_START_TEST),
4754 (simple_launch_lines_suite), (main):
4755 Small state change torture test.
4757 * docs/design/part-states.txt:
4758 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4759 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4760 (gst_base_sink_change_state):
4761 Never take state lock from streaming thread, clean up ugly
4762 hacks. Unfortunatly core does not yet support nice ways to
4765 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4767 Start state recalc if a STATE_DIRTY message is posted, but only
4768 on the toplevel bin.
4770 * gst/gstelement.c: (gst_element_sync_state_with_parent),
4771 (gst_element_get_state_func), (gst_element_abort_state),
4772 (gst_element_commit_state), (gst_element_lost_state),
4773 (gst_element_set_state_func), (gst_element_change_state):
4775 State variables are now protected with the LOCK, the state
4776 lock is only used to serialize _set_state().
4778 2005-10-18 Wim Taymans <wim@fluendo.com>
4780 * check/gst/gstbin.c: (GST_START_TEST):
4781 * check/gst/gstmessage.c: (GST_START_TEST):
4782 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4783 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4785 * gst/gstelement.c: (gst_element_abort_state),
4786 (gst_element_commit_state), (gst_element_lost_state):
4787 * gst/gstmessage.c: (gst_message_new_state_changed),
4788 (gst_message_new_state_dirty), (gst_message_new_segment_start),
4789 (gst_message_new_segment_done), (gst_message_new_duration),
4790 (gst_message_parse_state_changed),
4791 (gst_message_parse_segment_start),
4792 (gst_message_parse_segment_done), (gst_message_parse_duration):
4794 * tools/gst-launch.c: (event_loop):
4795 Seriously, this is better than a previous commit as we only need
4796 to notify the fact that an element changed state in a streaming
4797 thread, marking the state of the parents dirty, hence the
4798 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4801 2005-10-18 Wim Taymans <wim@fluendo.com>
4803 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4804 (gst_bin_recalc_func):
4805 * gst/gstelement.c: (gst_element_set_clock),
4806 (gst_element_abort_state), (gst_element_lost_state):
4807 Cleanups, prepare for state change fixes.
4809 2005-10-18 Wim Taymans <wim@fluendo.com>
4812 * gst/gstelement.c: (gst_element_class_init),
4813 (gst_element_set_state), (gst_element_set_state_func):
4815 Pending ABI changes.
4816 GThreadPool in GstBinClass to monitor async state changes.
4817 state_cookie in GstElement to detect concurrent gst/set state.
4818 set_state is now virtual too in case a very complicated element
4819 has to be constructed.
4821 2005-10-18 Wim Taymans <wim@fluendo.com>
4823 * check/gst/gstbin.c: (GST_START_TEST):
4824 * check/gst/gstmessage.c: (GST_START_TEST):
4825 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4826 * gst/gstbin.c: (bin_bus_handler):
4827 * gst/gstelement.c: (gst_element_commit_state),
4828 (gst_element_lost_state):
4829 * gst/gstmessage.c: (gst_message_new_state_changed),
4830 (gst_message_new_segment_start), (gst_message_new_segment_done),
4831 (gst_message_new_duration), (gst_message_parse_state_changed),
4832 (gst_message_parse_segment_start),
4833 (gst_message_parse_segment_done), (gst_message_parse_duration):
4835 * tools/gst-launch.c: (event_loop):
4836 Make messages future proof.
4837 state-change gets a flag if it was a message comming from the
4839 segment-start/stop can also be specified in other formats.
4840 A message to notify an app that a pipeline changed playback
4842 Also fix a GstMessage leak in -launch
4844 2005-10-18 Andy Wingo <wingo@pobox.com>
4846 * gst/gstelement.c (gst_element_dispose): More helpful message.
4848 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4850 reviewed by: <delete if not using a buddy>
4852 * common/gtk-doc.mak:
4854 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4856 * gst/gstregistry.c: (gst_registry_scan_path_level):
4857 unref a plug-in we get that was already initialized
4859 2005-10-18 Stefan Kost <ensonic@users.sf.net>
4861 * docs/gst/gstreamer-sections.txt:
4862 * docs/libs/gstreamer-libs-sections.txt:
4867 2005-10-17 Andy Wingo <wingo@pobox.com>
4869 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4872 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4874 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4876 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4877 (gst_element_get_state_func): Better debug message.
4878 (gst_element_commit_state): s/INFO/DEBUG/.
4879 (gst_element_lost_state, gst_element_change_state):
4881 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4882 (gst_message_new_custom): s/INFO/LOG/.
4884 2005-10-17 Michael Smith <msmith@fluendo.com>
4886 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4887 Check if end time is valid using end time, not start time.
4889 2005-10-17 Stefan Kost <ensonic@users.sf.net>
4891 * check/gst-libs/controller.c: (GST_START_TEST),
4892 (gst_controller_suite):
4893 * libs/gst/controller/gstcontroller.c:
4894 (gst_controlled_property_set_interpolation_mode):
4895 * libs/gst/controller/gstcontroller.h:
4896 * libs/gst/controller/gstinterpolation.c:
4897 * testsuite/controller/.cvsignore:
4898 * testsuite/controller/Makefile.am:
4899 * testsuite/controller/interpolator.c:
4900 merge controller testsuites
4902 remove mem-chunk from docs
4904 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4906 * gst/gstmemchunk.c:
4907 * gst/gstmemchunk.h:
4908 * gst/gsttrashstack.c:
4909 * gst/gsttrashstack.h:
4910 out. get out. you're fired. to the Attic !
4912 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4914 * gst/gstcaps.c: (gst_caps_intersect):
4915 fix signedness issues in a (hopefully) correct way
4916 * gst/gstelement.c: (gst_element_pads_activate):
4918 * gst/gstobject.c: (gst_object_set_parent):
4921 2005-10-17 Julien MOUTTE <julien@moutte.net>
4923 * gst/gstvalue.h: Fix prototypes.
4925 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4927 * docs/gst/gstreamer-sections.txt:
4928 * gst/gst.c: (gst_version_string):
4930 * gst/gstversion.h.in:
4931 * win32/common/libgstreamer.def:
4932 add gst_version_string ()
4934 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4938 * gst/gst.c: (init_post):
4939 * win32/common/config.h.in:
4941 * gst/gstcaps.c: (gst_caps_intersect):
4942 use gint64, the range could be bigger than a guint
4944 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4947 document potential problem in 2038
4949 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4951 * gst/gstcaps.c: (gst_caps_intersect):
4952 Fix guint j diving under 0
4954 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4957 * win32/common/config.h:
4958 * win32/common/config.h.in:
4959 check for process.h, declares getpid() on Windows
4961 include process.h if we have it
4962 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4963 * gst/gstmemchunk.h:
4964 fix signedness issues
4965 * win32/common/libgstreamer.def:
4968 2005-10-16 Julien MOUTTE <julien@moutte.net>
4970 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4971 fix. Because of unsigned ints, caps intersection was going nuts and
4972 trying to access structures with G_MAXUINT index. That fixes
4973 videotestsrc ! ffmpegcolorspace ! fakesink
4974 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4977 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4980 use the gettext macro
4981 * gst/elements/gstelements.c:
4983 * gst/indexers/gstindexers.c:
4984 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4985 * win32/common/config.h:
4987 * win32/common/config.h.in:
4988 add the template to generate config.h
4989 * win32/common/gstenumtypes.c:
4990 * win32/common/gstversion.h:
4993 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4995 * gst/gst.c: (gst_version):
4996 * gst/gstversion.h.in:
4999 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
5002 Oops, add missing closing bracket.
5004 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5007 use common m4's for argument checking
5009 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
5011 * docs/gst/gstreamer-sections.txt:
5013 Add GST_EVENT_TYPE_NAME() macro.
5015 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5018 * gst/gstpluginfeature.c:
5020 privatize more symbols
5022 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5025 add srcdir, builddir includes to GST_ALL_CFLAGS, since
5026 everything that uses GStreamer API should have the includes
5028 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5030 * docs/gst/gstreamer-sections.txt:
5031 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5033 give each value a _get_type, removes the DATA exports
5035 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5039 remove _gst_registry_auto_load, not used anymore
5040 * gst/gstbin.c: (gst_bin_get_type):
5042 * gst/gstelement.c: (gst_element_get_type):
5044 * gst/gstobject.c: (gst_object_get_type):
5046 * gst/gstpad.c: (gst_pad_get_type):
5048 make _get_type functions similar, fixes data export from library
5050 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5053 correctly make conditionals
5054 * gst/elements/Makefile.am:
5055 * gst/elements/gstelements.c:
5056 fix typo causing fdsrc not to build
5058 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5060 * testsuite/Makefile.am:
5061 * testsuite/bytestream/.cvsignore:
5062 * testsuite/bytestream/Makefile.am:
5063 * testsuite/bytestream/filepadsink.c:
5064 * testsuite/bytestream/gstbstest.c:
5065 * testsuite/bytestream/test1.c:
5066 * testsuite/bytestream/testfile1:
5067 * testsuite/caps/normalisation.c:
5068 * testsuite/caps/random.c: (main):
5069 * testsuite/cleanup/.cvsignore:
5070 * testsuite/cleanup/Makefile.am:
5071 * testsuite/cleanup/cleanup1.c:
5072 * testsuite/cleanup/cleanup2.c:
5073 * testsuite/cleanup/cleanup3.c:
5074 * testsuite/cleanup/cleanup4.c:
5075 * testsuite/cleanup/cleanup5.c:
5076 * testsuite/controller/interpolator.c:
5077 * testsuite/debug/printf_extension.c: (main):
5078 * testsuite/elements/tee.c:
5079 * testsuite/negotiation/.cvsignore:
5080 * testsuite/negotiation/Makefile.am:
5081 * testsuite/negotiation/pad_link.c:
5082 * testsuite/pad/Makefile.am:
5083 * testsuite/pad/chainnopull.c:
5084 * testsuite/pad/getnopush.c:
5085 * testsuite/pad/link.c:
5086 * testsuite/refcounting/sched.c: (create_pipeline):
5087 * testsuite/registry/Makefile.am:
5088 * testsuite/registry/gst-print-formats.c:
5089 * testsuite/schedulers/.cvsignore:
5090 * testsuite/schedulers/142183-2.c:
5091 * testsuite/schedulers/142183.c:
5092 * testsuite/schedulers/143777-2.c:
5093 * testsuite/schedulers/143777.c:
5094 * testsuite/schedulers/147713.c:
5095 * testsuite/schedulers/147819.c:
5096 * testsuite/schedulers/147894-2.c:
5097 * testsuite/schedulers/147894.c:
5098 * testsuite/schedulers/Makefile.am:
5099 * testsuite/schedulers/group_link.c:
5100 * testsuite/schedulers/queue_link.c:
5101 * testsuite/schedulers/relink.c:
5102 * testsuite/schedulers/unlink.c:
5103 * testsuite/schedulers/unref.c:
5104 * testsuite/schedulers/useless_iteration.c:
5105 * testsuite/states/bin.c:
5106 clean out/remove some stuff from the testsuite directories
5108 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5111 check for some headers
5112 * gst/elements/Makefile.am:
5113 * gst/elements/gstelements.c:
5114 don't compile fdsrc without sys/socket.h
5115 * gst/indexers/Makefile.am:
5116 * gst/indexers/gstindexers.c: (plugin_init):
5117 don't compile fileindex without mmap
5119 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
5126 * check/Makefile.am:
5127 * docs/gst/Makefile.am:
5128 * examples/helloworld/Makefile.am:
5130 * gst/base/Makefile.am:
5131 * gst/check/Makefile.am:
5132 * gst/elements/Makefile.am:
5133 * gst/indexers/Makefile.am:
5134 * gst/parse/Makefile.am:
5135 * libs/gst/controller/Makefile.am:
5136 * libs/gst/dataprotocol/Makefile.am:
5137 * examples/helloworld/helloworld.c: (event_loop):
5138 compile fixes, though it's not being compiled currently
5140 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
5142 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5143 Add some simple tests for the new taglist date API.
5145 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
5147 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5148 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5149 Beautify 'last-message' output: print 'none' for buffer timestamps
5150 and durations if none is set; improve alignment with next messages.
5152 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
5154 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5155 * gst/gstpluginfeature.h:
5156 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5157 * gst/gstregistry.h:
5158 * docs/gst/gstreamer-sections.txt:
5159 Add new API to check plugin feature version requirements.
5161 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5162 Some basic tests for the above.
5164 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
5166 * gst/gststructure.c: (gst_structure_to_string):
5167 guard against NULL printf - happens when for example
5168 a message structure with GstClock gets serialized
5170 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
5172 * gst/base/gstcollectpads.c: (gst_collectpads_event):
5173 Fix presumable copy'n'pasto.
5175 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
5177 * gst/elements/gstfakesrc.h:
5178 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5179 * gst/elements/gsttypefindelement.c:
5181 * gst/elements/gstfilesink.c: (gst_file_sink_render):
5182 I wonder if this could actually write +2GB files before
5184 2005-10-13 Andy Wingo <wingo@pobox.com>
5186 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5187 Fix Timmeke Waymans bug.
5188 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5189 string of the proper length to gst_caps_from_string. There's a
5190 potential for, before this fix, that this could cause someone
5191 connecting over the network to cause a segfault if the payload is
5194 2005-10-13 Stefan Kost <ensonic@users.sf.net>
5196 * docs/design/draft-push-pull.txt:
5197 * docs/design/part-overview.txt:
5198 * docs/random/TODO-pre-0.9:
5199 * docs/random/old/ChangeLog.gstreamer:
5200 * gst/base/gstpushsrc.c:
5204 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
5206 * gst/glib-compat.c: (gst_flags_get_first_value):
5207 * gst/glib-compat.h:
5208 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5209 (gst_value_compare_double), (gst_value_serialize_flags):
5210 GLib 2.6 g_flags_get_first_value has a bug that triggers an
5213 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
5215 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5216 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5218 * tools/gst-launch.c: (event_loop):
5219 print out clock nicely
5221 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
5223 * docs/gst/gstreamer-sections.txt:
5225 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5226 (gst_tag_list_get_date_index):
5227 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5228 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5230 2005-10-13 Julien MOUTTE <julien@moutte.net>
5232 * gst/base/gstcollectpads.c: (gst_collectpads_event),
5233 (gst_collectpads_chain):
5234 * gst/base/gstcollectpads.h: Handle newsegment and store informations
5237 2005-10-13 Stefan Kost <ensonic@users.sf.net>
5239 * docs/gst/gstreamer-sections.txt:
5242 * tools/gst-inspect.c: (main):
5243 * tools/gst-launch.c: (main):
5244 * tools/gst-run.c: (main):
5245 * tools/gst-xmlinspect.c: (main):
5246 fix GOption context leaks
5249 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
5253 * win32/common/config.h:
5255 * win32/vs6/grammar.dsp:
5256 * win32/vs6/libgstelements.dsp:
5257 * win32/vs6/libgstreamer.dsp:
5260 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
5262 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5263 * gst/base/gstbasesrc.c: (gst_base_src_query):
5264 fix more guint64<->gdouble conversions
5266 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
5269 add win32-update target
5270 * win32/common/gstconfig.h:
5271 * win32/common/gstenumtypes.c:
5272 * win32/common/gstenumtypes.h:
5273 * win32/common/gstversion.h:
5274 add files that visual studio can't generate
5276 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
5279 add a win32-update target
5282 2005-10-12 Wim Taymans <wim@fluendo.com>
5284 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5285 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5286 * gst/gstelement.c: (gst_element_commit_state),
5287 (gst_element_set_state):
5288 Protect flags with proper lock.
5289 unref provided cached clock in dispose.
5291 2005-10-12 Stefan Kost <ensonic@users.sf.net>
5294 * gst/gstminiobject.h:
5296 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5297 removed unused flags from miniobject
5300 2005-10-12 Wim Taymans <wim@fluendo.com>
5302 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5303 (gst_file_sink_event), (gst_file_sink_render):
5304 Flush before seeking.
5306 2005-10-12 Andy Wingo <wingo@pobox.com>
5308 * gst/gst.c (gst_init_check): Ignore unknown options, as has
5309 always been the case.
5311 2005-10-12 Stefan Kost <ensonic@users.sf.net>
5313 * check/gst/gstbin.c: (GST_START_TEST):
5314 * docs/gst/gstreamer-sections.txt:
5315 * gst/base/gstbasesink.c: (gst_base_sink_init):
5316 * gst/base/gstbasesrc.c: (gst_base_src_init),
5317 (gst_base_src_get_range), (gst_base_src_check_get_range),
5318 (gst_base_src_start), (gst_base_src_stop):
5319 * gst/base/gstbasesrc.h:
5320 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5321 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5322 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5326 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5328 * gst/gstelement.c: (gst_element_is_locked_state),
5329 (gst_element_set_locked_state), (gst_element_commit_state),
5330 (gst_element_set_state):
5332 * gst/gstindex.c: (gst_index_init):
5334 * gst/gstminiobject.h:
5335 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5336 (gst_object_set_parent):
5338 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5339 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5341 * gst/gstpadtemplate.h:
5342 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5343 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5344 * gst/gstpipeline.h:
5345 * gst/indexers/gstfileindex.c: (gst_file_index_load),
5346 (gst_file_index_commit):
5347 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5348 * testsuite/pad/link.c: (gst_test_src_init),
5349 (gst_test_filter_init), (gst_test_sink_init):
5350 * testsuite/states/locked.c: (main):
5351 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5352 moved bitshift from macro to enum definition
5354 2005-10-12 Wim Taymans <wim@fluendo.com>
5356 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5357 * gst/elements/gstfilesink.c: (gst_file_sink_event),
5358 (gst_file_sink_render):
5359 Some more debugging info.
5361 2005-10-12 Wim Taymans <wim@fluendo.com>
5363 * docs/design/part-states.txt:
5364 * tools/gst-launch.c: (main):
5366 Revert non-intentional change.
5368 2005-10-12 Wim Taymans <wim@fluendo.com>
5370 * check/gst/gstbin.c: (GST_START_TEST):
5371 * check/gst/gstelement.c: (GST_START_TEST):
5372 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5373 * check/gst/gstghostpad.c: (GST_START_TEST):
5374 * check/gst/gstpipeline.c: (GST_START_TEST):
5375 * check/pipelines/simple_launch_lines.c: (run_pipeline):
5376 * check/states/sinks.c: (GST_START_TEST):
5377 * gst/elements/gsttypefindelement.c: (stop_typefinding):
5378 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5379 (gst_bin_remove_func), (gst_bin_get_state_func),
5380 (gst_bin_recalc_state), (gst_bin_change_state_func),
5382 * gst/gstelement.c: (gst_element_get_state_func),
5383 (gst_element_get_state), (gst_element_abort_state),
5384 (gst_element_commit_state), (gst_element_set_state),
5385 (gst_element_change_state), (gst_element_change_state_func):
5387 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5388 (gst_pipeline_provide_clock_func):
5389 * gst/gstutils.c: (gst_element_link_pads_filtered):
5390 * tools/gst-launch.c: (main):
5391 * tools/gst-typefind.c: (main):
5392 Use GstClockTime in _get_state() instead of GTimeVal.
5393 Remove old code in gstutils.c
5395 2005-10-12 Andy Wingo <wingo@pobox.com>
5397 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5400 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5401 there is no task. Shouldn't affect any code, as nothing in our
5402 plugins checks this return value.
5403 (gst_pad_stop_task): Also take the stream lock if the pad has no
5406 2005-10-12 Wim Taymans <wim@fluendo.com>
5408 * gst/gstpad.c: (pre_activate), (post_activate),
5409 (gst_pad_activate_pull), (gst_pad_activate_push):
5410 Cleanup activation code. Reset old state if
5413 2005-10-12 Wim Taymans <wim@fluendo.com>
5415 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5416 (gst_base_sink_change_state):
5417 No need to prerol after receiving EOS.
5419 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5420 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5421 * gst/elements/gstidentity.c: (gst_identity_event):
5422 Print events more verbosely.
5424 2005-10-12 Wim Taymans <wim@fluendo.com>
5426 * check/Makefile.am:
5427 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5428 * check/states/sinks2.c:
5429 Moved sinks2 testcode in sinks check.
5431 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5432 (gst_bin_remove_func), (gst_bin_recalc_state),
5433 (gst_bin_change_state_func), (bin_bus_handler):
5434 Fix potential race condition when _get_state() iterated over an
5435 ASYNC element right before it posted a state completion.
5438 Do proper cast here.
5440 * gst/gstevent.c: (gst_event_new_newsegment),
5441 (gst_event_parse_newsegment):
5442 A playback rate of 0.0 is not allowed.
5444 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5446 * win32/common/config.h:
5447 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5448 (_trewinddir), (_ttelldir), (_tseekdir):
5449 * win32/common/dirent.h:
5450 * win32/common/gtchar.h:
5451 * win32/common/libgstbase.def:
5452 * win32/common/libgstreamer.def:
5453 * win32/vs6/grammar.dsp:
5454 * win32/vs6/gst_inspect.dsp:
5455 * win32/vs6/gst_launch.dsp:
5456 * win32/vs6/gstreamer.dsw:
5457 * win32/vs6/libgstbase.dsp:
5458 * win32/vs6/libgstelements.dsp:
5459 * win32/vs6/libgstreamer.dsp:
5460 Visual Studio 6 project files, and a new common directory.
5463 2005-10-11 Wim Taymans <wim@fluendo.com>
5465 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5466 (gst_base_sink_do_sync), (gst_base_sink_query),
5467 (gst_base_sink_change_state):
5468 * gst/base/gstbasesink.h:
5469 Correctly parse newsegment info.
5471 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5473 * gst/gst.c: (init_post):
5474 split plugin paths correctly
5476 2005-10-11 Wim Taymans <wim@fluendo.com>
5478 * check/gst/gstevent.c: (GST_START_TEST):
5479 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5480 (gst_base_sink_change_state):
5481 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5482 * gst/base/gstbasetransform.c: (gst_base_transform_event):
5483 * gst/elements/gstfilesink.c: (gst_file_sink_event):
5484 * gst/gstevent.c: (gst_event_new_newsegment),
5485 (gst_event_parse_newsegment):
5487 Added extra flag to newsegment for future API freeze.
5488 Updated check and base elements.
5490 2005-10-11 Julien MOUTTE <julien@moutte.net>
5492 * gst/base/gstcollectpads.c: (gst_collectpads_init),
5493 (gst_collectpads_add_pad), (gst_collectpads_pop),
5494 (gst_collectpads_event), (gst_collectpads_chain):
5495 * gst/base/gstcollectpads.h: Handle EOS correctly.
5497 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5499 * tools/gst-launch.c: (main):
5500 more null protecting
5502 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5504 * gst/gst-i18n-lib.h:
5505 check for ENABLE_NLS, not GETTEXT_PACKAGE
5506 * gst/gstregistry.c: (gst_registry_add_plugin),
5507 (gst_registry_scan_path_level),
5508 (_gst_registry_remove_cache_plugins):
5509 protect possibly NULL strings
5510 * gst/parse/types.h:
5511 config.h already included before
5512 * tools/gst-inspect.c: (main):
5513 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5514 check for ENABLE_NLS, not GETTEXT_PACKAGE
5515 * tools/gst-launch.c: (main):
5516 check for ENABLE_NLS, not GETTEXT_PACKAGE
5518 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5521 if we don't have glib, fail before testing 2.8
5522 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5523 fix a leak, should fix plugins-base testsuite
5525 2005-10-11 Andy Wingo <wingo@pobox.com>
5527 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5528 take the mode we're going to as an arg. Go head and set the mode
5529 and flushing flags now, so that if the activate function starts a
5530 thread all the flags will be in the right state.
5531 (post_activate): Renamed also. Just handle making sure streaming
5532 finishes for the deactivation case, and setting the deactivated
5534 (gst_pad_set_active): Complain loudly if deactivation fails.
5535 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5536 (gst_pad_activate_push): Adapt to pre/post_activate changes,
5537 remove the terrible hack.
5539 2005-10-11 Wim Taymans <wim@fluendo.com>
5541 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5542 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5543 (gst_bin_recalc_state), (gst_bin_change_state_func),
5544 (gst_bin_dispose), (bin_bus_handler):
5546 Prepare to make current EOS message queue more generic.
5549 * gst/gstevent.c: (gst_event_new_newsegment),
5550 (gst_event_parse_newsegment):
5552 Rename base to stream_time.
5557 2005-10-11 Wim Taymans <wim@fluendo.com>
5559 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5560 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5561 (gst_bin_change_state_func), (bin_bus_handler):
5563 Work on proper clock selection.
5565 2005-10-11 Edward Hervey <edward@fluendo.com>
5567 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
5568 * libs/gst/controller/gstcontroller.h:
5569 Added GList* version of _remove_properties() in order to be able to wrap
5572 2005-10-11 Wim Taymans <wim@fluendo.com>
5574 * docs/design/part-states.txt:
5577 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5578 (gst_bin_change_state_func), (bin_bus_handler):
5579 Doc updates. Don't distribute the same clock over and over again.
5585 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5586 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5587 (gst_pad_send_event):
5589 Make probe emission threadsafe again.
5590 Register quarks and move _get_name() from utils.
5593 * gst/gstpipeline.c: (gst_pipeline_class_init),
5594 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5595 Only redistribute the clock of it changed.
5597 * gst/gstsystemclock.h:
5602 Moved the _flow_get_name() to GstPad.
5604 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5606 * check/gst-libs/gdp.c: (GST_START_TEST):
5607 * check/gst/gstcaps.c: (GST_START_TEST):
5608 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5609 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5610 (gst_dp_packet_from_caps):
5611 fix more valgrind warnings before turning up the heat
5613 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5615 * gst/parse/grammar.y:
5616 some cleanup before the hacking
5618 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5620 * gst/base/gstbasesrc.c: (gst_base_src_query):
5622 * gst/gstutils.c: (gst_guint64_to_gdouble),
5623 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5625 externalize, basesrc uses it
5626 obviously the implementation needs testing
5628 2005-10-10 Wim Taymans <wim@fluendo.com>
5630 * tests/sched/Makefile.am:
5631 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5632 (make_pipeline3), (make_pipeline4), (print_elem), (main):
5634 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5636 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5637 apparently converting from guint64 to double is not implemented
5640 2005-10-10 Wim Taymans <wim@fluendo.com>
5642 * check/Makefile.am:
5643 * check/generic/states.c: (GST_START_TEST):
5644 * check/gst/gstbin.c: (GST_START_TEST):
5645 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5646 * check/states/sinks.c: (GST_START_TEST):
5647 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5649 Check fixes, use API as stated in design docs, remove hacks.
5651 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5652 (gst_base_sink_change_state):
5653 Catch stopping our task while we're shutting down.
5655 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5656 (gst_bin_remove_func), (gst_bin_get_state_func),
5657 (gst_bin_recalc_state), (gst_bin_change_state_func),
5660 * gst/gstelement.c: (gst_element_init),
5661 (gst_element_get_state_func), (gst_element_abort_state),
5662 (gst_element_commit_state), (gst_element_lost_state),
5663 (gst_element_set_state), (gst_element_change_state),
5664 (gst_element_change_state_func):
5666 New state change algorithm (see #318116)
5668 * gst/gstpipeline.c: (gst_pipeline_class_init),
5669 (gst_pipeline_init), (gst_pipeline_set_property),
5670 (gst_pipeline_get_property), (do_pipeline_seek),
5671 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5672 * gst/gstpipeline.h:
5673 Remove crude state change hacks.
5678 * tools/gst-launch.c: (main):
5679 Fixes for state change. Needs some more work to fully use the
5682 2005-10-10 Andy Wingo <wingo@pobox.com>
5684 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5686 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5687 this flag, but it's not even in GLib 2.6. Odd. Hack around the
5690 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5692 * gst/gstiterator.c: (gst_iterator_new):
5693 Fix my previous commit: GTypes passed to gst_iterator_new()
5694 can be fundamental types.
5696 2005-10-10 Wim Taymans <wim@fluendo.com>
5698 * gst/gstelement.c: (gst_element_iterate_pad_list),
5699 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5700 (gst_element_iterate_sink_pads):
5701 Use src/sink pads lists for the respective iterators instead
5704 2005-10-10 Andy Wingo <wingo@pobox.com>
5706 Merged in popt removal + GOption addition patch from Ronald, bug
5709 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5710 GstElement macros around, remove popt-related symbols, add goption
5713 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5715 * docs/gst/Makefile.am:
5716 * docs/libs/Makefile.am: No POPT_CFLAGS.
5718 * examples/manual/Makefile.am:
5719 * docs/manual/basics-init.xml: Doc updates with an example.
5721 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5722 (gst_init), (parse_one_option), (parse_goption_arg):
5723 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5724 bit of hand merging and debugging to get the GOption stuff working
5727 * tests/Makefile.am:
5728 * tools/Makefile.am:
5729 * tools/gst-inspect.c: (main):
5730 * tools/gst-launch.c: (main):
5731 * tools/gst-run.c: (main):
5732 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5734 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5736 * gst/gstiterator.c: (gst_iterator_new):
5737 Add assertions to make sure passed GType is likely to really
5738 be a GType (as the compiler won't catch it if the size and
5739 GType arguments get mixed up, see #318447).
5741 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
5743 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5745 * gst/gstbin.c: (gst_bin_iterate_sorted):
5746 Pass GType and size arguments to gst_iterator_new() in the right
5747 order (maybe we should make _new() take the GType as first argument
5748 just like _new_list()?) (#318447).
5751 2005-10-10 Wim Taymans <wim@fluendo.com>
5753 * gst/gstelement.c: (gst_element_finalize):
5754 And free the GStaticRecMutex too
5756 2005-10-10 Andy Wingo <wingo@pobox.com>
5758 * gst/gstelement.c (gst_element_init, gst_element_finalize):
5759 Allocate and free the mutex properly.
5761 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5763 (GstElement): The state_lock is now recursive. Rebuild your
5764 plugins, suckers. Old macros adapted.
5766 * docs/gst/gstreamer-sections.txt: Doc updates.
5769 * gst/gstutils.c (g_static_rec_cond_timed_wait)
5770 (g_static_rec_cond_wait): Ported from state changes patch, while
5771 we wait on bug #317802 to be solved in a well-distributed GLib.
5773 * gst/gstelement.c (gst_element_change_state_func): Renamed from
5774 gst_element_change_state, variable name changes.
5775 (gst_element_change_state): Split out of gst_element_set_state in
5776 preparation for the state change merge. Doesn't pay attention to
5777 the 'transition' argument.
5778 (gst_element_set_state): Updates, hopefully purely cosmetic.
5779 (gst_element_sync_state_with_parent): MT-safety. Ported from the
5781 (gst_element_get_state_func): Renamed from get_state, cosmetic
5784 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5786 * gst/elements/gstelements.c:
5787 * win32/GStreamer.vcproj:
5789 * win32/dirent.c: (_tseekdir):
5790 * win32/gst-inspect.vcproj:
5791 * win32/gst-launch.vcproj:
5792 * win32/gstconfig.h:
5793 * win32/gstelements.vcproj:
5794 * win32/gstenumtypes.c: (gst_object_flags_get_type):
5795 * win32/gstreamer.def:
5797 updates for the win32 build (patch from Sebastien Moutte)
5799 2005-10-10 Andy Wingo <wingo@pobox.com>
5801 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5802 gst_bin_get_state, cleaned up (but no logic changes).
5803 (bin_element_is_sink): Comment updates.
5804 (sink_iterator_filter): Remove needless cast.
5805 (gst_bin_iterate_sinks): Doc update.
5806 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5807 cleaned up (but no logic changes).
5809 * check/states/sinks.c (test_src_sink): Cleanups from the state
5811 (test_livesrc_sink): Sync on the state.
5813 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5814 the state change patch.
5816 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5819 * check/gst/gstbin.c: Merge in some style fixes and additional
5820 checks from Wim's state change patch.
5822 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5824 * gst/base/gsttypefindhelper.c: (helper_find_peek),
5825 (gst_type_find_helper):
5826 Check whether we have the requested data already in our list of
5827 cached buffers before pulling a new buffer; also make the buffer
5828 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5830 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5835 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5836 don't use long long, it's not portable. Replacing with
5837 gint64 seems to work; let's hope no skeletons fall out of the closet.
5839 2005-10-10 Andy Wingo <wingo@pobox.com>
5841 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5843 2005-10-09 Stefan Kost <ensonic@users.sf.net>
5845 * docs/gst/gstreamer-sections.txt:
5850 * gst/gstmessage.c: (gst_message_parse_state_changed):
5853 more docs, fix compilation
5855 2005-10-09 Philippe Khalaf <burger@speedy.org>
5857 Fixed a few forgotten variables on previous commit
5859 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
5861 * gst/base/gsttypefindhelper.c: (helper_find_peek):
5862 Fix evil typefind crasher: getrange() might return a short
5863 buffer at the end of a file, but gst_type_find_peek() must
5864 either return the full data as requested or NULL, but
5865 never a short buffer.
5867 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
5869 * gst/gstmessage.c: (gst_message_new_state_changed),
5870 (gst_message_parse_state_changed):
5872 don't use "new", it's a C++ keyword
5874 2005-10-08 Wim Taymans <wim@fluendo.com>
5876 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5877 * gst/gstelement.c: (gst_element_post_message):
5878 * gst/gstpipeline.c: (gst_pipeline_change_state):
5879 Small docs and debug updates.
5881 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5883 * docs/gst/gstreamer-sections.txt:
5884 * gst/gstelementfactory.c:
5889 2005-10-08 Wim Taymans <wim@fluendo.com>
5891 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5892 (gst_bin_dispose), (bin_bus_handler):
5893 Fix typos, add comments.
5894 Clear EOS list when going to PAUSED from any direction and do it
5895 in a threadsafe way.
5896 Get base time in a threadsafe way too.
5897 Fix confusing debug in the change_state function.
5898 Various other small cleanups.
5900 * gst/gstelement.c: (gst_element_post_message):
5901 Fix very verbose bus posting code.
5903 * gst/gstpipeline.c: (gst_pipeline_class_init),
5904 (gst_pipeline_set_property), (gst_pipeline_get_property),
5905 (gst_pipeline_change_state):
5906 Small ARG_ -> PROP_ cleanup
5908 2005-10-08 Wim Taymans <wim@fluendo.com>
5910 * gst/gstbin.c: (is_eos), (bin_bus_handler):
5911 Do a less CPU demanding EOS check because we can.
5913 2005-10-08 Wim Taymans <wim@fluendo.com>
5915 * libs/gst/dataprotocol/dataprotocol.c:
5916 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5917 (gst_dp_packet_from_event):
5918 * libs/gst/dataprotocol/dataprotocol.h:
5919 * libs/gst/dataprotocol/dp-private.h:
5920 It's about time we bump the version number.
5921 Since event types don't fit in the guint8 anymore describing
5922 the payload type, make payload type 16 bits wide.
5924 2005-10-08 Wim Taymans <wim@fluendo.com>
5926 * docs/design/part-TODO.txt:
5927 * docs/design/part-clocks.txt:
5928 * docs/design/part-events.txt:
5929 * docs/design/part-gstbin.txt:
5930 * docs/design/part-gstelement.txt:
5931 * docs/design/part-gstpipeline.txt:
5932 * docs/design/part-live-source.txt:
5933 * docs/design/part-messages.txt:
5934 * docs/design/part-overview.txt:
5935 * docs/design/part-states.txt:
5938 2005-10-08 Wim Taymans <wim@fluendo.com>
5942 Fix event quark registration.
5943 Add some space between events so we can insert them in the
5946 2005-10-08 Wim Taymans <wim@fluendo.com>
5948 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5949 (gst_base_sink_handle_buffer):
5956 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5957 (gst_queue_set_property), (gst_queue_get_property):
5959 Remove old unused properties.
5961 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5962 * docs/gst/gstreamer-sections.txt:
5965 * gst/gstminiobject.c:
5966 * gst/gstminiobject.h:
5970 lots of new docs and doc fixes
5972 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5974 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5976 * gst/gstregistry.c: (gst_registry_lookup_locked),
5977 (gst_registry_scan_path_level):
5978 * gst/gstregistryxml.c: (load_plugin):
5979 Only ever load one plugin for a given plugin basename.
5980 This ensures correct overriding of GST_PLUGIN_PATH over
5981 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5982 system installed plugins.
5984 2005-10-08 Wim Taymans <wim@fluendo.com>
5986 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5987 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5988 Prepare for doing QOS.
5990 2005-10-08 Wim Taymans <wim@fluendo.com>
5992 * check/gst/gstbin.c: (GST_START_TEST):
5993 * check/pipelines/cleanup.c: (GST_START_TEST):
5994 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5995 Allow new clock message too.
5997 2005-10-08 Wim Taymans <wim@fluendo.com>
5999 * gst/gstmessage.c: (gst_message_new_error),
6000 (gst_message_new_warning), (gst_message_new_tag),
6001 (gst_message_new_state_changed), (gst_message_new_clock_provide),
6002 (gst_message_new_clock_lost), (gst_message_new_new_clock),
6003 (gst_message_new_segment_start), (gst_message_new_segment_done),
6004 (gst_message_parse_state_changed),
6005 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6006 (gst_message_parse_new_clock):
6008 Also carry the clock in question.
6010 2005-10-08 Wim Taymans <wim@fluendo.com>
6012 * gst/gstmessage.c: (gst_message_new_custom),
6013 (gst_message_new_eos), (gst_message_new_error),
6014 (gst_message_new_warning), (gst_message_new_tag),
6015 (gst_message_new_state_changed), (gst_message_new_clock_provide),
6016 (gst_message_new_new_clock), (gst_message_new_segment_start),
6017 (gst_message_new_segment_done), (gst_message_parse_state_changed),
6018 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6021 Added clock related messages.
6023 * gst/gstpipeline.c: (gst_pipeline_change_state):
6024 Post message when the clock changed.
6026 * tools/gst-launch.c: (event_loop):
6029 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
6031 * tools/gst-inspect.c: (print_element_properties_info):
6032 Can't pass NULL strings to g_print() on windows.
6034 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
6037 * docs/gst/Makefile.am:
6038 * docs/gst/gstreamer-docs.sgml:
6039 * docs/gst/running.xml:
6040 * docs/version.entities.in:
6041 add a chapter on running GStreamer.
6042 document GST_DEBUG and GST_PLUGIN* env vars
6044 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
6049 remove PLUGINS_BUILDDIR stuff
6050 * gst/gst.c: (init_post):
6051 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6053 remove, it was condescending and not needed
6055 2005-10-08 Wim Taymans <wim@fluendo.com>
6057 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6058 (gst_base_sink_handle_object), (gst_base_sink_event),
6059 (gst_base_sink_wait), (gst_base_sink_handle_event),
6060 (gst_base_sink_change_state):
6061 * gst/base/gstbasesink.h:
6062 Repost EOS message while going to PLAYING if still EOS.
6063 Make sure that when receiving a FLUSH_START we don't attempt
6064 to sync on the clock anymore.
6066 2005-10-08 Wim Taymans <wim@fluendo.com>
6068 * tools/gst-launch.c: (event_loop):
6069 Better message printout.
6071 2005-10-08 Wim Taymans <wim@fluendo.com>
6073 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6074 (gst_bin_child_proxy_get_children_count):
6075 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6076 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6077 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6078 (gst_child_proxy_set_valist):
6079 * gst/parse/grammar.y:
6080 Make ChildProxy threadsafe and fix mem leaks.
6082 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
6084 * gst/gst.c: (init_post):
6085 debug the GST_PLUGIN_ env vars
6087 2005-10-08 Wim Taymans <wim@fluendo.com>
6089 * check/gst/gstbin.c: (GST_START_TEST):
6090 * check/gst/gstmessage.c: (GST_START_TEST):
6091 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6092 * gst/gstelement.c: (gst_element_commit_state),
6093 (gst_element_lost_state):
6094 * gst/gstmessage.c: (gst_message_new_state_changed),
6095 (gst_message_parse_state_changed):
6097 * tools/gst-launch.c: (event_loop):
6098 Added extra field to STATE_CHANGE message with the pending
6099 state, which will be different from the new state soon.
6101 2005-10-08 Wim Taymans <wim@fluendo.com>
6103 * gst/gstbus.c: (gst_bus_pop):
6105 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6106 Small cleanups and doc updates.
6108 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
6110 * gst/gst.c: (init_pre):
6111 * gst/gstbin.c: (gst_bin_add_func):
6112 log distributing clocks and base time
6113 * gst/gstregistry.c: (gst_registry_add_plugin),
6114 (gst_registry_scan_path_level), (gst_registry_scan_path):
6115 clean up the debugging output a little
6116 * gst/gstutils.c: (gst_element_state_get_name):
6117 warn about a memleak (I've actually seen this be used, though
6118 it was probably a bug)
6120 2005-10-07 Wim Taymans <wim@fluendo.com>
6122 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6123 (gst_base_src_init), (gst_base_src_default_newsegment),
6124 (gst_base_src_newsegment), (gst_base_src_do_seek),
6125 (gst_base_src_loop), (gst_base_src_start):
6126 * gst/base/gstbasesrc.h:
6127 Make the newsegment event customizable by subclasses.
6129 2005-10-07 Wim Taymans <wim@fluendo.com>
6131 * gst/gstevent.c: (gst_event_new_buffersize),
6132 (gst_event_parse_buffersize):
6134 New event for future idea.
6136 2005-10-07 Andy Wingo <wingo@pobox.com>
6138 * gst/gstelement.c (gst_element_post_message): Doc update.
6140 * docs/gst/gstreamer-sections.txt: Update.
6142 * gst/gstmessage.c (gst_message_new_application): Made into a
6143 function like honest API calls.
6144 (gst_message_new_element): New message type.
6146 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6148 * check/elements/fakesrc.c (test_no_preroll): New check, checks
6149 that setting a live fakesrc to PAUSED returns NO_PREROLL both
6152 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6153 NO_PREROLL from gst_element_change_state to fall through.
6155 2005-10-07 Wim Taymans <wim@fluendo.com>
6157 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6158 (gst_ghost_pad_do_activate_push):
6159 Activating a ghostpad with no internal pad in push mode
6162 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
6165 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6166 Fixes compilation on Windows.
6168 2005-10-07 Michael Smith <msmith@fluendo.com>
6170 * tools/gst-inspect.c:
6171 Print out feature and plugin count at the end when printing out
6174 2005-10-04 Michael Smith <msmith@fluendo.com>
6176 * gst/gsterror.c: (_gst_stream_errors_init):
6177 Add another error string used in a few existing plugins.
6180 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6181 * tools/gst-inspect.c: (print_element_info):
6182 When a feature disappears from a plugin (and the feature exists in
6183 the cached registry file), things went horribly wrong. This isn't a
6184 complete fix, we should actually be removing the 'missing' features
6185 from the features list when we load the actual plugin. That's not
6188 2005-10-04 Johan Dahlin <johan@gnome.org>
6190 * check/gst/gstiterator.c: (GST_START_TEST):
6191 * gst/gstbin.c: (gst_bin_iterate_elements),
6192 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6193 * gst/gstelement.c: (gst_element_iterate_pads):
6194 * gst/gstformat.c: (gst_format_iterate_definitions):
6195 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6196 (gst_iterator_new_list), (gst_iterator_filter):
6197 * gst/gstiterator.h:
6198 * gst/gstquery.c: (gst_query_type_iterate_definitions):
6199 Add a GType to GstIterator, update callsites and tests.
6201 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
6203 * gst/gstpad.c: (gst_pad_event_default_dispatch):
6204 give events a chance to be handled by event probes when the pad
6207 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
6209 * gst/gstevent.c: (gst_event_type_get_name),
6210 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6212 add string representations for event types
6214 2005-10-06 Wim Taymans <wim@fluendo.com>
6216 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6217 Don't use NULL pointers.
6219 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
6221 * gst/gst_private.h:
6225 * gst/gstpluginfeature.c:
6226 widen the debug category in output to fit the biggest one we have
6227 add a bus category and use it
6228 play with the colors
6229 fix up some categories
6231 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
6233 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6234 add push activation of sink ghost pads.
6235 Andye, please verify
6237 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
6239 * gst/gstutils.c: (gst_element_link_pads):
6240 fix a bug in the case where neither element has a pad
6241 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6242 add a test for that case
6244 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
6246 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6247 emit have-data before checking for peers. This allows
6248 for probe handlers to connect elements. This helps autopluggers.
6249 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6251 add six checks, linked/unlinked with no/true/false probe
6253 2005-10-04 Wim Taymans <wim@fluendo.com>
6255 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6256 (gst_fake_sink_event), (gst_fake_sink_preroll),
6257 (gst_fake_sink_render), (gst_fake_sink_change_state):
6258 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6259 (gst_fake_src_get_property), (gst_fake_src_create),
6260 (gst_fake_src_stop):
6261 * gst/elements/gstidentity.c: (gst_identity_stop):
6262 Protect last_message with lock.
6264 2005-10-04 Edward Hervey <edward@fluendo.com>
6267 Added precision in the comments for GST_FORMAT_DEFAULT
6269 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
6271 * tools/gst-launch.c: (main):
6272 Don't try to run erroneous pipelines.
6274 2005-10-04 Julien MOUTTE <julien@moutte.net>
6276 * gst/gstbus.c: We don't need this header.
6278 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
6283 === release 0.9.3 ===
6285 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
6289 Releasing 0.9.3, "Unregistered"
6291 2005-10-03 Andy Wingo <wingo@pobox.com>
6293 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6294 whereby calling a pad's activatepush() function can start a thread
6295 that starts to push or pull before the pad gets the FLUSHING flag
6296 unset. Hack around it by holding the stream lock until the flag is
6297 set. Need to replace this with a proper solution. Together with
6298 the ghost pad fixes, this fixes mp3 playing/tagreading.
6300 * docs/design/part-gstghostpad.txt: Add a note about activation of
6301 proxy pads outside of ghost pads.
6303 * gst/gstghostpad.c: Implement the ghost pad activation design.
6305 2005-10-02 Andy Wingo <wingo@pobox.com>
6307 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6308 It is volatile, after all.
6310 * docs/design/part-gstghostpad.txt: Flesh out activation with
6313 * gst/base/gstbasesrc.c (gst_base_src_init): Use
6316 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
6319 Fix (unused) AM_CONDITIONAL tests.
6321 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
6323 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6325 * gst/gstutils.c: (gst_pad_query_convert):
6326 Add assertion that makes sure src_val is >=0, just like
6327 gst_query_new_convert() has. (#315895)
6329 2005-09-30 Edward Hervey <edward@fluendo.com>
6331 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6332 Let's not iterate pads we're not interested in, it avoids getting
6333 sky-high refcounts on sinkpad.
6335 2005-09-30 Wim Taymans <wim@fluendo.com>
6337 * gst/gstelement.c: (gst_element_set_state),
6338 (gst_element_change_state):
6339 Small tweak, element in ASYNC remains ASYNC.
6341 2005-09-30 Wim Taymans <wim@fluendo.com>
6343 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6344 Only error is an error.
6346 * gst/gstbin.c: (gst_bin_change_state):
6349 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6350 Also call pad_block in pad alloc.
6352 * gst/gstutils.c: (gst_flow_get_name):
6355 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6357 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6358 (gst_base_src_get_range):
6359 Fix documentation typos. Add some more debug info.
6361 2005-09-29 David Schleef <ds@schleef.org>
6363 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6364 more end-user friendly.
6365 * tools/gst-inspect.c: (main): Check if command-line argument is
6366 a file and attempt to load that file as a plugin.
6368 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6370 * check/gst/gstbin.c:
6371 * check/states/sinks.c:
6372 fix tests for the new warning
6373 * check/gst/gstpipeline.c:
6374 add a test for pipeline and bus interaction
6376 elements should be NULL if they get disposed; add a warning if not
6378 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6381 for 2.6 refcounting, make debug log more correct by printing
6382 the actual refcounts at the time of swap (Wim)
6384 2005-09-29 Andy Wingo <wingo@pobox.com>
6386 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6387 removes signal watches previously added via
6388 gst_bus_add_signal_watch.
6389 (gst_bus_add_signal_watch): Don't return the source id, just store
6390 it on the bus if there wasn't an id already.
6392 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6393 add_signal_watch and remove_signal_watch.
6395 2005-09-29 Edward Hervey <edward@fluendo.com>
6397 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6398 Better if we actually iterate the list :)
6400 2005-09-29 Wim Taymans <wim@fluendo.com>
6402 * check/gst/gstbin.c: (GST_START_TEST):
6403 Change for new bus API.
6405 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6406 (send_messages), (GST_START_TEST), (gstbus_suite):
6407 Change for new bus signal API.
6409 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6410 (gst_bus_source_prepare), (gst_bus_source_check),
6411 (gst_bus_create_watch), (gst_bus_add_watch_full),
6412 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6413 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6415 Remove support for multiple GSources operating on different
6416 message types as it is too complex and unneeded when using
6418 Added support for receiving signals from the bus.
6420 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6422 * docs/libs/tmpl/gstdataprotocol.sgml:
6423 * docs/manual/advanced-dataaccess.xml:
6424 * gst/elements/gstcapsfilter.c:
6426 rename filter-caps to caps property
6428 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6430 * gst/gstvalue.c: (gst_value_deserialize_fraction):
6431 More robust fraction string parsing.
6433 * docs/pwg/appendix-porting.xml:
6434 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6436 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6438 * gst/gstcaps.c: (gst_caps_do_simplify):
6439 Thou shalt not free a structure and then continue using it
6440 in the next loop iteration.
6442 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6444 Add test case for caps simplification.
6446 2005-09-29 Wim Taymans <wim@fluendo.com>
6448 * check/gst/gstbin.c: (GST_START_TEST):
6451 2005-09-29 Wim Taymans <wim@fluendo.com>
6453 * check/gst/gstbin.c: (GST_START_TEST):
6456 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6457 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6458 (find_element), (gst_bin_sort_iterator_next),
6459 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6460 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6461 (gst_bin_change_state), (gst_bin_dispose):
6462 A bin does not have a bus, it gets the bus from the parent.
6464 * gst/gstelement.c: (gst_element_requires_clock),
6465 (gst_element_provides_clock), (gst_element_is_indexable),
6466 (gst_element_is_locked_state), (gst_element_change_state),
6467 (gst_element_set_bus_func):
6470 * gst/gstpipeline.c: (gst_pipeline_class_init),
6471 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6472 The pipeline provides a bus.
6474 2005-09-28 Johan Dahlin <johan@gnome.org>
6476 * gst/gstmessage.c (gst_message_parse_state_changed): Use
6477 gst_structure_get_enum instead of gst_structure_get_int
6479 * gst/gststructure.c (gst_structure_get_enum): Impl.
6481 * gst/gststructure.h (gst_structure_get_enum): Add
6483 * docs/gst/gstreamer-sections.txt: Ditto
6485 * gst/gstmessage.c (gst_message_new_state_changed): Use
6486 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6487 which does introspection.
6488 Reviewed by Christian Schaller
6490 2005-09-28 Stefan Kost <ensonic@users.sf.net>
6492 * gst/gstinfo.c: (gst_debug_log_default):
6493 don't do dummy g_strdup()s
6494 * libs/gst/controller/gstcontroller.c:
6495 (on_object_controlled_property_changed),
6496 (gst_controlled_property_new), (gst_controller_new_valist),
6497 (gst_controller_new_list),
6498 (gst_controller_remove_properties_valist), (gst_controller_set),
6499 (gst_controller_get), (gst_controller_sync_values),
6500 (gst_controller_get_value_array), (_gst_controller_class_init),
6501 (gst_controller_get_type):
6502 * libs/gst/controller/gstcontroller.h:
6503 * libs/gst/controller/gstinterpolation.c:
6504 (gst_controlled_property_find_timed_value_node):
6505 convert // to /**/ comments
6507 2005-09-28 Wim Taymans <wim@fluendo.com>
6509 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6510 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6511 (gst_bus_sync_signal_handler):
6513 Added async-message and sync-message signals to the bus.
6514 Added helper BusFunc to emit signals for all posted messages.
6516 * gst/gstmessage.c: (gst_message_type_get_name),
6517 (gst_message_type_to_quark), (gst_message_get_type):
6519 Register quarks for message names.
6521 2005-09-28 Stefan Kost <ensonic@users.sf.net>
6523 * docs/libs/gstreamer-libs-sections.txt:
6524 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6525 (gst_controller_new_list):
6526 * libs/gst/controller/gstcontroller.h:
6527 added another constructor for language bindings
6529 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
6531 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6535 * gst/gstinfo.c: (_gst_debug_init):
6536 slightly more readable color for refcount debugging
6538 2005-09-28 Wim Taymans <wim@fluendo.com>
6540 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6541 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6542 (find_element), (gst_bin_sort_iterator_next),
6543 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6544 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6545 (gst_bin_change_state), (gst_bin_dispose):
6546 Small doc fixes. get_clock -> provide_clock.
6548 * gst/gstelement.c: (gst_element_class_init),
6549 (gst_element_provides_clock), (gst_element_provide_clock),
6550 (gst_element_get_clock), (gst_element_commit_state),
6551 (gst_element_lost_state):
6553 Make get/set_clock() symetric. Add provide_clock vmethod since
6554 that is actually what this function does.
6556 * gst/gstpipeline.c: (gst_pipeline_class_init),
6557 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6558 (gst_pipeline_get_clock):
6559 get_clock -> provide_clock.
6561 2005-09-28 Andy Wingo <wingo@pobox.com>
6563 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6564 lieu of real docs...
6566 * gst/elements/gstfdsrc.c: Cleaned up a bit.
6568 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
6570 * gst/elements/gstcapsfilter.c:
6571 * gst/elements/gstfakesink.c:
6572 * gst/elements/gstfakesrc.c:
6573 * gst/elements/gstfdsink.c:
6574 * gst/elements/gstfdsrc.c:
6575 * gst/elements/gstfilesink.c:
6576 * gst/elements/gstfilesrc.c:
6577 * gst/elements/gstidentity.c:
6578 * gst/elements/gsttee.c:
6579 * gst/elements/gsttypefindelement.c:
6580 Make element details static.
6582 2005-09-28 Wim Taymans <wim@fluendo.com>
6584 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6585 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6586 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6587 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6588 (gst_bin_change_state), (gst_bin_dispose):
6589 Some documentation updates.
6590 Clean up dispose handlers.
6592 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6593 * gst/gstpad.c: (gst_pad_dispose):
6594 Clean up dispose handler.
6596 * gst/gstpipeline.c: (gst_pipeline_change_state):
6597 Removed spurious UNLOCK.
6599 2005-09-27 Stefan Kost <ensonic@users.sf.net>
6601 * docs/gst/gstreamer-sections.txt:
6602 * gst/base/gstbasesrc.h:
6607 * gst/gstpipeline.c:
6608 * gst/gstpipeline.h:
6611 added two new functions to the docs
6612 documents all undocumented GstXXXFlags
6613 completed some incomplete docs
6615 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
6617 * gst/gstbin.c: (gst_bin_dispose):
6618 * gst/gstelement.c: (gst_element_dispose):
6619 remove now useless and leaky resurrection code in dispose
6620 * gst/base/gstbasesrc.c: (gst_base_src_init):
6621 * gst/gstelementfactory.c: (gst_element_factory_create):
6622 * gst/gstobject.c: (gst_object_set_parent):
6625 2005-09-27 Wim Taymans <wim@fluendo.com>
6627 * docs/design/part-TODO.txt:
6630 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6631 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6632 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6633 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6634 (gst_bin_change_state):
6636 Remove element variable, we keep element info in the iterator now.
6638 2005-09-27 Andy Wingo <wingo@pobox.com>
6640 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6643 2005-09-27 Wim Taymans <wim@fluendo.com>
6645 * check/gst/gstbin.c: (GST_START_TEST):
6646 Enable check that works now.
6648 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6649 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6650 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6651 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6652 (gst_bin_change_state):
6654 Redid the state change algorithm using a topological sort algo.
6655 Handles all cases correctly.
6656 Exposed iterator for state change order.
6659 Temp storage for state changes. Need to get rid of this soon.
6661 2005-09-27 Wim Taymans <wim@fluendo.com>
6663 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6664 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6665 (link_fold_func), (gst_pad_proxy_setcaps):
6666 Leak fixes, the fold functions need to unref the passed object and
6667 _get_parent_*() returns ref to parent.
6669 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6671 * check/gst/gstbuffer.c: (test_make_writable):
6672 Plug leak in test case and fix 'make check-valgrind'
6674 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6676 * gst/gstbuffer.c: (gst_subbuffer_init):
6677 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6678 works correctly in all circumstances (we could have just copied
6679 the parent buffer's readonly flag, but conceptually it seems
6680 cleaner to mark all subbuffers as read-only). (based on patch
6681 by Alessandro Decina, #314710).
6683 * check/gst/gstbuffer.c: (create_read_only_buffer),
6684 (test_make_writable), (test_subbuffer_make_writable),
6686 Add some tests for gst_buffer_make_writable().
6688 2005-09-27 Wim Taymans <wim@fluendo.com>
6690 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6691 use gst_object_has_ancestor().
6693 * gst/gstobject.c: (gst_object_has_ancestor):
6695 gst_object_has_ancestor() copied from gstbin.c as it is a
6698 * tests/instantiate/create.c: (create_all_elements):
6699 * tests/lat.c: (handoff_src), (handoff_sink):
6700 * tests/sched/runxml.c: (main):
6701 * tests/seeking/seeking1.c: (main):
6702 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6704 Fix compilation of some tests.
6706 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6709 Remove comment. GST_TYPE_G_ERROR is here to stay,
6710 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6713 2005-09-26 Wim Taymans <wim@fluendo.com>
6715 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6716 Added check that shows error in state change order.
6718 2005-09-26 Wim Taymans <wim@fluendo.com>
6720 * gst/gstbin.c: (gst_bin_change_state):
6721 Make state change function use 3 queues again, we were
6722 adding elements in the wrong order.
6724 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6727 * gst/gstpad.c: (gst_pad_dispose):
6728 Added some debug info first.
6730 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
6732 * docs/design/draft-push-pull.txt:
6733 * docs/design/part-events.txt:
6734 * docs/design/part-overview.txt:
6735 * docs/design/part-scheduling.txt:
6736 Replace all _pull_region() with _pull_range()
6738 2005-09-26 Andy Wingo <wingo@pobox.com>
6740 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6742 * check/gst-libs/controller.c: Update for controller api change.
6745 * tests/Makefile.am:
6746 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6747 over by GLib bug 118439.
6749 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6750 routines to a function.
6752 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6754 * libs/gst/controller/gsthelper.c:
6755 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6756 (gst_object_sync_values): Renamed from sink_values. Ugh.
6758 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6760 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6761 Renamed from controller_key, as it is exported.
6763 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6765 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
6770 * gst/gstpadtemplate.h:
6773 * gst/gstqueryutils.c:
6774 * gst/gstqueryutils.h:
6775 remove queryutils headers after moving the two used functions
6776 to gstquery. also fixes build problem for gstsiddec
6778 2005-09-26 Michael Smith <msmith@fluendo.com>
6780 * tools/gst-launch.1.in:
6781 Correct documentation in manpage of debug syntax
6783 2005-09-26 Wim Taymans <wim@fluendo.com>
6785 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6786 (gst_base_src_is_seekable), (gst_base_src_change_state):
6787 Some more debugging info.
6789 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6791 * docs/gst/gstreamer-sections.txt:
6792 * gst/base/gstbasetransform.h:
6796 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6798 * docs/gst/.cvsignore:
6799 * docs/gst/tmpl/.cvsignore:
6800 * docs/gst/tmpl/gstpipeline.sgml:
6801 * docs/gst/tmpl/gstplugin.sgml:
6802 * gst/gstpipeline.c:
6805 inlined the last two docs files
6806 removed the tmpl directory from cvs (no more conflicts here!)
6808 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6810 * docs/gst/gstreamer-sections.txt:
6811 * docs/gst/tmpl/.cvsignore:
6812 * docs/gst/tmpl/gstpad.sgml:
6813 * docs/gst/tmpl/gstpadtemplate.sgml:
6815 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6816 (gst_pad_finalize), (gst_pad_set_pad_template):
6818 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6819 (gst_pad_template_class_init), (gst_pad_template_init),
6820 (gst_pad_template_dispose), (name_is_valid),
6821 (gst_static_pad_template_get), (gst_pad_template_new),
6822 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6823 (gst_pad_template_pad_created):
6824 * gst/gstpadtemplate.h:
6825 inlined two more docs
6826 factored gstpadtemplate out of gstpad
6828 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
6830 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6831 (test_children_state_change_order_semi_sink):
6832 Fix test case: we can't rely on a fixed state change order when
6833 going from READY => PAUSED because the sink might commit its
6834 new state first when the first buffer created by the source
6835 reaches the sink before the source has finished its change state.
6836 (Test case still fails at times, see #316856, comment 5 onwards)
6838 2005-09-24 Wim Taymans <wim@fluendo.com>
6840 * docs/design/part-events.txt:
6841 * docs/design/part-gstbus.txt:
6842 * docs/design/part-gstpipeline.txt:
6843 * docs/design/part-messages.txt:
6844 * docs/design/part-overview.txt:
6845 * docs/design/part-segments.txt:
6852 * gst/gstiterator.c:
6853 Various documentation updates.
6855 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
6858 Well, that's embarassing. Luckily we weren't using
6859 GST_CLOCK_DIFF anywhere.
6861 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6863 * common/gtk-doc.mak:
6864 don't fail on building XML, FC4 slave shows a bunch of doc
6865 missing bits that I don't get
6867 * gst/gstpipeline.c:
6868 * gst/gststructure.c:
6871 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6873 * docs/design/part-gstbin.txt:
6874 * docs/design/part-gstbus.txt:
6876 Add blurb about how the bus goes into flushing mode and
6877 drops all messages when its bin goes from READY into NULL
6880 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6882 * docs/gst/gstreamer-sections.txt:
6883 * gst/gststructure.c: (gst_structure_get_clock_time):
6884 * gst/gststructure.h:
6885 add a method to get a GstClockTime out of a structure
6887 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6889 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6890 (test_children_state_change_order_semi_sink), (gst_bin_suite):
6891 Added test to check state change order in bins (can still be made
6892 to fail here under heavy disk load; bails out with 'Push on pad
6893 fakesink:sink0, but it was not activated in push mode').
6895 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6896 Fix state change order when there is only a semi sink (#316856)
6898 * gst/gstbus.c: (gst_bus_class_init):
6899 Use _class_peek_parent(), not _class_ref(); fix docs to say
6900 'default main context' instead of 'mainloop' where that is
6903 * gst/gstelement.c: (gst_element_commit_state),
6904 (gst_element_set_state):
6905 Fix typos in debug messages
6907 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6910 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6911 * gst/gstpluginfeature.c:
6914 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6915 change an assert into an error until it gets fixed properly
6917 2005-09-23 Stefan Kost <ensonic@users.sf.net>
6919 * docs/gst/gstreamer-sections.txt:
6920 * docs/gst/tmpl/.cvsignore:
6921 * docs/gst/tmpl/gstelement.sgml:
6922 * docs/gst/tmpl/gstinfo.sgml:
6923 * docs/gst/tmpl/gstobject.sgml:
6928 * gst/gstobject.c: (gst_object_class_init):
6930 inlined 3 more biiiig doc files and added some missing docs on the fly
6932 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6934 * check/gst/.cvsignore:
6935 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6936 * gst/gstregistryxml.c: (load_plugin),
6937 (gst_registry_xml_save_plugin):
6938 put back source in registry. add checks for find_plugin.
6939 * testsuite/states/bin.c: (assert_state), (empty_bin),
6940 (test_adding_one_element), (main):
6941 * testsuite/states/locked.c: (main):
6942 some compile/run fixes
6944 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6946 * check/gst/gstvalue.c: (GST_START_TEST):
6947 fix leaks in the test itself
6949 2005-09-22 Wim Taymans <wim@fluendo.com>
6951 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6952 (gst_base_sink_send_event), (gst_base_sink_peer_query),
6953 (gst_base_sink_query):
6954 Prepare for more accurate position reporting and query
6957 * gst/gstelement.c: (gst_element_send_event),
6958 (gst_element_set_state):
6961 2005-09-22 Wim Taymans <wim@fluendo.com>
6963 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6964 (gst_query_parse_segment):
6967 Add segment query for future use.
6969 2005-09-22 Wim Taymans <wim@fluendo.com>
6971 * gst/gstbin.c: (gst_bin_add_func):
6972 Some more debug info.
6974 * gst/gstelement.c: (gst_element_send_event):
6978 Don't know how flags got broken.
6983 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6985 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6986 Add simplistic test suite for GST_TYPE_DATE serialisation and
6989 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6991 * docs/gst/gstreamer-sections.txt:
6992 * gst/gststructure.c: (gst_structure_set_valist),
6993 (gst_structure_get_date):
6994 * gst/gststructure.h:
6995 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6996 (gst_date_copy), (gst_value_compare_date),
6997 (gst_value_serialize_date), (gst_value_deserialize_date),
6998 (gst_value_transform_date_string),
6999 (gst_value_transform_string_date), (_gst_value_initialize):
7001 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7002 bunch of utility functions along with a hack that checks that
7003 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7004 is required. Part of the grand scheme in #170777.
7006 2005-09-22 Andy Wingo <wingo@pobox.com>
7008 * gst/gstconfig.h.in: Psych out gtk-doc.
7010 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7012 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7014 * tools/gst-inspect.c (print_element_list): Plug some
7015 inconsequential leaks.
7017 * gst/gstregistry.c (gst_registry_get_default): Doc.
7019 * check/gst/gstplugin.c:
7020 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7021 * gst/gstelementfactory.c (gst_element_factory_create):
7022 * gst/gstindexfactory.c (gst_index_factory_create): Update for
7025 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7026 (gst_plugin_feature_load): Doc, don't eat refs.
7028 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7029 (gst_plugin_list_free): Doc.
7030 (gst_plugin_load_file): Doc updates.
7032 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7033 accessors returning refcounted objects, return a ref.
7035 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7036 accessor for caps. IDEMPOTENCE. Oh yes.
7038 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
7040 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7042 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7043 (_gst_debug_register_funcptr):
7044 Add mutex to serialise access to the hash table with
7045 the function pointer => function name string mapping;
7046 make that hash table static scope (#316809).
7048 * gst/registries/.cvsignore:
7049 Remove left-over file.
7051 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
7053 * docs/pwg/appendix-porting.xml:
7054 And something about newsegment events and caps-on-buffers to
7055 the porting guide (feel free to improve).
7057 2005-09-21 Andy Wingo <wingo@pobox.com>
7059 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7060 data and event probes on the same pad.
7061 (test_buffer_probe_once): Test that removing probes from within
7062 the probe functions works.
7064 2005-09-21 Andy Wingo <wingo@pobox.com>
7066 * check/gst/gstutils.c: New file.
7067 (test_buffer_probe_n_times): A simple buffer probe test. More to
7070 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7071 have-data::buffer, not have-data.
7072 (gst_pad_add_event_probe): Likewise for have-data::event.
7073 (gst_pad_add_data_probe): More docs. The part about 'resolving the
7074 peer' isn't quite right yet though.
7075 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
7076 (gst_pad_remove_data_probe): Change to take the guint handler_id
7077 as their arg, not the function+data, which is more glib-like.
7079 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7080 the signal emission to indicate if the data is a buffer or an
7082 (gst_pad_get_type): Initialize buffer and event quarks.
7083 (gst_pad_class_init): have-data is now a detailed signal, yes it
7086 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
7088 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7089 * gst/gstutils.c: (gst_util_set_value_from_string),
7090 (gst_util_set_object_arg):
7091 Don't put functional code in g_return_if_fail() or
7092 g_return_val_if_fail() statements, otherwise things will
7093 break when G_DISABLE_CHECKS is defined during compilation.
7095 2005-09-21 Stefan Kost <ensonic@users.sf.net>
7097 * docs/gst/tmpl/.cvsignore:
7098 * docs/gst/tmpl/gstvalue.sgml:
7101 inlied another one and added some obvious docs
7103 2005-09-21 Wim Taymans <wim@fluendo.com>
7105 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7106 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7107 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7108 (gst_fdsrc_get_property), (gst_fdsrc_create):
7109 * gst/elements/gstfdsrc.h:
7110 Properly implement fdsrc. Removed signal and timeout,
7111 better implemented somewhere else.
7113 2005-09-21 Stefan Kost <ensonic@users.sf.net>
7115 * docs/gst/tmpl/.cvsignore:
7116 * docs/gst/tmpl/gstimplementsinterface.sgml:
7117 * gst/gstinterface.c:
7120 2005-09-21 Stefan Kost <ensonic@users.sf.net>
7122 * docs/gst/gstreamer-sections.txt:
7123 * docs/gst/tmpl/.cvsignore:
7124 * docs/gst/tmpl/gstenumtypes.sgml:
7125 remove obsolete doc file
7127 2005-09-21 David Schleef <ds@schleef.org>
7129 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7130 little beer, fix a little leak.
7132 2005-09-21 Stefan Kost <ensonic@users.sf.net>
7134 * docs/gst/gstreamer-docs.sgml:
7135 * docs/gst/gstreamer-sections.txt:
7136 * docs/gst/tmpl/.cvsignore:
7141 * gst/gstindex.c: (gst_index_class_init):
7143 * gst/gstindexfactory.c: (gst_index_factory_get_type),
7144 (gst_index_factory_class_init), (gst_index_factory_init),
7145 (gst_index_factory_finalize), (gst_index_factory_new),
7146 (gst_index_factory_destroy), (gst_index_factory_find),
7147 (gst_index_factory_create), (gst_index_factory_make):
7148 * gst/gstindexfactory.h:
7149 * gst/gstpluginfeature.c:
7150 * gst/gstpluginfeature.h:
7151 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7152 more docs inlined, splitted gstindex.{c,h}
7154 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
7156 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7159 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
7161 * gst/elements/gstfilesink.c: (gst_file_sink_init):
7162 Set sync to FALSE by default.
7164 2005-09-20 Wim Taymans <wim@fluendo.com>
7166 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7167 (gst_base_sink_init):
7168 Make sync property settable from subclass.
7170 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7171 (gst_fake_sink_change_state):
7172 Set sync to FALSE by default.
7174 2005-09-20 Wim Taymans <wim@fluendo.com>
7176 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7177 * tools/gst-launch.c: (main):
7178 The timeout handler should have lower priority than the source
7179 so we don't timeout before popping a message with 0 timeout.
7180 Dump error messages after failed state change.
7182 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
7184 * tools/gst-inspect.c: (print_element_properties_info):
7187 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
7189 * check/gst/gstevent.c:
7190 * gst/elements/gstfakesink.c:
7191 * gst/elements/gstfakesink.h:
7192 remove the sync property from fakesink.
7193 has the side effect of setting sync TRUE
7194 for fakesink, which is a change. Anyone who knows how
7195 to fix this nicely in a GObject-y way, feel free.
7197 2005-09-20 Stefan Kost <ensonic@users.sf.net>
7199 * docs/gst/gstreamer-docs.sgml:
7200 remove probe refsection
7202 2005-09-20 Stefan Kost <ensonic@users.sf.net>
7204 * check/Makefile.am:
7205 disable valgrinding the controller test again
7206 * docs/gst/gstreamer-sections.txt:
7207 update for api-changes
7209 2005-09-20 Wim Taymans <wim@fluendo.com>
7211 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7212 (gst_base_sink_set_property), (gst_base_sink_get_property),
7213 (gst_base_sink_do_sync):
7214 * gst/base/gstbasesink.h:
7215 Added sync property to basesink to disable clock sync.
7217 2005-09-20 Andy Wingo <wingo@pobox.com>
7219 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7220 eating the caller's refcount.
7222 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
7223 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7226 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7227 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7228 of GLib 2.8 public, so we can know which refcount to check in
7231 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7232 (gst_object_init): Only set the gst refcount if we're going ahead
7233 with the refcount hack.
7235 2005-09-20 Stefan Kost <ensonic@users.sf.net>
7237 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7238 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7239 more leaks plumbed, added more debug-logging
7243 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
7246 remove include of gstmemchunk.h
7248 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
7250 * gst/gstclock.c: (_gst_clock_id_free):
7251 Commit from the Political Party For More Atomic CVS Commits,
7252 so that people don't waste too much of their day fishing
7253 out obvious leaks out of massive commits.
7254 Oh, and fix a pretty damn obvious leak in the memchunk
7257 2005-09-20 Stefan Kost <ensonic@users.sf.net>
7259 * check/Makefile.am:
7260 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7261 plug mem-leak, re-add to valgrindable tests
7263 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
7266 unbreak the build for those who have chronic arthritis
7267 and typing "make check" is just too taxing on the hands
7269 2005-09-20 Andy Wingo <wingo@pobox.com>
7271 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7272 really want it out, you should fix plugins at the same time.
7274 2005-09-19 Stefan Kost <ensonic@users.sf.net>
7277 * docs/gst/gstreamer-sections.txt:
7279 added missing symbols to api docs
7280 disable ref-count hack if we have glib >= 2.8
7282 2005-09-19 David Schleef <ds@schleef.org>
7284 * docs/gst/Makefile.am: Ignore a few more internal headers
7285 * docs/gst/gstreamer-docs.sgml: Remove old sections
7286 * docs/gst/gstreamer-sections.txt: Remove old sections
7287 * docs/gst/tmpl/gstobject.sgml: update
7288 * docs/gst/tmpl/gstplugin.sgml: update
7289 * docs/gst/tmpl/gstpluginfeature.sgml: update
7290 * docs/random/ds/0.9-suggested-changes: update.
7291 * gst/Makefile.am: remove memchunk and trashstack, since they're
7293 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7294 * gst/gst.h: don't include some headers
7295 * gst/gstchildproxy.c: add gstmarshal.h
7296 * gst/gstclock.c: Don't use memchunks
7297 * gst/gstminiobject.c: Add some docs
7298 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7299 * gst/gstobject.h: same
7300 * gst/gstplugin.c: include gstmacros.h
7301 * gst/gstplugin.h: don't include gstmacros.h, since it's private
7302 * gst/gstquery.c: don't use memchunks
7303 * gst/gstregistry.c: rename gst_registry_deinit()
7304 * gst/gstregistry.h: same
7306 2005-09-19 David Schleef <ds@schleef.org>
7308 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7309 * docs/libs/gstreamer-libs-sections.txt:
7310 * docs/libs/tmpl/gstgetbits.sgml:
7311 * docs/libs/tmpl/gstputbits.sgml:
7313 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
7315 * win32/gstenumtypes.c:
7316 * win32/gstenumtypes.h:
7319 2005-09-19 Wim Taymans <wim@fluendo.com>
7321 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7322 Automatically PAUSE and RESUME a pipeline when a flushing seek
7325 2005-09-19 Andy Wingo <wingo@pobox.com>
7327 * gst/gstregistry.h: Spacing fixen.
7329 2005-09-19 Wim Taymans <wim@fluendo.com>
7331 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7332 Handle state change failure more correctly.
7334 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
7336 * check/Makefile.am:
7337 * check/pipelines/cleanup.c: (run_pipeline):
7338 * check/pipelines/simple_launch_lines.c: (run_pipeline),
7340 enable cleanup again after fixing the leak
7342 some more info on docs
7344 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
7346 * check/Makefile.am:
7347 re-enable tests now that leaks are plugged
7349 * check/gst/gstbin.c:
7350 * check/gst/gstpipeline.c:
7351 add some more tests while fixing leaks
7353 make sure binaries are uptodate when valgrinding/gdbing
7355 * gst/gstelementfactory.c:
7356 remove a ref too many, and add a FIXME for when we get
7357 round to disposing of classes
7359 fix the refcounting when loading a plugin from a file and
7360 the code pretends that the pointer is the same even though
7361 of course it can change
7362 * gst/gstpluginfeature.c:
7363 unref plugins marked cached (a bit confusing as a name)
7364 as the docs state should be done
7365 various doc additions to explain refcounting
7366 * gst/gstregistry.c:
7367 * gst/gstregistryxml.c:
7370 2005-09-19 Wim Taymans <wim@fluendo.com>
7372 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7373 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7374 (send_messages), (GST_START_TEST), (gstbus_suite):
7375 * check/gst/gstpipeline.c: (GST_START_TEST):
7376 * check/pipelines/cleanup.c: (run_pipeline):
7377 * check/pipelines/simple_launch_lines.c: (run_pipeline),
7379 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7380 (gst_bus_source_check), (gst_bus_source_dispatch),
7381 (gst_bus_create_watch), (gst_bus_add_watch_full),
7382 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7384 * tools/gst-launch.c: (event_loop):
7385 * tools/gst-md5sum.c: (event_loop):
7386 GstBusHandler -> GstBusFunc, return value has the same meaning as
7387 any other GSource (FALSE == remove source).
7388 _add_watch() and _add_watch_full() now take a MessageType mask to
7389 only handle specific types of messages.
7390 _poll() returns the GstMessage instead of the message type to avoid
7392 _have_pending() takes a MessageType mask now too.
7393 Added testsuite for multiple bus watches.
7394 Fix testsuites and applications for new bus API.
7396 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
7398 * check/Makefile.am:
7399 mark a bunch of the tests as to fix until we fix them
7401 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7404 use GST_PLUGIN settings for valgrind tests as well, so we're
7405 valgrinding the correct thing
7406 * gst/gst.c: (init_post):
7409 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7411 * gst/gst.c: (init_post), (gst_deinit):
7412 * gst/gstelementfactory.c: (gst_element_factory_class_init),
7413 (gst_element_factory_finalize), (gst_element_factory_cleanup):
7414 * gst/gstindex.c: (gst_index_factory_class_init),
7415 (gst_index_factory_finalize):
7416 * gst/gstobject.c: (gst_object_dispose):
7417 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7418 (gst_plugin_load_file), (gst_plugin_desc_free):
7419 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7420 (gst_plugin_feature_finalize):
7421 * gst/gstregistry.c: (gst_registry_class_init),
7422 (gst_registry_init), (gst_registry_finalize),
7423 (gst_registry_get_default), (gst_registry_deinit):
7424 * gst/gstregistry.h:
7425 * gst/gstregistryxml.c: (load_feature), (load_plugin):
7426 various cleanups and memleak plugging. make valgrind is happy now.
7428 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7431 add a check-valgrind target
7433 2005-09-18 David Schleef <ds@schleef.org>
7435 * tools/gst-inspect.c: Revert the GOption code.
7437 2005-09-17 David Schleef <ds@schleef.org>
7439 * check/Makefile.am: Fix environment variables.
7440 * check/gst/gstplugin.c: Fix for API changes.
7441 * tools/gst-inspect.c: Fix for API changes.
7442 * tools/gst-xmlinspect.c: Fix for API changes.
7443 * gst/gstelementfactory.c:
7446 * gst/gstpluginfeature.c:
7447 * gst/gstpluginfeature.h:
7448 * gst/gstregistry.c:
7449 * gst/gstregistry.h:
7450 * gst/gstregistryxml.c:
7451 * gst/gsttypefind.c:
7452 * gst/gsttypefindfactory.c:
7453 * gst/indexers/gstfileindex.c:
7454 * gst/indexers/gstmemindex.c:
7455 * gst/schedulers/Makefile.am:
7456 Change registry to keep track of both plugins and features,
7457 removing the feature tracking from plugins themselves.
7459 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
7461 * check/Makefile.am:
7462 * tools/gst-register.1.in:
7465 2005-09-15 David Schleef <ds@schleef.org>
7467 * check/gst/gstplugin.c:
7468 * gst/gstelementfactory.c:
7470 * gst/gstpluginfeature.c:
7471 * gst/gstregistry.c:
7472 Getting tired of debugging. Disabled all the unreffing of
7473 plugins and features, which fixes the segfaults, but of
7474 course leaks like crazy. At least playbin works.
7476 2005-09-15 David Schleef <ds@schleef.org>
7478 * check/gst/gstplugin.c: (register_check_elements),
7479 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7481 * gst/elements/gsttypefindelement.c: Fix refcounting.
7482 * gst/gsttypefind.c:
7483 * gst/gsttypefindfactory.c:
7484 * gst/gsttypefindfactory.h:
7486 2005-09-15 David Schleef <ds@schleef.org>
7488 * gst/gstindex.c: get refcounting correct.
7489 * gst/gstregistry.c: Handle the case where a feature/plugin is
7492 2005-09-15 David Schleef <ds@schleef.org>
7494 * check/Makefile.am:
7495 * check/gst/gstplugin.c: Add test
7496 * gst/gstplugin.c: Fix problems noticed by testsuite
7498 * gst/gstregistry.c:
7499 * gst/gstregistry.h:
7501 2005-09-15 David Schleef <ds@schleef.org>
7503 * gst/gstplugin.c: Implement semi-decent recounting and locking
7504 in plugins and plugin features.
7506 * gst/gstpluginfeature.c:
7507 * gst/gstpluginfeature.h:
7508 * gst/gstregistry.c:
7510 2005-09-15 Michael Smith <msmith@fluendo.com>
7512 * gst/gstregistry.c: (gst_registry_get_feature_list):
7513 Implement this. Makes oggdemux work; decodebin still broken.
7515 2005-09-14 David Schleef <ds@schleef.org>
7517 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7519 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7520 * gst/check/Makefile.am:
7521 * libs/gst/controller/Makefile.am:
7522 * libs/gst/dataprotocol/Makefile.am:
7524 2005-09-14 David Schleef <ds@schleef.org>
7526 * configure.ac: Remove getbits library. Nothing uses it, and
7527 it should be in something like liboil if someone did want
7529 * libs/gst/Makefile.am:
7530 * libs/gst/getbits/Makefile.am:
7531 * libs/gst/getbits/gbtest.c:
7532 * libs/gst/getbits/getbits.c:
7533 * libs/gst/getbits/getbits.h:
7534 * libs/gst/getbits/gstgetbits_generic.c:
7535 * libs/gst/getbits/gstgetbits_i386.s:
7536 * libs/gst/getbits/gstgetbits_inl.h:
7538 2005-09-14 David Schleef <ds@schleef.org>
7540 * gst/Makefile.am: Dist glib-compat.h
7542 2005-09-14 David Schleef <ds@schleef.org>
7544 * configure.ac: Remove gst/registries, since it's no longer used.
7545 * gst/registries/Makefile.am:
7546 * gst/registries/gstlibxmlregistry.c:
7547 * gst/registries/gstlibxmlregistry.h:
7548 * gst/registries/gstxmlregistry.c:
7549 * gst/registries/gstxmlregistry.h:
7550 * gst/registries/registrytest.c:
7552 2005-09-14 David Schleef <ds@schleef.org>
7554 * gst/glib-compat.h:
7555 * gst/gstregistryxml.c:
7556 Convergence is near. Seriously.
7558 2005-09-14 David Schleef <ds@schleef.org>
7560 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7561 * gst/glib-compat.h:
7562 Attempt #4 to appease the buildbots.
7564 2005-09-14 David Schleef <ds@schleef.org>
7566 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7569 2005-09-14 David Schleef <ds@schleef.org>
7571 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7574 2005-09-14 David Schleef <ds@schleef.org>
7576 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7579 2005-09-14 David Schleef <ds@schleef.org>
7581 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7582 * gst/glib-compat.h: Add some functions that are in newer versions
7583 of glib than we care to require.
7584 * gst/gstregistryxml.c: Use them.
7586 2005-09-14 David Schleef <ds@schleef.org>
7588 * po/POTFILES.in: remove gst-register.c
7590 2005-09-14 David Schleef <ds@schleef.org>
7592 * docs/gst/gstreamer-docs.sgml:
7593 * docs/gst/gstreamer-sections.txt:
7594 * docs/gst/gstreamer.types:
7595 * docs/gst/tmpl/gstelement.sgml:
7596 * docs/gst/tmpl/gstplugin.sgml:
7597 * docs/gst/tmpl/gstpluginfeature.sgml:
7598 Documentation updates for registry changes.
7600 2005-09-14 David Schleef <ds@schleef.org>
7602 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7603 because we don't require glib-2.8.
7605 2005-09-14 David Schleef <ds@schleef.org>
7607 * gst/gstregistryxml.c: Added. Essentially moved out of the
7608 registries directory.
7610 2005-09-14 David Schleef <ds@schleef.org>
7612 * check/Makefile.am:
7613 * check/generic/states.c:
7617 * gst/gst_private.h:
7618 * gst/gstelementfactory.c:
7623 * gst/gstpluginfeature.c:
7624 * gst/gstpluginfeature.h:
7625 * gst/gstregistry.c:
7626 * gst/gstregistry.h:
7627 * gst/gstregistrypool.c: remove
7628 * gst/gstregistrypool.h: remove
7629 * gst/gsttypefind.c:
7630 * gst/gsttypefindfactory.c:
7632 * tools/Makefile.am:
7633 * tools/gst-compprep.c:
7634 * tools/gst-inspect.c:
7635 * tools/gst-register.c: remove
7636 * tools/gst-xmlinspect.c:
7637 Registry rewrite. Changes registry from being a file created
7638 by a tool into a simple cache file created automatically by
7639 libgstreamer. Removed gst-register (because it's no longer
7640 needed). Remove registry pools, because we only have one
7641 registry implementation (XML). Fix up other subsystems as
7644 2005-09-13 Michael Smith <msmith@fluendo.com>
7646 * gst/gstconfig.h.in:
7647 Don't Use windows linking attributes for MinGW. Fixes #316157
7649 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
7651 * gst/gstutils.c: (set_state_async_thread_func),
7652 (gst_element_set_state_async):
7653 Apparently people think it's better if this function doesn't
7654 try to set the state to whatever state was asked for on the first
7655 call to this function for any object. Seriously.
7657 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7659 * check/gst/gstpipeline.c: (GST_START_TEST):
7660 * docs/gst/gstreamer-sections.txt:
7661 * gst/gstutils.c: (set_state_async_thread_func),
7662 (gst_element_set_state_async):
7664 add a "gst_element_set_state_async" method that
7665 sets the state and starts a thread to make sure the state
7666 change completes as best as it can
7668 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7670 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7671 codify design+behaviour in testsuite after discussion
7673 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7675 * docs/gst/tmpl/gstelement.sgml:
7676 * docs/manual/appendix-quotes.xml:
7678 * gst/gstelement.c: (gst_element_set_state):
7681 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
7683 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7684 (gst_base_transform_prepare_output_buf),
7685 (gst_base_transform_handle_buffer):
7686 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7687 (gst_capsfilter_prepare_buf):
7688 Remove the requirement for sub-classes to call the parent
7689 implementation of prepare_output_buffer with a wrapper function.
7692 * gst/gsttagsetter.h:
7695 2005-09-11 Stefan Kost <ensonic@users.sf.net>
7697 * docs/gst/gstreamer-sections.txt:
7700 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7702 * docs/gst/gstreamer-sections.txt:
7703 * docs/gst/tmpl/gstelement.sgml:
7704 * docs/gst/tmpl/gstplugin.sgml:
7705 * gst/gstminiobject.c:
7707 docs now stop throwing warnings
7709 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7711 * docs/gst/gstreamer-sections.txt:
7712 * docs/gst/gstreamer.types:
7713 * docs/gst/tmpl/gstpad.sgml:
7714 * docs/gst/tmpl/gsttypes.sgml:
7715 * gst/base/gstadapter.h:
7716 * gst/base/gstbasesink.h:
7717 * gst/base/gstbasesrc.h:
7727 * gst/gststructure.c:
7728 * gst/registries/gstlibxmlregistry.h:
7729 various documentation fixes
7731 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7733 * docs/gst/gstreamer-sections.txt:
7734 * docs/gst/tmpl/gstvalue.sgml:
7735 rearrange gstvalue section
7736 * gst/gstutils.c: (gst_element_state_get_name):
7738 * gst/gstvalue.c: (_gst_value_initialize):
7742 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
7744 * check/gst-libs/controller.c:
7746 * gst/base/gstbasetransform.c:
7747 (gst_base_transform_default_prepare_buf),
7748 (gst_base_transform_handle_buffer):
7749 * gst/base/gstbasetransform.h:
7750 Some more basetransform changes and fixes to enable sub-classes
7751 that modify buffer metadata only.
7752 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7753 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7754 (gst_capsfilter_prepare_buf):
7755 If the output pad has fixed allowed caps and input buffers
7756 don't have any, set the fixed caps on outgoing buffers.
7758 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
7759 * check/elements/identity.c: (GST_START_TEST):
7760 Make the error a little clearer when the test fails because
7761 identity made a copy of the buffer.
7762 * docs/gst/gstreamer-sections.txt:
7763 New symbols in gstbasetransform.h
7764 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7765 (gst_base_transform_init), (gst_base_transform_transform_size),
7766 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7767 (gst_base_transform_default_prepare_buf),
7768 (gst_base_transform_get_unit_size),
7769 (gst_base_transform_buffer_alloc),
7770 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7771 (gst_base_transform_change_state),
7772 (gst_base_transform_set_passthrough),
7773 (gst_base_transform_set_in_place),
7774 (gst_base_transform_is_in_place):
7775 * gst/base/gstbasetransform.h:
7776 Change BaseTransform to separate in_place operate from same_caps
7777 output. in_place implies that the element can perform the transform
7778 on incoming buffers in-place, even if the caps on the output are
7780 Sub-class elements can now implement special buffer allocation
7781 methods for outgoing buffers if they wish to.
7782 Big documentation addition.
7783 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7784 * gst/elements/gstelements.c:
7785 Changes for basetransform modifications.
7786 * gst/elements/Makefile.am:
7787 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7788 Compile fix. Extra debug output.
7790 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7792 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7794 add tests for valid pad naming
7795 * gst/check/gstcheck.c: (gst_check_log_message_func),
7796 (gst_check_log_critical_func):
7798 remove printing of code, it is fragile when the code contains
7799 % and the line number is enough info
7800 * gst/check/gstcheck.h:
7801 * gst/gstpad.c: (gst_pad_template_new):
7804 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7807 say what CHECK flags we use
7808 * docs/libs/gstreamer-libs.types:
7809 * libs/gst/controller/Makefile.am:
7810 * libs/gst/controller/gst-controller.c:
7811 * libs/gst/controller/gst-controller.h:
7812 * libs/gst/controller/gst-helper.c:
7813 * libs/gst/controller/gst-interpolation.c:
7814 * libs/gst/controller/gstcontroller.c:
7815 * libs/gst/controller/gsthelper.c:
7816 * libs/gst/controller/gstinterpolation.c:
7817 * tools/gst-inspect.c: (print_plugin_info):
7818 we don't use dashes in header names
7820 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7822 * check/Makefile.am:
7823 * check/gst/.cvsignore:
7824 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7825 (gst_pipeline_suite), (main):
7826 adding a test for pipelines and state changes
7827 * gst/gstutils.c: (get_state_func):
7829 * gstreamer.spec.in:
7832 2005-09-08 Michael Smith <msmith@fluendo.com>
7834 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7835 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7836 (gst_file_src_is_seekable), (gst_file_src_get_size),
7837 (gst_file_src_start):
7838 * gst/elements/gstfilesrc.h:
7839 Various fixes for unseekable, unmmapable, and non-normal files, so
7840 that fallback to read() rather than mmap() works.
7841 * gst/gstevent.c: (gst_event_new_newsegment):
7842 Allow newsegment events with segment_start == segment_end, as will
7843 correctly happen if you use filesrc on a zero-size file, for
7846 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7848 * gst/gstplugin.c: (gst_plugin_load_file):
7849 Call g_module_close when we don't load the module
7851 * gst/registries/gstlibxmlregistry.c:
7852 (gst_xml_registry_get_property):
7853 Port leak fix from 0.8
7855 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7857 * docs/gst/gstreamer-docs.sgml:
7858 * docs/gst/tmpl/.cvsignore:
7859 * docs/gst/tmpl/gsttrace.sgml:
7860 * docs/gst/tmpl/gsttrashstack.sgml:
7869 * gst/gsttaginterface.c:
7870 * gst/gsttaginterface.h:
7873 * gst/gsttagsetter.c:
7874 * gst/gsttagsetter.h:
7877 * gst/gsttrashstack.c:
7878 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7879 inlined docs for gsttrace, gsttrashstack
7881 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7884 * gst/elements/gstbufferstore.h:
7885 * gst/elements/gsttypefindelement.c:
7886 * gst/elements/gsttypefindelement.h:
7888 * gst/gsttypefind.c:
7889 * gst/gsttypefind.h:
7890 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7891 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7892 (gst_type_find_factory_dispose),
7893 (gst_type_find_factory_unload_thyself),
7894 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7895 (gst_type_find_factory_get_caps),
7896 (gst_type_find_factory_get_extensions),
7897 (gst_type_find_factory_call_function):
7898 * gst/gsttypefindfactory.h:
7899 * gst/registries/gstlibxmlregistry.c:
7900 * gst/registries/gstxmlregistry.c:
7901 splitted gsttypefind into gsttypefind, gsttypefindfactory
7903 2005-09-07 Andy Wingo <wingo@pobox.com>
7905 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7906 condition whereby the pad's task function is entered before the
7907 pad_mode variable was set.
7909 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7911 * gst/gstpad.c: (gst_pad_alloc_buffer):
7912 Catch misbehaving pad_alloc functions that don't
7913 set up caps and do it for them.
7915 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7917 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7919 * docs/gst/tmpl/.cvsignore:
7920 * docs/gst/tmpl/gstmemchunk.sgml:
7921 * docs/gst/tmpl/gstparse.sgml:
7922 * docs/gst/tmpl/gsttaglist.sgml:
7923 * docs/gst/tmpl/gsttagsetter.sgml:
7924 * docs/gst/tmpl/gsttypefind.sgml:
7925 * docs/gst/tmpl/gsttypefindfactory.sgml:
7926 * gst/gstmemchunk.c:
7929 * gst/gsttaginterface.c:
7930 * gst/gsttypefind.c:
7931 * gst/gsttypefind.h:
7934 === release 0.9.2 ===
7936 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
7941 releasing 0.9.2, "South"
7943 2005-09-05 Andy Wingo <wingo@pobox.com>
7945 * gst/registries/gstxmlregistry.h:
7946 * gst/registries/gstxmlregistry.c: Um... resurrect...
7948 * gst/registries/gstxmlregistry.h:
7949 * gst/registries/gstxmlregistry.c: and update to newer API.
7950 Incidentally they should be a bit faster now that they don't have
7953 2005-09-05 Andy Wingo <wingo@pobox.com>
7955 * gst/registries/gstxmlregistry.h:
7956 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7957 replaced by the libxml registry a while back
7959 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7961 * docs/gst/tmpl/gstplugin.sgml:
7962 * gst/elements/gstelements.c:
7964 * gst/gstplugin.c: (gst_plugin_register_func),
7965 (gst_plugin_desc_copy), (gst_plugin_desc_free),
7966 (gst_plugin_get_source):
7968 * gst/registries/gstlibxmlregistry.c: (load_plugin),
7969 (gst_xml_registry_save_plugin):
7970 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7971 (gst_xml_registry_save_plugin):
7972 * tools/gst-inspect.c: (print_plugin_info):
7973 add a "source" plugin description field, to represent the source
7974 module this plugin is a part of. By default GST_PLUGIN_DEFINE
7975 will set it to PACKAGE, which is automake's idea of the name of
7978 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7984 * docs/faq/Makefile.am:
7985 * docs/gst/tmpl/gstelement.sgml:
7986 * docs/gst/tmpl/gsttypes.sgml:
7987 * docs/htmlinstall.mak:
7988 * docs/manual/Makefile.am:
7989 * docs/pwg/Makefile.am:
7990 reorganize doc build a little
7991 split out docbook and gtk-doc stuff
7992 have two separate --enable's and enable them through autogen
7993 but disable by default in configure (to be similar to other
7995 * gstreamer.spec.in:
7996 clean up docs install
8016 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
8018 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8021 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8022 (gst_fake_sink_change_state):
8023 Make state change function thread-safe.
8025 * gst/gstpad.c: (gst_pad_alloc_buffer):
8026 Set offset on generic buffer allocated by fallback.
8028 2005-09-03 Stefan Kost <ensonic@users.sf.net>
8030 * docs/gst/gstreamer-sections.txt:
8031 * docs/gst/tmpl/gstelement.sgml:
8033 * libs/gst/controller/gst-controller.c:
8034 (gst_controlled_property_set_interpolation_mode),
8035 (gst_controlled_property_new),
8036 (gst_controller_find_controlled_property):
8037 run the wingo-magic script against the docs
8039 2005-09-02 Stefan Kost <ensonic@users.sf.net>
8041 * docs/gst/gstreamer-docs.sgml:
8042 * docs/gst/gstreamer-sections.txt:
8043 * docs/gst/tmpl/.cvsignore:
8044 * docs/gst/tmpl/gstelementdetails.sgml:
8045 * docs/gst/tmpl/gstelementfactory.sgml:
8048 * gst/gstelementfactory.c:
8049 * gst/gstelementfactory.h:
8050 merged elementdetails docs into elementfactory docs
8053 2005-09-02 Andy Wingo <wingo@pobox.com>
8055 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8056 consider this enum an enum and not a flags.
8058 2005-09-02 Stefan Kost <ensonic@users.sf.net>
8060 * docs/gst/gstreamer-docs.sgml:
8061 * docs/gst/tmpl/.cvsignore:
8062 * docs/gst/tmpl/gstghostpad.sgml:
8063 * docs/gst/tmpl/gstiterator.sgml:
8064 * docs/gst/tmpl/gstmacros.sgml:
8065 * docs/gst/tmpl/gstrealpad.sgml:
8066 * docs/gst/tmpl/gstregistry.sgml:
8067 * docs/gst/tmpl/gstregistrypool.sgml:
8068 * docs/gst/tmpl/gststructure.sgml:
8069 * docs/gst/tmpl/gstsystemclock.sgml:
8070 * docs/gst/tmpl/gsttrace.sgml:
8071 * gst/gstghostpad.c:
8073 * gst/gstmemchunk.c:
8074 * gst/gstmemchunk.h:
8076 * gst/gstregistry.c:
8077 * gst/gstregistrypool.c:
8078 * gst/gststructure.c:
8079 * gst/gstsystemclock.c:
8082 2005-09-02 Andy Wingo <wingo@pobox.com>
8084 * gst/gstelement.h (GstState): Renamed from GstElementState,
8085 changed to be a normal enum instead of flags.
8086 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8087 munged to be GST_STATE_CHANGE_*.
8088 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8089 work with the new state representation.
8090 (GstStateChange): New enumeration of possible state transitions.
8091 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8092 (GstElementClass::change_state): Pass the GstStateChange along as
8093 an argument. Helps language bindings, so they don't have to use
8094 tricky lock-needing macros like GST_STATE_CHANGE ().
8096 * scripts/update-states (file): New script. Run it on a file to
8097 update it for state naming and API changes. Updates files in
8100 * All files updated for the new API.
8102 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
8104 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8105 * gst/gstutils.c: (gst_util_set_value_from_string),
8106 (gst_util_set_object_arg):
8107 fix a bunch of unchecked return values
8108 * tools/gst-complete.c: (main):
8109 * gstreamer.spec.in:
8112 2005-09-01 Wim Taymans <wim@fluendo.com>
8114 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8115 (gst_base_sink_event), (gst_base_sink_do_sync),
8116 (gst_base_sink_handle_event):
8117 * gst/base/gstbasesink.h:
8118 Handle newsegments more correctly.
8123 * gst/gstevent.c: (gst_event_new_newsegment):
8124 A newsegment cannot have a start_time of -1
8126 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
8128 * win32/gstenumtypes.c:
8129 * win32/gstenumtypes.h:
8132 2005-08-31 Stefan Kost <ensonic@users.sf.net>
8134 * libs/gst/controller/gst-controller.c:
8135 (gst_controlled_property_set_interpolation_mode),
8136 (gst_controlled_property_new):
8139 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
8141 * docs/faq/gst-uninstalled:
8146 * gst/gstutils.c: (gst_element_link_filtered):
8148 add gst_element_link_filtered
8150 2005-08-31 Stefan Kost <ensonic@users.sf.net>
8152 * docs/gst/gstreamer-docs.sgml:
8153 * docs/gst/gstreamer-sections.txt:
8154 * docs/gst/tmpl/.cvsignore:
8155 * docs/gst/tmpl/gsterror.sgml:
8156 * docs/gst/tmpl/gstfilter.sgml:
8157 * docs/gst/tmpl/gsturihandler.sgml:
8158 * docs/gst/tmpl/gsturitype.sgml:
8159 * docs/gst/tmpl/gstutils.sgml:
8160 * docs/gst/tmpl/gstxml.sgml:
8168 inlined more docs, fixed double id-ref
8170 2005-08-31 Wim Taymans <wim@fluendo.com>
8172 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8173 (gst_base_transform_handle_buffer):
8174 Passthrough elements don't need the caps as they don't care.
8176 2005-08-31 Wim Taymans <wim@fluendo.com>
8178 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8179 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8180 Don't leak refcounts on buffers.
8182 2005-08-31 Wim Taymans <wim@fluendo.com>
8184 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8185 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8186 (gst_base_transform_chain), (gst_base_transform_change_state):
8187 * gst/base/gstbasetransform.h:
8188 Handle the case where we are not negotiated more gracefully.
8190 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
8192 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8193 (gst_file_src_map_region):
8194 Set READONLY flag on mmap'ed buffers, otherwise
8195 gst_buffer_make_writable() won't work properly (#314708).
8197 2005-08-31 Wim Taymans <wim@fluendo.com>
8199 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8200 passthrough elements can even do inplace on non writable
8201 buffers (as they don't touch them).
8203 2005-08-31 Stefan Kost <ensonic@users.sf.net>
8205 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8206 (gst_test_mono_source_set_property),
8207 (gst_test_mono_source_class_init), (GST_START_TEST),
8208 (gst_controller_suite):
8209 more tests (hehe I have the most)
8211 describe popping messages whenusing mulltiple sources
8212 * libs/gst/controller/gst-controller.c:
8213 (gst_controlled_property_set_interpolation_mode),
8214 (gst_controlled_property_new):
8215 * libs/gst/controller/gst-controller.h:
8216 * libs/gst/controller/gst-interpolation.c:
8217 implement boolean properties
8219 2005-08-31 Wim Taymans <wim@fluendo.com>
8221 * gst/gstminiobject.c: (gst_mini_object_ref):
8222 Cannot assert that the refcount has to be positive
8223 since a disposed object can be resurrected.
8225 2005-08-31 Wim Taymans <wim@fluendo.com>
8227 * gst/gstpad.c: (gst_pad_init):
8228 Revert change, need to first fix badly behaving
8231 2005-08-30 Wim Taymans <wim@fluendo.com>
8233 * check/elements/fakesrc.c: (setup_fakesrc):
8234 * check/elements/identity.c: (setup_identity):
8235 Activate pads before using them.
8237 2005-08-30 Wim Taymans <wim@fluendo.com>
8239 * gst/base/gstadapter.c: (gst_adapter_flush):
8240 Flushing out 0 bytes is ok for this function.
8242 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8243 no newsegment gives a warning and sets the start/stop to
8246 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8247 (gst_base_transform_set_passthrough):
8250 * gst/gstminiobject.c: (gst_mini_object_ref):
8251 Check refcount here too.
8253 * gst/gstpad.c: (gst_pad_init):
8254 Pads are initially flushing and refusing data.
8256 * gst/gstutils.c: (gst_element_link_pads_filtered):
8257 When adding a capsfilter element make sure it has the
8258 same state as the parent bin.
8260 2005-08-30 Stefan Kost <ensonic@users.sf.net>
8262 * docs/gst/tmpl/.cvsignore:
8263 * docs/gst/tmpl/gstformat.sgml:
8264 * docs/gst/tmpl/gstversion.sgml:
8268 * gst/gstversion.h.in:
8269 more docs and two more inlined
8271 2005-08-30 Wim Taymans <wim@fluendo.com>
8273 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8274 Don't sync to clock.
8276 2005-08-30 Stefan Kost <ensonic@users.sf.net>
8278 * docs/gst/gstreamer-sections.txt:
8279 ultral33t func10ns deserve to appear in the docs actually
8280 * docs/gst/tmpl/.cvsignore:
8281 * docs/gst/tmpl/gstcompat.sgml:
8282 * docs/gst/tmpl/gstconfig.sgml:
8283 * gst/check/gstcheck.c:
8285 * gst/gstconfig.h.in:
8288 2005-08-30 Stefan Kost <ensonic@users.sf.net>
8290 * docs/gst/tmpl/.cvsignore:
8291 * docs/gst/tmpl/gstquery.sgml:
8292 * docs/gst/tmpl/gstutils.sgml:
8295 inlined and extended docs
8297 2005-08-30 Stefan Kost <ensonic@users.sf.net>
8299 * check/gst-libs/controller.c: (GST_START_TEST),
8300 (gst_controller_suite):
8302 * docs/gst/tmpl/gstutils.sgml:
8303 * docs/libs/gstreamer-libs-sections.txt:
8304 * docs/libs/tmpl/gstdataprotocol.sgml:
8306 * examples/controller/audio-example.c: (main):
8307 controller example works now
8310 * tools/gst-inspect.c: (print_element_properties_info):
8311 show param spec flags
8313 2005-08-29 Andy Wingo <wingo@pobox.com>
8315 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8317 2005-08-28 Andy Wingo <wingo@pobox.com>
8319 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8320 as having two arguments instead of just one. Allows superclasses
8321 to access information on subclasses -- see the terrible for() loop
8322 in gtype.c:g_type_create_instance for the reason why. All callers
8325 2005-08-27 Stefan Kost <ensonic@users.sf.net>
8327 * docs/design/part-messages.txt:
8329 * docs/gst/tmpl/.cvsignore:
8330 * docs/gst/tmpl/gstcaps.sgml:
8331 * docs/gst/tmpl/gstclock.sgml:
8338 added descriptions for bus and message
8339 inline caps and clock docs
8341 2005-08-27 Stefan Kost <ensonic@users.sf.net>
8347 2005-08-27 Stefan Kost <ensonic@users.sf.net>
8349 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8352 2005-08-26 Andy Wingo <wingo@pobox.com>
8354 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8355 element_set_state's return val.
8356 (test_2_elements): Add test that's been disabled for months.
8358 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8359 can-activate-pull properties.
8361 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8362 can-activate-pull properties. Implement is_seekable so fakesrc can
8363 operate in pull mode.
8365 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8367 (gst_base_sink_activate, gst_base_sink_activate_pull)
8368 (gst_base_sink_activate_push): Make activation mode choosing work.
8370 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8371 is right. Make pull mode work. Post an eos before pausing in pull
8373 (gst_base_sink_change_state): Pay attention to the core's
8374 change_state() return val.
8376 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8377 has-getrange properties. Cleanups.
8379 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8380 has_getrange and replace with can_activate_pull and
8383 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8384 locking comments. Remove has_loop, has_chain and replace with
8385 can_activate_pull and can_activate_push.
8387 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
8390 * examples/Makefile.am:
8391 * examples/metadata/Makefile.am:
8392 * examples/metadata/read-metadata.c: (message_loop),
8393 (have_pad_handler), (make_pipeline), (print_tag), (main):
8394 Add metadata reading example that loops over a list of filenames,
8395 dumping any tags found.
8397 * gst/gstbus.c: (gst_bus_dispose):
8398 * gst/gstelement.c: (gst_element_dispose):
8399 Release a few potentially-held references in dispose.
8401 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8403 * docs/gst/tmpl/gstminiobject.sgml:
8404 do *not* add tmpl/*.sgml files to CVS!
8406 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8408 * libs/gst/bytestream/.cvsignore:
8409 * libs/gst/bytestream/Makefile.am:
8410 * libs/gst/bytestream/adapter.c:
8411 * libs/gst/bytestream/adapter.h:
8412 * libs/gst/bytestream/bytestream.c:
8413 * libs/gst/bytestream/bytestream.h:
8414 * libs/gst/bytestream/filepad.c:
8415 * libs/gst/bytestream/filepad.h:
8416 removing obsolete files
8418 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8420 * docs/gst/gstreamer-docs.sgml:
8421 * docs/libs/gstreamer-libs-docs.sgml:
8422 disabed additional index entries again, as this makes docs-gen just
8423 slow and they aren't useful yet
8424 * docs/libs/gstreamer-libs-sections.txt:
8425 little -section.txt cleanup for libs
8427 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
8429 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8430 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8431 fix up some debugging
8432 (gst_base_transform_get_unit_size),
8433 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8434 (gst_base_transform_handle_buffer):
8435 * gst/base/gstbasetransform.h:
8436 handle and store timed NEWSEGMENT events so that subclasses that
8437 calculate time by counting samples have a segment_start time they
8438 need to add to their timestamps - see audioresample
8440 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8443 removed ';' from the end of macro defs
8444 * docs/gst/gstreamer-docs.sgml:
8445 * docs/gst/gstreamer-sections.txt:
8446 * docs/gst/tmpl/.cvsignore:
8448 * gst/gstelement.c: (gst_element_class_init),
8449 (gst_element_set_state), (activate_pads),
8450 (gst_element_save_thyself):
8451 * gst/gstevent.c: (gst_event_new_newsegment):
8453 * gst/gstiterator.c:
8454 * gst/gstiterator.h:
8457 * gst/gstutils.c: (gst_pad_query_convert):
8459 fixed parameter name mismatches between source, header and docs
8460 added some more docs, resolved the last batch of unused elements in
8461 docs (now someone needs to doc them)
8463 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8465 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8466 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8467 don't walk through the plugins backwards. Where is all this
8468 reversed logic coming from ?
8470 2005-08-25 Wim Taymans <wim@fluendo.com>
8472 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8473 (gst_base_transform_transform_size),
8474 (gst_base_transform_configure_caps),
8475 (gst_base_transform_get_unit_size),
8476 (gst_base_transform_buffer_alloc),
8477 (gst_base_transform_change_state):
8478 * gst/base/gstbasetransform.h:
8479 Cache caps unit_size.
8480 Make sure we cannot negotiate up and downstream at the
8483 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8485 * gst/gst.c: (init_pre), (init_post):
8486 register the installed plugin path after the env var
8487 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8488 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8489 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8490 directories, so the tests can prefer uninstalled over installed
8492 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8494 * gst/base/gstbasetransform.h:
8499 2005-08-25 Wim Taymans <wim@fluendo.com>
8501 * gst/gstbin.c: (bin_bus_handler):
8502 Be a bit more conservative about the posted message.
8504 * gst/gstbus.c: (gst_bus_post):
8505 Some cleanups, warn wrong return values.
8507 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
8509 * check/gst/gstbin.c: (GST_START_TEST):
8510 * gst/gstbin.c: (bin_bus_handler):
8511 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8512 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8513 (gst_message_new_warning), (gst_message_new_tag),
8514 (gst_message_new_state_changed), (gst_message_new_segment_start),
8515 (gst_message_new_segment_done), (gst_message_new_custom):
8517 * tools/gst-launch.c: (event_loop):
8518 * tools/gst-md5sum.c: (event_loop):
8519 Revert unpopular change for GST_MESSAGE_SRC to GObject.
8521 2005-08-25 Wim Taymans <wim@fluendo.com>
8523 * check/generic/states.c: (GST_START_TEST):
8524 Cleanup can be done at the end.
8526 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8527 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8528 (gst_task_get_state), (gst_task_start), (gst_task_pause):
8529 Oh boy.. Thanks for finding this, Thomas.
8531 2005-08-25 Stefan Kost <ensonic@users.sf.net>
8533 * docs/gst/gstreamer.types:
8536 2005-08-25 Stefan Kost <ensonic@users.sf.net>
8538 * docs/gst/gstreamer-docs.sgml:
8539 * docs/gst/gstreamer-sections.txt:
8540 * docs/gst/tmpl/.cvsignore:
8542 * gst/gstiterator.c:
8544 * gst/registries/gstxmlregistry.h:
8545 added missing classes and symbols (123 more to go)
8546 removed removed symbols from section file
8547 fixed many doc-comments
8549 2005-08-24 Wim Taymans <wim@fluendo.com>
8551 * check/generic/states.c: (GST_START_TEST):
8552 Make sure all tasks are stopped.
8554 * check/gst/gstbin.c: (GST_START_TEST):
8555 Unref after usage for proper valgrinding.
8557 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8558 Really wait for the task to stop before destroying the
8561 * gst/gstqueue.c: (gst_queue_sink_activate_push),
8562 (gst_queue_src_activate_push):
8563 Small cleanups. Don't stop the task when we did not start
8566 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8567 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8568 (gst_task_get_state), (gst_task_start), (gst_task_pause),
8571 Protect the stream lock with the object lock.
8572 Disallow setting the stream lock when running.
8573 Add cleanup_all to wait for the threadpool to finish.
8574 Remove code to autoallocate a mutex if none was provided.
8575 Add _join() to wait for a task to stop.
8576 Protect the thread pool with a global lock.
8578 2005-08-24 Wim Taymans <wim@fluendo.com>
8580 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8581 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8582 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8583 * gst/base/gstbasesink.h:
8584 Handle newsegment events correctly.
8585 Drop buffers out of the segment range.
8587 2005-08-22 Andy Wingo <wingo@pobox.com>
8589 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8590 macro, implements an interface and gstimplementsinterface for a
8593 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
8595 * check/Makefile.am:
8596 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8597 add a test that does a bunch of state changes on elements
8598 needs some fixing for valgrind
8599 * check/states/sinks.c: (gst_object_suite):
8602 add prototype for gst_caps_is_equal_fixed
8604 * gst/gstregistrypool.c:
8607 2005-08-24 Andy Wingo <wingo@pobox.com>
8609 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8610 convert a negative value. Doesn't make much sense. Mostly this is
8611 here to force callers to ensure -1 maps to -1.
8613 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
8615 * docs/pwg/advanced-types.xml:
8616 Well done to Michael for catching my deliberate introduction
8617 of this spelling mistake.
8618 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8620 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8621 unlink pads before removing the element from the bin.
8623 2005-08-24 Andy Wingo <wingo@pobox.com>
8625 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8626 the same thing as GST_DEBUG=*:4.
8627 (parse_debug_level, parse_debug_category): New helper parsers.
8629 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
8631 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8632 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8633 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8634 (gst_base_transform_buffer_alloc),
8635 (gst_base_transform_handle_buffer):
8636 use gboolean return values and pointers to size so we can use the
8637 full GST_BUFFER_SIZE range (guint) for buffer sizes
8638 use GstPadDirection for transform_caps
8639 * gst/base/gstbasetransform.h:
8640 rename get_size to get_unit_size since that's what it is
8641 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8642 use GstPadDirection for transform_caps
8643 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8645 cleanup and debugging
8647 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8649 * gst/gstelement.c: (gst_element_class_init),
8650 (gst_element_set_state), (activate_pads),
8651 (gst_element_save_thyself):
8652 * tools/gst-compprep.c: (main):
8653 * tools/gst-inspect.c: (print_element_properties_info):
8654 * tools/gst-xmlinspect.c: (print_element_properties):
8655 Fixed long standing mem-leak
8657 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
8659 * check/gst/gstbin.c: (GST_START_TEST):
8660 * gst/gstbin.c: (bin_bus_handler):
8661 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8662 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8663 (gst_message_new_warning), (gst_message_new_tag),
8664 (gst_message_new_state_changed), (gst_message_new_segment_start),
8665 (gst_message_new_segment_done), (gst_message_new_custom):
8667 * tools/gst-launch.c: (event_loop):
8668 * tools/gst-md5sum.c: (event_loop):
8669 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8670 that applications can sensibly post custom messages with references
8671 to their own objects.
8673 2005-08-24 Andy Wingo <wingo@pobox.com>
8675 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8678 2005-08-24 Wim Taymans <wim@fluendo.com>
8680 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8681 (gst_base_transform_transform_caps),
8682 (gst_base_transform_transform_size),
8683 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8684 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8685 (gst_base_transform_handle_buffer):
8686 * gst/base/gstbasetransform.h:
8687 Many fixes and new features added by Thomas. Can now also do
8688 transforms with variable sizes and a custom fixate_caps function.
8690 2005-08-24 Wim Taymans <wim@fluendo.com>
8692 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8696 Cast to ClockTime before formatting to time.
8701 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8703 * check/gst-libs/controller.c: (GST_START_TEST),
8704 (gst_controller_suite):
8705 * docs/gst/tmpl/gstcaps.sgml:
8706 * docs/gst/tmpl/gstghostpad.sgml:
8707 * docs/gst/tmpl/gstquery.sgml:
8708 * docs/gst/tmpl/gstutils.sgml:
8709 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8710 (gst_object_sink_values), (gst_object_get_value_arrays),
8711 (gst_object_get_value_array):
8712 gracefully handle helper method calls to objects that are not beeing
8713 controlled, added test case for that
8715 2005-08-23 Wim Taymans <wim@fluendo.com>
8717 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8718 (gst_event_new_newsegment), (gst_event_parse_newsegment),
8719 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8720 (gst_event_parse_qos), (gst_event_new_seek),
8721 (gst_event_parse_seek):
8723 Some more debugging output and doc cleanups.
8725 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8726 Fix possible deadlock.
8728 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8730 * docs/gst/gstreamer-docs.sgml:
8731 * docs/gst/gstreamer-sections.txt:
8732 * docs/gst/gstreamer.types:
8733 * docs/gst/tmpl/.cvsignore:
8738 added 100 symbols from gstreamer-unused.txt to the right sections
8739 fixed more broken comments
8740 added GstBus to docs
8742 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8744 * docs/gst/gstreamer-sections.txt:
8745 * docs/gst/tmpl/.cvsignore:
8746 * docs/gst/tmpl/gstbin.sgml:
8747 * docs/gst/tmpl/gstbuffer.sgml:
8748 * gst/base/gstbasesrc.c:
8749 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8752 * tools/gst-launch.1.in:
8753 inlined more doc comments, added missing comments and fixed comments
8756 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
8758 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8762 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8764 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8765 * gst/gststructure.h:
8766 add a fixate function for booleans; add a FIXME that these func
8767 names should probably be gst_structure_fixate_*
8769 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8771 * docs/gst/gstreamer-docs.sgml:
8772 * docs/gst/gstreamer-sections.txt:
8774 * gst/gstbin.c: (gst_bin_get_type),
8775 (gst_bin_child_proxy_get_child_by_index),
8776 (gst_bin_child_proxy_get_children_count),
8777 (gst_bin_child_proxy_init):
8778 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8779 (gst_child_proxy_get_child_by_index),
8780 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8781 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8782 (gst_child_proxy_get), (gst_child_proxy_set_property),
8783 (gst_child_proxy_set_valist), (gst_child_proxy_set),
8784 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8785 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8786 * gst/gstchildproxy.h:
8787 * gst/parse/grammar.y:
8788 * tools/gst-inspect.c: (print_interfaces),
8789 (print_element_properties_info), (print_element_info):
8790 ported gstchildproxy over from 0.8
8791 ported gst-inspect fixes and enhancements over from 0.8
8793 2005-08-22 Wim Taymans <wim@fluendo.com>
8795 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8796 (gst_base_transform_handle_buffer):
8797 Also call the transform function if we have ANY caps.
8799 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8802 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8804 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8805 Don't pretend to handle seek events if the source is not seekable
8807 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8809 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8810 Remove extra parameter to debug output
8812 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8813 (gst_base_src_do_seek), (gst_base_src_activate_push):
8814 Fix seek event handling.
8816 * gst/gstpipeline.c: (gst_pipeline_change_state):
8817 * gst/gstqueue.c: (gst_queue_handle_sink_event),
8818 (gst_queue_src_activate_push):
8819 Don't start the src pad task on FLUSH_STOP if the pad
8823 2005-08-22 Wim Taymans <wim@fluendo.com>
8825 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8826 Added check for gst_static_caps_get() refcounting.
8828 2005-08-22 Wim Taymans <wim@fluendo.com>
8830 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8831 Make _static_caps_get() refcounting sane.
8833 * gst/gstelement.c: (gst_element_set_state):
8834 Add g_return_val_if_fail() to protect against segfaults.
8836 2005-08-22 Stefan Kost <ensonic@users.sf.net>
8838 * docs/gst/tmpl/gstevent.sgml:
8841 inlined remaining docs, added missing doc comments
8843 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
8845 * check/gst/gstbin.c: (GST_START_TEST):
8846 since we don't know when preroll is done, use refcount range
8848 * gst/check/gstcheck.h:
8849 add macro for checking refcount range
8851 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8853 * check/Makefile.am:
8854 clean up environment for when registry gets built versus
8855 when actual tests are run; valgrind seems to not report
8856 leaks if GST_PLUGIN_PATH is set to some specific values
8857 * check/gst/gstbin.c: (GST_START_TEST):
8858 add more refcounting checks; maybe this exposes a
8861 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8862 * gst/check/gstcheck.h:
8863 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8864 (gst_bin_change_state):
8865 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8866 add/fix debugging/whitespace
8868 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8870 * check/gst/gstevent.c: (event_probe), (test_event),
8872 Er, don't call gst_bin_watch_for_state_change you idiot.
8874 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8876 * check/Makefile.am:
8877 Use CHECK_CFLAGS and CHECK_LIBS
8878 * check/gst/gstevent.c: (event_probe), (test_event),
8881 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8882 (gst_base_src_start), (gst_base_src_stop),
8883 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8884 (gst_base_src_change_state):
8885 Sprinkle gst_base_src_stop liberally around error paths to fix
8886 problems reusing a source after failed state changes.
8887 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8888 (helper_find_suggest), (gst_type_find_helper):
8889 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8891 * docs/gst/tmpl/gstevent.sgml:
8892 Migrate part of the docs from the SGML file. Wait for ensonic to
8893 tell me how I did it wrong ;)
8894 * tools/gst-typefind.c: (main):
8895 Extra robustness to state changes between files.
8897 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8899 * check/Makefile.am:
8900 don't valgrind the controller test - it's leaking - Stefan, HELP
8901 * gst/check/gstcheck.c: (gst_check_message_error),
8902 (gst_check_chain_func), (gst_check_setup_element),
8903 (gst_check_teardown_element), (gst_check_setup_src_pad),
8904 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8905 (gst_check_teardown_sink_pad):
8906 * gst/check/gstcheck.h:
8907 add a bunch of methods to set up elements, and src and sink pads
8908 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8909 * check/elements/identity.c: (setup_identity), (cleanup_identity),
8914 whitespace/doc fixes
8916 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8919 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8920 be handled by the application and not always printed as well
8922 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8924 * check/Makefile.am:
8926 * gst/check/gstcheck.c: (gst_check_message_error):
8927 * gst/check/gstcheck.h:
8928 add a fail_unless_equals_int
8929 add fail_unless for error messages
8931 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8933 * check/Makefile.am:
8935 * common/Makefile.am:
8938 factor out some of the common stuff so we can use it
8940 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8942 * check/Makefile.am:
8943 * check/gst/gstiterator.c: (GST_START_TEST):
8944 * check/gst/gstsystemclock.c: (GST_START_TEST),
8945 (gst_systemclock_suite):
8946 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8950 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8952 * check/elements/.cvsignore:
8953 * check/elements/gstfakesrc.c:
8954 rename to name of element
8955 * check/elements/identity.c: (chain_func), (event_func),
8956 (setup_identity), (cleanup_identity), (GST_START_TEST),
8957 (identity_suite), (main):
8958 add a test for identity
8959 * check/Makefile.am:
8960 * pkgconfig/Makefile.am:
8961 * pkgconfig/gstreamer-check.pc.in:
8962 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8966 move the check stuff to a library that gets installed
8967 * check/gst-libs/controller.c: (GST_START_TEST):
8968 * check/gst-libs/gdp.c:
8969 * check/gst/gst.c: (GST_START_TEST):
8970 * check/gst/gstbin.c:
8971 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8972 * check/gst/gstbus.c:
8973 * check/gst/gstcaps.c: (GST_START_TEST):
8974 * check/gst/gstelement.c:
8975 * check/gst/gstghostpad.c:
8976 * check/gst/gstiterator.c:
8977 * check/gst/gstmessage.c:
8978 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8979 * check/gst/gstobject.c:
8980 * check/gst/gstpad.c: (GST_START_TEST):
8981 * check/gst/gststructure.c: (GST_START_TEST):
8982 * check/gst/gstsystemclock.c: (GST_START_TEST),
8983 (gst_systemclock_suite):
8984 * check/gst/gsttag.c: (gst_tag_suite):
8985 * check/gst/gstvalue.c:
8986 * check/pipelines/cleanup.c:
8987 * check/pipelines/simple_launch_lines.c:
8988 * check/states/sinks.c:
8989 change include statement
8991 * docs/gst/gstreamer-sections.txt:
8992 * docs/gst/tmpl/gstpad.sgml:
8993 document more pad stuff
8994 * gst/gstminiobject.c: (gst_mini_object_ref),
8995 (gst_mini_object_unref):
8998 2005-08-19 Stefan Kost <ensonic@users.sf.net>
9000 * docs/gst/tmpl/gst.sgml:
9002 eliminate another tmpl file, fix spelling in the long-description
9004 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
9006 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9007 (test_event), (timediff), (gstevents_suite):
9008 Should fix build on 64-bit arch's
9010 2005-08-18 Andy Wingo <wingo@pobox.com>
9012 Make sure that when a pipeline goes to PLAYING, that data has
9013 actually hit the sink.
9015 * check/states/sinks.c (test_sink): A sink that doesn't get any
9016 data shouldn't return SUCCESS for going to either PLAYING or
9017 PAUSED. Test also the return values on the way back down.
9019 * gst/gstelement.c (gst_element_set_state): When changing the
9020 state of an element currently changing state asynchronously, go to
9021 lost-state after commiting the pending state. Makes future calls
9022 to get_state continue to return ASYNC.
9024 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9025 ASYNC when going to PLAYING if we still don't have preroll, as can
9026 happen with live sources.
9028 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
9030 * docs/pwg/advanced-types.xml:
9031 Hack long paragraph into 2 chunks as a workaround for buggy
9032 jadetex version in sid and breezy that loops infinitely and
9035 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
9037 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9038 (test_event), (timediff), (gstevents_suite):
9039 Provide more error margin in clock measurements to allow for
9040 g_get_current_time inaccuracies.
9042 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
9044 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9045 (test_event), (timediff), (gstevents_suite):
9046 Fix error message output so I might be able to tell why the
9047 test works here but fails on the build farm.
9049 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
9051 * check/Makefile.am:
9052 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9053 (test_event), (timediff), (gstevents_suite), (main):
9056 * docs/design/part-seeking.txt:
9059 * docs/gst/tmpl/gstevent.sgml:
9060 * docs/gst/tmpl/gstfakesrc.sgml:
9063 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9064 Treat a buffer-without-newsegment the same as a receiving
9065 a newsegment not in time format, and disable syncing to the clock
9068 * gst/gstbus.c: (gst_bus_set_sync_handler):
9069 Assert if anyone tries to replace the existing sync_handler for bus,
9070 as only the owner should be setting it.
9073 Have a fixed set of custom event enums with events identified by
9074 their structure name (as in 0.8), rather than a free-for-all
9075 allowing collisions between enum values from different plugins.
9077 * gst/gstpad.c: (gst_pad_class_init):
9080 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9081 Handle out-of-band downstream events from the sending thread.
9083 2005-08-17 Andy Wingo <wingo@pobox.com>
9085 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9086 play-timeout==0 to mean no timeout at all. In that case, don't
9087 bother with a get_state or a warning, just return directly, even
9090 * gst/base/gstbasetransform.c: Debug changes.
9093 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9094 ensure bins post state change messages. A bit of a hack but I can't
9095 think of a way to avoid it.
9097 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9099 2005-08-16 Andy Wingo <wingo@pobox.com>
9101 * gst/base/gstadapter.h:
9102 * gst/base/gstadapter.c (gst_adapter_take): New function, like
9103 peek() but you own the data. Not terribly efficient atm.
9105 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9107 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9108 (gst_element_found_tags):
9110 Add two utility functions for tag handling.
9112 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9114 * docs/manual/advanced-dataaccess.xml:
9115 * docs/manual/basics-helloworld.xml:
9116 Fix docs to use _bin_add() before _link(), which fixes the examples
9117 with recent core versions (reported by Madhan Raj M
9118 <raj_madan@rediffmail.com>, #313199).
9120 2005-08-16 Wim Taymans <wim@fluendo.com>
9122 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9123 Added subtract checks.
9125 * docs/design/part-events.txt:
9126 Some more docs about newsegment
9128 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9131 * gst/gstcaps.c: (gst_caps_to_string):
9132 Add comments, cleanups.
9134 * gst/gstelement.c: (gst_element_save_thyself):
9137 * gst/gstvalue.c: (gst_value_collect_int_range),
9138 (gst_string_unwrap), (gst_value_union_int_int_range),
9139 (gst_value_union_int_range_int_range),
9140 (gst_value_intersect_int_int_range),
9141 (gst_value_intersect_int_range_int_range),
9142 (gst_value_intersect_double_double_range),
9143 (gst_value_intersect_double_range_double_range),
9144 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9145 (gst_value_subtract_int_range_int),
9146 (gst_value_subtract_double_range_double),
9147 (gst_value_subtract_double_range_double_range),
9148 (gst_value_subtract_from_list), (gst_value_subtract_list),
9149 (gst_value_can_compare), (gst_value_compare_fraction):
9150 Cleanups, add comments, remove unneeded asserts.
9152 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
9154 * tools/gst-launch.c: (event_loop):
9155 don't convert NULL structures to strings
9157 2005-08-15 Stefan Kost <ensonic@users.sf.net>
9159 * docs/gst/gstreamer-sections.txt:
9160 made some defines private
9161 * docs/gst/tmpl/gstconfig.sgml:
9162 * docs/gst/tmpl/gstqueue.sgml:
9163 * docs/gst/tmpl/gsttaglist.sgml:
9164 * docs/gst/tmpl/gsttypes.sgml:
9165 * docs/gst/tmpl/gstutils.sgml:
9166 * docs/pwg/appendix-porting.xml:
9167 * gst/base/gstbasesink.h:
9168 * gst/base/gstbasesrc.c:
9169 * gst/base/gstbasesrc.h:
9170 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9171 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9172 * gst/gstelement.c: (gst_element_class_init):
9173 * gst/gstpad.c: (gst_pad_class_init):
9174 * gst/gstqueue.c: (gst_queue_class_init):
9175 * gst/gstxml.c: (gst_xml_class_init):
9176 documented all undocumented signal inline
9177 * libs/gst/controller/gst-controller.h:
9180 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9182 * docs/pwg/appendix-porting.xml:
9183 Document _set_link_function -> _set_setcaps_function.
9185 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
9187 * check/Makefile.am:
9188 add a .check target for running the check
9189 * check/gst-libs/controller.c: (GST_START_TEST):
9191 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9192 complete checks for gstbuffer; would be nice if I could get the
9193 gcov stuff to work so I can see if I actually completed gstbuffer.c
9195 add ASSERT_BUFFER_REFCOUNT
9197 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
9199 * docs/gst/gstreamer-sections.txt:
9200 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9202 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9203 spew out a warning if a tag that is already registered
9204 is re-registered, unless it is re-registered with a
9205 different type (#308438).
9207 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
9209 * docs/pwg/appendix-porting.xml:
9210 * docs/pwg/building-state.xml:
9211 Add some paragraphs about state changes in 0.9 to the PWG
9212 and the porting guide, in particular about the new meaning
9213 of GST_STATE_PAUSED and how to write state change functions
9214 with concurrent access by multiple threads in mind.
9216 2005-08-11 Stefan Kost <ensonic@users.sf.net>
9218 * docs/gst/gstreamer-docs.sgml:
9219 * docs/libs/gstreamer-libs-docs.sgml:
9220 added deprecation and since indexes
9221 * libs/gst/controller/gst-controller.c:
9222 * libs/gst/controller/gst-helper.c:
9226 2005-08-11 Wim Taymans <wim@fluendo.com>
9228 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9229 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9230 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9231 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9232 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9233 (gst_ghost_pad_set_target):
9234 Actually implement (re)setting the target on a ghostpad
9235 as described in the docs.
9237 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
9239 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9240 Check whether GST_DEBUG_NO_COLOR environment variable is
9241 set and disable coloured debug output if that is the case.
9243 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
9245 * gst/base/gsttypefindhelper.c: (helper_find_peek),
9246 (gst_type_find_helper):
9247 The memory returned by gst_type_find_peek() needs to
9248 stay valid until the end of a typefind function, and
9249 typefind functions may keep results from different
9250 offsets around, so we can't just unref the buffer from
9251 the previous _peek(), but have to save all buffers
9252 returned by _peek() until typefinding is done and only
9255 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
9257 * docs/gst/gstreamer-sections.txt:
9259 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9261 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9263 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9264 Fix a pretty good memleak.
9266 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
9268 * gst/gstiterator.h:
9269 Fix wrong include and 'make distcheck'.
9271 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9273 * gst/gstbin.c: (bin_bus_handler):
9274 Use gst_element_post_message() instead.
9276 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
9278 * gst/base/gstadapter.h:
9279 * gst/base/gstbasesink.h:
9280 * gst/base/gstbasesrc.h:
9281 * gst/base/gstbasetransform.h:
9282 * gst/base/gstcollectpads.h:
9283 * gst/base/gstpushsrc.h:
9284 * gst/gstiterator.h:
9285 Add padding to our base elements' class and instance structs and
9286 to GstIterator (you will need to rebuild all plugins and apps!)
9288 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9290 * gst/gstbin.c: (bin_bus_handler):
9291 Make default message forwarding from child->bus to bin->bus
9292 threadsafe and make it not emit warnings if the parent has no bus.
9294 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9296 * gst/gstelement.c: (activate_pads):
9297 On paused->ready, set pad->caps to NULL, as is the documented
9298 behaviour in this state change. Fixes playback of series of
9299 media files when visualization is enabled in Totem.
9301 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9303 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9304 Allow NULL as filter-caps (which means "any").
9306 2005-08-05 Stefan Kost <ensonic@users.sf.net>
9308 * docs/libs/gstreamer-libs-sections.txt:
9309 * libs/gst/controller/gst-controller.c:
9310 * libs/gst/controller/gst-controller.h:
9311 * libs/gst/controller/gst-helper.c:
9312 adding more entries to the docs and fix small doc-bugs
9314 2005-08-05 Stefan Kost <ensonic@users.sf.net>
9316 * docs/gst/gstreamer-docs.sgml:
9317 * docs/gst/gstreamer-sections.txt:
9318 * docs/gst/gstreamer.types:
9319 * docs/gst/tmpl/gstbasesink.sgml:
9320 * docs/gst/tmpl/gstbasesrc.sgml:
9321 * docs/gst/tmpl/gstbasetransform.sgml:
9322 * docs/gst/tmpl/gstfakesrc.sgml:
9323 * gst/base/gstcollectpads.c:
9324 * gst/base/gstcollectpads.h:
9325 * libs/gst/controller/gst-controller.c:
9326 * libs/gst/controller/gst-controller.h:
9327 * libs/gst/controller/gst-helper.c:
9328 * libs/gst/controller/gst-interpolation.c:
9329 * libs/gst/controller/lib.c:
9330 added long/short desc for controller docs
9331 added collectpads base class docs
9332 added correct includes to base-class docs
9334 2005-08-05 Stefan Kost <ensonic@users.sf.net>
9336 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9337 (gst_test_mono_source_set_property),
9338 (gst_test_mono_source_class_init), (GST_START_TEST),
9339 (gst_controller_suite):
9340 * docs/gst/gstreamer-docs.sgml:
9341 * docs/gst/gstreamer-sections.txt:
9342 * docs/gst/gstreamer.types:
9343 * docs/libs/gstreamer-libs-docs.sgml:
9344 * docs/libs/gstreamer-libs-sections.txt:
9345 * gst/base/gstadapter.c:
9346 * libs/gst/controller/gst-controller.c:
9347 (gst_controlled_property_new), (gst_controlled_property_free),
9348 (gst_controller_new_valist),
9349 (gst_controller_remove_properties_valist),
9350 (gst_controller_sink_values), (_gst_controller_finalize):
9351 * libs/gst/controller/gst-controller.h:
9352 * libs/gst/controller/gst-helper.c:
9353 (gst_object_control_properties), (gst_object_uncontrol_properties),
9354 (gst_object_get_controller), (gst_object_set_controller),
9355 (gst_object_sink_values), (gst_object_get_value_arrays),
9356 (gst_object_get_value_array):
9357 more tests (and fixes) for the controller
9358 more docs for the controller
9359 integrated companies docs for the adapter
9361 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
9363 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9364 (GST_START_TEST), (fakesrc_suite):
9365 add tests for sizetype
9367 2005-08-04 Andy Wingo <wingo@pobox.com>
9369 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9370 fixes buffer_alloc proxying among other things.
9372 * gst/base/gstbasetransform.c:
9373 * gst/base/gstbasetransform.h:
9374 Revert patch to gstbasetransform from 7-28 removing
9377 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9378 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9379 Semantics changed, should return not the size of the output buffer
9380 but the byte size of a buffer with a given caps.
9382 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9384 (gst_base_transform_configure_caps): Don't set out_size here: (in,
9385 out) are not the pad caps until setcaps finishes.
9386 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9387 not-in-place case as well. Deal with changing from in-place to
9388 not-in-place within calling pad_alloc_buffer. Still a bit
9389 concerned about the overhead here...
9391 2005-08-03 Andy Wingo <wingo@pobox.com>
9393 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9394 fixating is an error.
9396 2005-08-04 Edward Hervey <edward@fluendo.com>
9398 * gst/base/gstadapter.h:
9399 Added gst_adapter_get_type() to the header
9401 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9403 * check/Makefile.am:
9404 * check/gst-libs/controller.c:
9405 * libs/gst/controller/gst-controller.c:
9406 (gst_controller_new_valist):
9407 added check test suite for the controller
9408 * gst/base/gstpushsrc.c:
9411 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9413 * docs/gst/Makefile.am:
9414 * docs/gst/gstreamer-docs.sgml:
9415 * docs/gst/gstreamer-sections.txt:
9416 * docs/gst/gstreamer.types:
9417 * docs/gst/tmpl/gstfakesrc.sgml:
9419 * gst/base/gstbasesink.c:
9420 * gst/base/gstbasesink.h:
9421 * gst/base/gstbasesrc.c:
9422 * gst/base/gstbasesrc.h:
9423 * gst/base/gstbasetransform.c:
9424 * gst/base/gstpushsrc.c:
9425 * gst/base/gstpushsrc.h:
9426 add short/long description docs to base classes
9427 add pushsrc to the docs
9428 remove consolidated doc fragments
9430 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9433 * docs/libs/Makefile.am:
9434 * docs/libs/gstreamer-libs-docs.sgml:
9435 * docs/libs/gstreamer-libs-sections.txt:
9436 * docs/libs/gstreamer-libs.types:
9437 * examples/Makefile.am:
9438 * examples/controller/.cvsignore:
9439 * examples/controller/Makefile.am:
9440 * examples/controller/audio-example.c: (main):
9441 * libs/gst/Makefile.am:
9442 * libs/gst/controller/.cvsignore:
9443 * libs/gst/controller/Makefile.am:
9444 * libs/gst/controller/gst-controller.c:
9445 (on_object_controlled_property_changed), (gst_timed_value_compare),
9446 (gst_timed_value_find),
9447 (gst_controlled_property_set_interpolation_mode),
9448 (gst_controlled_property_new), (gst_controlled_property_free),
9449 (gst_controller_find_controlled_property),
9450 (gst_controller_new_valist), (gst_controller_new),
9451 (gst_controller_remove_properties_valist),
9452 (gst_controller_remove_properties), (gst_controller_set),
9453 (gst_controller_set_from_list), (gst_controller_unset),
9454 (gst_controller_get), (gst_controller_get_all),
9455 (gst_controller_sink_values), (gst_controller_get_value_arrays),
9456 (gst_controller_get_value_array),
9457 (gst_controller_set_interpolation_mode),
9458 (_gst_controller_finalize), (_gst_controller_init),
9459 (_gst_controller_class_init), (gst_controller_get_type):
9460 * libs/gst/controller/gst-controller.h:
9461 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9462 (g_object_uncontrol_properties), (g_object_get_controller),
9463 (g_object_set_controller), (g_object_sink_values),
9464 (g_object_get_value_arrays), (g_object_get_value_array):
9465 * libs/gst/controller/gst-interpolation.c:
9466 (gst_controlled_property_find_timed_value_node),
9467 (interpolate_none_get), (interpolate_trigger_get),
9468 (interpolate_trigger_get_value_array):
9469 * libs/gst/controller/lib.c: (gst_controller_init):
9470 * pkgconfig/Makefile.am:
9471 * pkgconfig/gstreamer-control-uninstalled.pc.in:
9472 * pkgconfig/gstreamer-control.pc.in:
9473 * testsuite/Makefile.am:
9474 * testsuite/controller/.cvsignore:
9475 * testsuite/controller/Makefile.am:
9476 * testsuite/controller/interpolator.c: (main):
9477 added controller code
9478 removed dparam pc files
9480 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
9481 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9482 (gst_collectpads_stop):
9483 Broadcast the condition when shutting down, to make sure we wake all
9484 threads up. Shut down pads on finalize, for safety.
9486 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
9487 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9488 (gst_base_transform_handle_buffer),
9489 (gst_base_transform_change_state):
9490 Handle PAUSED->READY->PAUSED transition after negotiation
9492 * gst/gstmessage.c: (gst_message_init):
9493 Extra piece of debug for new messages.
9495 2005-08-01 Stefan Kost <ensonic@users.sf.net>
9498 * docs/gst/tmpl/gstbasesrc.sgml:
9499 * docs/gst/tmpl/gstelement.sgml:
9500 * docs/gst/tmpl/gstevent.sgml:
9501 * docs/gst/tmpl/gstfakesrc.sgml:
9502 * docs/gst/tmpl/gstformat.sgml:
9503 * docs/gst/tmpl/gstghostpad.sgml:
9504 * docs/gst/tmpl/gstpad.sgml:
9505 * docs/gst/tmpl/gstquery.sgml:
9506 * docs/gst/tmpl/gststructure.sgml:
9507 * docs/gst/tmpl/gsttaglist.sgml:
9508 * docs/gst/tmpl/gstvalue.sgml:
9509 * docs/libs/gstreamer-libs-docs.sgml:
9510 * docs/libs/gstreamer-libs-sections.txt:
9511 * docs/libs/gstreamer-libs.types:
9512 * libs/gst/Makefile.am:
9513 * libs/gst/control/.cvsignore:
9514 * libs/gst/control/Makefile.am:
9515 * libs/gst/control/control.c:
9516 * libs/gst/control/control.h:
9517 * libs/gst/control/dparam.c:
9518 * libs/gst/control/dparam.h:
9519 * libs/gst/control/dparam_smooth.c:
9520 * libs/gst/control/dparam_smooth.h:
9521 * libs/gst/control/dparamcommon.h:
9522 * libs/gst/control/dparammanager.c:
9523 * libs/gst/control/dparammanager.h:
9524 * libs/gst/control/dplinearinterp.c:
9525 * libs/gst/control/dplinearinterp.h:
9526 * libs/gst/control/unitconvert.c:
9527 * libs/gst/control/unitconvert.h:
9528 * testsuite/Makefile.am:
9529 * testsuite/dynparams/.cvsignore:
9530 * testsuite/dynparams/Makefile.am:
9531 * testsuite/dynparams/dparamstest.c:
9532 * tools/Makefile.am:
9533 * tools/gst-inspect.c: (print_element_info), (main):
9534 * tools/gst-xmlinspect.c: (print_element_info), (main):
9535 deactivate and remove dparams (libgstcontrol)
9537 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9539 * gst/elements/gsttypefindelement.c:
9540 (gst_type_find_element_have_type), (gst_type_find_element_init),
9541 (stop_typefinding), (gst_type_find_element_handle_event),
9542 (gst_type_find_element_chain), (gst_type_find_element_getrange):
9543 * gst/elements/gsttypefindelement.h:
9544 Set caps on all outgoing buffers, not just the first one.
9546 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9548 * gst/elements/gsttypefindelement.c:
9549 (gst_type_find_element_have_type),
9550 (gst_type_find_element_check_set_buffer_caps),
9551 (gst_type_find_element_init), (stop_typefinding),
9552 (gst_type_find_element_handle_event),
9553 (gst_type_find_element_chain), (gst_type_find_element_getrange):
9554 * gst/elements/gsttypefindelement.h:
9555 Set caps on first outgoing buffer when we've found the type.
9557 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9559 * docs/gst/gstreamer-docs.sgml:
9560 * docs/gst/gstreamer-sections.txt:
9561 * docs/gst/tmpl/gstscheduler.sgml:
9562 * docs/gst/tmpl/gstschedulerfactory.sgml:
9563 Remove some old cruft from docs.
9565 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
9568 Fix inline docs for GstPadLinkReturn.
9570 * gst/gststructure.c: (gst_structure_has_name):
9571 * gst/gststructure.h:
9572 * docs/gst/gstreamer-sections.txt:
9573 New API: gst_structure_has_name().
9575 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
9578 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9579 and _LARGEFILE_SOURCE in config.h as required. Do not
9580 export those flags in our .pc files any longer (#142209).
9582 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9584 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9585 (gst_file_sink_do_seek), (gst_file_sink_event),
9586 (gst_file_sink_get_current_offset), (gst_file_sink_render):
9587 Redo seek/tell calls with large file support in mind; add some
9588 debugging messages; add log message that tells us when large
9589 file support is unavailable or not enabled for some reason.
9591 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9592 Add log message that tells us when large file support
9593 is unavailable or not enabled for some reason.
9595 2005-07-29 Wim Taymans <wim@fluendo.com>
9597 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9598 Added test for removing an element with ghostpad from a bin.
9599 Fixed test as current implementation does the right thing.
9601 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9602 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9603 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9604 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9605 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9606 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9607 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9608 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9609 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9610 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9611 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9612 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9613 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9614 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9615 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9616 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9617 * gst/gstghostpad.h:
9618 Clean up ghostpads, remove properties for internal stuff.
9621 Prepare for switching targets, not all use cases work yet.
9623 2005-07-29 Wim Taymans <wim@fluendo.com>
9625 * docs/design/part-gstghostpad.txt:
9628 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9629 (gst_bin_remove_func):
9630 Unlinking pads while holding the bin LOCK is not a good
9633 * gst/gstpad.c: (gst_pad_class_init),
9634 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9635 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9636 No prob setting template after creating the pad.
9638 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
9640 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9641 (gst_bus_peek), (gst_bus_source_dispatch),
9642 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9643 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9644 gst_bus_poll may be called from other threads. Handle
9645 this nicely by not making poll_data disappear off the
9646 stack once gst_bus_poll returns.
9647 gst_bus_peek now increments the refcount on the returned
9650 2005-07-29 Wim Taymans <wim@fluendo.com>
9652 * docs/design/part-gstghostpad.txt:
9653 Overview of current GhostPad datastructures and use
9654 cases for changing the target.
9656 2005-07-28 Wim Taymans <wim@fluendo.com>
9658 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9659 Added checks for hierarchy consistency whan adding linked
9662 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9663 Added check to test element scheduling without bin/pipeline.
9665 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9666 First add elements to bin, then link.
9668 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9669 (gst_bin_remove_func):
9670 Unlink pads from elements added/removed from bin to maintain
9671 hierarchy consistency.
9673 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9675 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9676 (gst_base_transform_handle_buffer):
9677 * gst/base/gstbasetransform.h:
9678 Remove broken delay_configure (fixes renegotiation of software
9679 scaling pipelines); remove some leftover printf()s.
9681 2005-07-28 Wim Taymans <wim@fluendo.com>
9683 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9684 Added some more tests for wrong hierarchy
9686 * docs/design/part-overview.txt:
9689 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9692 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9693 (gst_element_dispose):
9696 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9697 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9698 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9699 (gst_pad_set_caps), (gst_pad_send_event):
9700 Check for correct hierarchy when linking pads. Moving to
9701 strict requirement for ghostpads when linking elements in
9705 Clean ups. Added WRONG_HIERARCHY return value.
9707 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9709 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9710 Better debug if no transform is possible.
9712 2005-07-27 Wim Taymans <wim@fluendo.com>
9714 * docs/random/wtay/network-transp:
9717 2005-07-27 Wim Taymans <wim@fluendo.com>
9719 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9720 (gst_dp_event_from_packet):
9721 Fix serialization of seek events.
9723 2005-07-27 Wim Taymans <wim@fluendo.com>
9725 * check/gst-libs/gdp.c: (GST_START_TEST):
9726 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9727 Fix compilation and fix event serialization.
9729 2005-07-27 Wim Taymans <wim@fluendo.com>
9732 * docs/design/part-TODO.txt:
9733 * docs/design/part-events.txt:
9736 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9737 (gst_base_sink_event), (gst_base_sink_do_sync),
9738 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9739 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9740 (gst_base_src_do_seek), (gst_base_src_event_handler),
9741 (gst_base_src_loop):
9742 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9743 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9744 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9745 (gst_base_transform_event), (gst_base_transform_handle_buffer),
9746 (gst_base_transform_set_passthrough),
9747 (gst_base_transform_is_passthrough):
9748 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9749 * gst/elements/gstfilesink.c: (gst_file_sink_event):
9755 * gst/gstelement.c: (gst_element_seek):
9757 Update gst_element_seek.
9759 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9760 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9761 (gst_event_new_flush_start), (gst_event_new_flush_stop),
9762 (gst_event_new_eos), (gst_event_new_newsegment),
9763 (gst_event_parse_newsegment), (gst_event_new_tag),
9764 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9765 (gst_event_parse_qos), (gst_event_new_seek),
9766 (gst_event_parse_seek), (gst_event_new_navigation):
9768 Make GstEvent use GstStructure. Add parsing code, make sure the
9769 API is sufficiently generic.
9770 Mark possible directions of events and serialization.
9772 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9773 (_gst_message_copy), (gst_message_new_segment_start),
9774 (gst_message_new_segment_done), (gst_message_new_custom),
9775 (gst_message_parse_segment_start),
9776 (gst_message_parse_segment_done):
9779 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9780 (gst_pad_set_caps), (gst_pad_send_event):
9781 Update for new events.
9782 Catch events sent in wrong directions.
9784 * gst/gstqueue.c: (gst_queue_link_src),
9785 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9786 (gst_queue_handle_src_query):
9791 Remove event code from this file.
9793 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9794 (gst_dp_event_from_packet):
9797 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9799 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9800 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9801 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9802 Make debugging actually useful.
9804 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9806 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9807 (gst_pad_fixate_caps):
9808 Implement default fixation once again, so that gst_pad_fixate()
9809 actually does anything at all. This probably needs to be some
9810 sort of a last resort, and use profile-based fixation first, but
9811 since that doesn't exist yet, this is the best we have. Fixes
9812 visualization in Totem.
9814 2005-07-22 Wim Taymans <wim@fluendo.com>
9816 * docs/design/part-events.txt:
9819 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9820 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9821 (gst_base_sink_activate_pull):
9824 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9825 (gst_fake_src_create):
9826 Fix handoff marshall.
9828 * gst/elements/gstidentity.c: (gst_identity_class_init),
9829 (gst_identity_transform_ip):
9830 We're a real inplace element.
9832 * gst/gstbus.c: (gst_bus_post):
9833 Added some comments.
9835 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9836 * tests/muxing/case1.c: (main):
9837 * tests/sched/dynamic-pipeline.c: (main):
9838 * tests/sched/interrupt1.c: (main):
9839 * tests/sched/interrupt2.c: (main):
9840 * tests/sched/interrupt3.c: (main):
9841 * tests/sched/runxml.c: (main):
9842 * tests/sched/sched-stress.c: (main):
9843 * tests/seeking/seeking1.c: (event_received), (main):
9844 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9846 * tests/threadstate/threadstate3.c: (main):
9847 * tests/threadstate/threadstate4.c: (main):
9848 * tests/threadstate/threadstate5.c: (main):
9851 2005-07-21 Wim Taymans <wim@fluendo.com>
9853 * docs/design/part-seeking.txt:
9854 Some small additions.
9856 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9857 (gst_base_sink_get_times), (gst_base_sink_do_sync),
9858 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9859 * gst/base/gstbasesink.h:
9860 discont values are gint64, handle the math correctly.
9862 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9863 Make the basesrc report error if the source pad is not linked.
9865 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9866 (gst_queue_loop), (gst_queue_handle_src_query),
9867 (gst_queue_src_activate_push):
9868 Make queue collect data even if the srcpad is not linked.
9869 Start pushing out data as soon as it is linked.
9871 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9873 Added gst_flow_get_name() to ease error reporting.
9875 2005-07-20 Wim Taymans <wim@fluendo.com>
9877 * gst/gstmessage.c: (gst_message_new_segment_start),
9878 (gst_message_new_segment_done), (gst_message_parse_segment_start),
9879 (gst_message_parse_segment_done):
9881 Added a bunch of messages for advanced seeking.
9883 * gst/parse/grammar.y:
9884 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9885 (gst_dpman_state_changed):
9886 Fix some new-pad -> pad-added signals
9888 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9890 * docs/manual/appendix-porting.xml:
9891 * docs/pwg/appendix-porting.xml:
9892 Document new-pad/state-change signal renames and the FixedList
9895 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9897 * docs/manual/advanced-autoplugging.xml:
9898 * docs/manual/basics-helloworld.xml:
9899 * docs/manual/basics-pads.xml:
9900 * docs/random/ds/0.9-suggested-changes:
9901 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9906 * gst/gststructure.c: (gst_structure_value_get_generic_type),
9907 (gst_structure_parse_array), (gst_structure_parse_value):
9908 * gst/gstvalue.c: (gst_type_is_fixed),
9909 (gst_value_list_prepend_value), (gst_value_list_append_value),
9910 (gst_value_list_get_size), (gst_value_list_get_value),
9911 (gst_value_transform_array_string), (gst_value_serialize_array),
9912 (gst_value_deserialize_array), (gst_value_intersect_array),
9913 (gst_value_is_fixed), (_gst_value_initialize):
9915 GstElement::new-pad -> pad-added, GstElement::state-change ->
9916 state-changed, GstValueFixedList -> GstValueArray, add format and
9917 flags as their own arguments in gst_element_seek() (should improve
9918 "bindeability"), remove function generators since they don't work
9919 under a whole bunch of compilers (they were deprecated already
9922 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9924 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9925 (_gst_debug_register_funcptr):
9927 Fix illegal cast on some platforms (#309253).
9929 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9931 * gst/gstmessage.c: (gst_message_new_custom):
9933 Add _new_custom, make _new_application a macro to _new_custom.
9935 2005-07-20 Wim Taymans <wim@fluendo.com>
9937 * gst/base/gstbasesrc.c: (gst_base_src_init),
9938 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9939 * gst/base/gstbasesrc.h:
9940 Add a gboolean to decide when to push out a discont.
9942 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9943 (gst_queue_loop), (gst_queue_handle_src_query),
9944 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9945 (gst_queue_set_property), (gst_queue_get_property):
9948 * tests/threadstate/threadstate1.c: (main):
9949 Make a thread test compile and run... very silly..
9952 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9954 * docs/manual/appendix-porting.xml:
9955 Mention removal of libgstgconf-0.9.la and existence of gconf
9958 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9960 * docs/pwg/advanced-clock.xml:
9961 * docs/pwg/appendix-porting.xml:
9962 * docs/pwg/intro-preface.xml:
9963 * docs/pwg/other-base.xml:
9964 * docs/pwg/other-manager.xml:
9965 * docs/pwg/other-nton.xml:
9966 * docs/pwg/other-ntoone.xml:
9967 * docs/pwg/other-oneton.xml:
9969 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9970 demuxer), remove n-to-n (was never written), fix some code examples
9971 and links and update the porting section to include all this.
9973 2005-07-19 Wim Taymans <wim@fluendo.com>
9975 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9976 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9977 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9978 (gst_queue_src_activate_push), (gst_queue_change_state),
9979 (gst_queue_get_property):
9981 Propagate GstFlowReturn more intelligently upstream and output
9982 an ERROR/EOS when streaming stopped due to fatal error.
9984 2005-07-19 Wim Taymans <wim@fluendo.com>
9986 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9987 Don't block forever for the state change to complete, the
9988 pipeline already did with a sensible timeout.
9990 2005-07-19 Wim Taymans <wim@fluendo.com>
9992 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9993 Make sure we never call the create function is we
9996 2005-07-19 Andy Wingo <wingo@pobox.com>
9998 * gst/parse/parse.l: Attempt to solve bug #172815.
10000 2005-07-19 Wim Taymans <wim@fluendo.com>
10002 * docs/design/part-clocks.txt:
10003 * docs/design/part-events.txt:
10004 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10005 Small docs updates.
10006 Only update the seeking values when we are not
10009 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
10011 * gst/base/gstbasesrc.c: (gst_base_src_loop):
10012 Oops, ignore the result of gst_pad_push_event here.
10014 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
10016 * gst/base/gstbasesrc.c: (gst_base_src_loop),
10017 (gst_base_src_activate_push):
10018 Send discont event from the loop function, as pads
10019 aren't activated yet in the activate_push handler.
10021 * gst/gstbin.c: (bin_bus_handler):
10022 Don't leak element name.
10024 2005-07-18 Andy Wingo <wingo@pobox.com>
10026 * configure.ac: Use AS_LIBTOOL_TAGS.
10028 2005-07-18 Wim Taymans <wim@fluendo.com>
10030 * docs/gst/gstreamer.types:
10031 Remove deleted types.
10033 2005-07-18 Wim Taymans <wim@fluendo.com>
10035 * check/elements/gstfakesrc.c: (GST_START_TEST):
10038 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10039 (init_popt_callback):
10041 * gst/gst_private.h:
10042 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10043 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10046 * gst/gstconfig.h.in:
10047 * gst/gstelement.c: (gst_element_class_init),
10048 (gst_element_set_base_time), (gst_element_get_base_time),
10049 (iterator_fold_with_resync), (gst_element_change_state),
10050 (gst_element_dispose), (gst_element_get_bus):
10051 * gst/gstelement.h:
10052 * gst/gstelementfactory.h:
10053 * gst/gsterror.c: (_gst_core_errors_init):
10056 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10058 * gst/gstinfo.c: (_gst_debug_init):
10059 * gst/gstmessage.c: (_gst_message_copy):
10060 * gst/gstmessage.h:
10061 * gst/gstminiobject.h:
10064 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10065 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10068 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10069 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10070 (gst_pipeline_get_last_stream_time):
10071 * gst/gstpipeline.h:
10072 * gst/gstpluginfeature.h:
10074 * gst/gstscheduler.c:
10075 * gst/gstscheduler.h:
10076 * gst/gststructure.h:
10077 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10078 (gst_task_finalize), (gst_task_func), (gst_task_create),
10079 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10080 (gst_task_stop), (gst_task_pause):
10082 * gst/gsttypefind.h:
10084 * gst/registries/gstlibxmlregistry.c: (load_feature),
10085 (gst_xml_registry_load), (gst_xml_registry_save_feature):
10086 * gst/registries/gstxmlregistry.c:
10087 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10088 * gst/schedulers/threadscheduler.c:
10089 * libs/gst/control/dparammanager.h:
10090 * tools/gst-inspect.c: (print_element_list),
10091 (print_plugin_features), (print_element_features):
10092 * tools/gst-xmlinspect.c: (print_element_list),
10093 (print_plugin_info), (main):
10094 Removed plugable schedulers.
10095 Removed Scheduler/Manager from elements.
10096 Removed gsttypes.h, rearranged includes.
10097 Removed dependency pad<->element, element<>pipeline, and
10098 various others, fix includes.
10099 implement gst_pad_get_parent() with gst_object_get_parent()
10100 Make GstTask sefcontained.
10101 Fix _get_state() on GstBin, it did not return ASYNC with a 0
10103 Fix endless loop in iterator_fold_with_resync.
10106 2005-07-18 Wim Taymans <wim@fluendo.com>
10112 2005-07-18 Wim Taymans <wim@fluendo.com>
10115 No more cothreads.h
10117 2005-07-18 Wim Taymans <wim@fluendo.com>
10121 Let's remove these.
10123 2005-07-18 Wim Taymans <wim@fluendo.com>
10125 * docs/design/part-dynamic.txt:
10126 * docs/design/part-events.txt:
10127 * docs/design/part-seeking.txt:
10128 Some more docs in the works.
10130 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10131 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10132 (gst_base_transform_setcaps), (gst_base_transform_get_size),
10133 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10134 (gst_base_transform_handle_buffer),
10135 (gst_base_transform_sink_activate_push),
10136 (gst_base_transform_src_activate_pull),
10137 (gst_base_transform_set_passthrough),
10138 (gst_base_transform_is_passthrough):
10141 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10144 * gst/gstevent.c: (gst_event_finalize):
10147 * gst/gstutils.c: (gst_element_unlink),
10148 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10149 (gst_pad_proxy_setcaps):
10151 Add _get_parent_element() to get a pads parent as an element.
10153 2005-07-18 Wim Taymans <wim@fluendo.com>
10155 * check/gst/gstbin.c: (GST_START_TEST):
10158 2005-07-18 Wim Taymans <wim@fluendo.com>
10160 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10161 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10162 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10163 (gst_base_sink_event), (gst_base_sink_do_sync),
10164 (gst_base_sink_chain), (gst_base_sink_loop),
10165 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10166 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10168 Fix logic for returning ASYNC when not prerolled.
10170 2005-07-18 Wim Taymans <wim@fluendo.com>
10172 * gst/gstqueue.c: (gst_queue_handle_sink_event):
10173 Fix nasty refcount bug.
10175 2005-07-16 Philippe Khalaf <burger@speedy.org>
10177 * gst/elements/gstfdsrc.c:
10178 * gst/elements/gstfdsrc.h:
10179 * gst/elements/gstelements.c:
10180 * gst/elements/Makefile.am:
10181 Ported fdsrc to 0.9.
10183 2005-07-16 Wim Taymans <wim@fluendo.com>
10185 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10186 (gst_base_sink_do_sync):
10189 2005-07-16 Wim Taymans <wim@fluendo.com>
10191 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10192 (gst_base_sink_event), (gst_base_sink_get_times),
10193 (gst_base_sink_do_sync), (gst_base_sink_change_state):
10194 * gst/base/gstbasesink.h:
10195 Store and use discont values when syncing buffers as described
10198 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10199 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10200 (gst_base_src_activate_push):
10201 Push discont event when starting.
10203 * gst/elements/gstidentity.c: (gst_identity_transform):
10206 * gst/gstbin.c: (gst_bin_change_state):
10207 Small cleanups in base_time distribution.
10209 * gst/gstelement.c: (gst_element_set_base_time),
10210 (gst_element_get_base_time), (gst_element_change_state):
10211 * gst/gstelement.h:
10212 Added methods for the base_time of the element.
10215 * gst/gstpipeline.c: (gst_pipeline_send_event),
10216 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10217 (gst_pipeline_get_last_stream_time):
10218 * gst/gstpipeline.h:
10220 Handle seeking as described in design doc, remove stream_time
10222 Cleanups clock and stream_time selection code. Added accessors
10223 for the stream_time.
10226 2005-07-16 Andy Wingo <wingo@pobox.com>
10228 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10231 2005-07-16 Wim Taymans <wim@fluendo.com>
10233 * check/gst/gstbin.c: (GST_START_TEST):
10234 Make elements silent as the deep_notify refs the
10235 parent, which might make the test fail.
10237 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10238 Don't hold the lock for too long.
10240 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
10242 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10243 Don't unref the caps we passed to gst_caps_make_writable() after
10244 passing them. gst_caps_make_writable() will do that for us.
10246 2005-07-15 Andy Wingo <wingo@pobox.com>
10248 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10251 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10252 own marshalling function for the handoff signal. Properly type the
10253 buffer as a buffer. Fixes some warnings. Should do a more general
10255 (gst_identity_class_init): Plug into the right marshaller.
10257 2005-07-15 Wim Taymans <wim@fluendo.com>
10259 * docs/design/part-TODO.txt:
10260 * docs/design/part-clocks.txt:
10261 * docs/design/part-element-sink.txt:
10262 * docs/design/part-events.txt:
10263 * docs/design/part-gstpipeline.txt:
10264 Updated docs, mostly DISCONT related.
10266 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
10268 * docs/pwg/building-pads.xml:
10269 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10271 2005-07-15 Andy Wingo <wingo@pobox.com>
10273 * tools/gst-typefind.c: Update, add copyright block.
10275 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10276 Normalize and truncate caps before fixation.
10279 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10280 discards all but the first structure from its argument.
10282 2005-07-15 Wim Taymans <wim@fluendo.com>
10284 * gst/base/gstbasetransform.c: (gst_base_transform_init),
10285 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10286 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10287 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10288 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10289 (gst_base_transform_chain), (gst_base_transform_change_state),
10290 (gst_base_transform_set_passthrough),
10291 (gst_base_transform_is_passthrough):
10292 * gst/base/gstbasetransform.h:
10293 Make passthrough work using the bufferpools.
10294 Changed API a bit, subclasses have to write into a buffer
10295 provided by the base class.
10296 More debug info in nego functions.
10298 * gst/elements/gstidentity.c: (gst_identity_init),
10299 (gst_identity_transform):
10300 Port to new base class.
10302 2005-07-15 Wim Taymans <wim@fluendo.com>
10304 * gst/gstmessage.c: (gst_message_new_state_changed):
10305 * tools/gst-launch.c: (event_loop), (main):
10306 Totally dump messages in -launch with the -m option.
10307 Fix message name for State messages,
10309 2005-07-14 Wim Taymans <wim@fluendo.com>
10311 * gst/base/gstbasesrc.c: (gst_base_src_loop):
10312 Post error messages on errors.
10314 2005-07-14 Wim Taymans <wim@fluendo.com>
10316 * gst/gstcaps.c: (gst_caps_do_simplify):
10320 Define error for stream stopped.
10322 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10323 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10324 Do proper return values.
10326 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10327 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10328 (gst_pad_get_range):
10329 Better return values.
10332 Reorganise return values, add macro to check for fatal errors.
10334 * gst/gstqueue.c: (gst_queue_chain):
10335 Return proper GstFlowReturn values,
10337 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
10339 * docs/gst/gstreamer-sections.txt:
10340 * docs/gst/gstreamer.types:
10341 * docs/gst/tmpl/gst.sgml:
10342 * docs/gst/tmpl/gstbasesink.sgml:
10343 * docs/gst/tmpl/gstbasesrc.sgml:
10344 * docs/gst/tmpl/gstbasetransform.sgml:
10345 * docs/gst/tmpl/gstbin.sgml:
10346 * docs/gst/tmpl/gstbuffer.sgml:
10347 * docs/gst/tmpl/gstcaps.sgml:
10348 * docs/gst/tmpl/gstclock.sgml:
10349 * docs/gst/tmpl/gstcompat.sgml:
10350 * docs/gst/tmpl/gstconfig.sgml:
10351 * docs/gst/tmpl/gstelement.sgml:
10352 * docs/gst/tmpl/gstelementdetails.sgml:
10353 * docs/gst/tmpl/gstelementfactory.sgml:
10354 * docs/gst/tmpl/gstenumtypes.sgml:
10355 * docs/gst/tmpl/gsterror.sgml:
10356 * docs/gst/tmpl/gstevent.sgml:
10357 * docs/gst/tmpl/gstfakesink.sgml:
10358 * docs/gst/tmpl/gstfakesrc.sgml:
10359 * docs/gst/tmpl/gstfilesink.sgml:
10360 * docs/gst/tmpl/gstfilesrc.sgml:
10361 * docs/gst/tmpl/gstfilter.sgml:
10362 * docs/gst/tmpl/gstformat.sgml:
10363 * docs/gst/tmpl/gstghostpad.sgml:
10364 * docs/gst/tmpl/gstimplementsinterface.sgml:
10365 * docs/gst/tmpl/gstindex.sgml:
10366 * docs/gst/tmpl/gstindexfactory.sgml:
10367 * docs/gst/tmpl/gstinfo.sgml:
10368 * docs/gst/tmpl/gstiterator.sgml:
10369 * docs/gst/tmpl/gstmacros.sgml:
10370 * docs/gst/tmpl/gstmemchunk.sgml:
10371 * docs/gst/tmpl/gstminiobject.sgml:
10372 * docs/gst/tmpl/gstobject.sgml:
10373 * docs/gst/tmpl/gstpad.sgml:
10374 * docs/gst/tmpl/gstpadtemplate.sgml:
10375 * docs/gst/tmpl/gstparse.sgml:
10376 * docs/gst/tmpl/gstpipeline.sgml:
10377 * docs/gst/tmpl/gstplugin.sgml:
10378 * docs/gst/tmpl/gstpluginfeature.sgml:
10379 * docs/gst/tmpl/gstquery.sgml:
10380 * docs/gst/tmpl/gstqueue.sgml:
10381 * docs/gst/tmpl/gstregistry.sgml:
10382 * docs/gst/tmpl/gstregistrypool.sgml:
10383 * docs/gst/tmpl/gstscheduler.sgml:
10384 * docs/gst/tmpl/gstschedulerfactory.sgml:
10385 * docs/gst/tmpl/gststructure.sgml:
10386 * docs/gst/tmpl/gstsystemclock.sgml:
10387 * docs/gst/tmpl/gsttaglist.sgml:
10388 * docs/gst/tmpl/gsttagsetter.sgml:
10389 * docs/gst/tmpl/gsttrace.sgml:
10390 * docs/gst/tmpl/gsttrashstack.sgml:
10391 * docs/gst/tmpl/gsttypefind.sgml:
10392 * docs/gst/tmpl/gsttypefindfactory.sgml:
10393 * docs/gst/tmpl/gsttypes.sgml:
10394 * docs/gst/tmpl/gsturihandler.sgml:
10395 * docs/gst/tmpl/gsturitype.sgml:
10396 * docs/gst/tmpl/gstutils.sgml:
10397 * docs/gst/tmpl/gstvalue.sgml:
10398 * docs/gst/tmpl/gstversion.sgml:
10399 * docs/gst/tmpl/gstxml.sgml:
10400 * docs/libs/tmpl/gstcontrol.sgml:
10401 * docs/libs/tmpl/gstdataprotocol.sgml:
10402 * docs/libs/tmpl/gstdparam.sgml:
10403 * docs/libs/tmpl/gstdplinint.sgml:
10404 * docs/libs/tmpl/gstdpman.sgml:
10405 * docs/libs/tmpl/gstdpsmooth.sgml:
10406 * docs/libs/tmpl/gstgetbits.sgml:
10407 * docs/libs/tmpl/gstunitconvert.sgml:
10408 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10409 (gst_push_src_base_init), (gst_push_src_class_init),
10410 (gst_push_src_init), (gst_push_src_create):
10411 * gst/base/gstpushsrc.h:
10412 * gst/elements/gstelements.c:
10413 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10414 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10415 (gst_fake_sink_init), (gst_fake_sink_set_property),
10416 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10417 (gst_fake_sink_event), (gst_fake_sink_preroll),
10418 (gst_fake_sink_render), (gst_fake_sink_change_state):
10419 * gst/elements/gstfakesink.h:
10420 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10421 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10422 (gst_fake_src_base_init), (gst_fake_src_class_init),
10423 (gst_fake_src_init), (gst_fake_src_event_handler),
10424 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10425 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10426 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10427 (gst_fake_src_create_buffer), (gst_fake_src_create),
10428 (gst_fake_src_start), (gst_fake_src_stop):
10429 * gst/elements/gstfakesrc.h:
10430 * gst/elements/gstfilesink.c: (_do_init),
10431 (gst_file_sink_base_init), (gst_file_sink_class_init),
10432 (gst_file_sink_init), (gst_file_sink_dispose),
10433 (gst_file_sink_set_location), (gst_file_sink_set_property),
10434 (gst_file_sink_get_property), (gst_file_sink_open_file),
10435 (gst_file_sink_close_file), (gst_file_sink_query),
10436 (gst_file_sink_event), (gst_file_sink_render),
10437 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10438 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10439 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10440 * gst/elements/gstfilesink.h:
10441 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10442 (gst_file_src_class_init), (gst_file_src_init),
10443 (gst_file_src_finalize), (gst_file_src_set_location),
10444 (gst_file_src_set_property), (gst_file_src_get_property),
10445 (gst_file_src_map_region), (gst_file_src_map_small_region),
10446 (gst_file_src_create_mmap), (gst_file_src_create_read),
10447 (gst_file_src_create), (gst_file_src_is_seekable),
10448 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10449 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10450 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10451 (gst_file_src_uri_handler_init):
10452 * gst/elements/gstfilesrc.h:
10453 more autistic cleanliness in functions/names/defines
10455 2005-07-13 Andy Wingo <wingo@pobox.com>
10457 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10458 source couldn't negotiate.
10460 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10464 * gst/gstutils.c (gst_element_link_pads_filtered): New old
10465 function. I am channeling Hades. Put your boots on suckers!!!
10467 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10469 * testsuite/caps/Makefile.am:
10470 * testsuite/caps/value_compare.c:
10471 * testsuite/caps/value_intersect.c:
10472 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10473 move two testsuite apps over to the check dir
10475 2005-07-12 Wim Taymans <wim@fluendo.com>
10477 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10478 Added more debug info in the negotiate process.
10480 * gst/gstmessage.h:
10481 Prepare for segment playback.
10483 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10489 * tools/gst-launch.c: (main):
10490 NULL pipeline on errors.
10492 2005-07-12 Andy Wingo <wingo@pobox.com>
10494 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10495 not it comes from a malloc region. Make sure our copy gets freed.
10497 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10499 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10500 * check/gst/gstmessage.c: (GST_START_TEST):
10501 * check/gst/gststructure.c: (GST_START_TEST),
10502 (gst_structure_suite), (main):
10504 * gst/gstelement.c: (gst_element_message_full):
10505 clean up GError and debug string now that they get copied
10506 * gst/gstmessage.c: (gst_message_new_error),
10507 (gst_message_new_warning), (gst_message_parse_error),
10508 (gst_message_parse_warning):
10509 use GST_TYPE_G_ERROR for structure_new, and take copies of
10510 arguments, so that we don't mess up refcounting
10512 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10514 * check/Makefile.am:
10515 add per-test valgrind targets
10516 * check/gst-libs/gdp.c: (GST_START_TEST),
10517 (gst_data_protocol_suite), (main):
10520 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10522 * check/Makefile.am:
10523 instate more valgrindable tests
10524 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10525 (GST_START_TEST), (fakesrc_suite):
10526 * check/gst/gstpad.c: (GST_START_TEST):
10527 * check/gst/gststructure.c: (GST_START_TEST):
10529 * docs/gst/tmpl/gstminiobject.sgml:
10530 * gst/gstpad.c: (gst_pad_finalize):
10531 fix the static mutex leak
10533 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10535 * check/Makefile.am:
10536 add two more tests for valgrinding
10537 * check/gst/gstvalue.c: (GST_START_TEST):
10538 test refcount of deserialized buffer, found a leak
10539 * docs/gst/gstreamer-docs.sgml:
10540 * docs/gst/gstreamer-sections.txt:
10541 * docs/gst/gstreamer.types:
10542 * docs/gst/tmpl/gstminiobject.sgml:
10543 add miniobject to docs
10544 * gst/gstminiobject.c:
10546 * gst/gstvalue.c: (gst_value_deserialize_buffer),
10547 (gst_string_unwrap):
10548 fix a hard-to-find invalid write for one of the tests
10549 fix a leak for deserialized buffers
10551 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10553 * docs/pwg/advanced-events.xml:
10554 * docs/pwg/advanced-request.xml:
10555 * docs/pwg/advanced-scheduling.xml:
10556 * docs/pwg/appendix-porting.xml:
10557 * docs/pwg/building-boiler.xml:
10558 * docs/pwg/intro-preface.xml:
10559 * docs/pwg/other-ntoone.xml:
10560 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10561 of example code and explanation for pad activation, loop() and
10562 getrange() functions and a bit more. Remove old comments pointing
10564 * examples/pwg/Makefile.am:
10565 Add loop/getrange examples.
10567 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10570 check for valgrind binary + some fixes
10572 valgrind suppressions for the tests
10573 * check/Makefile.am:
10574 add a valgrind: target that valgrinds the unit tests
10575 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10576 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10577 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10578 * check/gst/gstghostpad.c:
10580 * check/gst/gstdata.c:
10582 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10583 (thread_unref), (gst_mini_object_suite), (main):
10585 * gst/gst.c: (gst_deinit):
10587 add a method to clean up.
10588 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10589 (gst_system_clock_obtain):
10590 allow for disposing the system clock.
10591 * tools/gst-launch.c: (main):
10594 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10596 * docs/gst/tmpl/gstbasesrc.sgml:
10597 * docs/gst/tmpl/gstfakesrc.sgml:
10598 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10599 (gst_base_src_init), (gst_base_src_set_property),
10600 (gst_base_src_get_property), (gst_base_src_get_range),
10601 (gst_base_src_start):
10602 * gst/base/gstbasesrc.h:
10603 add num-buffers property
10604 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10605 (gst_fakesrc_init), (gst_fakesrc_set_property),
10606 (gst_fakesrc_get_property), (gst_fakesrc_create),
10607 (gst_fakesrc_start):
10608 remove num-buffers property
10610 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10612 * docs/gst/gstreamer-sections.txt:
10613 * docs/gst/tmpl/gstbasesink.sgml:
10614 * docs/gst/tmpl/gstbasesrc.sgml:
10615 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10616 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10617 (gst_base_sink_finalize), (gst_base_sink_set_clock),
10618 (gst_base_sink_set_property), (gst_base_sink_get_property),
10619 (gst_base_sink_handle_object), (gst_base_sink_event),
10620 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10621 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10622 (gst_base_sink_loop), (gst_base_sink_deactivate),
10623 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10624 (gst_base_sink_change_state):
10625 * gst/base/gstbasesink.h:
10626 * gst/base/gstbasesrc.h:
10627 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10628 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10629 (gst_filesink_init):
10630 more macro splitting
10632 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10634 * gst/gstelement.c: (gst_element_get_bus):
10636 * tools/gst-launch.c: (check_intr), (event_loop):
10639 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10641 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10644 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10646 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10647 (gst_base_src_finalize):
10648 add finalize method and clean up properly
10649 * gst/gstpipeline.c: (gst_pipeline_dispose):
10652 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10654 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10656 add more things to check
10657 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10658 * gst/gstelement.c:
10661 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10663 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10664 (GST_START_TEST), (fakesrc_suite):
10665 * check/gst-libs/gdp.c: (GST_START_TEST):
10666 * check/gst/gst.c: (GST_START_TEST):
10667 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10668 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10669 * check/gst/gstbus.c: (GST_START_TEST):
10670 * check/gst/gstcaps.c: (GST_START_TEST):
10671 * check/gst/gstdata.c: (GST_START_TEST):
10672 * check/gst/gstelement.c: (GST_START_TEST):
10673 * check/gst/gstghostpad.c: (GST_START_TEST):
10674 * check/gst/gstiterator.c: (GST_START_TEST):
10675 * check/gst/gstmessage.c: (GST_START_TEST):
10676 * check/gst/gstobject.c: (GST_START_TEST):
10677 * check/gst/gstpad.c: (GST_START_TEST):
10678 * check/gst/gststructure.c: (GST_START_TEST):
10679 * check/gst/gstsystemclock.c: (GST_START_TEST),
10680 (gst_systemclock_suite):
10681 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10682 * check/gst/gstvalue.c: (GST_START_TEST):
10683 * check/pipelines/cleanup.c: (GST_START_TEST):
10684 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10685 * check/states/sinks.c: (GST_START_TEST):
10686 * check/gstcheck.c: (gst_check_init):
10687 * check/gstcheck.h:
10688 add debugging category
10689 use GST_START_TEST now, so we add a debug line
10691 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10693 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10694 add test for state change message on a bin
10695 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10697 * gst/gstbin.c: (gst_bin_init):
10698 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10699 * gst/gstelement.c: (gst_element_post_message),
10700 (gst_element_set_state):
10701 * gst/gstelementfactory.c: (gst_element_factory_create):
10702 * gst/gstmessage.c: (gst_message_new):
10703 * gst/gstscheduler.c:
10704 various debugging additions and cleanups
10706 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10708 * check/Makefile.am:
10709 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10711 adding tests for elements
10712 * gst/gstelement.c: (gst_element_dispose):
10714 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10716 * gst/registries/gstlibxmlregistry.c: (load_feature):
10717 plug more leaks. A simple gst_init() now is leakfree, yay.
10719 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10721 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10722 (gst_xml_registry_load):
10723 plug another memleak
10725 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10728 use GST_SET_ERROR_CFLAGS
10729 * docs/faq/cvs.xml:
10730 change to ERROR_CFLAGS
10732 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10735 make GST_ERROR_CFLAGS overridable and re-enable Werror
10736 * docs/faq/cvs.xml:
10737 add a note about error CFLAGS
10738 * docs/gst/tmpl/gstfakesrc.sgml:
10739 * gst/elements/gstfakesrc.c:
10740 comment out some unused code
10741 * gst/gst.c: (split_and_iterate):
10742 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10746 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10748 * common/Makefile.am:
10749 * common/gtk-doc.mak:
10750 * docs/gst/Makefile.am:
10751 factor out gtk-doc.mak
10753 2005-07-07 Wim Taymans <wim@fluendo.com>
10755 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10756 (gst_thread_scheduler_dispose):
10757 Unlock the STREAM_LOCK completely.
10759 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10761 * check/Makefile.am:
10762 * check/elements/.cvsignore:
10763 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10764 (START_TEST), (fakesrc_suite), (main):
10765 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10766 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10767 (gst_fakesrc_create), (gst_fakesrc_start):
10768 * gst/elements/gstfakesrc.h:
10769 adding a first element test
10771 2005-07-07 Andy Wingo <wingo@pobox.com>
10773 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10776 2005-07-07 Wim Taymans <wim@fluendo.com>
10782 2005-07-07 Wim Taymans <wim@fluendo.com>
10784 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10785 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10786 Allow subclasses to implement their own negotiation.
10788 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10790 * docs/design/part-gstbin.txt:
10791 * docs/design/part-gstpipeline.txt:
10792 Update design notes to reflect the movement of
10793 responsibility for bus handling from GstPipeline to
10796 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10799 Remove unnecessary queue2/3/4 examples.
10801 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10803 * examples/Makefile.am:
10804 * examples/helloworld/helloworld.c: (event_loop), (main):
10805 * examples/queue/queue.c: (event_loop), (main):
10806 * examples/queue2/queue2.c: (main):
10807 Update a couple of the examples to work again.
10809 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10810 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10811 Spelling corrections and extra debug.
10813 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10814 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10815 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10817 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10818 (gst_pipeline_change_state):
10819 * gst/gstpipeline.h:
10820 Move the bus handler for children to the GstBin, and create a
10821 separate bus for receiving messages from children to the one the
10822 bus sends 'upwards' on.
10824 2005-07-06 Wim Taymans <wim@fluendo.com>
10827 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10828 (gst_base_sink_handle_object), (gst_base_sink_loop),
10829 (gst_base_sink_change_state):
10830 * gst/base/gstbasesink.h:
10831 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10832 (gst_base_src_init), (gst_base_src_setcaps),
10833 (gst_base_src_getcaps), (gst_base_src_loop),
10834 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10835 (gst_base_src_start), (gst_base_src_change_state):
10836 * gst/base/gstbasesrc.h:
10837 Make basesrc negotiate.
10838 Handle the case where preroll fails in basesink.
10841 2005-07-06 Wim Taymans <wim@fluendo.com>
10843 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10844 Implement the fixate function.
10845 Clean up acceptcaps.
10847 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10849 * docs/pwg/building-filterfactory.xml:
10850 * docs/pwg/pwg.xml:
10851 Remove never-written filter-factory chapter; I'll add the various
10852 base classes to part 4 ("other element types") later on.
10854 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10856 * docs/pwg/advanced-negotiation.xml:
10857 * docs/pwg/building-boiler.xml:
10858 * docs/pwg/building-pads.xml:
10859 * docs/pwg/pwg.xml:
10860 * examples/pwg/Makefile.am:
10861 Add a chapter on caps negotiation, simplify the original code
10862 samples a bit w.r.t. caps negotiation, add link to the advanced
10863 section. Add a bunch of examples showing different use cases of
10864 different types of caps negotiation. Upstream renegotiation isn't
10865 fully documented yet since nobody knows how that works.
10867 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
10869 * check/gst/gstpad.c:
10870 * check/gstcheck.c:
10871 * gst/gstpad.c: (gst_pad_get_internal_links_default):
10872 if pad has no parent, return NULL as list of internal links
10874 2005-07-05 Andy Wingo <wingo@pobox.com>
10876 * gst/elements/gstfilesrc.c:
10877 * gst/elements/gstfakesrc.c:
10878 * gst/base/gstpushsrc.c:
10879 * gst/base/gstbasesrc.h:
10880 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10882 2005-07-05 Stefan Kost <ensonic@users.sf.net>
10885 better report generation target (lcov needs a patch)
10887 2005-07-05 Andy Wingo <wingo@pobox.com>
10889 * gst/elements, testsuite: Null if we got it...
10891 2005-07-05 Wim Taymans <wim@fluendo.com>
10894 * libs/gst/dataprotocol/Makefile.am:
10895 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10896 * libs/gst/dataprotocol/dataprotocol.h:
10897 * pkgconfig/Makefile.am:
10898 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10899 * pkgconfig/gstreamer-dataprotocol.pc.in:
10900 Ported dataprotol to 0.9.
10901 Added pkgconfig files.
10903 2005-07-05 Andy Wingo <wingo@pobox.com>
10905 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10906 Default to returning TRUE for the case when tranform_caps returns
10907 a fixed caps, like for identity or volume.
10909 * check/gst/gstbus.c (pound_bus_with_messages):
10910 * check/gst/gstmessage.c (START_TEST):
10911 * check/pipelines/simple_launch_lines.c (got_handoff): Application
10912 message API change.
10914 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10915 logic weaks here: always run transform_caps, trying passthrough
10916 operation only if the original caps intersects with the transform.
10918 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10919 source and sink caps.
10921 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10922 Intersect the peer caps with the pad template before going into
10924 (gst_base_transform_transform_caps): More debugging.
10926 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10929 2005-07-04 Edward Hervey <edward@fluendo.com>
10933 (gst_pad_add_*_probe): now returns the signal id for better wrapping
10936 2005-07-04 Andy Wingo <wingo@pobox.com>
10938 * check/gst/gstpad.c: Only set explicit caps on pads.
10940 2005-07-01 Andy Wingo <wingo@pobox.com>
10942 * tests/network-clock.scm: Commentary update.
10944 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10945 Didn't really make sense, not implementable with basetransform,
10947 (gst_identity_transform): Unref inbuf via make_writable. Feeble
10948 attempt at implementing the sync property, needs an unlock method.
10950 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10951 New func, by default returns the same caps (the identity
10953 (gst_base_transform_getcaps): Uses transform_caps to return
10954 something sensible.
10955 (gst_base_transform_setcaps): Complicated logic to get caps on
10956 both pads, even if they are different, and to call set_caps once
10957 for every time both pads get their caps set.
10958 (gst_base_transform_handle_buffer): Give the ref to the transform
10959 function. Allows in-place modification of the buffer.
10961 * gst/base/gstbasetransform.h (transform_caps): New class method.
10962 Given caps on one side, what can I do on the other.
10963 (set_caps): Take two caps, one for each side of the element.
10966 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10967 caps in place. This is safe because we can check the mutability of
10968 the caps, and a good idea because fixate functions are just called
10969 as a matter of last resort. (Not actually implemented.)
10970 (gst_pad_set_caps): If the caps we're setting is actually the same
10971 as the existing pad caps, just update the pointer without calling
10972 setcaps. Assert that caps is either NULL or fixed, as per the
10975 * gst/gstghostpad.c: Update for fixate changes.
10977 2005-07-02 Andy Wingo <wingo@pobox.com>
10980 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10981 two refcounts makes it immutable, which is enough. Doc more.
10983 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
10985 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10986 Put the mini_object into GValue as a mini_object,
10987 not a gpointer, since that's how we declared
10990 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10992 * examples/pwg/Makefile.am:
10993 Fix buildbot again.
10995 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10997 * docs/pwg/building-testapp.xml:
10999 * examples/pwg/Makefile.am:
11002 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11005 * examples/Makefile.am:
11006 * examples/pwg/Makefile.am:
11007 * examples/pwg/extract.pl:
11008 Enable building the PWG examples.
11009 * docs/pwg/advanced-interfaces.xml:
11010 Add URI interface stub.
11011 * docs/pwg/advanced-types.xml:
11012 * docs/pwg/other-autoplugger.xml:
11013 * docs/pwg/appendix-porting.xml:
11014 * docs/pwg/pwg.xml:
11015 Add porting guide (mostly stubs), remove autoplugging (see ADM).
11016 * docs/pwg/building-boiler.xml:
11017 * docs/pwg/building-chainfn.xml:
11018 * docs/pwg/building-pads.xml:
11019 * docs/pwg/building-props.xml:
11020 * docs/pwg/building-state.xml:
11021 * docs/pwg/building-testapp.xml:
11022 Update the building-*.xml parts for 0.9 changes. All examples
11023 code blocks compile in examples/pwg/*.
11025 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11027 * docs/manual/advanced-autoplugging.xml:
11028 * docs/manual/appendix-checklist.xml:
11029 * docs/manual/appendix-integration.xml:
11030 * docs/manual/highlevel-components.xml:
11031 Fix playbin/decodebin examples, update docs a bit, mention bus
11032 instead of signals in various places, mention kmplayer and
11033 kaffeine since they have a working GStreamer backend in the KDE
11036 2005-06-30 Wim Taymans <wim@fluendo.com>
11039 * docs/design/draft-ghostpads.txt:
11040 * docs/design/draft-push-pull.txt:
11041 * docs/design/draft-query.txt:
11042 * docs/design/part-TODO.txt:
11043 * docs/design/part-query.txt:
11044 Added CHANGES-0.9 doc, updated status of other docs.
11049 2005-06-30 Wim Taymans <wim@fluendo.com>
11051 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11052 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11053 (gst_base_sink_change_state):
11054 * gst/base/gstbasesink.h:
11055 Some tweaks, only EOS and a buffer complete a preroll.
11057 2005-06-30 Andy Wingo <wingo@pobox.com>
11059 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11060 activate_push down to the internal pad as well.
11062 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
11064 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11066 * gst/gsttaginterface.c:
11067 Some documentation fixes (#307394 and #307397).
11069 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
11071 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11073 * gst/gstvalue.c: (gst_value_intersect_list):
11074 Fix memleak (#309125).
11076 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11078 * docs/manual/advanced-dataaccess.xml:
11079 Fix fakesrc example to compile; doesn't work, bug somewhere...?
11080 * docs/manual/basics-pads.xml:
11081 Add reference for filtered caps to above chapter.
11083 2005-06-30 Wim Taymans <wim@fluendo.com>
11085 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11086 (gst_bin_change_state):
11088 Lame attempt at making the state change function a bit
11091 2005-06-30 Wim Taymans <wim@fluendo.com>
11093 * docs/design/part-clocks.txt:
11094 * docs/design/part-element-sink.txt:
11095 * docs/design/part-events.txt:
11096 * docs/design/part-preroll.txt:
11097 * docs/design/part-states.txt:
11098 Some more tweeks and additions to the docs.
11100 2005-06-30 Wim Taymans <wim@fluendo.com>
11102 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11103 (default_have_data), (gst_pad_class_init), (gst_pad_init),
11104 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11105 (gst_pad_check_pull_range), (gst_pad_get_range),
11106 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11108 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11109 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11110 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11111 (gst_pad_remove_buffer_probe):
11112 Removed atomic operations, use existing LOCK.
11113 Move exception handling out of main code path.
11115 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11117 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11118 (silly_return_true_function), (gst_pad_class_init),
11119 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11120 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11121 (gst_pad_send_event):
11122 Fix accumulator, add default value by using _emitv() instead
11123 of _emit() for signal emission.
11125 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11127 * docs/manual/advanced-dataaccess.xml:
11128 * examples/manual/Makefile.am:
11130 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11133 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
11135 * gst/elements/gstfilesink.c: (gst_filesink_render):
11136 Simplify code so that we don't have to handle short
11137 writes and return GST_FLOW_ERROR if an error occured.
11139 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11141 * docs/gst/gstreamer-docs.sgml:
11142 Remove probes more.
11144 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11146 * docs/gst/gstreamer-sections.txt:
11147 * docs/gst/tmpl/gstpad.sgml:
11148 * docs/gst/tmpl/gstprobe.sgml:
11150 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11151 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11152 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11153 (gst_pad_push_event), (gst_pad_send_event):
11155 * gst/gstutils.c: (gst_pad_add_data_probe),
11156 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11157 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11158 (gst_pad_remove_buffer_probe):
11160 Remove old probes, add new g-signal-based probes and some utility
11163 2005-06-29 Edward Hervey <edward@fluendo.com>
11165 * gst/gstelementfactory.c:
11168 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11169 the definition to the header file.
11171 2005-06-29 Andy Wingo <wingo@pobox.com>
11173 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11174 plugins from the source directory.
11176 2005-06-29 Wim Taymans <wim@fluendo.com>
11178 * docs/gst/tmpl/gstbuffer.sgml:
11179 * docs/gst/tmpl/gstclock.sgml:
11180 Some fixings for blantently wrong text.
11182 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
11184 * check/Makefile.am:
11185 * gst/gst.c: (add_path_func), (init_pre):
11186 * gst/gstregistry.c: (gst_registry_add_path):
11187 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11188 only scan the GST_PLUGIN_PATH locations, and not add
11191 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
11193 * docs/gst/gstreamer-sections.txt:
11194 * docs/gst/tmpl/gstbasesrc.sgml:
11195 * gst/gstelement.c:
11196 * gst/gstelement.h:
11201 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11203 * docs/manual/advanced-autoplugging.xml:
11204 Fix autoplugging example.
11206 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11208 * docs/manual/advanced-autoplugging.xml:
11209 * docs/manual/mime-world.fig:
11210 Try to get autoplugging working, fix type detection. Fix text
11211 in hello-world image.
11213 2005-06-29 Wim Taymans <wim@fluendo.com>
11215 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11216 (gst_base_sink_change_state):
11220 map SIGNAL and BROADCAST to the right function.
11223 Remove redundant braces.
11225 * gst/gstpad.c: (gst_pad_set_caps):
11226 Don't call setcaps function when reseting caps to NULL.
11228 * gst/gstsystemclock.c: (gst_system_clock_dispose),
11229 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11230 (gst_system_clock_id_unschedule):
11231 Use BROADCAST as this is what we do.
11233 2005-06-29 Wim Taymans <wim@fluendo.com>
11235 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11236 We are actually prerolling before commiting the state
11239 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11241 * docs/manual/advanced-clocks.xml:
11242 * docs/manual/advanced-interfaces.xml:
11243 * docs/manual/advanced-metadata.xml:
11244 * docs/manual/advanced-position.xml:
11245 * docs/manual/advanced-schedulers.xml:
11246 * docs/manual/advanced-threads.xml:
11247 * docs/manual/appendix-porting.xml:
11248 * docs/manual/basics-bins.xml:
11249 * docs/manual/basics-bus.xml:
11250 * docs/manual/basics-elements.xml:
11251 * docs/manual/basics-helloworld.xml:
11252 * docs/manual/basics-pads.xml:
11253 * docs/manual/highlevel-components.xml:
11254 * docs/manual/manual.xml:
11255 * docs/manual/thread.fig:
11256 Update (until threads/scheduling) Application Development Manual;
11257 remove GstThread, add GstBus, add simple porting checklist, add
11258 documentation for tag writing, clocks, make all examples until this
11259 part compile and run.
11260 * examples/manual/Makefile.am:
11261 Update from changes to Application Development Manual; add bus
11262 example, remove thread example.
11264 2005-06-28 Wim Taymans <wim@fluendo.com>
11266 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11267 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11268 (gst_bus_source_dispatch):
11269 Add debugging messages.
11270 Make internal methods static.
11271 Handle the case where the bus is flushed in the handler.
11273 * gst/gstelement.c: (gst_element_get_bus):
11274 Fix refcount in _get_bus();
11276 * gst/gstpipeline.c: (gst_pipeline_change_state),
11277 (gst_pipeline_get_clock_func):
11278 Clock refcounting fixes.
11279 Handle the case where preroll timed out more gracefully.
11281 * gst/gstsystemclock.c: (gst_system_clock_dispose):
11282 Clean up the internal thread in dispose. This is needed
11283 for subclasses that actually get disposed.
11285 * gst/schedulers/threadscheduler.c:
11286 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11287 (gst_thread_scheduler_dispose):
11288 Free thread pool in dispose.
11290 2005-06-28 Andy Wingo <wingo@pobox.com>
11292 * tests/network-clock-utils.scm (debug, print-event): New utils.
11294 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11295 (*packet-loss*): Unified loss probability.
11296 (network-time): Report out-of-band events.
11298 * tests/plot-data: Add support for out-of-band events. Hack it
11299 into this script instead of passing it down the pipe; should fix
11302 2005-06-28 Wim Taymans <wim@fluendo.com>
11304 * docs/gst/gstreamer.types:
11305 * docs/gst/tmpl/gstbasesrc.sgml:
11306 * docs/gst/tmpl/gstpad.sgml:
11309 2005-06-28 Wim Taymans <wim@fluendo.com>
11311 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11312 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11313 (gst_proxy_pad_do_fixatecaps):
11314 Correctly proxy the check_pull_range function.
11316 2005-06-28 Andy Wingo <wingo@pobox.com>
11318 * tests/network-clock.scm: Removed need for slib.
11320 2005-06-28 Wim Taymans <wim@fluendo.com>
11322 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11323 (gst_basesink_preroll_queue_flush):
11324 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11325 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11326 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11327 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11328 (gst_proxy_pad_set_property):
11331 * gst/gstqueue.c: (gst_queue_init):
11332 The deprecated pad loop function is removed now.
11334 2005-06-28 Andy Wingo <wingo@pobox.com>
11336 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11337 New parameters, simulate network packet loss.
11339 * tests/network-clock-utils.scm: Initialize the RNG.
11341 2005-06-28 Wim Taymans <wim@fluendo.com>
11343 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11344 (gst_basesink_event), (gst_basesink_deactivate):
11345 Flushing the preroll queue always needs to unlock the waiters.
11347 2005-06-28 Edward Hervey <edward@fluendo.com>
11349 * gst/gstpipeline.c: (gst_pipeline_send_event):
11350 Wheen a seek was successful on a pipeline, set the stream_time to the
11351 seek offset in order to have a synchronized stream_time.
11353 2005-06-28 Wim Taymans <wim@fluendo.com>
11355 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11356 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11357 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11358 (gst_proxy_pad_do_fixatecaps):
11359 Call wrapper function instead of just calling the function
11360 pointers. This takes care of any locking and whatmore.
11362 2005-06-28 Wim Taymans <wim@fluendo.com>
11364 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11365 (gst_pad_pull_range):
11367 CONNECTED -> LINKED.
11369 2005-06-28 Andy Wingo <wingo@pobox.com>
11371 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11372 source-munging commit!!!
11374 * gst/gstobject.c (gst_object_unref, gst_object_ref)
11375 (gst_object_sink): Take gpointer arguments, not GstObject --
11376 avoids casts. Like GLib.
11378 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11381 2005-06-27 Andy Wingo <wingo@pobox.com>
11383 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11386 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11387 returns a sorted copy of the trace list.
11388 (gst_alloc_trace_print_live): New API, only prints traces with
11389 live objects. Sort the list.
11390 (gst_alloc_trace_print_all): Sort the list.
11391 (gst_alloc_trace_print): Align columns.
11393 * gst/elements/gstttypefindelement.c:
11394 * gst/elements/gsttee.c:
11395 * gst/base/gstbasesrc.c:
11396 * gst/base/gstbasesink.c:
11397 * gst/base/gstbasetransform.c:
11398 * gst/gstqueue.c: Adapt for pad activation changes.
11400 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11402 (gst_pipeline_dispose): Drop ref on sched.
11404 * gst/gstpad.c (gst_pad_init): Set the default activate func.
11405 (gst_pad_activate_default): Push mode by default.
11406 (pre_activate_switch, post_activate_switch): New stubs, things to
11407 do before and after switching activation modes on pads.
11408 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11409 the pad's activate function to choose which mode to activate.
11410 Shortcut on deactivation and call the right function directly.
11411 (gst_pad_activate_pull): New API, (de)activates a pad in pull
11413 (gst_pad_activate_push): New API, same for push mode.
11414 (gst_pad_set_activate_function)
11415 (gst_pad_set_activatepull_function)
11416 (gst_pad_set_activatepush_function): Setters for new API.
11418 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11419 Trace all miniobjects.
11420 (gst_mini_object_make_writable): Unref the arg if we copy, like
11421 gst_caps_make_writable.
11423 * gst/gstmessage.c (_gst_message_initialize): No trace init.
11425 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
11426 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11427 Adapt for new pad API.
11429 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11431 * gst/gstelement.h:
11432 * gst/gstelement.c (gst_element_iterate_src_pads)
11433 (gst_element_iterate_sink_pads): New API functions.
11435 * gst/gstelement.c (iterator_fold_with_resync): New utility,
11436 should fold into gstiterator.c in some form.
11437 (gst_element_pads_activate): Simplified via use of fold and
11438 delegation of decisions to gstpad->activate.
11440 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11443 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11444 class once in init, like gstmessage. Didn't run into this issue
11445 but it seems correct. Don't initialize a trace, gstminiobject does
11448 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11449 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11451 (assert_live_count): New util function, uses alloc traces to check
11454 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11455 To be modified when unlink drops the internal pad.
11457 2005-06-27 Wim Taymans <wim@fluendo.com>
11459 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11460 (gst_bin_change_state):
11461 Cleanup the get_state() function a little, make sure it
11462 iterates the same set of elements.
11463 Added stub iterate_state_order().
11465 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
11467 * docs/gst/gstreamer-docs.sgml:
11468 * docs/gst/gstreamer-sections.txt:
11469 * docs/gst/gstreamer.types:
11470 * docs/gst/tmpl/gstbasesink.sgml:
11471 * docs/gst/tmpl/gstbasesrc.sgml:
11472 * docs/gst/tmpl/gstbasetransform.sgml:
11473 * docs/gst/tmpl/gstelement.sgml:
11474 * docs/gst/tmpl/gstiterator.sgml:
11475 * gst/base/gstbasesrc.c:
11476 * gst/base/gstbasesrc.h:
11477 * gst/base/gstbasetransform.h:
11478 * gst/gstelement.c:
11479 * gst/gstiterator.h:
11480 adding basetransform and iterator docs
11482 2005-06-27 Andy Wingo <wingo@pobox.com>
11484 * docs/design/part-activation.txt: Notes on how activation should
11485 work -- not quite implemented yet.
11487 2005-06-25 Wim Taymans <wim@fluendo.com>
11489 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11490 At least get the chain function correct, needs more
11493 2005-06-25 Wim Taymans <wim@fluendo.com>
11495 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11496 (gst_basesink_handle_object), (gst_basesink_event),
11497 (gst_basesink_do_sync), (gst_basesink_handle_event),
11498 (gst_basesink_change_state):
11500 Right, two problems here: ghostpads don't take locks and
11501 glib _rec_mutex_lock_full() with depth==0 still locks.
11502 Catch illegal locking and g_warn them.
11504 2005-06-25 Wim Taymans <wim@fluendo.com>
11506 * check/states/sinks.c: (START_TEST), (gst_object_suite):
11507 Have to check for completion now...
11509 2005-06-25 Wim Taymans <wim@fluendo.com>
11511 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11512 (gst_basesink_handle_object), (gst_basesink_event),
11513 (gst_basesink_do_sync), (gst_basesink_handle_event),
11514 (gst_basesink_change_state):
11516 Unlock STREAM_LOCK whatever the recursion was.
11518 2005-06-25 Wim Taymans <wim@fluendo.com>
11520 * gst/base/gstbasesink.c: (gst_basesink_set_property),
11521 (gst_basesink_preroll_queue_empty),
11522 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11523 (gst_basesink_event), (gst_basesink_do_sync),
11524 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11525 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11526 (gst_basesink_change_state):
11527 Reworked the base sink, handle event and buffer serialisation
11528 correctly and removed possible deadlock.
11529 Handle EOS correctly.
11531 2005-06-25 Wim Taymans <wim@fluendo.com>
11533 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11534 (gst_pipeline_change_state):
11535 * tools/gst-launch.c: (check_intr), (event_loop), (main):
11536 Allow elements to post EOS in the state change function.
11537 Fix up -launch, make it exit the poll loop when the
11538 pipeline actually changed state.
11539 Fix up warning parsing in -launch.
11541 2005-06-25 Wim Taymans <wim@fluendo.com>
11543 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11544 (gst_tee_sink_activate):
11545 Core takes STREAM_LOCK for us now.
11547 2005-06-25 Wim Taymans <wim@fluendo.com>
11549 * gst/gstelement.c: (gst_element_get_state_func),
11550 (gst_element_set_state):
11551 * gst/gstelement.h:
11552 * gst/gstmessage.c: (gst_message_parse_error),
11553 (gst_message_parse_warning):
11554 Keep track of current target state while performing a state
11555 change so that subclasses can do something interesting.
11556 Fix parsing of warning/error messages when GError is NULL.
11558 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
11560 * docs/gst/Makefile.am:
11561 * docs/gst/gstreamer-docs.sgml:
11562 * docs/gst/gstreamer-sections.txt:
11563 * docs/gst/gstreamer.types:
11564 * docs/gst/tmpl/gstbasesink.sgml:
11565 * docs/gst/tmpl/gstbasesrc.sgml:
11566 * docs/gst/tmpl/gstbin.sgml:
11567 * docs/gst/tmpl/gstcompat.sgml:
11568 * docs/gst/tmpl/gstfakesink.sgml:
11569 * docs/gst/tmpl/gstfakesrc.sgml:
11570 * docs/gst/tmpl/gstfilesink.sgml:
11571 * docs/gst/tmpl/gstfilesrc.sgml:
11572 * docs/gst/tmpl/gstindex.sgml:
11573 * docs/manual/appendix-quotes.xml:
11574 * gst/base/gstbasesrc.h:
11575 * gst/elements/gstfakesrc.h:
11576 * gst/gstmessage.h:
11577 start pulling in base classes and elements in our docs
11579 2005-06-24 Stefan Kost <ensonic@users.sf.net>
11581 * docs/gst/Makefile.am:
11582 * docs/libs/Makefile.am:
11583 fixed make distcheck with gtk-doc 1.3
11585 2005-06-23 Wim Taymans <wim@fluendo.com>
11587 * gst/gstelement.c: (gst_element_get_state_func),
11588 (gst_element_set_state), (gst_element_change_state):
11589 When the state did not change, also report NO_PREROLL
11592 2005-06-23 Wim Taymans <wim@fluendo.com>
11594 * gst/gstpad.c: (gst_pad_event_default):
11595 * gst/gstqueue.c: (gst_queue_loop):
11596 No unsafe task pausing please.
11598 2005-06-23 Wim Taymans <wim@fluendo.com>
11600 * gst/schedulers/threadscheduler.c:
11601 (gst_thread_scheduler_task_start),
11602 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11603 Ref the task before pushing it on the threadpool. This
11604 makes sure that we have a ref when the threadfunction is
11607 2005-06-23 Andy Wingo <wingo@pobox.com>
11609 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11610 offset is greater than the file's size.
11612 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
11613 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11614 * gst/gstobject.c (gst_object_class_init): Make the class lock
11615 recursive. Wim won't let me drop deep_notify. Decodebin works
11616 again, whoopdy doo.
11618 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11619 internal pad, and hacks accordingly. Doesn't do it on the target
11620 pad because we change its caps. Probably catches all cases of
11622 (gst_ghost_pad_set_property): Connect to notify::caps as
11625 * tests/network-clock.scm (plot-simulation): Pipe data to the
11626 elite python skript.
11628 * tests/network-clock-utils.scm (define-parameter): New macro,
11629 defines a parameter that can be set via the command line.
11630 (set-parameter!, parse-parameter-arguments): Command line args
11633 * tests/plot-data: Simple matplotlib-based plotter, takes input on
11636 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
11638 * gst/elements/gsttypefindelement.c:
11639 (gst_type_find_element_handle_event):
11640 Don't restart typefinding on a discont.
11641 * gst/gstelement.c: (gst_element_set_state):
11642 Debug spelling fix.
11643 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11644 Allow changing mode of an active pad.
11645 Debug output fixes.
11646 * gst/registries/gstlibxmlregistry.c: (load_feature):
11647 Don't cast a static pad template to a normal pad template.
11649 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
11651 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11652 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11653 remove gst_strtoll completely, since it didn't actually do
11654 anything more than what g_ascii_strtoull already does.
11655 check for range errors when deserializing
11656 do a cast for the unsigned cases; but further fixing needs
11657 a decision on what the interpretation of "(int)" and
11658 deserialization should be for values that fall outside the
11659 type's boundaries (ie, refuse, or interpret as casting)
11661 2005-06-23 Wim Taymans <wim@fluendo.com>
11663 * check/Makefile.am:
11664 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11665 * docs/design/part-live-source.txt:
11666 * docs/design/part-states.txt:
11667 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11668 (gst_basesrc_set_live), (gst_basesrc_is_live),
11669 (gst_basesrc_get_range), (gst_basesrc_activate),
11670 (gst_basesrc_change_state):
11671 * gst/base/gstbasesrc.h:
11672 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11673 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11674 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11675 * gst/gstelement.c: (gst_element_get_state_func),
11676 (gst_element_set_state):
11677 * gst/gstelement.h:
11679 * tools/gst-launch.c: (event_loop), (main):
11680 Added support for live sources and other elements that
11682 Updated design docs, added live-source design doc.
11683 Implemented live source functionality in basesrc
11684 Fix error condition in _bin_get_state()
11685 Implement live source handling in -launch.
11686 Added check for live sources.
11687 Fixed case in GstBin where elements were changed state
11691 2005-06-23 Andy Wingo <wingo@pobox.com>
11693 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11694 borken refcounting.
11696 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11697 gst_caps_replace takes care of this for us.
11699 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11700 gst_pad_set_caps on the target, not just its setcaps() function.
11702 * tests/network-clock.scm:
11703 * tests/network-clock-utils.scm: A network clock simulator.
11704 Something of an algorithmic testbed before doing something in C.
11706 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11708 * check/Makefile.am:
11709 * check/gst/capslist.h:
11710 copy over from 0.8, and add two with bitmasks specified with
11712 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11713 add test to parse everything from capslist.h
11714 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11716 add test for structure deserialization
11717 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11718 add tests for deserialization of strings to int types
11719 * gst/gststructure.c: (gst_structure_nth_field_name):
11720 * gst/gststructure.h:
11721 add a way to get the name of a field referenced by index
11722 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11723 instead of checking if the resulting long long lies between
11724 min and max, we check if the long long would fit into
11725 a number of bytes for the final type.
11726 This fixes cases where a string represents 2^32 - 1, which
11727 when cast to int would be the (valid) -1, but is bigger than
11730 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11732 * gst/parse/grammar.y:
11733 add a log line for type deserialization
11735 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11737 * check/gst/gstvalue.c: (START_TEST):
11738 * gst/gstvalue.c: (gst_value_deserialize):
11739 return long long, not int, so gint64 deserialization actually
11740 works. Is there any flag that makes the compiler check this ?
11743 2005-06-22 Wim Taymans <wim@fluendo.com>
11746 Added convenience macros for setting buffers in GValue.
11748 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11750 * check/gst/.cvsignore:
11751 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11752 add a test deserializing int64, and comment part out because
11755 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11757 * check/Makefile.am:
11758 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11759 * testsuite/Makefile.am:
11760 * testsuite/caps/Makefile.am:
11761 * testsuite/caps/value_serialize.c:
11762 * testsuite/test_gst_init.c:
11763 move a value_serialize test over
11765 2005-06-20 Wim Taymans <wim@fluendo.com>
11770 * gst/gstvalue.c: (gst_value_compare_buffer),
11771 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11772 (gst_value_compare_flags), (gst_value_serialize_flags),
11773 (gst_value_deserialize_flags), (_gst_value_initialize):
11774 Fix serialisation of buffers, they are not boxed types anymore
11776 2005-06-20 Wim Taymans <wim@fluendo.com>
11778 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11779 Testcase to show error in buffer-on-caps serialisation.
11781 2005-06-20 Andy Wingo <wingo@pobox.com>
11783 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11784 will be adding to later.
11786 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11787 if its socks fill with rocks.
11788 (gst_system_clock_obtain): Set the name on object construction.
11789 Avoid double-checked locking.
11791 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
11793 * gst/gsturi.c: (gst_element_make_from_uri):
11794 Fix potential endless loop.
11796 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11798 * check/Makefile.am:
11800 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11802 move over from testsuite dir and clean up
11805 * testsuite/Makefile.am:
11806 * testsuite/tags/.cvsignore:
11807 * testsuite/tags/Makefile.am:
11808 * testsuite/tags/merge.c:
11809 remove testsuite/tags
11811 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11813 * docs/gst/gstreamer-sections.txt:
11814 * docs/gst/tmpl/gstenumtypes.sgml:
11815 * win32/gstenumtypes.c:
11816 clean up documentation build a little
11818 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11820 * check/gstcheck.h:
11821 add macros for checking refcounts on objects and caps
11822 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11823 add some more unit tests
11824 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11825 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11826 fix leaked refcounts (I hope :)) so unittest works
11830 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11832 * configure.ac: back to HEAD
11834 === release 0.9.1 ===
11836 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
11842 2005-06-17 Andy Wingo <wingo@pobox.com>
11844 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11845 assert; it's always possible that the pad gets deactivated in
11846 between the checks in gstpad.c and the implementation. Rely on
11847 finish_preroll() to return a FLUSHING or similar instead of on the
11850 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11851 clock and post an EOS message if we come out of finish_preroll in
11854 2005-06-16 David Schleef <ds@schleef.org>
11856 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11857 (gst_capsfilter_set_property): Allow NULL as possible value
11858 for filter_caps property, indicating GST_CAPS_ANY.
11860 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11862 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11864 * gst/schedulers/Makefile.am:
11866 * gstreamer.spec.in:
11869 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11871 * gstreamer.spec.in:
11874 2005-06-08 Andy Wingo <wingo@pobox.com>
11876 * gst/gstutils.c: RPAD fixes all around.
11877 (gst_element_link_pads): Refcounting fixes.
11879 * tools/gst-inspect.c:
11880 * tools/gst-xmlinspect.c:
11882 * gst/base/gsttypefindhelper.c:
11883 * gst/base/gstbasesink.c:
11884 * gst/gstqueue.c: RPAD fixes.
11886 * gst/gstghostpad.h:
11887 * gst/gstghostpad.c: New ghost pad implementation as full proxy
11888 pads. The tricky thing is they provide both source and sink
11889 interfaces, since they proxy the internal pad for the external
11890 pad, and vice versa. Implement with lower-level ProxyPad objects,
11891 with the interior proxy pad as a child of the exterior ghost pad.
11892 Should write a doc on this.
11894 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11895 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11898 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11899 pads are real pads. No ghost pads in this file. Not documenting
11900 the myriad s/RPAD/PAD/ and REALIZE fixes.
11901 (gst_pad_class_init): Add properties for "direction" and
11902 "template". Both are construct-only, so they can't change during
11903 the life of the pad. Fixes properly deriving from GstPad.
11904 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11905 derived objects, just set properties when creating the objects via
11907 (gst_pad_get_parent): Implement as a function, return NULL if the
11908 parent is not an element.
11909 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11910 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11912 * gst/gstobject.c (gst_object_class_init): Make name a construct
11913 property. Don't set it in the object init.
11915 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11916 with UNKNOWN direction.
11917 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11918 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11919 (gst_element_remove_pad): Remove ghost-pad special cases.
11920 (gst_element_pads_activate): Remove rpad cruft.
11922 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11923 catch the pad's-parent-not-an-element case.
11925 * gst/gst.h: Include gstghostpad.h.
11927 * gst/gst.c (init_post): No more real, ghost pads.
11929 * gst/Makefile.am: Add gstghostpad.[ch].
11931 * check/Makefile.am:
11932 * check/gst/gstbin.c:
11933 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11934 into a bin creates ghost pads, and that the refcounts are right.
11935 Partly moved from gstbin.c.
11937 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11939 * check/gst-libs/.cvsignore:
11940 * check/gst/.cvsignore:
11941 * check/pipelines/.cvsignore:
11943 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11944 (START_TEST), (cleanup_suite), (main):
11945 add some tests related to cleanup after running pipelines
11947 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11949 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11950 add a testsuite for GstBuffer
11952 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11954 * gst/gstminiobject.h:
11955 add defines for accessing the refcount
11957 2005-06-03 Stefan Kost <ensonic@users.sf.net>
11959 * Makefile.am: added support for html unit test coverage reports
11961 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
11963 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11964 Free existing caps if the capsfilter changes. Add a FIXME about
11965 setting those caps on the pads.
11967 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11968 Before adding a ghost pad to a parent bin, check that there isn't
11969 already one for the element on the bin. Prevents infinite recursion
11970 when using decodebin in parse pipelines. Andy says he'll rewrite the
11971 way this works anyway, so ignore the hack.
11973 2005-06-02 Andy Wingo <wingo@pobox.com>
11975 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11976 file size, pass it on to the type find helper.
11978 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11979 segment_start and segment_end properly according to the seek
11980 method. Segment_end is still a bit flaky because offset can be
11981 negative for CUR and END cases, but it takes -1 as an "unset"
11984 2005-06-02 Wim Taymans <wim@fluendo.com>
11986 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11987 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11988 (gst_basesink_activate):
11989 * gst/base/gstbasesink.h:
11990 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11991 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11992 (gst_pad_query), (gst_pad_start_task):
11994 * gst/gstqueue.c: (gst_queue_bufferalloc),
11995 (gst_queue_handle_sink_event), (gst_queue_chain):
11996 Bufferalloc: return GstFlowReturn to more accuratly report
11997 why allocation failed.
11999 2005-06-02 Wim Taymans <wim@fluendo.com>
12001 * gst/gstpipeline.c: (gst_pipeline_send_event):
12002 Take snapshot of state without blocking.
12004 2005-06-02 Wim Taymans <wim@fluendo.com>
12006 * docs/design/part-TODO.txt:
12007 * docs/design/part-caps.txt:
12008 * docs/design/part-clocks.txt:
12009 * docs/design/part-negotiation.txt:
12010 * docs/design/part-preroll.txt:
12013 2005-05-30 Wim Taymans <wim@fluendo.com>
12015 * gst/elements/gstidentity.c: (gst_identity_event),
12016 (gst_identity_transform), (gst_identity_get_property):
12017 Protect last_message property as it is accessed from
12020 2005-05-30 Wim Taymans <wim@fluendo.com>
12022 * gst/gstelement.c: (gst_element_init),
12023 (gst_element_pads_activate), (gst_element_change_state):
12024 Slicker pad activation code.
12026 2005-05-30 Wim Taymans <wim@fluendo.com>
12029 * gst/gstelement.h:
12030 * gst/gstelementfactory.h:
12032 Move elementfactory methods to separate .h file.
12034 2005-05-30 Wim Taymans <wim@fluendo.com>
12036 * docs/design/part-overview.txt:
12037 * gst/gstsystemclock.h:
12038 Small typo fixes, doc updates.
12040 2005-05-30 Wim Taymans <wim@fluendo.com>
12042 * gst/gst.c: (gst_init_get_popt_table), (init_post),
12043 (init_popt_callback):
12044 Remove cpu-opt flag.
12046 2005-05-30 Wim Taymans <wim@fluendo.com>
12048 * gst/gstbuffer.c: (gst_subbuffer_finalize),
12049 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12051 Avoid typechecking in places where not needed.
12052 Added accessor for malloc_data.
12054 2005-05-30 Wim Taymans <wim@fluendo.com>
12056 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12057 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12058 (gst_pad_configure_sink), (gst_pad_configure_src),
12059 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12060 (gst_pad_start_task):
12061 Propagate errors from _set_caps() in configure_src/sink
12062 functions instead of returning TRUE.
12063 FLUSH events can travel up and downstream
12066 2005-05-30 Wim Taymans <wim@fluendo.com>
12068 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12069 (gst_basesink_activate):
12070 Handle EOS in preroll.
12072 2005-05-30 Wim Taymans <wim@fluendo.com>
12074 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12075 (gst_queue_loop), (gst_queue_handle_src_event):
12076 Remove old pieces of code
12077 Flushing the queue in an upstream event is a very bad idea.
12079 2005-05-26 Andy Wingo <wingo@pobox.com>
12081 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12082 gst_value_set_mini_object so as to add a ref on the object (which
12083 will be removed when the value is unset).
12085 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12086 arg type in ::handoff.
12088 * gst/gstelement.c (gst_element_change_state): Also deactivate
12089 pads in READY->NULL, just in case the element didn't make it to
12090 PAUSED. Wingo tested, Wim approved.
12092 2005-05-26 Wim Taymans <wim@fluendo.com>
12094 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12095 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12096 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12097 A flushing pad cannot be used to alloc_buffer from.
12099 2005-05-26 Wim Taymans <wim@fluendo.com>
12101 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12102 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12103 (gst_bus_source_dispatch), (gst_bus_source_finalize),
12104 (gst_bus_create_watch), (gst_bus_add_watch_full):
12106 Implement a real GSource and use g_main_context_wakeup() to
12107 signal new messages instead of the socketpair.
12109 2005-05-25 Wim Taymans <wim@fluendo.com>
12111 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12112 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12113 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12114 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12115 (gst_pad_send_event), (gst_pad_start_task):
12116 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12117 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12118 (gst_queue_sink_activate), (gst_queue_src_activate),
12119 (gst_queue_change_state):
12121 Fix state changes for non sinks. We now change sinks, then elements
12122 with unconnected srcpads, then the rest.
12123 More efficient queue unlocking in flush and state changes.
12124 Set the pad activate mode even if it does not have an activate
12127 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12129 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12130 Don't go in pull mode for non-seekable sources.
12131 * gst/elements/gsttypefindelement.h:
12132 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12133 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12134 (free_entry), (stop_typefinding),
12135 (gst_type_find_element_handle_event), (find_peek),
12136 (gst_type_find_element_chain), (do_pull_typefind),
12137 (gst_type_find_element_change_state):
12138 Allow typefinding (w/o seeking) in push-mode, simplified version
12139 of what was in 0.8.
12140 * gst/gstutils.c: (gst_buffer_join):
12142 gst_buffer_join() from 0.8.
12144 2005-05-25 Wim Taymans <wim@fluendo.com>
12146 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12147 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12148 (gst_pad_send_event), (gst_pad_start_task):
12149 Disable attempt at mode switching until it is figured out.
12151 2005-05-25 Wim Taymans <wim@fluendo.com>
12153 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12154 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12155 (gst_basesink_finish_preroll), (gst_basesink_chain),
12156 (gst_basesink_loop), (gst_basesink_activate),
12157 (gst_basesink_change_state):
12158 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12159 (gst_basesrc_get_range), (gst_basesrc_loop),
12160 (gst_basesrc_activate):
12161 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12162 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12163 (gst_real_pad_init), (gst_real_pad_set_property),
12164 (gst_real_pad_get_property), (gst_pad_set_active),
12165 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12166 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12167 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12168 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12169 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12170 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12171 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12172 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12173 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12174 (gst_pad_stop_task):
12176 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12177 (gst_queue_loop), (gst_queue_src_activate):
12178 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12179 (gst_task_get_state):
12181 * gst/schedulers/threadscheduler.c:
12182 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12183 Implement gst_pad_pause/start/stop_task(), take STREAM lock
12185 Remove ACTIVE pad flag, use FLUSHING everywhere
12186 Added _pad_chain(), _pad_get_range() to call chain/getrange
12188 Add locks around IS_FLUSHING when reading.
12189 Take STREAM lock in chain(), get_range() functions so plugins
12190 don't need to take it anymore.
12194 2005-05-25 Wim Taymans <wim@fluendo.com>
12196 * tools/gst-launch.c: (event_loop):
12197 Unref message after using its contents instead of
12200 2005-05-24 Wim Taymans <wim@fluendo.com>
12202 * docs/design/draft-ghostpads.txt:
12203 * docs/design/draft-push-pull.txt:
12204 * docs/design/draft-query.txt:
12205 * docs/design/part-overview.txt:
12206 Docs updates, added general overview doc.
12208 2005-05-21 David Schleef <ds@schleef.org>
12210 * docs/gst/tmpl/old/GstBin.sgml:
12211 * docs/gst/tmpl/old/GstBuffer.sgml:
12212 * docs/gst/tmpl/old/GstCaps.sgml:
12213 * docs/gst/tmpl/old/GstClock.sgml:
12214 * docs/gst/tmpl/old/GstCompat.sgml:
12215 * docs/gst/tmpl/old/GstData.sgml:
12216 * docs/gst/tmpl/old/GstElement.sgml:
12217 * docs/gst/tmpl/old/GstEvent.sgml:
12218 * docs/gst/tmpl/old/GstIndex.sgml:
12219 * docs/gst/tmpl/old/GstStructure.sgml:
12220 * docs/gst/tmpl/old/GstTag.sgml:
12221 * docs/gst/tmpl/old/cothreads.sgml:
12222 * docs/gst/tmpl/old/cothreads_compat.sgml:
12223 * docs/gst/tmpl/old/gettext.sgml:
12224 * docs/gst/tmpl/old/gobject2gtk.sgml:
12225 * docs/gst/tmpl/old/grammar.tab.sgml:
12226 * docs/gst/tmpl/old/gst-i18n-app.sgml:
12227 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12228 * docs/gst/tmpl/old/gst_private.sgml:
12229 * docs/gst/tmpl/old/gstaggregator.sgml:
12230 * docs/gst/tmpl/old/gstarch.sgml:
12231 * docs/gst/tmpl/old/gstatomic_impl.sgml:
12232 * docs/gst/tmpl/old/gstbufferstore.sgml:
12233 * docs/gst/tmpl/old/gstdata_private.sgml:
12234 * docs/gst/tmpl/old/gstdisksink.sgml:
12235 * docs/gst/tmpl/old/gstdisksrc.sgml:
12236 * docs/gst/tmpl/old/gstelementfactory.sgml:
12237 * docs/gst/tmpl/old/gstextratypes.sgml:
12238 * docs/gst/tmpl/old/gstfakesink.sgml:
12239 * docs/gst/tmpl/old/gstfakesrc.sgml:
12240 * docs/gst/tmpl/old/gstfdsink.sgml:
12241 * docs/gst/tmpl/old/gstfdsrc.sgml:
12242 * docs/gst/tmpl/old/gstfilesink.sgml:
12243 * docs/gst/tmpl/old/gstfilesrc.sgml:
12244 * docs/gst/tmpl/old/gsthttpsrc.sgml:
12245 * docs/gst/tmpl/old/gstidentity.sgml:
12246 * docs/gst/tmpl/old/gstindexfactory.sgml:
12247 * docs/gst/tmpl/old/gstmarshal.sgml:
12248 * docs/gst/tmpl/old/gstmd5sink.sgml:
12249 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12250 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12251 * docs/gst/tmpl/old/gstpadtemplate.sgml:
12252 * docs/gst/tmpl/old/gstpipefilter.sgml:
12253 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12254 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12255 * docs/gst/tmpl/old/gstshaper.sgml:
12256 * docs/gst/tmpl/old/gstspider.sgml:
12257 * docs/gst/tmpl/old/gstspideridentity.sgml:
12258 * docs/gst/tmpl/old/gststatistics.sgml:
12259 * docs/gst/tmpl/old/gsttee.sgml:
12260 * docs/gst/tmpl/old/gsttimecache.sgml:
12261 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12262 * docs/gst/tmpl/old/gstxmlregistry.sgml:
12263 * docs/gst/tmpl/old/gthread-cothreads.sgml:
12264 * docs/gst/tmpl/old/types.sgml:
12265 I didn't intend to add these or check them in.
12267 2005-05-19 David Schleef <ds@schleef.org>
12269 * configure.ac: Use -no-common everywhere. In a sane world, it
12270 would be the default in libtool, because without it, you can't
12271 build DLLs on Windows.
12272 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12273 * docs/gst/gstreamer-sections.txt:
12274 * docs/gst/tmpl/gstcpu.sgml:
12275 * docs/gst/tmpl/gstdata.sgml:
12276 * docs/gst/tmpl/gstthread.sgml:
12278 2005-05-19 David Schleef <ds@schleef.org>
12280 * gst/gstminiobject.c: (gst_value_set_mini_object),
12281 (gst_value_take_mini_object), (gst_value_get_mini_object):
12282 * gst/gstminiobject.h: Add GValue set/get functions.
12284 2005-05-19 Wim Taymans <wim@fluendo.com>
12286 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12287 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12288 (gst_subbuffer_init), (gst_buffer_is_span_fast):
12290 * gst/gstbus.c: (gst_bus_post):
12291 * gst/gstelement.c: (gst_element_get_random_pad):
12292 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12293 Make subbufer unref the parent in finalize.
12294 some more debugging info.
12297 2005-05-19 Wim Taymans <wim@fluendo.com>
12299 * gst/base/gstbasesink.c: (gst_basesink_class_init),
12300 (gst_basesink_init), (gst_basesink_finalize),
12301 (gst_basesink_activate), (gst_basesink_change_state):
12302 Don't free preroll queue too early.
12304 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12308 Hi, I'm outdated. Please shoot me.
12310 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12312 * gst/gstpipeline.c: (gst_pipeline_send_event):
12313 Do not access variables after they have been deleted.
12315 2005-05-19 Wim Taymans <wim@fluendo.com>
12317 * tools/gst-inspect.c: (print_plugin_features):
12318 A plugin feature does unfortunatly not use the
12321 2005-05-18 Wim Taymans <wim@fluendo.com>
12323 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12324 Port _span() functions to new subbuffers.
12326 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12328 * gst/gstbin.c: (gst_bin_add_func):
12329 Fix clock settery in bins when adding kids after the clock has
12332 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12334 * gst/elements/gstidentity.c: (gst_identity_class_init):
12335 Workaround until signals support GstMiniObject.
12337 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
12340 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12342 2005-05-18 Wim Taymans <wim@fluendo.com>
12344 * gst/base/Makefile.am:
12345 * gst/base/gstadapter.c: (gst_adapter_base_init),
12346 (gst_adapter_class_init), (gst_adapter_init),
12347 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12348 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12349 (gst_adapter_flush), (gst_adapter_available),
12350 (gst_adapter_available_fast):
12351 * gst/base/gstadapter.h:
12352 Ported and added adapter to the base classes.
12354 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12357 * gst/gstmessage.c:
12358 Make sure the class is reffed/unreffed once before threads can be
12359 used. Fixes #304551.
12361 2005-05-17 Wim Taymans <wim@fluendo.com>
12363 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12364 (gst_basesink_chain_unlocked), (gst_basesink_activate):
12365 * gst/gstminiobject.c: (gst_mini_object_get_type),
12366 (gst_mini_object_free):
12367 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12368 (gst_pad_push), (gst_pad_push_event):
12369 * gst/gstqueue.c: (gst_queue_change_state):
12370 Don't queue buffers in basesink when we are flushing.
12371 Unref buffer when flushing in basesink.
12372 Flush queue when going to READY
12373 Unref buffer when _push() returns an error.
12374 Don't free MiniObject instance when refcount is incremented
12375 in _finalize() so that we can recover objects.
12377 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
12379 * docs/manual/advanced-schedulers.xml:
12380 * docs/manual/appendix-checklist.xml:
12381 * docs/pwg/advanced-clock.xml:
12382 * docs/pwg/advanced-interfaces.xml:
12383 * docs/pwg/advanced-request.xml:
12384 * docs/pwg/advanced-types.xml:
12385 * docs/pwg/intro-preface.xml:
12386 * examples/plugins/example.c: (gst_example_get_type),
12387 (gst_example_class_init), (gst_example_chain),
12388 (gst_example_set_property), (gst_example_get_property),
12389 (gst_example_change_state), (plugin_init):
12390 * examples/plugins/example.h:
12393 2005-05-17 Wim Taymans <wim@fluendo.com>
12395 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12396 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12397 * gst/gstqueue.c: (gst_queue_change_state):
12398 Clear queue when going to READY.
12399 Remove IN_SETCAPS flag too.
12401 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
12403 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12404 Remove implicit cast from gboolean to GstElementStateReturn;
12405 make sure we still return failure in paused => ready case if
12406 the parent class fails to change state and our own stop
12409 2005-05-17 Wim Taymans <wim@fluendo.com>
12411 * tools/gst-launch.c: (event_loop):
12412 Message was unreffed too soon.
12414 2005-05-16 Andy Wingo <wingo@pobox.com>
12416 * gst/gstbin.c (sink_iterator_filter): Err... um...
12418 * check/gst/gstbin.c (test_ghost_pads): New test for the
12419 ghosting-if-elements-not-in-same-bin behavior.
12421 2005-05-16 David Schleef <ds@schleef.org>
12423 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12424 accessing refcount directly.
12426 2005-05-15 David Schleef <ds@schleef.org>
12428 * check/Makefile.am: remove GstData checks
12429 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12430 * gst/Makefile.am: add miniobject, remove data
12431 * gst/gst.h: add miniobject, remove data
12432 * gst/gstdata.c: remove
12433 * gst/gstdata.h: remove
12434 * gst/gstdata_private.h: remove
12435 * gst/gsttypes.h: remove GstEvent and GstMessage
12436 * gst/gstelement.c: (gst_element_post_message): fix for API changes
12437 * gst/gstmarshal.list: change BOXED -> OBJECT
12439 Implement GstMiniObject.
12440 * gst/gstminiobject.c:
12441 * gst/gstminiobject.h:
12443 Modify to be subclasses of GstMiniObject.
12444 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12445 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12446 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12447 (gst_subbuffer_get_type), (gst_subbuffer_init),
12448 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12451 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12452 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12453 (_gst_event_copy), (gst_event_new):
12455 * gst/gstmessage.c: (_gst_message_initialize),
12456 (gst_message_get_type), (gst_message_class_init),
12457 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12458 (gst_message_new), (gst_message_new_error),
12459 (gst_message_new_warning), (gst_message_new_tag),
12460 (gst_message_new_state_changed), (gst_message_new_application):
12461 * gst/gstmessage.h:
12462 * gst/gstprobe.c: (gst_probe_perform),
12463 (gst_probe_dispatcher_dispatch):
12465 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12466 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12467 (_gst_query_copy), (gst_query_new):
12469 Update elements for GstData -> GstMiniObject changes
12471 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12472 (gst_queue_chain), (gst_queue_loop):
12473 * gst/elements/gstbufferstore.c:
12474 (gst_buffer_store_add_buffer_func),
12475 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12476 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12477 (gst_fakesink_render):
12478 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12479 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12480 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12481 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12482 (gst_filesrc_create_read):
12483 * gst/elements/gstidentity.c: (gst_identity_class_init):
12484 * gst/elements/gsttypefindelement.c:
12485 (gst_type_find_element_src_event), (free_entry_buffers),
12486 (gst_type_find_element_handle_event):
12487 * libs/gst/dataprotocol/dataprotocol.c:
12488 (gst_dp_header_from_buffer):
12489 * libs/gst/dataprotocol/dataprotocol.h:
12490 * libs/gst/dataprotocol/dp-private.h:
12492 2005-05-15 David Schleef <ds@schleef.org>
12494 * gst/elements/gstelements.c: Don't include headers that were
12497 2005-05-15 David Schleef <ds@schleef.org>
12499 * gst/elements/Makefile.am: Remove some elements that don't
12500 need to be in the core (or even exist at all).
12501 * gst/elements/gstaggregator.c:
12502 * gst/elements/gstaggregator.h:
12503 * gst/elements/gstmd5sink.c:
12504 * gst/elements/gstmd5sink.h:
12505 * gst/elements/gstmultifilesrc.c:
12506 * gst/elements/gstmultifilesrc.h:
12507 * gst/elements/gstpipefilter.c:
12508 * gst/elements/gstpipefilter.h:
12509 * gst/elements/gstshaper.c:
12510 * gst/elements/gstshaper.h:
12511 * gst/elements/gststatistics.c:
12512 * gst/elements/gststatistics.h:
12513 * po/POTFILES.in: Remove above files.
12515 2005-05-14 Andy Wingo <wingo@pobox.com>
12517 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12518 so as to get the refs right.
12519 (sink_iterator_filter): New function, wraps bin_element_is_sink,
12520 unreffing objects that don't pass the filter.
12522 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12523 gst_element_set_bus.
12524 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12525 normal cases, this will destroy the bus.
12527 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12530 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12533 2005-05-13 Andy Wingo <wingo@pobox.com>
12535 * gst/gstutils.c (gst_element_link_pads): Instead of calling
12536 gst_pad_link, call pad_link_maybe_ghosting,
12537 (pad_link_maybe_ghosting): Links pads, making sure that the
12538 elements being linked are in the same bin.
12539 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12540 Helpers for pad_link_maybe_ghosting.
12542 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
12545 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12547 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
12549 * docs/design/part-element-source.txt:
12552 2005-05-12 Wim Taymans <wim@fluendo.com>
12554 * gst/base/gstbasesink.c: (gst_basesink_init),
12555 (gst_basesink_activate):
12556 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12557 (gst_basesrc_is_seekable):
12558 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12559 (bin_element_is_sink), (gst_bin_change_state):
12560 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12561 * gst/gstelement.h:
12562 Identify sinks by their flag to avoid overly complicated
12564 Do state changes even for elements not reachable from the
12566 BaseSink is a sink now :)
12567 Some more debugging info in the basesrc.
12570 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12572 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12573 Implement _query on a bin, similar to _send_event.
12575 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
12577 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12578 Discont event offset format should be GST_FORMAT_BYTES,
12579 not GST_FORMAT_TIME.
12581 2005-05-12 Wim Taymans <wim@fluendo.com>
12583 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12584 Same fix as Ronald's but without the signal.
12586 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12588 * gst/gstutils.c: (gst_element_query_position):
12589 No, an element is not a pad.
12591 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12593 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12594 (gst_bin_get_state):
12595 If a child is removed from a bin while we remove the child from
12596 the bin and while we're retrieving its state, signal this to the
12597 get_state function so we abort the wait (instead of waiting for
12598 a timeout) and can immediately re-iterate over all other elements.
12600 2005-05-12 Wim Taymans <wim@fluendo.com>
12602 * gst/base/Makefile.am:
12603 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12604 (gst_basesrc_start):
12605 * gst/base/gstbasesrc.h:
12606 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12607 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12608 (gst_pushsrc_init), (gst_pushsrc_create):
12609 * gst/base/gstpushsrc.h:
12610 Added is_seekable to BaseSrc
12611 Added simple PushSrc.
12613 2005-05-11 Wim Taymans <wim@fluendo.com>
12615 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12616 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12617 (gst_element_link_pads), (gst_element_query_position),
12618 (gst_element_query_convert), (intersect_caps_func),
12619 (gst_pad_query_position), (gst_pad_query_convert):
12620 Fix refcounting in utils function.
12621 No point in trying to activate a pad when it's added, it could
12622 be added from the state change function and then we deadlock, the
12623 element has to decide what to do.
12625 2005-05-10 Andy Wingo <wingo@pobox.com>
12627 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12628 *all* the arguments.
12630 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12631 stream lock if it's a FLUSH_DONE; normal flushes don't get the
12632 lock (according to the docs -- if this is wrong change the docs).
12634 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12635 flush messages in the NULL state.
12637 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12638 message immediately and return.
12639 (gst_bus_set_flushing): New function. If a bus is flushing, it
12640 flushes out any queued messages and immediately unrefs new
12641 messages. This is so when an element goes to NULL, all of the
12642 unhandled messages coming from it can be freed, and their
12643 references to the element dropped. In other words: message source
12644 ref considered harmful :P
12646 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12647 we're finished with it.
12649 * gst/gstmessage.c (gst_message_new_state_changed):
12651 2005-05-10 Wim Taymans <wim@fluendo.com>
12653 * gst/gstvalue.c: (gst_value_compare_flags),
12654 (gst_value_serialize_flags), (gst_value_deserialize_flags),
12655 (_gst_value_initialize):
12656 Added flags serialize/deserialize/compare code.
12658 2005-05-09 Andy Wingo <wingo@pobox.com>
12660 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12661 Intersect the peer's caps with our caps.
12663 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12665 * gst/base/gsttypefindhelper.c: (helper_find_peek):
12666 * gst/elements/gsttypefindelement.c: (find_peek):
12667 Handle negative offsets better. Fixes decodebin.
12669 2005-05-09 Wim Taymans <wim@fluendo.com>
12671 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12672 (gst_base_transform_event):
12673 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12674 Implement accept_caps.
12675 Fix silly lock/unlock mismatch in base class.
12677 2005-05-09 Wim Taymans <wim@fluendo.com>
12679 * docs/design/draft-push-pull.txt:
12680 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12681 * gst/elements/gstfilesink.c: (gst_filesink_init),
12682 (gst_filesink_query):
12683 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12684 (gst_type_find_handle_src_query), (find_element_get_length):
12685 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12686 * gst/gstelement.h:
12687 * gst/gstmessage.c:
12688 * gst/gstmessage.h:
12689 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12690 (gst_real_pad_get_caps_unlocked),
12691 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12692 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12693 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12694 (gst_real_pad_dispose), (gst_real_pad_finalize),
12695 (gst_pad_load_and_link), (gst_pad_save_thyself),
12696 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12697 (gst_pad_check_pull_range), (gst_pad_pull_range),
12698 (gst_pad_template_get_type), (gst_pad_template_class_init),
12699 (gst_pad_template_init), (gst_pad_template_dispose),
12700 (name_is_valid), (gst_static_pad_template_get),
12701 (gst_pad_template_new), (gst_static_pad_template_get_caps),
12702 (gst_pad_template_get_caps), (gst_pad_set_element_private),
12703 (gst_pad_get_element_private), (gst_pad_start_task),
12704 (gst_pad_pause_task), (gst_pad_stop_task),
12705 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12706 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12707 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12708 (gst_ghost_pad_new):
12710 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12711 (gst_query_new_position), (gst_query_set_position),
12712 (gst_query_parse_position), (gst_query_new_convert),
12713 (gst_query_set_convert), (gst_query_parse_convert):
12715 * gst/gstqueryutils.c:
12716 * gst/gstqueryutils.h:
12717 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12718 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12719 (gst_queue_handle_src_query):
12720 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12721 (gst_element_query_position), (gst_element_query_convert),
12722 (intersect_caps_func), (gst_pad_query_position),
12723 (gst_pad_query_convert):
12725 * tools/gst-inspect.c: (print_pad_info):
12726 * tools/gst-xmlinspect.c: (print_element_info):
12727 Remove old query functions. Ported old code.
12728 Added position/convert helper functions to gstutils.
12729 Reordered gstpad.c code, grouping relevant things.
12730 Remove gst_message_new(), always need to speficy a specific
12734 2005-05-09 Andy Wingo <wingo@pobox.com>
12736 * gst/gstiterator.h: Add some includes.
12738 * gst/gstqueryutils.h: Include more headers.
12741 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12742 some uses of gst_pad_query.
12744 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12745 NULL out parameters.
12746 (gst_query_new_position): New proc, allocates a new position
12749 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12750 gstqueryutils.c to the build.
12752 * gst/gststructure.c (gst_structure_set_valist): Implement with
12753 the generic G_VALUE_COLLECT.
12755 2005-05-08 Edward Hervey <bilboed@bilboed.com>
12757 * gst/Makefile.am: (gst_headers):
12758 Added gstqueryutils.h to the list of headers to install, that was
12759 a 'nachty' move wingo :)
12761 2005-05-06 Andy Wingo <wingo@pobox.com>
12764 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12765 GstData, init a memchunk.
12766 (standard_definitions): Add a few query types, deprecate a few.
12767 (gst_query_get_type): New proc.
12768 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12770 (gst_query_new_application, gst_query_get_structure): New public
12773 * docs/design/draft-query.txt: Removed LINKS from the query types,
12774 because all the rest can be dispatched to other pads -- seemed
12775 ugly to have a query that couldn't be dispatched. internal_links
12776 is fine as a pad method.
12778 * gst/gstpad.h: Add query2 as a pad method, add the new functions
12779 in gstpad.c, but maintain binary compatibility for the moment.
12780 Will fix before 0.9 is out.
12782 * gst/gstqueryutils.c:
12783 * gst/gstqueryutils.h: New files, implement 3 methods for each
12784 query type: parse_query, parse_response, and set. Probably need an
12787 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12789 * gst/elements/gstfilesink.c (gst_filesink_query2):
12790 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12791 query_types, and formats methods.
12793 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12794 (gst_pad_set_query2_function): New functions.
12795 (gst_real_pad_init): Set query2_default as the default query2
12796 function. Basically just dispatches to internally linked pads.
12800 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12801 without using the atomic operations. Only one thread can possibly
12802 be accessing the data at this point. Changed so as to avoid
12803 gst_atomic operations.
12805 2005-05-06 Wim Taymans <wim@fluendo.com>
12807 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12808 Also set caps if we use the fallback buffer alloc.
12810 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
12812 * docs/gst/Makefile.am:
12813 * docs/gst/gstreamer-docs.sgml:
12814 * docs/gst/gstreamer-sections.txt:
12815 * docs/gst/tmpl/gstatomic.sgml:
12816 * docs/gst/tmpl/gstmemchunk.sgml:
12817 * testsuite/elements/struct_i386.h:
12818 * win32/GStreamer.vcproj:
12820 Purge GstAtomic stuff from docs and win32 makefiles as well
12822 2005-05-06 Wim Taymans <wim@fluendo.com>
12824 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12825 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12826 * gst/gstpad.c: (gst_pad_peer_get_caps):
12827 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12828 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12829 (gst_queue_src_activate), (gst_queue_change_state):
12831 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12832 (intersect_caps_func):
12833 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12834 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12835 Some fixes for the peer_get_caps() change.
12837 2005-05-06 Wim Taymans <wim@fluendo.com>
12839 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12840 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12841 (gst_basesink_activate):
12842 Actually do something with error codes returned from the push
12845 2005-05-06 Wim Taymans <wim@fluendo.com>
12847 * docs/design/part-element-sink.txt:
12848 * docs/design/part-element-source.txt:
12849 * gst/base/gstbasesink.c: (gst_basesink_class_init),
12850 (gst_basesink_event), (gst_basesink_activate):
12851 * gst/base/gstbasesink.h:
12852 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12853 (gst_basesrc_activate):
12854 * gst/base/gstbasesrc.h:
12855 * gst/gstelement.c: (gst_element_pads_activate):
12856 Some more documentation.
12857 Fixed scheduling decision in _pads_activate().
12859 2005-05-05 Andy Wingo <wingo@pobox.com>
12861 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12864 2005-05-05 Wim Taymans <wim@fluendo.com>
12866 * gst/base/Makefile.am:
12867 * gst/base/gstbasesink.h:
12868 * gst/base/gstbasesrc.c: (gst_basesrc_init),
12869 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12870 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12871 (gst_collectpads_class_init), (gst_collectpads_init),
12872 (gst_collectpads_finalize), (gst_collectpads_new),
12873 (gst_collectpads_set_function), (gst_collectpads_add_pad),
12874 (find_pad), (gst_collectpads_remove_pad),
12875 (gst_collectpads_is_active), (gst_collectpads_collect),
12876 (gst_collectpads_collect_range), (gst_collectpads_start),
12877 (gst_collectpads_stop), (gst_collectpads_peek),
12878 (gst_collectpads_pop), (gst_collectpads_available),
12879 (gst_collectpads_read), (gst_collectpads_flush),
12880 (gst_collectpads_chain):
12881 * gst/base/gstcollectpads.h:
12882 * gst/elements/Makefile.am:
12883 * gst/elements/gstelements.c:
12884 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12885 (gst_fakesink_get_times), (gst_fakesink_event),
12886 (gst_fakesink_preroll), (gst_fakesink_render):
12887 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12888 (gst_filesink_init), (gst_filesink_set_location),
12889 (gst_filesink_open_file), (gst_filesink_close_file),
12890 (gst_filesink_pad_query), (gst_filesink_event),
12891 (gst_filesink_render), (gst_filesink_change_state):
12892 * gst/elements/gstfilesink.h:
12893 Added object to help in making collect pad based elements.
12895 Make event function in sink baseclass return gboolean.
12897 2005-05-05 Wim Taymans <wim@fluendo.com>
12899 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12900 (gst_bin_get_by_name):
12902 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12903 (gst_clock_finalize):
12904 * gst/gstdata.c: (gst_data_replace):
12906 * gst/gstelement.c: (gst_element_request_pad),
12907 (gst_element_pads_activate):
12908 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12909 (gst_object_unref):
12910 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12911 (gst_pad_set_checkgetrange_function),
12912 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12913 (gst_pad_check_pull_range), (gst_pad_pull_range),
12914 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12915 (gst_pad_pause_task), (gst_pad_stop_task):
12916 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12917 (gst_element_request_pad), (gst_pad_proxy_getcaps):
12918 Fix name lookup in GstBin.
12919 Added _data_replace() function and _buffer_replace()
12920 Use finalize method to clean up clock.
12921 Fix refcounting on request pads.
12922 Fix pad schedule mode error.
12923 Some more object refcounting debug info,
12926 2005-05-04 Andy Wingo <wingo@pobox.com>
12928 * check/Makefile.am:
12929 * docs/gst/tmpl/gstatomic.sgml:
12930 * docs/gst/tmpl/gstplugin.sgml:
12931 * gst/base/gstbasesink.c: (gst_basesink_activate):
12932 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12933 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12934 (gst_basesrc_query), (gst_basesrc_set_property),
12935 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12936 (gst_basesrc_activate):
12937 * gst/base/gstbasesrc.h:
12938 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12939 (gst_base_transform_src_activate):
12940 * gst/elements/gstelements.c:
12941 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12942 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12943 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12944 * gst/elements/gsttypefindelement.c: (find_element_get_length),
12945 (gst_type_find_element_checkgetrange),
12946 (gst_type_find_element_activate):
12947 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12948 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12949 (gst_caps_load_thyself):
12950 * gst/gstelement.c: (gst_element_pads_activate),
12951 (gst_element_save_thyself), (gst_element_restore_thyself):
12952 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12953 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12955 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12956 (gst_xml_parse_file), (gst_xml_parse_memory),
12957 (gst_xml_get_element), (gst_xml_make_element):
12958 * gst/indexers/gstfileindex.c: (gst_file_index_load),
12959 (_file_index_id_save_xml), (gst_file_index_commit):
12960 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12961 (read_enum), (load_pad_template), (load_feature), (load_plugin),
12963 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12964 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12965 * tools/gst-complete.c: (main):
12966 * tools/gst-compprep.c: (main):
12967 * tools/gst-inspect.c: (print_element_properties_info):
12968 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12969 * tools/gst-xmlinspect.c: (print_element_properties):
12972 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12974 * gst/gstplugin.c: (gst_plugin_check_module),
12975 (gst_plugin_check_file), (gst_plugin_load_file):
12976 apply patch from #172526 to make register work on MacOSX
12978 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12980 * docs/gst/tmpl/gstconfig.sgml:
12981 * gst/gstconfig.h.in:
12982 move documentation for some symbols. Add doc for GST_PTR_FORMAT
12983 * testsuite/debug/printf_extension.c: (main):
12984 Do not use GST_PTR_FORMAT on pointers to types with
12985 sizeof < sizeof(gpointer). Fixes test on 64-bit
12986 * testsuite/elements/property.h:
12987 use correct printf format
12989 2005-05-02 Wim Taymans <wim@fluendo.com>
12991 * docs/design/draft-push-pull.txt:
12992 * docs/design/draft-query.txt:
12993 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12994 (gst_basesrc_start):
12995 Added draft for new query API.
12996 Added draft for better selecting scheduling methods.
12997 Make basesrc ignore length if the subclass does not support
13000 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
13003 possible fixes for automake-1.5 - _LIBADD is reserved
13005 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
13007 * docs/faq/Makefile.am:
13008 * docs/manual/Makefile.am:
13009 * docs/manuals.mak:
13010 * docs/pwg/Makefile.am:
13012 possible fixes for automake-1.5
13014 2005-04-28 Wim Taymans <wim@fluendo.com>
13016 * gst/base/gstbasesink.c: (gst_basesink_base_init),
13017 (gst_basesink_pad_getcaps), (gst_basesink_init),
13018 (gst_basesink_do_sync):
13019 * gst/gstclock.c: (gst_clock_entry_new):
13020 * gst/gstevent.c: (gst_event_discont_get_value):
13021 * gst/gstpipeline.c: (pipeline_bus_handler),
13022 (gst_pipeline_change_state):
13023 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13024 Better debugging of clocking info.
13025 Allow NULL values when getting discont values.
13027 2005-04-27 Wim Taymans <wim@fluendo.com>
13029 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13030 * check/gst/gstpad.c: (gst_pad_suite):
13031 Increase timeout for checks.
13033 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13035 * check/Makefile.am:
13036 fix the broken rule for cleanup. Apparently this rule is
13037 only needed on FC2, so maybe this warrants further autotool
13040 2005-04-26 Wim Taymans <wim@fluendo.com>
13042 * gst/gsttrashstack.h:
13043 Ooohh. a nasty one! After having a failed pop() from the stack,
13044 it's possible that the stack is empty. In that case, don't
13045 follow the NULL pointer.
13047 2005-04-25 Wim Taymans <wim@fluendo.com>
13049 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13050 (gst_pad_set_checkgetrange_function),
13051 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13052 (gst_pad_check_pull_range), (gst_pad_pull_range),
13053 (gst_static_pad_template_get_caps), (gst_pad_start_task),
13054 (gst_pad_pause_task), (gst_pad_stop_task):
13055 * gst/gstplugin.c: (gst_plugin_load):
13057 Remove gst_library_load as it does more harm than good with
13058 the new g_module flags.
13059 Revert bogus caps template check in pad linking, pad caps
13060 are important when linking not the template, which is more
13061 general than the current caps.
13063 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13065 * gst/autoplug/.cvsignore:
13066 * gst/autoplug/Makefile.am:
13067 * gst/autoplug/gstsearchfuncs.c:
13068 * gst/autoplug/gstsearchfuncs.h:
13069 * gst/autoplug/gstspider.c:
13070 * gst/autoplug/gstspider.h:
13071 * gst/autoplug/gstspideridentity.c:
13072 * gst/autoplug/gstspideridentity.h:
13073 * gst/autoplug/spidertest.c:
13076 2005-04-25 Wim Taymans <wim@fluendo.com>
13078 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13079 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13080 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13081 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13083 Added stubs for unimplemented functions.
13085 2005-04-24 David Schleef <ds@schleef.org>
13087 * gst/gstpad.h: Disable some unimplemented functions. Wim,
13090 2005-04-24 David Schleef <ds@schleef.org>
13092 Convert everything from GstAtomicInt to g_atomic_int_*, and
13097 * gst/gstatomic_impl.h:
13105 * gst/gstdata_private.h:
13109 * gst/gstmessage.c:
13112 * gst/gststructure.c:
13113 * gst/gststructure.h:
13114 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13117 2005-04-24 David Schleef <ds@schleef.org>
13119 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13120 make the regressions tests work. Remove some code that is no
13122 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13123 Disable warning for pads without templates.
13125 2005-04-24 David Schleef <ds@schleef.org>
13127 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
13128 functions that handle filtered links.
13129 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13131 * gst/gstutils.c: Fix/remove utility functions that handle
13134 * gst/gstvalue.c: Add serialization/deserialization of caps
13135 * gst/parse/grammar.y: Ignore filtered caps when linking. This
13136 requires fixing so that the filter caps notation creates
13137 a capsfilter element and sets the filter_caps property. I
13138 think everyone probably wants to keep the shorthand notation.
13139 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13140 * docs/gst/tmpl/gstpad.sgml:
13142 * gst/elements/gstelements.c: Register capsfilter element.
13143 * gst/Makefile.am: fix spacing
13144 * docs/random/ds/0.9-suggested-changes: random
13146 2005-04-23 David Schleef <ds@schleef.org>
13148 * gst/elements/Makefile.am:
13149 * gst/elements/gstcapsfilter.c: New element that acts like an
13150 identity, but filters caps. Will eventually replace filtered
13151 caps in pad linking.
13152 * gst/gstutils.c: (gst_element_create_all_pads): New function
13153 to create all the ALWAYS pads that are registered with an
13154 element class. This functionality should eventually be
13155 merged in with GstElement initialization.
13157 * testsuite/trigger/README: part of trigger test code that should
13158 have been checked in a long time ago.
13160 2005-04-23 David Schleef <ds@schleef.org>
13162 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
13163 needed with new versions of libtool (nobody will confirm this),
13164 and hard to carry around.
13165 * gst/autoplug/Makefile.am:
13166 * gst/base/Makefile.am:
13167 * gst/elements/Makefile.am:
13168 * gst/indexers/Makefile.am:
13169 * gst/schedulers/Makefile.am:
13170 * libs/gst/bytestream/Makefile.am:
13171 * libs/gst/control/Makefile.am:
13172 * libs/gst/dataprotocol/Makefile.am:
13173 * libs/gst/getbits/Makefile.am:
13175 2005-04-21 Wim Taymans <wim@fluendo.com>
13177 * docs/design/draft-push-pull.txt:
13178 * docs/design/part-MT-refcounting.txt:
13179 * docs/design/part-TODO.txt:
13180 * docs/design/part-caps.txt:
13181 * docs/design/part-events.txt:
13182 * docs/design/part-gstbus.txt:
13183 * docs/design/part-gstpipeline.txt:
13184 * docs/design/part-messages.txt:
13185 * docs/design/part-push-pull.txt:
13186 * docs/design/part-query.txt:
13189 2005-04-21 Wim Taymans <wim@fluendo.com>
13191 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13192 (gst_message_new), (gst_message_new_error),
13193 (gst_message_new_warning), (gst_message_new_tag),
13194 (gst_message_new_state_changed), (gst_message_new_application),
13195 (gst_message_get_structure):
13196 * gst/gstmessage.h:
13197 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13198 (gst_structure_copy_conditional):
13199 Use parent refcount in GstMessage to ensure GstStructure
13201 Cleaned up headers a bit.
13204 2005-04-20 Wim Taymans <wim@fluendo.com>
13206 * gst/base/gstbasesink.c: (gst_basesink_base_init),
13207 (gst_basesink_pad_getcaps), (gst_basesink_init),
13208 (gst_basesink_chain_unlocked):
13209 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13210 (gst_type_find_helper):
13211 * gst/elements/gsttypefindelement.c:
13212 (gst_type_find_element_have_type), (gst_type_find_element_init),
13213 (stop_typefinding), (gst_type_find_element_handle_event),
13214 (find_suggest), (gst_type_find_element_chain),
13215 (gst_type_find_element_checkgetrange),
13216 (gst_type_find_element_getrange), (do_typefind),
13217 (gst_type_find_element_activate):
13218 * gst/gstbuffer.c: (_gst_buffer_sub_free),
13219 (gst_buffer_default_free), (gst_buffer_default_copy),
13220 (gst_buffer_set_caps):
13221 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13222 (gst_caps_replace):
13223 * gst/gstmessage.c: (gst_message_new),
13224 (gst_message_new_state_changed):
13225 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13226 (gst_pad_set_checkgetrange_function),
13227 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13228 (gst_pad_set_caps), (gst_pad_check_pull_range),
13229 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13231 * gst/gsttypefind.c: (gst_type_find_register):
13232 Make gst_caps_replace() work like other _replace() functions.
13233 Use _caps_replace() where possible.
13234 Make sure _message_new() initialises its field.
13235 Add gst_static_pad_template_get_caps()
13238 2005-04-18 Andy Wingo <wingo@pobox.com>
13240 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13241 on the peer, not the pad. I think that was a typo. Pass an extra
13242 arg to see if random access is possible. Activate the pads as
13243 PULL_RANGE if possible.
13245 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13247 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
13248 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13251 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13253 * docs/faq/using.xml:
13254 Add note on gstreamer-properties (#154996).
13256 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13258 * docs/random/bbb/optional-properties:
13259 Some analysis on optional properties.
13261 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13263 * docs/gst/tmpl/gstelementfactory.sgml:
13264 * gst/gstelement.h:
13265 * gst/gstelementfactory.c: (gst_element_factory_init),
13266 (gst_element_factory_cleanup), (gst_element_register),
13267 (__gst_element_factory_add_static_pad_template),
13268 (gst_element_factory_get_static_pad_templates),
13269 (gst_element_factory_can_src_caps),
13270 (gst_element_factory_can_sink_caps):
13271 * gst/registries/Makefile.am:
13272 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13273 (gst_xml_registry_class_init), (gst_xml_registry_init),
13274 (gst_xml_registry_new), (gst_xml_registry_set_property),
13275 (gst_xml_registry_get_property), (get_time), (make_dir),
13276 (gst_xml_registry_get_perms_func),
13277 (plugin_times_older_than_recurse), (plugin_times_older_than),
13278 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13279 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13280 (add_to_char_array), (read_string), (read_uint), (read_enum),
13281 (load_pad_template), (load_feature), (load_plugin), (load_paths),
13282 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13283 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13284 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13285 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13286 (gst_xml_registry_rebuild):
13287 * gst/registries/gstlibxmlregistry.h:
13288 * tools/gst-compprep.c: (main):
13289 * tools/gst-inspect.c: (print_pad_templates_info):
13290 * tools/gst-xmlinspect.c: (print_element_info):
13291 Use libxml2 for registry parsing, use staticpadtemplates in
13292 elementfactories. Makes gst_init() +/- 10x faster.
13294 2005-04-12 Wim Taymans <wim@fluendo.com>
13296 * gst/base/Makefile.am:
13297 * gst/base/gstbasesink.c: (gst_basesink_base_init),
13298 (gst_basesink_pad_getcaps), (gst_basesink_init),
13299 (gst_basesink_event), (gst_basesink_change_state):
13300 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13301 (gst_basesrc_init), (gst_basesrc_query),
13302 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13303 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13304 (gst_basesrc_check_get_range), (gst_basesrc_loop),
13305 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13306 (gst_basesrc_stop), (gst_basesrc_activate),
13307 (gst_basesrc_change_state):
13308 * gst/base/gsttypefindhelper.c: (helper_find_peek),
13309 (helper_find_suggest), (gst_type_find_helper):
13310 * gst/base/gsttypefindhelper.h:
13311 * gst/elements/Makefile.am:
13312 * gst/elements/gstelements.c:
13313 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13314 (gst_fakesink_get_times), (gst_fakesink_event),
13315 (gst_fakesink_preroll), (gst_fakesink_render):
13316 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13317 (gst_fakesrc_init), (gst_fakesrc_event_handler),
13318 (gst_fakesrc_get_property), (gst_fakesrc_create),
13319 (gst_fakesrc_start), (gst_fakesrc_stop):
13320 * gst/elements/gstfakesrc.h:
13321 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13322 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13323 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13324 (gst_filesrc_create_read), (gst_filesrc_create),
13325 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13326 (gst_filesrc_start):
13327 * gst/elements/gsttypefindelement.c:
13328 (gst_type_find_element_have_type), (gst_type_find_element_init),
13329 (start_typefinding), (stop_typefinding), (push_buffer_store),
13330 (gst_type_find_element_handle_event),
13331 (gst_type_find_element_chain),
13332 (gst_type_find_element_checkgetrange),
13333 (gst_type_find_element_getrange), (do_typefind),
13334 (gst_type_find_element_activate),
13335 (gst_type_find_element_change_state):
13336 * gst/elements/gsttypefindelement.h:
13337 * gst/gstpipeline.c: (pipeline_bus_handler):
13338 Added typefind helper.
13339 Small preroll fix in the base sink.
13340 Disable typefind code in basesrc.
13341 Crude port of typefindelement.
13345 2005-04-11 Wim Taymans <wim@fluendo.com>
13347 * check/gst/gstbus.c: (gstbus_suite):
13348 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13349 * check/gstcheck.h:
13350 Fix up the timeout so that the test does not fail.
13352 2005-04-06 Wim Taymans <wim@fluendo.com>
13355 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13356 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13357 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13358 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13359 (gst_basesrc_check_get_range), (gst_basesrc_loop),
13360 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13361 (gst_basesrc_stop), (gst_basesrc_activate),
13362 (gst_basesrc_change_state), (basesrc_find_peek),
13363 (basesrc_find_suggest), (gst_basesrc_type_find):
13364 * gst/base/gstbasesrc.h:
13365 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13366 (gst_filesrc_class_init), (gst_filesrc_init),
13367 (gst_filesrc_finalize), (gst_filesrc_set_location),
13368 (gst_filesrc_set_property), (gst_filesrc_get_property),
13369 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13370 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13371 (gst_filesrc_create_read), (gst_filesrc_create),
13372 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13373 * gst/elements/gstfilesrc.h:
13374 * gst/gstelement.c: (gst_element_get_state_func),
13375 (gst_element_lost_state), (gst_element_pads_activate):
13376 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13377 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13378 (gst_pad_pull_range):
13380 More work on the generic source base class, implement seeking,
13382 Make filesrc extend the base source class.
13383 Added gst_pad_set_checkgetrange_function to GstPad.
13385 2005-04-06 Andy Wingo <wingo@pobox.com>
13387 * pkgconfig/gstreamer-base.pc.in:
13388 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13390 * pkgconfig/Makefile.am:
13391 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13393 2005-04-04 Wim Taymans <wim@fluendo.com>
13395 * gst/base/Makefile.am:
13397 * gst/base/gstbasesink.c: (gst_basesink_base_init),
13398 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13399 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13400 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13401 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13402 (gst_basesrc_base_init), (gst_basesrc_class_init),
13403 (gst_basesrc_init), (gst_basesrc_get_formats),
13404 (gst_basesrc_get_query_types), (gst_basesrc_query),
13405 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13406 (gst_basesrc_set_property), (gst_basesrc_get_property),
13407 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13408 (gst_basesrc_loop), (gst_basesrc_activate),
13409 (gst_basesrc_change_state):
13410 * gst/base/gstbasesrc.h:
13411 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13412 (gst_fakesrc_class_init), (gst_fakesrc_init),
13413 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13414 (gst_fakesrc_get_property), (gst_fakesrc_create):
13415 * gst/elements/gstfakesrc.h:
13416 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13417 (gst_filesrc_open_file), (gst_filesrc_loop),
13418 (gst_filesrc_activate), (filesrc_find_peek),
13419 (gst_filesrc_type_find):
13420 Made base source class, make fakesrc extend it.
13421 Add comments to basesink class.
13422 Some filesrc cleanup.
13424 2005-03-31 David Schleef <ds@schleef.org>
13426 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13427 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13428 expected to link against libgstreamer.
13429 * gst/base/Makefile.am: link against libgstreamer
13430 * gst/elements/Makefile.am: same
13432 2005-03-31 Andy Wingo <wingo@pobox.com>
13434 * tests/instantiate/Makefile.am:
13435 * tests/instantiate/caps.c: Add test to test speed of caps copy
13438 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13439 GMemChunk to be fair.
13441 * gst/gsttrashstack.h: Remove warning about using the fallback
13442 trash stack implementation, it's still faster than malloc.
13444 2005-03-30 Andy Wingo <wingo@pobox.com>
13446 * tests/complexity.c: Add a copyright.
13448 2005-03-31 Wim Taymans <wim@fluendo.com>
13450 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13451 (gst_base_transform_class_init), (gst_base_transform_init),
13452 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13453 (gst_base_transform_get_property),
13454 (gst_base_transform_sink_activate),
13455 (gst_base_transform_src_activate),
13456 (gst_base_transform_change_state):
13457 * gst/base/gstbasetransform.h:
13458 * gst/elements/gstidentity.c: (gst_identity_class_init),
13459 (gst_identity_event), (gst_identity_check_perfect),
13460 (gst_identity_transform), (gst_identity_start),
13461 (gst_identity_stop):
13462 Added start/stop methods to transform base class so subclasses
13463 don't need to deal with state changes even.
13465 2005-03-31 Wim Taymans <wim@fluendo.com>
13467 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13468 (gst_event_new_discontinuous), (gst_event_discont_get_value):
13470 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13471 (gst_pad_pull_range):
13472 Added rate to the discont event to prepare for variable speed
13473 and reverse playback.
13475 2005-03-29 David Schleef <ds@schleef.org>
13478 * testsuite/trigger/Makefile.am:
13479 * testsuite/trigger/trigger.c: A little example program to show
13480 how trigger-based elements can work.
13482 2005-03-29 Wim Taymans <wim@fluendo.com>
13484 * gst/base/Makefile.am:
13486 * gst/base/gstbasesink.c: (gst_basesink_get_type),
13487 (gst_basesink_base_init), (gst_basesink_class_init),
13488 (gst_basesink_pad_getcaps), (gst_basesink_init),
13489 (gst_basesink_activate), (gst_basesink_change_state):
13490 * gst/base/gstbasesink.h:
13491 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13492 (gst_base_transform_base_init), (gst_base_transform_finalize),
13493 (gst_base_transform_class_init), (gst_base_transform_init),
13494 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13495 (gst_base_transform_event), (gst_base_transform_getrange),
13496 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13497 (gst_base_transform_set_property),
13498 (gst_base_transform_get_property),
13499 (gst_base_transform_sink_activate),
13500 (gst_base_transform_src_activate),
13501 (gst_base_transform_change_state):
13502 * gst/base/gstbasetransform.h:
13503 * gst/elements/gstidentity.c: (gst_identity_finalize),
13504 (gst_identity_class_init), (gst_identity_init),
13505 (gst_identity_event), (gst_identity_check_perfect),
13506 (gst_identity_transform), (gst_identity_set_property),
13507 (gst_identity_get_property), (gst_identity_change_state):
13508 * gst/elements/gstidentity.h:
13509 * gst/gstelement.c: (gst_element_get_state_func),
13510 (gst_element_lost_state), (gst_element_pads_activate):
13511 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13512 (gst_pad_check_pull_range), (gst_pad_pull_range):
13514 Simplify pad activation.
13515 Added function to check if pull_range can be performed.
13516 Error out when pulling inactive or flushing pads.
13517 Removed const from refcounted types as it does not make sense.
13518 Simplify pad templates in basesink
13519 Added base class for simple 1-to-1 transforms.
13520 Make identity subclass the base transform.
13522 2005-03-29 Andy Wingo <wingo@pobox.com>
13524 * docs/libs/gstreamer-libs-overrides.txt:
13525 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13526 really don't understand what's going on, but like whatever. I want
13529 * docs/gst/Makefile.am:
13530 * docs/libs/Makefile.am: Dist the overrides files.
13532 * check/Makefile.am (clean-local): Remove .libs directories.
13534 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13535 elements to EXTRA_DIST, so po/ files are happy.
13537 * po/POTFILES.in: Er, remove it here.
13539 * po/POTFILES: Remove gstspider.c.
13541 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13543 * docs/libs/gstreamer-libs-docs.sgml:
13544 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13547 * tests/complexity.c (main): Set the length of the preroll queue
13548 on the sinks to prevent a lockup.
13550 * libs/gst/dataprotocol/Makefile.am:
13551 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13552 the same as the one in check/gst-libs/gdp.c.
13554 * po/, docs/gst/: Commit automatic changes to docs and po files.
13556 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13557 the versioned libgstbase.
13559 * check/Makefile.am: Depend on an unversioned gst-register, seems
13560 to make autoconf happier.
13562 * gst/base/Makefile.am: Make libgstbase a versioned lib.
13564 2005-03-28 Wim Taymans <wim@fluendo.com>
13567 * docs/design/part-gstelement.txt:
13568 * docs/design/part-negotiation.txt:
13569 * docs/design/part-preroll.txt:
13570 * docs/design/part-scheduling.txt:
13571 * docs/design/part-states.txt:
13573 * gst/base/Makefile.am:
13575 * gst/base/gstbasesink.c: (gst_basesink_get_template),
13576 (gst_basesink_base_init), (gst_basesink_class_init),
13577 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13578 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13579 (gst_basesink_set_pad_functions),
13580 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13581 (gst_basesink_set_property), (gst_basesink_get_property),
13582 (gst_base_sink_get_template), (gst_base_sink_get_caps),
13583 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13584 (gst_basesink_preroll_queue_push),
13585 (gst_basesink_preroll_queue_empty),
13586 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13587 (gst_basesink_event), (gst_basesink_get_times),
13588 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13589 (gst_basesink_chain_unlocked), (gst_basesink_chain),
13590 (gst_basesink_loop), (gst_basesink_activate),
13591 (gst_basesink_change_state):
13592 * gst/base/gstbasesink.h:
13593 * gst/elements/Makefile.am:
13594 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13595 (gst_fakesink_class_init), (gst_fakesink_init),
13596 (gst_fakesink_set_property), (gst_fakesink_get_property),
13597 (gst_fakesink_get_times), (gst_fakesink_event),
13598 (gst_fakesink_preroll), (gst_fakesink_render),
13599 (gst_fakesink_change_state):
13600 * gst/elements/gstfakesink.h:
13601 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13602 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13603 * gst/gstelement.c: (gst_element_add_pad),
13604 (gst_element_get_state_func), (gst_element_abort_state),
13605 (gst_element_commit_state), (gst_element_lost_state),
13606 (gst_element_set_state), (gst_element_pads_activate):
13607 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13608 * gst/gstpipeline.c: (gst_pipeline_send_event),
13609 (gst_pipeline_change_state):
13610 Added state change code.
13611 Added/updated docs.
13612 Added sink base class, make fakesink extend the base class.
13613 Small cleanups in GstPipeline.
13615 2005-03-26 David Schleef <ds@schleef.org>
13617 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
13618 is broken and should be implemented in a different library.
13619 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13620 * gst/gst.h: remove gstcpu.h
13621 * gst/gstcpu.c: remove
13622 * gst/gstcpu.h: remove
13623 * gst/Makefile.am.future: Remove this file. It's ancient.
13625 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13627 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13628 (gst_bin_send_event):
13629 Add default event/set_manager handlers. The set_manager handler
13630 takes care that the manager is distributed over kids that were
13631 already in the bin before the manager was set. The event handler
13632 is a utility virtual function that sends the event over all sinks,
13633 so that gst_element_send_event (bin, event); has the expected
13635 * gst/gstpad.c: (gst_pad_event_default):
13636 Re-install default event handling for discontinuities, so that
13637 seeking works without requiring hacks in applications or extra
13639 * gst/gstpipeline.c: (gst_pipeline_class_init),
13640 (gst_pipeline_send_event):
13641 Half hack, half utility: set a pipeline to PAUSED for seek events,
13642 since that is the only way we can guarantee a/v sync. Means that
13643 you can do gst_element_seek (pipeline, method, pos); on a pipeline
13644 and it "just works".
13646 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13648 * gst/gstpipeline.c: (gst_pipeline_use_clock):
13649 Lock/unlock mismatch.
13651 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
13653 * docs/faq/gst-uninstalled:
13654 add gst-plugins-base
13655 * docs/gst/Makefile.am:
13656 don't error out until docs are fixed
13657 * docs/gst/gstreamer.types:
13660 2005-03-22 Wim Taymans <wim@fluendo.com>
13662 * check/Makefile.am:
13663 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13664 * gst/gststructure.c: (gst_structure_set_valist),
13665 (gst_structure_copy_conditional):
13666 Activated more tests.
13667 Added message test.
13668 Added G_TYPE_POINTER to GstStructure.
13671 2005-03-22 Wim Taymans <wim@fluendo.com>
13673 * docs/design/part-TODO.txt:
13674 * docs/design/part-events.txt:
13675 * docs/design/part-gstbin.txt:
13676 * docs/design/part-gstbus.txt:
13677 * docs/design/part-gstpipeline.txt:
13678 * docs/design/part-messages.txt:
13680 * gst/gstmessage.c:
13683 2005-03-21 Wim Taymans <wim@fluendo.com>
13685 * gst/gstbus.c: (gst_bus_post):
13686 Fix copy-and-paste error.
13688 2005-03-21 Wim Taymans <wim@fluendo.com>
13690 * check/Makefile.am:
13692 * gst/elements/Makefile.am:
13693 * gst/elements/gstelements.c:
13694 * gst/elements/gstfakesink.c: (gst_fakesink_init),
13695 (gst_fakesink_event), (gst_fakesink_chain):
13696 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13697 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13698 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13699 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13700 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13701 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13702 (gst_fakesrc_loop), (gst_fakesrc_activate),
13703 (gst_fakesrc_change_state):
13704 * gst/elements/gstfakesrc.h:
13705 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13706 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13707 (gst_filesrc_open_file), (gst_filesrc_loop),
13708 (gst_filesrc_activate), (gst_filesrc_change_state),
13709 (filesrc_find_peek), (filesrc_find_suggest),
13710 (gst_filesrc_type_find):
13711 * gst/elements/gstidentity.c: (gst_identity_finalize),
13712 (gst_identity_class_init), (gst_identity_init),
13713 (gst_identity_proxy_getcaps), (identity_queue_push),
13714 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13715 (gst_identity_getrange), (gst_identity_chain),
13716 (gst_identity_sink_loop), (gst_identity_src_loop),
13717 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13718 (gst_identity_set_property), (gst_identity_get_property),
13719 (gst_identity_change_state):
13720 * gst/elements/gstidentity.h:
13721 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13722 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13723 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13724 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13725 (gst_tee_sink_activate):
13726 * gst/elements/gsttee.h:
13727 * gst/gst.c: (gst_register_core_elements), (init_post):
13729 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13730 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13731 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13732 (gst_bin_change_state):
13734 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13735 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13736 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13737 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13738 (gst_bus_set_sync_handler), (gst_bus_create_watch),
13739 (bus_watch_callback), (bus_watch_destroy),
13740 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13741 (poll_timeout), (gst_bus_poll):
13745 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13746 (gst_element_post_message), (gst_element_message_full),
13747 (gst_element_get_state_func), (gst_element_get_state),
13748 (gst_element_abort_state), (gst_element_commit_state),
13749 (gst_element_lost_state), (gst_element_set_state),
13750 (gst_element_pads_activate), (gst_element_change_state),
13751 (gst_element_dispose), (gst_element_set_manager_func),
13752 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13753 (gst_element_set_manager), (gst_element_get_manager),
13754 (gst_element_set_bus), (gst_element_get_bus),
13755 (gst_element_set_scheduler), (gst_element_get_scheduler):
13756 * gst/gstelement.h:
13757 * gst/gstevent.c: (gst_event_new_segment_seek),
13758 (gst_event_new_flush):
13760 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13761 (_gst_message_free), (gst_message_get_type), (gst_message_new),
13762 (gst_message_new_eos), (gst_message_new_error),
13763 (gst_message_new_warning), (gst_message_new_tag),
13764 (gst_message_new_state_changed), (gst_message_new_application),
13765 (gst_message_get_structure), (gst_message_parse_tag),
13766 (gst_message_parse_state_changed), (gst_message_parse_error),
13767 (gst_message_parse_warning):
13768 * gst/gstmessage.h:
13769 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13770 (gst_real_pad_set_property), (gst_pad_set_active),
13771 (gst_pad_is_active), (gst_pad_set_blocked_async),
13772 (gst_pad_set_blocked), (gst_pad_is_blocked),
13773 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13774 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13775 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13776 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13777 (gst_pad_link_filtered), (gst_pad_relink_filtered),
13778 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13779 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13780 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13781 (gst_pad_set_caps), (gst_pad_configure_sink),
13782 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13783 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13784 (gst_real_pad_dispose), (gst_real_pad_finalize),
13785 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13786 (gst_pad_event_default_dispatch), (gst_pad_event_default),
13787 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13789 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13790 (pipeline_bus_handler), (gst_pipeline_change_state),
13791 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13792 * gst/gstpipeline.h:
13794 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13795 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13796 (gst_queue_link_src), (gst_queue_bufferalloc),
13797 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13798 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13799 (gst_queue_loop), (gst_queue_handle_src_event),
13800 (gst_queue_handle_src_query), (gst_queue_src_activate),
13801 (gst_queue_change_state):
13803 * gst/gstscheduler.c: (gst_scheduler_init),
13804 (gst_scheduler_dispose), (gst_scheduler_create_task),
13805 (gst_scheduler_factory_create):
13806 * gst/gstscheduler.h:
13807 * gst/gststructure.c: (gst_structure_get_type),
13808 (gst_structure_copy_conditional):
13809 * gst/gststructure.h:
13810 * gst/gsttaginterface.h:
13811 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13812 (gst_task_init), (gst_task_dispose), (gst_task_create),
13813 (gst_task_get_state), (gst_task_start), (gst_task_stop),
13819 * gst/schedulers/Makefile.am:
13820 * gst/schedulers/cothreads_compat.h:
13821 * gst/schedulers/entryscheduler.c:
13822 * gst/schedulers/faircothreads.c:
13823 * gst/schedulers/faircothreads.h:
13824 * gst/schedulers/fairscheduler.c:
13825 * gst/schedulers/gstbasicscheduler.c:
13826 * gst/schedulers/gstoptimalscheduler.c:
13827 * gst/schedulers/gthread-cothreads.h:
13828 * gst/schedulers/threadscheduler.c:
13829 (gst_thread_scheduler_task_get_type),
13830 (gst_thread_scheduler_task_class_init),
13831 (gst_thread_scheduler_task_init),
13832 (gst_thread_scheduler_task_start),
13833 (gst_thread_scheduler_task_stop),
13834 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13835 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13836 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13837 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13839 * libs/gst/Makefile.am:
13840 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13841 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13842 (gst_file_pad_parent_set):
13843 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13844 (gst_dp_event_from_packet):
13845 * tests/complexity.c: (main):
13846 * tests/mass_elements.c: (main):
13847 * testsuite/states/locked.c: (message_received), (main):
13848 * testsuite/states/parent.c: (main):
13849 * tools/gst-inspect.c: (print_element_flag_info),
13850 (print_implementation_info), (print_pad_info):
13851 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13853 * tools/gst-md5sum.c: (event_loop), (main):
13854 * tools/gst-typefind.c: (main):
13855 * tools/gst-xmlinspect.c: (print_element_info):
13857 Added GstBus for mainloop integration.
13858 Added GstMessage for sending notifications on the bus.
13859 Added GstTask as an abstraction for pipeline entry points.
13861 Removed Schedulers.
13862 Simplified GstQueue for multithreaded core.
13863 Made _link threadsafe, removed old capsnego.
13864 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13865 Added pad blocking functions.
13866 Reworked scheduling functions in GstPad to prepare for
13867 scheduling updates soon.
13868 Moved events out of data stream.
13869 Simplified GstEvent types.
13870 Added return values to push/pull.
13871 Removed clocking from GstElement.
13872 Added prototypes for state change function for next merge.
13873 Removed iterate from bins and state change management.
13874 Fixed some elements, disabled others for now.
13875 Fixed -inspect and -launch.
13876 Added check for GstBus.
13878 2005-03-10 Wim Taymans <wim@fluendo.com>
13880 * docs/design/part-MT-refcounting.txt:
13881 * docs/design/part-clocks.txt:
13882 * docs/design/part-gstelement.txt:
13883 * docs/design/part-gstobject.txt:
13884 * docs/design/part-standards.txt:
13885 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13886 (gst_bin_remove_func), (gst_bin_remove):
13890 * testsuite/clock/clock1.c: (main):
13891 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13893 * testsuite/dlopen/loadgst.c: (do_test):
13894 * testsuite/refcounting/bin.c: (add_remove_test1),
13895 (add_remove_test2), (main):
13896 * testsuite/refcounting/element.c: (main):
13897 * testsuite/refcounting/element_pad.c: (main):
13898 * testsuite/refcounting/pad.c: (main):
13899 * tools/gst-launch.c: (sigint_handler_sighandler):
13900 * tools/gst-typefind.c: (main):
13902 Added doc about clock.
13903 removed gst_bin_iterate_recurse_up(), marked methods
13905 Fix more testsuites.
13907 2005-03-09 Wim Taymans <wim@fluendo.com>
13909 * gst/gstpad.c: (gst_pad_get_direction),
13910 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13911 (gst_pad_collect_valist):
13912 * testsuite/bins/interface.c: (main):
13913 * testsuite/caps/audioscale.c: (test_caps):
13914 * testsuite/caps/caps.c: (test1), (test2), (test3):
13915 * testsuite/caps/deserialize.c: (main):
13916 * testsuite/caps/enumcaps.c: (main):
13917 * testsuite/caps/filtercaps.c: (main):
13918 * testsuite/caps/intersect2.c: (main):
13919 * testsuite/caps/random.c: (main):
13920 * testsuite/caps/renegotiate.c: (my_fixate), (main):
13921 * testsuite/caps/sets.c: (check_caps):
13922 * testsuite/caps/simplify.c: (check_caps), (main):
13923 * testsuite/caps/subtract.c: (check_caps):
13924 Fix _pad_get_direction wrt ghostpads.
13925 Fix caps testsuite.
13927 2005-03-09 Wim Taymans <wim@fluendo.com>
13929 * check/Makefile.am:
13930 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13931 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13932 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13933 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13934 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13935 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13936 (gst_bin_remove), (gst_bin_iterate_recurse_up),
13937 (bin_element_is_sink), (gst_bin_iterate_sinks),
13938 (gst_bin_iterate_all_by_interface):
13940 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13941 (gst_element_change_state), (gst_element_dispose),
13942 (gst_element_finalize), (gst_element_set_loop_function):
13943 * gst/gstelement.h:
13944 * gst/gstiterator.c: (find_custom_fold_func):
13945 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13946 (gst_pad_collectv), (gst_pad_collect_valist),
13947 (gst_pad_template_new):
13948 * gst/gstpipeline.c: (gst_pipeline_class_init),
13949 (gst_pipeline_dispose), (gst_pipeline_set_property),
13950 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13951 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13952 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13954 * gst/schedulers/entryscheduler.c:
13955 * gst/schedulers/gstbasicscheduler.c:
13956 (gst_basic_scheduler_cothreaded_chain),
13957 (gst_basic_scheduler_chain_add_element):
13958 * testsuite/bins/interface.c: (main):
13960 Added GstSystemClock test.
13961 Implemented clock distribution code in GstBin.
13962 Implemented iterate sinks method for future use.
13963 Rearranged gstelement.h
13964 Fix GstIterator comparison bug.
13965 Moved some code to GstPipeline, mostly clocking related.
13967 2005-03-09 Wim Taymans <wim@fluendo.com>
13970 * gst/gst_private.h:
13971 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13972 (gst_bin_remove_func), (gst_bin_remove),
13973 (gst_bin_get_by_name_recurse_up):
13974 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13975 (gst_clock_id_compare_func), (gst_clock_id_wait),
13976 (gst_clock_id_wait_async), (gst_clock_init),
13977 (gst_clock_adjust_unlocked), (gst_clock_get_time):
13978 * gst/gstelement.h:
13979 * gst/gstinfo.c: (_gst_debug_init):
13981 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13982 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13984 Bump version number, we're now 0.9.0
13985 Add future debugging category.
13986 Fix NULL _unref() in _get_by_name_recurse_up
13987 Rearrange gstpad.h.
13990 2005-03-08 Wim Taymans <wim@fluendo.com>
13992 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13993 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13994 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13995 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13996 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13997 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13998 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13999 * gst/elements/gstidentity.c: (gst_identity_class_init):
14000 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14001 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14002 * gst/elements/gstshaper.c: (gst_shaper_class_init):
14003 * gst/elements/gststatistics.c: (gst_statistics_class_init):
14004 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14006 * gst/gstelement.c: (gst_element_class_init),
14007 (gst_element_base_class_init), (gst_element_init),
14008 (gst_element_get_random_pad), (gst_element_wait_state_change),
14009 (gst_element_change_state), (gst_element_dispose),
14010 (gst_element_finalize), (gst_element_set_loop_function):
14011 * gst/gstelement.h:
14012 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14013 * gst/gstthread.c: (gst_thread_class_init),
14014 (gst_thread_release_children_locks), (gst_thread_change_state):
14015 * gst/schedulers/gstbasicscheduler.c:
14016 (gst_basic_scheduler_loopfunc_wrapper),
14017 (gst_basic_scheduler_chain_wrapper),
14018 (gst_basic_scheduler_src_wrapper),
14019 (gst_basic_scheduler_remove_element):
14020 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14021 Remove threadsafe properties. Fix elements because GObject
14022 complains when installing a property before declaring a
14023 set/get_property handler.
14024 Rearrange gstelement.h file, use STATE macros for state locks.
14025 Free mutexes in the finalize method instead of dispose.
14027 2005-03-08 Wim Taymans <wim@fluendo.com>
14029 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14030 * gst/gstthread.c: (gst_thread_release_children_locks):
14031 Added parentage check.
14032 Fix build og GstThread again.
14034 2005-03-08 Wim Taymans <wim@fluendo.com>
14036 * docs/design/part-MT-refcounting.txt:
14037 * docs/design/part-conventions.txt:
14038 * docs/design/part-gstobject.txt:
14039 * docs/design/part-relations.txt:
14040 * docs/design/part-standards.txt:
14041 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14042 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14043 (gst_bin_get_by_name), (gst_bin_get_by_interface),
14044 (gst_bin_iterate_all_by_interface):
14047 * gst/gstelement.c: (gst_element_class_init),
14048 (gst_element_change_state), (gst_element_set_loop_function):
14049 * gst/gstelement.h:
14050 * gst/gstiterator.c:
14051 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14052 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14053 (gst_object_dispatch_properties_changed), (gst_object_set_name),
14054 (gst_object_set_parent), (gst_object_unparent),
14055 (gst_object_check_uniqueness):
14057 Docs updates, clean up some headers.
14059 2005-03-07 Wim Taymans <wim@fluendo.com>
14061 * check/.cvsignore:
14062 * check/Makefile.am:
14063 * check/gst-libs/.cvsignore:
14064 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14065 * check/gst/.cvsignore:
14066 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14067 (START_TEST), (gstbus_suite), (main):
14068 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14069 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14070 (gst_data_suite), (main):
14071 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14072 (add_fold_func), (gstiterator_suite), (main):
14073 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14074 (thread_name_object), (thread_name_object_default),
14075 (gst_object_name_compare), (gst_object_suite), (main):
14076 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14077 (gst_pad_suite), (main):
14078 * check/gstcheck.c: (gst_check_log_message_func),
14079 (gst_check_log_critical_func), (gst_check_init):
14080 * check/gstcheck.h:
14081 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14082 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14085 2005-03-07 Wim Taymans <wim@fluendo.com>
14087 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14088 (gst_list_iterator_next), (gst_list_iterator_resync),
14089 (gst_list_iterator_free), (gst_iterator_new_list),
14090 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14091 (gst_iterator_free), (gst_iterator_push), (filter_next),
14092 (filter_resync), (filter_uninit), (filter_free),
14093 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14094 (gst_iterator_foreach), (find_custom_fold_func),
14095 (gst_iterator_find_custom):
14096 * gst/gstiterator.h:
14097 Added missing files.
14099 2005-03-07 Wim Taymans <wim@fluendo.com>
14103 * docs/design/part-MT-refcounting.txt:
14104 * docs/design/part-conventions.txt:
14105 * docs/design/part-gstobject.txt:
14106 * docs/design/part-relations.txt:
14107 * examples/mixer/mixer.c: (main):
14108 * examples/thread/thread.c: (eos), (main):
14110 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14111 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14112 (gst_spider_plug_from_srcpad):
14113 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14114 (gst_spider_identity_change_state),
14115 (gst_spider_identity_sink_loop_type_finding):
14116 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14117 * gst/elements/gstidentity.c: (gst_identity_init):
14118 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14119 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14120 * gst/elements/gsttypefindelement.c: (free_entry):
14123 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14124 (gst_bin_set_clock_func), (gst_bin_auto_clock),
14125 (gst_bin_set_index), (gst_bin_set_element_sched),
14126 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14127 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14128 (gst_bin_iterate_elements), (iterate_child_recurse),
14129 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14130 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14131 (compare_interface), (gst_bin_get_by_interface),
14132 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14134 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14135 (gst_buffer_default_free), (gst_buffer_default_copy),
14136 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14137 (gst_buffer_create_sub):
14139 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14140 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14141 (gst_caps_unref), (gst_static_caps_get),
14142 (gst_caps_remove_and_get_structure), (gst_caps_append),
14143 (gst_caps_append_structure), (gst_caps_remove_structure),
14144 (gst_caps_copy_nth), (gst_caps_set_simple),
14145 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14146 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14147 (gst_caps_structure_intersect_field), (gst_caps_intersect),
14148 (gst_caps_structure_subtract_field), (gst_caps_subtract),
14149 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14150 (gst_caps_structure_figure_out_union),
14151 (gst_caps_switch_structures), (gst_caps_do_simplify),
14152 (gst_caps_replace), (gst_caps_from_string),
14153 (gst_caps_copy_conditional):
14155 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14156 (_gst_clock_id_free), (gst_clock_id_unref),
14157 (gst_clock_id_compare_func), (gst_clock_id_wait),
14158 (gst_clock_id_wait_async), (gst_clock_class_init),
14159 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14160 (gst_clock_get_time), (gst_clock_set_time_adjust),
14161 (gst_clock_set_property), (gst_clock_get_property):
14164 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14165 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14167 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14168 (gst_element_requires_clock), (gst_element_provides_clock),
14169 (gst_element_set_clock), (gst_element_clock_wait),
14170 (gst_element_wait), (gst_element_set_time_delay),
14171 (gst_element_is_indexable), (gst_element_add_pad),
14172 (gst_element_add_ghost_pad), (gst_element_remove_pad),
14173 (pad_compare_name), (gst_element_get_static_pad),
14174 (gst_element_request_pad), (gst_element_get_request_pad),
14175 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14176 (gst_element_class_get_pad_template_list),
14177 (gst_element_class_get_pad_template), (gst_element_error_func),
14178 (gst_element_get_random_pad), (gst_element_get_event_masks),
14179 (gst_element_send_event), (gst_element_seek),
14180 (gst_element_get_query_types), (gst_element_query),
14181 (gst_element_get_formats), (gst_element_convert),
14182 (gst_element_is_locked_state), (gst_element_set_locked_state),
14183 (gst_element_sync_state_with_parent), (gst_element_change_state),
14184 (gst_element_finalize), (gst_element_yield),
14185 (gst_element_interrupt), (gst_element_set_scheduler),
14186 (gst_element_get_scheduler), (gst_element_set_loop_function):
14187 * gst/gstelement.h:
14189 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14190 (gst_format_get_by_nick), (gst_format_get_details),
14191 (gst_format_iterate_definitions):
14193 * gst/gstindex.c: (gst_index_gtype_resolver):
14196 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14197 (gst_mem_chunk_free):
14198 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14199 (gst_object_ref), (gst_object_unref), (gst_object_sink),
14200 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14201 (gst_object_dispatch_properties_changed),
14202 (gst_object_set_name_default), (gst_object_set_name),
14203 (gst_object_get_name), (gst_object_set_name_prefix),
14204 (gst_object_get_name_prefix), (gst_object_set_parent),
14205 (gst_object_get_parent), (gst_object_unparent),
14206 (gst_object_check_uniqueness), (gst_object_save_thyself),
14207 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14208 (gst_object_set_property), (gst_object_get_property),
14209 (gst_object_get_path_string):
14211 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14212 (gst_real_pad_init), (gst_real_pad_get_property),
14213 (gst_pad_custom_new), (gst_pad_get_direction),
14214 (gst_pad_set_active), (gst_pad_is_active),
14215 (gst_pad_set_event_function), (gst_pad_is_linked),
14216 (gst_pad_link_free), (gst_pad_link_intersect),
14217 (gst_pad_link_fixate), (gst_pad_set_caps),
14218 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14219 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14220 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14221 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14222 (gst_pad_get_caps), (gst_pad_peer_get_caps),
14223 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14224 (gst_pad_realize), (gst_pad_get_allowed_caps),
14225 (gst_real_pad_dispose), (gst_real_pad_finalize),
14226 (gst_pad_collectv), (gst_pad_collect_valist),
14227 (gst_pad_template_dispose), (gst_pad_template_new),
14228 (gst_pad_get_internal_links):
14230 * gst/gstpipeline.c: (gst_pipeline_dispose),
14231 (gst_pipeline_change_state):
14232 * gst/gstpipeline.h:
14234 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14235 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14236 * gst/gstpluginfeature.h:
14237 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14238 * gst/gstquery.c: (_gst_query_type_initialize),
14239 (gst_query_type_register), (gst_query_type_get_by_nick),
14240 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14242 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14243 * gst/gstscheduler.c: (gst_scheduler_add_element),
14244 (gst_scheduler_factory_create):
14245 * gst/gststructure.c: (gst_structure_set_parent_refcount),
14246 (gst_structure_free), (gst_structure_set_name),
14247 (gst_structure_id_set_value), (gst_structure_set_value),
14248 (gst_structure_set_valist), (gst_structure_remove_field),
14249 (gst_structure_remove_fields),
14250 (gst_structure_remove_fields_valist),
14251 (gst_structure_remove_all_fields), (gst_structure_foreach),
14252 (gst_structure_map_in_place),
14253 (gst_caps_structure_fixate_field_nearest_int),
14254 (gst_caps_structure_fixate_field_nearest_double):
14255 * gst/gststructure.h:
14256 * gst/gstsystemclock.c: (gst_system_clock_class_init),
14257 (gst_system_clock_init), (gst_system_clock_dispose),
14258 (gst_system_clock_async_thread),
14259 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14260 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14261 * gst/gstsystemclock.h:
14262 * gst/gsttag.c: (gst_tag_list_add_value_internal),
14263 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14264 * gst/gsttaginterface.c:
14265 * gst/gstthread.c: (gst_thread_dispose),
14266 (gst_thread_release_children_locks), (gst_thread_change_state),
14267 (gst_thread_main_loop):
14268 * gst/gsttrashstack.h:
14269 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14271 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14272 (gst_element_request_pad), (gst_element_get_pad_from_template),
14273 (gst_element_request_compatible_pad),
14274 (gst_element_get_compatible_pad_filtered),
14275 (gst_element_get_compatible_pad), (gst_element_state_get_name),
14276 (gst_element_link_pads_filtered), (gst_element_link_filtered),
14277 (gst_element_link_many), (gst_element_link),
14278 (gst_element_link_pads), (gst_element_unlink_pads),
14279 (gst_element_unlink_many), (gst_element_unlink),
14280 (gst_pad_can_link_filtered), (gst_pad_can_link),
14281 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14282 (gst_object_default_error), (gst_bin_add_many),
14283 (gst_bin_remove_many), (gst_element_populate_std_props),
14284 (gst_element_class_install_std_props), (gst_buffer_merge),
14285 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14286 (link_fold_func), (gst_pad_proxy_setcaps):
14288 * gst/gstvalue.c: (gst_value_deserialize_string):
14289 * gst/parse/grammar.y:
14290 * gst/schedulers/gstbasicscheduler.c:
14291 (gst_basic_scheduler_cothreaded_chain),
14292 (gst_basic_scheduler_chain_recursive_add),
14293 (gst_basic_scheduler_pad_link):
14294 * gst/schedulers/gstoptimalscheduler.c:
14295 (get_group_schedule_function),
14296 (gst_opt_scheduler_state_transition),
14297 (gst_opt_scheduler_add_element), (element_get_reachables_func):
14298 * libs/gst/bytestream/bytestream.c:
14299 * libs/gst/dataprotocol/dataprotocol.c:
14300 (gst_dp_header_from_buffer):
14303 * tests/threadstate/threadstate2.c: (eos):
14304 * tools/gst-compprep.c: (main):
14305 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14306 (print_pad_info), (print_children_info):
14307 * tools/gst-launch.c: (idle_func), (main):
14308 * tools/gst-md5sum.c: (idle_func), (main):
14309 * tools/gst-xmlinspect.c: (print_element_info):
14310 First THREADED backport attempt, focusing on adding locks and
14311 making sure the API is threadsafe. Needs more work. More docs
14314 2005-02-24 Andy Wingo <wingo@pobox.com>
14316 * tests/bench-complexity.scm:
14317 * tests/complexity.gnuplot: New files, good for running complexity
14320 * tests/Makefile.am:
14321 * tests/complexity.c: New test, sets up N elements, at each level
14322 teeing into M streams per element. Eeeenteresting.
14324 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14325 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14326 running bench-mass_elements.scm.
14328 * tests/bench-mass_elements.scm: New script, runs mass_elements
14329 for various numbers of identities, outputting the results to a
14330 file. Requires guile 1.6. Just for testing.
14332 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
14334 * gst/schedulers/fairscheduler.c:
14335 compile with debug disabled
14337 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
14340 hunting season on 0.9 is now OPEN