1 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
3 * docs/manual/Makefile.am:
7 * win32/common/config.h.in:
8 add generations for HOST_CPU and GST_MAJORMINOR
9 * win32/common/config.h:
10 commit generated result
12 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
14 * docs/manual/appendix-integration.xml:
15 Update GNOME integration section to use gst_init_get_option_group()
16 instead of the old popt stuff (#322911). Also, GNOME applications
17 should now use gconf*sink and gconf*src instead of the old gconf
20 2006-01-13 Stefan Kost <ensonic@users.sf.net>
23 * docs/gst/gstreamer-docs.sgml:
24 * docs/gst/gstreamer-sections.txt:
25 * docs/libs/gstreamer-libs-sections.txt:
26 add new API entries to the docs
27 * libs/gst/controller/Makefile.am:
28 * libs/gst/controller/gstcontroller.c:
29 * libs/gst/controller/gstcontroller.h:
30 * libs/gst/controller/gstcontrollerprivate.h:
31 * libs/gst/controller/gsthelper.c:
32 * libs/gst/controller/gstinterpolation.c:
33 move private structs to private header
35 gstreamer-0.7 -> gstreamer-0.10
36 * tests/check/libs/struct_i386.h:
37 remove private structs
39 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
41 * plugins/indexers/Makefile.am:
42 Fixes as part of #317048
44 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
46 * plugins/indexers/Makefile.am:
47 fix #316086 - compilation when mmap is missing
49 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
51 * libs/gst/base/gstbasesink.c:
52 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
53 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
54 * win32/common/config.h:
55 added some defines GST_MAJORMINOR and HOST_CPU
56 * win32/common/libgstbase.def:
57 * win32/common/libgstreamer.def:
58 added some exported functions.
60 2006-01-12 Stefan Kost <ensonic@users.sf.net>
62 * libs/gst/controller/gstcontroller.c:
63 (gst_controlled_property_set_interpolation_mode),
64 (gst_controlled_property_new):
65 * libs/gst/controller/gstcontroller.h:
66 * libs/gst/controller/gstinterpolation.c:
67 (interpolate_none_get_string_value_array):
68 make G_TYPE_STRING controlable
70 2006-01-12 Stefan Kost <ensonic@users.sf.net>
73 * tools/gst-feedback.1.in:
74 * tools/gst-inspect.1.in:
75 * tools/gst-launch.1.in:
76 * tools/gst-md5sum.1.in:
77 * tools/gst-typefind.1.in:
78 * tools/gst-xmlinspect.1.in:
79 * tools/gst-xmllaunch.1.in:
80 cleanup man-pages, remove reference to gst-register, document env-vars
82 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
84 * gst/gstbuffer.c: (gst_buffer_span):
85 gst_buffer_span should copy the timestamp of the first buffer
86 if they were both originally overlapping subbuffers of the
87 same parent, using the same logic as the 'slow copy' case.
89 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
91 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
92 Need to awaken ALL the pads when we pop a buffer, otherwise
93 collectpads only works when there is 2 input streams.
95 2006-01-11 Stefan Kost <ensonic@users.sf.net>
97 * docs/random/ensonic/media-device-daemon.txt:
100 fix doc example, add clarification
101 * tools/gst-launch.1.in:
102 add initial info about GST_PLUGIN_PATH, needs more work
104 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
106 * docs/manual/basics-bins.xml:
107 * docs/manual/basics-elements.xml:
108 * docs/manual/intro-basics.xml:
109 Some more minor docs additions and updates.
111 2006-01-11 Wim Taymans <wim@fluendo.com>
113 * docs/manual/basics-bins.xml:
114 * docs/manual/basics-elements.xml:
115 Some small fixes as pointed out by Ser-ver on IRC.
117 2006-01-10 Edward Hervey <edward@fluendo.com>
119 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
120 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
121 the single-segment mode.
123 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
125 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
127 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
128 (gst_base_src_perform_seek), (gst_base_src_send_event),
129 (gst_base_src_set_property), (gst_base_src_get_property),
130 (gst_base_src_loop), (gst_base_src_start),
131 (gst_base_src_activate_push):
132 * libs/gst/base/gstbasesrc.h:
133 Name (private) union; makes Sun's Forte compiler happy (#324900).
135 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
138 gst-register is gone.
140 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
142 * gst/gstvalue.c: (_gst_value_initialize):
143 make the G_TYPE_DATE instantiation work if debug is disabled
145 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
147 * gst/gstmessage.c: (gst_message_parse_tag),
148 (gst_message_parse_error), (gst_message_parse_warning):
149 Don't crash when return location for error/warning debug
150 string is NULL; add fact that return locations can be
151 NULL to docs where appropriate.
153 2006-01-05 Wim Taymans <wim@fluendo.com>
155 * gst/gstplugin.c: (gst_plugin_load_file):
156 Replace strdup by g_strdup.
158 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
160 * docs/pwg/advanced-types.xml:
163 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
165 submitted by: Abel Cheung
169 Added Chinese (traditional) translation
171 2006-01-04 Wim Taymans <wim@fluendo.com>
173 * docs/manual/basics-pads.xml:
174 * docs/plugins/Makefile.am:
175 * docs/plugins/gstreamer-plugins-docs.sgml:
176 * docs/plugins/gstreamer-plugins-sections.txt:
177 * docs/pwg/advanced-clock.xml:
178 * docs/pwg/advanced-scheduling.xml:
179 * docs/pwg/advanced-types.xml:
180 * plugins/elements/gstfdsink.c:
181 * plugins/elements/gstfdsrc.c:
182 * plugins/elements/gstfdsrc.h:
183 * plugins/elements/gstidentity.c: (gst_identity_class_init):
184 * plugins/elements/gstidentity.h:
185 * plugins/elements/gstqueue.h:
186 * plugins/elements/gsttee.c:
187 * plugins/elements/gsttee.h:
188 * plugins/elements/gsttypefindelement.c:
189 (gst_type_find_element_class_init):
190 * plugins/elements/gsttypefindelement.h:
191 Small updates to various docs.
192 Added core plugins to docs.
194 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
197 add a suppression for liboil's uninitialized variable
199 2006-01-02 James Livingston <jrl at ids dot org dot au>
201 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
204 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
205 macro, so that gcc doesn't complain if the -Wmissing-prototypes
206 compiler switch is being used (#325429).
209 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
211 * gst/gstbin.c: (gst_bin_query):
212 Disable duration query caching in bins until it gets
215 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
217 * tools/gst-inspect.c: (print_element_properties_info):
218 Handle properties of POINTER and BOXED type.
220 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
222 * gst/gst.c: (init_post):
223 Init tags stuff and some other things before loading
224 any static plugins (there may be other static plugins
225 than just the GStreamer ones, and they may want to
226 register their own tags or formats or whatever, and
227 preferably without segfaulting).
229 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
230 Print at least a warning in the debug logs if we drop a
231 query just because we don't know how to adjust the value
232 in the particular format.
234 2005-12-24 David Schleef <ds@schleef.org>
236 * tools/gstreamer-completion:
237 Replacement for gst-complete written in sh and sed. Only
238 completes names of features, but that's 90% of what I want
239 it for. Properties are not available in registry.xml. (Maybe
242 === release 0.10.1 ===
244 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
247 releasing 0.10.1, "Nollaig chridheil"
249 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
252 Add missing quote, should be make ERROR_CFLAGS="".
254 2005-12-20 Wim Taymans <wim@fluendo.com>
256 * docs/design/part-trickmodes.txt:
257 More documentation on trickmodes.
259 2005-12-20 Edward Hervey <edward@fluendo.com>
261 * gst/gstcaps.c: (gst_static_caps_get_type):
263 API addition: GST_TYPE_STATIC_CAPS
264 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
265 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
266 * gst/gstpadtemplate.h:
267 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
268 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
271 2005-12-18 Wim Taymans <wim@fluendo.com>
273 * libs/gst/base/gstadapter.c:
274 * libs/gst/base/gstadapter.h:
275 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
276 (gst_base_sink_get_position):
277 * libs/gst/base/gstbasesink.h:
278 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
279 (gst_base_src_default_query), (gst_base_src_default_do_seek),
280 (gst_base_src_do_seek), (gst_base_src_perform_seek),
281 (gst_base_src_send_event), (gst_base_src_update_length),
282 (gst_base_src_get_range), (gst_base_src_loop),
283 (gst_base_src_start):
284 * libs/gst/base/gstbasesrc.h:
285 * libs/gst/base/gstbasetransform.h:
286 * libs/gst/base/gstcollectpads.h:
287 * libs/gst/base/gstpushsrc.c:
288 * libs/gst/base/gstpushsrc.h:
289 * libs/gst/dataprotocol/dataprotocol.c:
290 * libs/gst/dataprotocol/dataprotocol.h:
291 * libs/gst/net/gstnetclientclock.h:
292 * libs/gst/net/gstnettimeprovider.h:
293 Documentation updates.
295 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
297 * docs/manual/basics-helloworld.xml:
298 Remove superfluous closing bracket in helloworld example.
300 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
302 * tools/gst-launch.1.in:
303 Update gst-launch man page; add a section with useful
304 environment variables. Fixes #323882.
306 2005-12-16 Stefan Kost <ensonic@users.sf.net>
310 change some char* into char[]
312 2005-12-16 Wim Taymans <wim@fluendo.com>
314 * gst/gstregistryxml.c: (load_feature):
316 Don't use g_object_unref on GstObjects so that we avoid
317 leaks on unsafe glibs.
319 2005-12-16 Wim Taymans <wim@fluendo.com>
321 * gst/gstbin.c: (gst_bin_recalc_state):
324 2005-12-16 Wim Taymans <wim@fluendo.com>
327 Added make forever target for check.
329 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
331 * gst/gst.c: (init_post):
332 make the registry cache file HOST_CPU-dependent
334 2005-12-16 Andy Wingo <wingo@pobox.com>
336 * plugins/elements/gstbufferstore.c
337 (gst_buffer_store_cleared_func): Pay attention to g_list_append
340 * tests/check/gst/gstobject.c
341 (test_fake_object_name_threaded_unique): Pay attention to
342 g_list_sort return value.
344 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
346 * tools/gst-feedback-m.m:
347 Update for 0.9/0.10 (fixes #323870).
349 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
351 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
352 Fix lcopy for mini objects, the mini object needs to be ref'ed.
354 * tests/check/gst/gstminiobject.c: (my_foo_init),
355 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
356 (test_value_collection), (gst_mini_object_suite):
357 Add test to ensure refcounts end up as expected when passing
358 GstMiniObjects through g_object_get() and g_object_set().
360 2005-12-14 Julien MOUTTE <julien@moutte.net>
362 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
363 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
364 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
365 of collectpads. This version removes a lot of races without
366 touching API/ABI. Yay !
368 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
370 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
371 Don't allow activation of a srcpad in pull_range if it has no
373 Change some debug statements to be a little clearer
375 * plugins/elements/gsttypefindelement.c:
376 (gst_type_find_handle_src_query):
377 Check that we have a peer before executing queries thereupon.
379 * tests/examples/metadata/read-metadata.c: (message_loop):
380 Use gst_bus_pop instead of gst_bus_poll when we just want it to
381 immediately return us any available message with 0 timeout.
383 2005-12-12 Michael Smith <msmith@fluendo.com>
385 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
386 Don't unref factories after calling them.
387 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
388 * plugins/elements/gsttypefindelement.c:
389 (gst_type_find_element_chain):
390 Free lists of factories after using them. Fixing typefinding memory
393 2005-12-12 Stefan Kost <ensonic@users.sf.net>
395 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
396 (gst_plugin_feature_load):
397 more meaningful debug output
400 * tests/old/examples/Makefile.am:
401 make make distcheck happy again
403 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
405 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
406 Catch the special case where we are operating chain-based,
407 but the downstream peer pad has no chain function. Emit a
408 custom error message in this case instead of letting the
409 core generate one implying that this is some sort of core
410 bug. It's not, it just means that whatever got plugged
411 into the pipeline downstream when we announced the type
412 can only operate pull-based, while our source can only
413 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
414 Error string has not been marked for translation yet, as
415 it probably needs some more work first.
417 (gst_type_find_element_get_best_possibility):
418 Add helper function to find the best of all available
419 found possibilities that qualify given the min. threshold.
421 (gst_type_find_element_handle_event):
422 Fix the case where we get an EOS while still in TYPEFIND
423 mode (we want to chose the best of all possible types,
424 not just the first type that happens to be in our unsorted
425 list of possible types).
427 (gst_type_find_element_chain):
428 Make sure we return GST_FLOW_ERROR when we errored out
429 in stop_typefinding(); also, don't just find the best of
430 all found type entries and then use the last examined
431 type entry, but actually use the best entry.
433 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
435 * tests/examples/typefind/typefind.c: (type_found):
436 * tests/examples/xml/runxml.c: (xml_loaded):
437 More gcc4 fixes and a mem leak fix.
439 2005-12-12 Stefan Kost <ensonic@users.sf.net>
441 * tests/examples/xml/createxml.c: (object_saved):
444 2005-12-12 Stefan Kost <ensonic@users.sf.net>
447 enable the examples even more
449 2005-12-12 Andy Wingo <wingo@pobox.com>
451 * libs/gst/net/gstnettimeprovider.c
452 (gst_net_time_provider_class_init, gst_net_time_provider_init)
453 (gst_net_time_provider_set_property)
454 (gst_net_time_provider_get_property):
455 API addition: Export "active" as a GObject property.
456 (gst_net_time_provider_thread): Only respond to time queries if
457 the time provider is active.
459 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
460 NetTimeProvider, preserving binary compat.
462 2005-12-12 Stefan Kost <ensonic@users.sf.net>
464 * tests/examples/controller/audio-example.c: (main):
465 * tests/examples/launch/Makefile.am:
466 convert comments again
468 2005-12-12 Wim Taymans <wim@fluendo.com>
470 * libs/gst/base/gstpushsrc.c:
473 2005-12-12 Wim Taymans <wim@fluendo.com>
475 * docs/libs/gstreamer-libs-sections.txt:
476 Added new symbol to docs.
478 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
479 (gst_base_src_init), (gst_base_src_set_format),
480 (gst_base_src_default_query), (gst_base_src_query),
481 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
482 (gst_base_src_perform_seek), (gst_base_src_send_event),
483 (gst_base_src_default_event), (gst_base_src_event_handler),
484 (gst_base_src_set_property), (gst_base_src_get_property),
485 (gst_base_src_wait), (gst_base_src_do_sync),
486 (gst_base_src_update_length), (gst_base_src_get_range),
487 (gst_base_src_check_get_range), (gst_base_src_loop),
488 (gst_base_src_default_negotiate), (gst_base_src_start),
489 (gst_base_src_activate_push), (gst_base_src_activate_pull),
490 (gst_base_src_change_state):
491 * libs/gst/base/gstbasesrc.h:
492 Implement seeking to other formats than _BYTES.
493 Implement more seeking methods correctly.
496 Added do_seek vmethod to make life easier for subclasses
498 API addition: gst_base_src_set_format()
500 2005-12-12 Stefan Kost <ensonic@users.sf.net>
502 * tests/examples/Makefile.am:
505 2005-12-12 Stefan Kost <ensonic@users.sf.net>
508 * docs/random/ensonic/media-device-daemon.txt:
509 * tests/examples/controller/.cvsignore:
510 * tests/examples/controller/Makefile.am:
511 * tests/examples/controller/audio-example.c: (main):
512 * tests/examples/helloworld/.cvsignore:
513 * tests/examples/helloworld/Makefile.am:
514 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
515 * tests/examples/launch/.cvsignore:
516 * tests/examples/launch/Makefile.am:
517 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
518 * tests/examples/metadata/.cvsignore:
519 * tests/examples/metadata/Makefile.am:
520 * tests/examples/metadata/read-metadata.c: (message_loop),
521 (make_pipeline), (print_tag), (main):
522 * tests/examples/queue/.cvsignore:
523 * tests/examples/queue/Makefile.am:
524 * tests/examples/queue/queue.c: (event_loop), (main):
525 * tests/examples/typefind/.cvsignore:
526 * tests/examples/typefind/Makefile.am:
527 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
529 * tests/examples/xml/.cvsignore:
530 * tests/examples/xml/Makefile.am:
531 * tests/examples/xml/createxml.c: (object_saved), (main):
532 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
533 * tests/old/examples/Makefile.am:
534 * tests/old/examples/TODO:
535 * tests/old/examples/controller/.cvsignore:
536 * tests/old/examples/controller/Makefile.am:
537 * tests/old/examples/controller/audio-example.c:
538 * tests/old/examples/helloworld/.cvsignore:
539 * tests/old/examples/helloworld/Makefile.am:
540 * tests/old/examples/helloworld/helloworld.c:
541 * tests/old/examples/launch/.cvsignore:
542 * tests/old/examples/launch/Makefile.am:
543 * tests/old/examples/launch/mp3parselaunch.c:
544 * tests/old/examples/launch/mp3play:
545 * tests/old/examples/manual/Makefile.am:
546 * tests/old/examples/metadata/Makefile.am:
547 * tests/old/examples/metadata/read-metadata.c:
548 * tests/old/examples/queue/.cvsignore:
549 * tests/old/examples/queue/Makefile.am:
550 * tests/old/examples/queue/queue.c:
551 * tests/old/examples/typefind/.cvsignore:
552 * tests/old/examples/typefind/Makefile.am:
553 * tests/old/examples/typefind/typefind.c:
554 * tests/old/examples/xml/.cvsignore:
555 * tests/old/examples/xml/Makefile.am:
556 * tests/old/examples/xml/createxml.c:
557 * tests/old/examples/xml/runxml.c:
558 applied some simple fixing to some examples
559 re-enabled the working examples
561 2005-12-12 Wim Taymans <wim@fluendo.com>
563 * gst/gstsegment.c: (gst_segment_init),
564 (gst_segment_set_last_stop), (gst_segment_set_seek),
565 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
566 (gst_segment_to_running_time):
567 Added more documentation.
568 Make sure the last_pos value is updated properly.
569 Make sure to_stream_time and to_running_time don't
570 operate on wrong values.
572 * tests/check/gst/gstsegment.c: (GST_START_TEST):
575 2005-12-12 Michael Smith <msmith@fluendo.com>
577 * plugins/elements/gsttypefindelement.c: (free_entry),
578 (gst_type_find_element_chain):
579 Now that we're not leaking factories, make sure we keep references
580 to them while we need them.
582 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
584 * tests/check/gst/struct_i386.h:
585 ifdef out the XML structs
587 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
589 * gst/gstvalue.c: (gst_value_transform_double_fraction):
590 floor is not needed, F is always positive; this obviates the
591 need for adding -lm when building without libxml
593 2005-12-12 Wim Taymans <wim@fluendo.com>
595 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
596 Take current playback rate into account when reporting
599 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
601 * docs/manual/mime-world.fig:
602 Let's try this again, this time with a file that is
603 actually in XFig format.
605 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
607 * docs/manual/mime-world.fig:
608 Add audioconvert element to diagram so that it
609 matches the text and the code (fixes #319526).
611 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
613 * docs/pwg/building-chainfn.xml:
614 * docs/pwg/building-pads.xml:
615 * docs/pwg/building-state.xml:
616 * docs/pwg/other-source.xml:
617 Update state change stuff for 0.10 (fixes #322969).
619 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
621 * docs/manual/advanced-dataaccess.xml:
622 * docs/manual/appendix-checklist.xml:
623 * docs/manual/appendix-programs.xml:
624 * docs/manual/basics-pads.xml:
625 * docs/manual/highlevel-components.xml:
626 * docs/manual/manual.xml:
627 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
628 add converters in front of pipelines; remove curly
629 brackets for threads stuff, they no longer exist; use
630 GST_TYPE_FRACTION for framerates; update some pieces of
631 code to 0.10, but there's plenty more to do.
633 * docs/manual/appendix-porting.xml:
634 Expand on asynchroneous state changes; s/0.9/0.10/;
635 mention disappearance of gst_init_get_popt_table()
638 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
640 * docs/faq/using.xml:
641 Spider no longer exists, and neither does gst-launch-ext.
642 Update examples to use decodebin and playbin and put
643 converters in front of sinks (fixes #323726).
645 2005-12-09 Michael Smith <msmith@fluendo.com>
647 * plugins/elements/gsttypefindelement.c: (find_peek),
648 (gst_type_find_element_chain):
649 Fix leaking element factories in typefinding.
650 Fix problem where we forgot about a probable type on non-seekable
651 files, and thus later mis-typefound it.
653 2005-12-09 Michael Smith <msmith@fluendo.com>
655 * common/m4/gst-makecontext.m4:
656 * common/m4/gst-mcsc.m4:
658 * win32/common/config.h:
659 * win32/common/config.h.in:
660 Remove makecontext stuff; not used in 0.10 and causes problems on
661 HPUX according to bug #322441
663 2005-12-07 Wim Taymans <wim@fluendo.com>
665 * tests/check/Makefile.am:
666 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
668 * tests/check/libs/struct_i386.h:
669 Added ABI check for libs
671 2005-12-07 Wim Taymans <wim@fluendo.com>
673 * tests/check/Makefile.am:
674 And add the struct_i386.h to dist.
676 2005-12-07 Wim Taymans <wim@fluendo.com>
678 * tests/check/Makefile.am:
679 * tests/check/gst/.cvsignore:
680 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
682 * tests/check/gst/struct_i386.h:
683 Added check for ABI compatibility.
685 2005-12-07 Wim Taymans <wim@fluendo.com>
687 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
688 (gst_fake_src_get_times), (gst_fake_src_create):
689 Fix broken sync option, fixes #323259
691 2005-12-07 Wim Taymans <wim@fluendo.com>
696 * gst/gstcaps.c: (gst_caps_is_equal):
697 Don't assert on NULL <--> X. Fixes #323260
699 * gst/gstminiobject.c: (gst_mini_object_replace):
700 If we're doing atomic operations, we might just as well use
701 the proper way to get an atomic pointer.
703 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
706 2005-12-07 Michael Smith <msmith@fluendo.com>
708 * gst/parse/grammar.y:
709 Remove handling of { } for threads.
711 2005-12-06 David Schleef <ds@schleef.org>
713 * libs/gst/base/gstbasetransform.c: speling fix.
715 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
717 * docs/libs/tmpl/gstdataprotocol.sgml:
718 * docs/random/omega/testing/gstobject.c:
722 * gst/gstelementfactory.c:
727 * gst/gstpadtemplate.c:
728 * gst/gstregistryxml.c:
730 * gst/gsttagsetter.c:
733 * libs/gst/base/gstbasesrc.c:
734 * libs/gst/net/gstnetclientclock.c:
735 * libs/gst/net/gstnettimeprovider.c:
736 * plugins/elements/gstfakesrc.c:
737 * plugins/elements/gstfdsrc.c:
738 * plugins/elements/gstfilesrc.c:
739 * plugins/elements/gstidentity.c:
740 * plugins/elements/gstqueue.c:
741 * plugins/elements/gsttypefindelement.c:
742 * plugins/indexers/gstfileindex.c:
743 * plugins/indexers/gstmemindex.c:
744 * tests/check/gst/gsttag.c:
745 * tests/old/examples/cutter/cutter.c:
746 * tests/old/examples/mixer/mixer.c:
747 * tests/old/examples/xml/runxml.c: (main):
748 * tests/old/testsuite/caps/normalisation.c:
749 * tests/old/testsuite/debug/global.c:
750 * tests/old/testsuite/parse/parse1.c:
751 * tools/gst-xmlinspect.c:
752 * win32/common/dirent.c:
755 === release 0.10.0 ===
757 2005-12-05 <thomas (at) apestaart (dot) org>
760 releasing 0.10.0, "Maroilles"
762 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
764 submitted by: Funda Wang <fundawang@linux.net.cn>
768 added Chinese (Traditional) translation
770 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
772 * docs/gst/gstreamer-sections.txt:
773 * docs/libs/tmpl/gstdataprotocol.sgml:
774 * docs/random/thomasvs/TODO:
779 2005-12-05 Andy Wingo <wingo@pobox.com>
781 patch by: Wim Taymans <wim@fluendo.com>
783 * libs/gst/base/gstbasetransform.c
784 (gst_base_transform_prepare_output_buf)
785 (gst_base_transform_buffer_alloc):
786 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
787 alloc_buffer_and_set_caps.
789 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
790 set_caps on the source pad.
791 (gst_pad_alloc_buffer_and_set_caps): New function, does what
792 alloc_buffer used to do. Fixes #322874.
794 * docs/gst/gstreamer-sections.txt:
795 * docs/design/part-negotiation.txt:
796 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
799 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
801 patch by: Sebastien Moutte
804 * win32/common/config.h.in:
805 * win32/vs6/libgstcontroller.dsp:
808 2005-12-05 Wim Taymans <wim@fluendo.com>
810 * gst/gstcaps.c: (gst_caps_is_equal):
811 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
812 (gst_fake_src_create):
813 Back out previous code changes, leave doc updates, file bugs
816 2005-12-05 Wim Taymans <wim@fluendo.com>
818 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
819 (gst_fake_src_get_times), (gst_fake_src_create):
820 * plugins/elements/gstfakesrc.h:
821 Fix broken sync code.
823 2005-12-05 Wim Taymans <wim@fluendo.com>
825 * gst/gstcaps.c: (gst_caps_is_equal):
826 Comparing NULL against !NULL yields different caps, not a
829 2005-12-05 Wim Taymans <wim@fluendo.com>
832 Fix small typo in docs.
834 2005-12-05 Andy Wingo <wingo@pobox.com>
836 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
838 * gst/gst.c (init_post): remove hard-coded 0.9 location for
839 registries/plugins with a MAJORMINOR one.
840 (plugin_desc): Rename library from gstcoreleements to
841 staticelements. Fixes #323222.
843 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
845 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
846 Change debug category to 'collectpads' from 'collect_pads'
849 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
851 patch by: Sebastien Moutte
853 * libs/gst/controller/gstinterpolation.c:
854 use convert function for uint64/double
855 * win32/vs6/libgstcontroller.dsp:
858 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
860 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
861 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
863 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
864 add tests that seem to show that the guint64/gdouble conversions
867 2005-12-02 Wim Taymans <wim@fluendo.com>
869 * gst/gstregistry.c: (gst_registry_add_path):
871 * gst/gstregistryxml.c:
874 2005-12-02 Wim Taymans <wim@fluendo.com>
876 * gst/gstutils.c: (gst_util_uint64_scale_int64),
877 (gst_util_uint64_scale_int):
880 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
883 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
886 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
889 * win32/common/config.h:
890 * win32/vs6/gstreamer.dsw:
891 * win32/vs6/libgstcoreelements.dsp:
892 * win32/vs6/libgstelements.dsp:
893 renamed core elements plugin
895 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
897 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
899 do piece-wise major/minor comparison so 0.9 < 0.10
900 also allow .exe extensions for tools
902 2005-12-02 Michael Smith <msmith@fluendo.com>
905 Escape a % to make gtkdoc happier; bug 322958.
907 === release 0.9.7 ===
909 2005-12-01 <thomas (at) apestaart (dot) org>
912 releasing 0.9.7, "My Dog Has No Nose"
914 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
916 * common/gst-xmlinspect.py:
918 * docs/libs/tmpl/gstdataprotocol.sgml:
919 * docs/random/release:
938 * win32/common/config.h:
939 * win32/common/config.h.in:
940 * win32/vs6/gst_inspect.dsp:
941 * win32/vs6/gst_launch.dsp:
942 * win32/vs6/libgstbase.dsp:
943 * win32/vs6/libgstelements.dsp:
944 * win32/vs6/libgstreamer.dsp:
945 * win32/vs7/GStreamer.vcproj:
946 * win32/vs7/gst-inspect.vcproj:
947 * win32/vs7/gst-launch.vcproj:
948 * win32/vs7/libgstbase.vcproj:
949 bump GST_MAJORMINOR to 0.10
950 reset libtool version
952 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
956 Added Bulgarian translation by (Alexander Shopov)
958 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
960 * tests/check/gst/gstplugin.c:
963 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
965 * common/gst-xmlinspect.py:
966 * common/gtk-doc-plugins.mak:
969 * docs/gst/Makefile.am:
970 * docs/gst/gstreamer-docs.sgml:
971 * docs/gst/gstreamer-sections.txt:
972 * docs/gst/gstreamer.types:
973 * docs/gst/gstreamer.types.in:
974 * docs/plugins/Makefile.am:
975 * docs/plugins/gstreamer-plugins-docs.sgml:
976 * docs/plugins/gstreamer-plugins-sections.txt:
977 * docs/plugins/gstreamer-plugins.types:
978 * docs/plugins/inspect.stamp:
979 * docs/plugins/inspect/plugin-coreelements.xml:
980 * docs/plugins/inspect/plugin-coreindexers.xml:
981 * docs/plugins/scanobj-build.stamp:
983 * plugins/elements/Makefile.am:
984 * plugins/elements/gstelements.c:
985 * plugins/elements/gstfakesink.c:
986 * plugins/elements/gstfakesrc.c:
987 * plugins/elements/gstfilesink.c:
988 * plugins/elements/gstfilesrc.c:
989 * plugins/elements/gstqueue.c:
990 * plugins/indexers/Makefile.am:
991 * plugins/indexers/gstindexers.c:
992 document core plugins in a separate document just like all the
994 rename these plugins to something starting with core
996 2005-12-01 Andy Wingo <wingo@pobox.com>
998 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
999 padding here before, but it missed the commit.
1001 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1003 * libs/gst/controller/gstinterpolation.c:
1004 whitespace prices have crashed, we should feel free to use some now
1005 use gst_guint64_to_gdouble
1007 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1009 * libs/gst/controller/gstcontroller.c:
1010 * libs/gst/controller/gsthelper.c:
1011 * libs/gst/controller/gstinterpolation.c:
1012 * libs/gst/controller/lib.c:
1013 wrap config.h include
1015 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1017 * docs/gst/gstreamer-sections.txt:
1020 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
1022 * plugins/elements/gstelements.c:
1023 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1024 (gst_fd_sink__class_init), (gst_fd_sink__init),
1025 (gst_fd_sink__chain), (gst_fd_sink__set_property),
1026 (gst_fd_sink__get_property):
1027 * plugins/elements/gstfdsink.h:
1028 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1029 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1030 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1031 (gst_fd_src_unlock), (gst_fd_src_set_property),
1032 (gst_fd_src_get_property), (gst_fd_src_create),
1033 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1034 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1035 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1036 (gst_fd_src_uri_handler_init):
1037 * plugins/elements/gstfdsrc.h:
1038 * plugins/elements/gstqueue.c: (gst_queue_get_type):
1041 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1043 * docs/gst/Makefile.am:
1044 * docs/gst/gstreamer.types.in:
1048 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1054 * gst/gstregistry.h:
1055 * tests/benchmarks/complexity.c:
1056 * tests/benchmarks/mass-elements.c:
1057 * tests/check/Makefile.am:
1058 * tools/Makefile.am:
1059 * tools/gst-inspect.c:
1060 * tools/gst-xmlinspect.c:
1061 various fixes to make
1062 --disable-nls --disable-registry --disable-loadsave
1063 --disable-parse --disable-gst-debug
1064 work and get the core .so down to 360444 bytes after stripping
1066 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1071 * docs/random/thomasvs/TODO:
1072 * tests/Makefile.am:
1076 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1078 * win32/GStreamer.vcproj:
1081 * win32/Makefile.inspect:
1082 * win32/Makefile.launch:
1083 * win32/Makefile.register:
1085 * win32/gst-inspect.vcproj:
1086 * win32/gst-launch.vcproj:
1087 * win32/gst-register.vcproj:
1088 * win32/gstelements.vcproj:
1089 * win32/gstgetbits.def:
1090 * win32/gstgetbits.vcproj:
1091 * win32/gstreamer-dbg.def:
1092 * win32/gstreamer.def:
1093 * win32/libgstbase.def:
1094 * win32/libgstbase.vcproj:
1095 * win32/link_oldruntime.c:
1100 move even more stuff, win32/ is nice and clean now
1102 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1104 * libs/gst/control/.cvsignore:
1109 * win32/gstbytestream.def:
1110 * win32/gstbytestream.vcproj:
1111 * win32/gstconfig.h:
1112 * win32/gstenumtypes.c:
1113 * win32/gstenumtypes.h:
1114 * win32/gstoptimalscheduler.vcproj:
1115 * win32/gstversion.h:
1117 * win32/testsuite/bins.vcproj:
1118 * win32/testsuite/bytestream.vcproj:
1119 * win32/testsuite/caps.vcproj:
1120 * win32/testsuite/cleanup.vcproj:
1121 * win32/testsuite/clock.vcproj:
1122 * win32/testsuite/debug.vcproj:
1123 * win32/testsuite/dlopen.vcproj:
1124 * win32/testsuite/dynparams.vcproj:
1125 * win32/testsuite/elements.vcproj:
1126 * win32/testsuite/ghostpads.vcproj:
1127 * win32/testsuite/indexers.vcproj:
1128 * win32/testsuite/negotiation.vcproj:
1129 * win32/testsuite/parse.vcproj:
1130 * win32/testsuite/plugin.vcproj:
1131 * win32/testsuite/refcounting.vcproj:
1132 * win32/testsuite/schedulers.vcproj:
1133 * win32/testsuite/states.vcproj:
1134 * win32/testsuite/tags.vcproj:
1135 * win32/testsuite/threads.vcproj:
1136 remove old win32 stuff that isn't maintained and should be
1139 2005-11-30 Andy Wingo <wingo@pobox.com>
1141 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1142 loading the gst.interfaces python module bork.
1144 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1145 available since GLib 2.2. Fixes #318031.
1147 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1151 * check/Makefile.am:
1152 * check/elements/.cvsignore:
1153 * check/elements/fakesrc.c:
1154 * check/elements/fdsrc.c:
1155 * check/elements/identity.c:
1156 * check/generic/.cvsignore:
1157 * check/generic/states.c:
1158 * check/gst-libs/.cvsignore:
1159 * check/gst-libs/controller.c:
1160 * check/gst-libs/gdp.c:
1161 * check/gst/.cvsignore:
1162 * check/gst/capslist.h:
1164 * check/gst/gstbin.c:
1165 * check/gst/gstbuffer.c:
1166 * check/gst/gstbus.c:
1167 * check/gst/gstcaps.c:
1168 * check/gst/gstelement.c:
1169 * check/gst/gstevent.c:
1170 * check/gst/gstghostpad.c:
1171 * check/gst/gstiterator.c:
1172 * check/gst/gstmessage.c:
1173 * check/gst/gstminiobject.c:
1174 * check/gst/gstobject.c:
1175 * check/gst/gstpad.c:
1176 * check/gst/gstpipeline.c:
1177 * check/gst/gstplugin.c:
1178 * check/gst/gstsegment.c:
1179 * check/gst/gststructure.c:
1180 * check/gst/gstsystemclock.c:
1181 * check/gst/gsttag.c:
1182 * check/gst/gstutils.c:
1183 * check/gst/gstvalue.c:
1184 * check/net/.cvsignore:
1185 * check/net/gstnetclientclock.c:
1186 * check/net/gstnettimeprovider.c:
1187 * check/pipelines/.cvsignore:
1188 * check/pipelines/cleanup.c:
1189 * check/pipelines/simple_launch_lines.c:
1190 * check/pipelines/stress.c:
1191 * check/states/.cvsignore:
1192 * check/states/sinks.c:
1194 * examples/Makefile.am:
1195 * examples/appreader/.cvsignore:
1196 * examples/appreader/Makefile.am:
1197 * examples/appreader/appreader.c:
1198 * examples/controller/.cvsignore:
1199 * examples/controller/Makefile.am:
1200 * examples/controller/audio-example.c:
1201 * examples/cutter/.cvsignore:
1202 * examples/cutter/Makefile.am:
1203 * examples/cutter/cutter.c:
1204 * examples/cutter/cutter.h:
1205 * examples/events/Makefile.am:
1206 * examples/events/seek.c:
1207 * examples/helloworld/.cvsignore:
1208 * examples/helloworld/Makefile.am:
1209 * examples/helloworld/helloworld.c:
1210 * examples/helloworld2/.cvsignore:
1211 * examples/helloworld2/Makefile.am:
1212 * examples/helloworld2/helloworld2.c:
1213 * examples/launch/.cvsignore:
1214 * examples/launch/Makefile.am:
1215 * examples/launch/mp3parselaunch.c:
1216 * examples/launch/mp3play:
1217 * examples/manual/.cvsignore:
1218 * examples/manual/Makefile.am:
1219 * examples/manual/extract.pl:
1220 * examples/metadata/Makefile.am:
1221 * examples/metadata/read-metadata.c:
1222 * examples/mixer/.cvsignore:
1223 * examples/mixer/Makefile.am:
1224 * examples/mixer/mixer.c:
1225 * examples/mixer/mixer.h:
1226 * examples/pingpong/.cvsignore:
1227 * examples/pingpong/Makefile.am:
1228 * examples/pingpong/pingpong.c:
1229 * examples/plugins/.cvsignore:
1230 * examples/plugins/Makefile.am:
1231 * examples/plugins/example.c:
1232 * examples/plugins/example.h:
1233 * examples/pwg/.cvsignore:
1234 * examples/pwg/Makefile.am:
1235 * examples/pwg/extract.pl:
1236 * examples/queue/.cvsignore:
1237 * examples/queue/Makefile.am:
1238 * examples/queue/queue.c:
1239 * examples/queue2/.cvsignore:
1240 * examples/queue2/Makefile.am:
1241 * examples/queue2/queue2.c:
1242 * examples/queue3/.cvsignore:
1243 * examples/queue3/Makefile.am:
1244 * examples/queue3/queue3.c:
1245 * examples/queue4/.cvsignore:
1246 * examples/queue4/Makefile.am:
1247 * examples/queue4/queue4.c:
1248 * examples/retag/.cvsignore:
1249 * examples/retag/Makefile.am:
1250 * examples/retag/retag.c:
1251 * examples/retag/transcode.c:
1252 * examples/thread/.cvsignore:
1253 * examples/thread/Makefile.am:
1254 * examples/thread/thread.c:
1255 * examples/typefind/.cvsignore:
1256 * examples/typefind/Makefile.am:
1257 * examples/typefind/typefind.c:
1258 * examples/xml/.cvsignore:
1259 * examples/xml/Makefile.am:
1260 * examples/xml/createxml.c:
1261 * examples/xml/runxml.c:
1262 * tests/Makefile.am:
1263 * tests/check/Makefile.am:
1264 * testsuite/.cvsignore:
1265 * testsuite/Makefile.am:
1267 * testsuite/caps/.cvsignore:
1268 * testsuite/caps/Makefile.am:
1269 * testsuite/caps/app_fixate.c:
1270 * testsuite/caps/audioscale.c:
1271 * testsuite/caps/caps.c:
1272 * testsuite/caps/caps.h:
1273 * testsuite/caps/caps_strings:
1274 * testsuite/caps/compatibility.c:
1275 * testsuite/caps/deserialize.c:
1276 * testsuite/caps/enumcaps.c:
1277 * testsuite/caps/eratosthenes.c:
1278 * testsuite/caps/filtercaps.c:
1279 * testsuite/caps/fixed.c:
1280 * testsuite/caps/fraction-convert.c:
1281 * testsuite/caps/fraction-multiply-and-zero.c:
1282 * testsuite/caps/intersect2.c:
1283 * testsuite/caps/intersection.c:
1284 * testsuite/caps/normalisation.c:
1285 * testsuite/caps/random.c:
1286 * testsuite/caps/renegotiate.c:
1287 * testsuite/caps/sets.c:
1288 * testsuite/caps/simplify.c:
1289 * testsuite/caps/string-conversions.c:
1290 * testsuite/caps/structure.c:
1291 * testsuite/caps/subtract.c:
1292 * testsuite/caps/union.c:
1293 * testsuite/debug/.cvsignore:
1294 * testsuite/debug/Makefile.am:
1295 * testsuite/debug/category.c:
1296 * testsuite/debug/commandline.c:
1297 * testsuite/debug/global.c:
1298 * testsuite/debug/output.c:
1299 * testsuite/debug/printf_extension.c:
1300 * testsuite/dlopen/.cvsignore:
1301 * testsuite/dlopen/Makefile.am:
1302 * testsuite/dlopen/dlopen_gst.c:
1303 * testsuite/dlopen/loadgst.c:
1304 * testsuite/elements/.cvsignore:
1305 * testsuite/elements/Makefile.am:
1306 * testsuite/elements/gst-inspect-check.in:
1307 * testsuite/elements/struct_i386.h:
1308 * testsuite/elements/struct_size.c:
1309 * testsuite/indexers/.cvsignore:
1310 * testsuite/indexers/Makefile.am:
1311 * testsuite/indexers/cache1.c:
1312 * testsuite/indexers/indexdump.c:
1313 * testsuite/parse/.cvsignore:
1314 * testsuite/parse/Makefile.am:
1315 * testsuite/parse/parse1.c:
1316 * testsuite/parse/parse2.c:
1317 * testsuite/plugin/.cvsignore:
1318 * testsuite/plugin/Makefile.am:
1319 * testsuite/plugin/README:
1320 * testsuite/plugin/dynamic.c:
1321 * testsuite/plugin/linked.c:
1322 * testsuite/plugin/loading.c:
1323 * testsuite/plugin/registry.c:
1324 * testsuite/plugin/static.c:
1325 * testsuite/plugin/static2.c:
1326 * testsuite/plugin/testplugin.c:
1327 * testsuite/plugin/testplugin2.c:
1328 * testsuite/plugin/testplugin2_s.c:
1329 * testsuite/plugin/testplugin_s.c:
1330 * testsuite/refcounting/.cvsignore:
1331 * testsuite/refcounting/Makefile.am:
1332 * testsuite/refcounting/bin.c:
1333 * testsuite/refcounting/element.c:
1334 * testsuite/refcounting/element_pad.c:
1335 * testsuite/refcounting/mainloop.c:
1336 * testsuite/refcounting/mem.c:
1337 * testsuite/refcounting/mem.h:
1338 * testsuite/refcounting/object.c:
1339 * testsuite/refcounting/pad.c:
1340 * testsuite/refcounting/sched.c:
1341 * testsuite/refcounting/thread.c:
1342 * testsuite/states/.cvsignore:
1343 * testsuite/states/Makefile.am:
1344 * testsuite/states/bin.c:
1345 * testsuite/states/locked.c:
1346 * testsuite/states/parent.c:
1347 * testsuite/threads/.cvsignore:
1348 * testsuite/threads/159566.c:
1349 * testsuite/threads/159852.c:
1350 * testsuite/threads/Makefile.am:
1351 * testsuite/threads/queue.c:
1352 * testsuite/threads/signals.c:
1353 * testsuite/threads/staticrec.c:
1354 * testsuite/threads/thread.c:
1355 * testsuite/threads/threadb.c:
1356 * testsuite/threads/threadc.c:
1357 * testsuite/threads/threadd.c:
1358 * testsuite/threads/threade.c:
1359 * testsuite/threads/threadf.c:
1360 * testsuite/threads/threadg.c:
1361 * testsuite/threads/threadh.c:
1362 * testsuite/threads/threadi.c:
1363 move all of these under tests
1365 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1368 * tests/Makefile.am:
1371 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1373 * docs/gst/gstreamer-sections.txt:
1374 * tests/sched/.cvsignore:
1375 * tests/sched/Makefile.am:
1376 * tests/sched/cases/(fs-fs).xml:
1377 * tests/sched/cases/(fs-i-fs).xml:
1378 * tests/sched/cases/(fs-i-i-fs).xml:
1379 * tests/sched/cases/(fs-i-q[i-fs]).xml:
1380 * tests/sched/dynamic-pipeline.c:
1381 * tests/sched/interrupt1.c:
1382 * tests/sched/interrupt2.c:
1383 * tests/sched/interrupt3.c:
1384 * tests/sched/runtestcases:
1385 * tests/sched/runxml.c:
1386 * tests/sched/sched-stress.c:
1387 * tests/sched/sort.c:
1388 * tests/sched/testcases:
1389 * tests/sched/testcases1.tc:
1390 * tests/seeking/.cvsignore:
1391 * tests/seeking/Makefile.am:
1392 * tests/seeking/seeking1.c:
1393 * tests/threadstate/.cvsignore:
1394 * tests/threadstate/Makefile.am:
1395 * tests/threadstate/test1.c:
1396 * tests/threadstate/test2.c:
1397 * tests/threadstate/threadstate1.c:
1398 * tests/threadstate/threadstate2.c:
1399 * tests/threadstate/threadstate3.c:
1400 * tests/threadstate/threadstate4.c:
1401 * tests/threadstate/threadstate5.c:
1402 remove obsolete tests
1404 * tests/bench-complexity.scm:
1405 * tests/bench-mass_elements.scm:
1406 * tests/complexity.c:
1407 * tests/complexity.gnuplot:
1408 * tests/instantiate/.cvsignore:
1409 * tests/instantiate/Makefile.am:
1410 * tests/instantiate/caps.c:
1411 * tests/mass_elements.c:
1412 * tests/network-clock-utils.scm:
1413 * tests/network-clock.scm:
1415 First pass at cleaning up tests/ dir before moving the rest
1416 Combined with CVS surgery
1418 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1421 queue has moved, update
1423 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1425 * docs/gst/gstreamer-sections.txt:
1426 remove double entries from the docs
1427 * gst/gst_private.h:
1428 * gst/gstinfo.c: (_gst_debug_init):
1429 remove the THREAD debug category
1433 * docs/gst/gstreamer.types:
1434 * plugins/elements/gstqueue.c: (gst_queue_get_type),
1435 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1436 completely move queue and fix up debugging categories
1438 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1440 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1441 make initialization portable, using LL is not
1443 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1445 * win32/common/gstconfig.h:
1448 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1450 * win32/common/libgstreamer.def:
1451 rename symbols; sort base section
1453 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1455 * gst/gstclock.c: (do_linear_regression):
1456 remove crack non-portable handrolled DEBUG macro
1458 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1460 * docs/random/release:
1462 * win32/common/gstenumtypes.c: (register_gst_object_flags),
1463 (gst_object_flags_get_type), (register_gst_bin_flags),
1464 (gst_bin_flags_get_type), (register_gst_buffer_flag),
1465 (gst_buffer_flag_get_type), (register_gst_bus_flags),
1466 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1467 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1468 (gst_caps_flags_get_type), (register_gst_clock_return),
1469 (gst_clock_return_get_type), (register_gst_clock_entry_type),
1470 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1471 (gst_clock_flags_get_type), (register_gst_state),
1472 (gst_state_get_type), (register_gst_state_change_return),
1473 (gst_state_change_return_get_type), (register_gst_state_change),
1474 (gst_state_change_get_type), (register_gst_element_flags),
1475 (gst_element_flags_get_type), (register_gst_core_error),
1476 (gst_core_error_get_type), (register_gst_library_error),
1477 (gst_library_error_get_type), (register_gst_resource_error),
1478 (gst_resource_error_get_type), (register_gst_stream_error),
1479 (gst_stream_error_get_type), (register_gst_event_type_flags),
1480 (gst_event_type_flags_get_type), (register_gst_event_type),
1481 (gst_event_type_get_type), (register_gst_seek_type),
1482 (gst_seek_type_get_type), (register_gst_seek_flags),
1483 (gst_seek_flags_get_type), (register_gst_format),
1484 (gst_format_get_type), (register_gst_index_certainty),
1485 (gst_index_certainty_get_type), (register_gst_index_entry_type),
1486 (gst_index_entry_type_get_type),
1487 (register_gst_index_lookup_method),
1488 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1489 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1490 (gst_index_resolver_method_get_type), (register_gst_index_flags),
1491 (gst_index_flags_get_type), (register_gst_debug_level),
1492 (gst_debug_level_get_type), (register_gst_debug_color_flags),
1493 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1494 (gst_iterator_result_get_type), (register_gst_iterator_item),
1495 (gst_iterator_item_get_type), (register_gst_message_type),
1496 (gst_message_type_get_type), (register_gst_mini_object_flags),
1497 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1498 (gst_pad_link_return_get_type), (register_gst_flow_return),
1499 (gst_flow_return_get_type), (register_gst_activate_mode),
1500 (gst_activate_mode_get_type), (register_gst_pad_direction),
1501 (gst_pad_direction_get_type), (register_gst_pad_flags),
1502 (gst_pad_flags_get_type), (register_gst_pad_presence),
1503 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1504 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1505 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1506 (gst_plugin_error_get_type), (register_gst_plugin_flags),
1507 (gst_plugin_flags_get_type), (register_gst_rank),
1508 (gst_rank_get_type), (register_gst_query_type),
1509 (gst_query_type_get_type), (register_gst_tag_merge_mode),
1510 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1511 (gst_tag_flag_get_type), (register_gst_task_state),
1512 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1513 (gst_alloc_trace_flags_get_type),
1514 (register_gst_type_find_probability),
1515 (gst_type_find_probability_get_type), (register_gst_uri_type),
1516 (gst_uri_type_get_type), (register_gst_parse_error),
1517 (gst_parse_error_get_type):
1518 * win32/common/gstenumtypes.h:
1519 * win32/common/gstversion.h:
1520 update visual studio generated files
1522 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1524 * win32/vs6/libgstbase.dsp:
1525 * win32/vs6/libgstelements.dsp:
1526 update project files for new locations
1528 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1533 reinstate and update
1538 * docs/random/LICENSE:
1541 2005-11-30 Edward Hervey <edward@fluendo.com>
1543 * gst/gsttypefind.c: (gst_type_find_register):
1544 * gst/gsttypefind.h:
1545 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1546 (gst_type_find_factory_dispose):
1547 * gst/gsttypefindfactory.h:
1548 Fix memory leak in GstTypeFindFactory.
1550 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1553 * plugins/elements/Makefile.am:
1554 * plugins/elements/gstelements.c:
1555 * plugins/elements/gstqueue.c:
1556 move queue from core to the elements plugin
1558 2005-11-29 Andy Wingo <wingo@pobox.com>
1560 * libs/gst/base/gstbasetransform.h:
1561 * libs/gst/base/gstbasesrc.h:
1562 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1564 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1565 of pointers by which to pad very extensible base classes (like the
1566 ones in libs/gst/base).
1568 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1570 * docs/gst/gstreamer-docs.sgml:
1571 * docs/gst/gstreamer-sections.txt:
1572 * docs/libs/gstreamer-libs-docs.sgml:
1573 * docs/libs/gstreamer-libs-sections.txt:
1574 moving documentation from core to lib
1576 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1578 * check/Makefile.am:
1580 * docs/gst/Makefile.am:
1582 * gst/base/.cvsignore:
1583 * gst/base/Makefile.am:
1585 * gst/base/gstadapter.c:
1586 * gst/base/gstadapter.h:
1587 * gst/base/gstbasesink.c:
1588 * gst/base/gstbasesink.h:
1589 * gst/base/gstbasesrc.c:
1590 * gst/base/gstbasesrc.h:
1591 * gst/base/gstbasetransform.c:
1592 * gst/base/gstbasetransform.h:
1593 * gst/base/gstcollectpads.c:
1594 * gst/base/gstcollectpads.h:
1595 * gst/base/gstpushsrc.c:
1596 * gst/base/gstpushsrc.h:
1597 * gst/base/gsttypefindhelper.c:
1598 * gst/base/gsttypefindhelper.h:
1599 * gst/check/Makefile.am:
1600 * gst/check/gstcheck.c:
1601 * gst/check/gstcheck.h:
1602 * gst/net/Makefile.am:
1604 * gst/net/gstnetclientclock.c:
1605 * gst/net/gstnetclientclock.h:
1606 * gst/net/gstnettimepacket.c:
1607 * gst/net/gstnettimepacket.h:
1608 * gst/net/gstnettimeprovider.c:
1609 * gst/net/gstnettimeprovider.h:
1610 * libs/gst/Makefile.am:
1611 * libs/gst/base/Makefile.am:
1612 * libs/gst/base/gstbasetransform.c:
1613 * libs/gst/check/Makefile.am:
1614 * plugins/elements/Makefile.am:
1616 CVS surgery + support to move base, check, and net out of gst
1619 2005-11-29 Andy Wingo <wingo@pobox.com>
1621 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1623 * gst/gststructure.h (struct _GstStructure): Only one pointer of
1626 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1628 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1630 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1632 * gst/gstobject.h: (struct _GstObject): Only one pointer of
1633 padding; reduces object size by about 30%. We don't expect
1634 anything else to go into gstobject.
1636 * gst/gstminiobject.h (struct _GstMiniObject)
1637 (struct _GstMiniObjectClass): Only one pointer of padding; the
1638 payload is only a pointer and two ints anyway. For the class there
1639 are only two methods as well.
1641 * gst/gstelement.h (struct _GstElementClass): Removed
1642 the state_changed signal callback, it is not used.
1644 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1646 * docs/gst/gstreamer.types:
1647 fix includes, though they are a little dinky
1649 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1651 * check/Makefile.am:
1652 look in the right place for elements, a lot more chance of
1655 remove indexers and elements subdirs
1656 * plugins/Makefile.am:
1657 make indexers conditional
1659 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1663 * plugins/elements/Makefile.am:
1664 * plugins/elements/gstcapsfilter.c:
1665 * plugins/elements/gstfilesink.c:
1666 * plugins/elements/gstfilesrc.c:
1667 * plugins/elements/gstidentity.c:
1668 * plugins/indexers/Makefile.am:
1669 do CVS surgery and related build fixery to move elements
1670 and indexers in a new gstreamer/plugins directory, out of the
1673 2005-11-29 Andy Wingo <wingo@pobox.com>
1675 * check/Makefile.am:
1676 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1677 * pkgconfig/gstreamer-net.pc.in:
1678 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1681 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1683 * tools/Makefile.am:
1684 * tools/gst-complete.1.in:
1685 * tools/gst-complete.c:
1686 * tools/gst-compprep.1.in:
1687 * tools/gst-compprep.c:
1688 removing -compprep and -complete
1690 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1692 * gst/gstevent.c: (gst_event_new_new_segment),
1693 (gst_event_parse_new_segment):
1695 fix #320529 - clean up new_segment API and structure.
1696 Let's hope everyone was using the methods, and not the structure.
1698 2005-11-29 Edward Hervey <edward@fluendo.com>
1700 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1701 (gst_base_sink_event), (gst_base_sink_do_sync),
1702 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1703 Properly handle non GST_FORMAT_TIME segment
1704 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1705 Properly handle non GST_FORMAT_TIME segment
1707 This function is valid if the accumulator is 0 and the format
1708 is different from the requested format.
1710 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1712 * docs/gst/gstreamer-sections.txt:
1713 Add gst_query_new_seeking and gst_query_parse_seeking to the
1716 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1718 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1719 Treat a pad alloc with new caps the same as if we were not
1720 negotiated, in order to allow a changing upstream output
1721 to produce a new format of data.
1723 2005-11-29 Edward Hervey <edward@fluendo.com>
1725 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1726 (gst_base_transform_event), (gst_base_transform_eventfunc):
1727 The event virtual method is now properly implemented, with a default
1729 Sub classes should call the parent_class event method. They should
1730 return FALSE if they had a problem handling the given event, or don't
1731 want GstBaseTransform to send that even downstream
1732 * gst/elements/gstidentity.c: (gst_identity_class_init),
1733 (gst_identity_init), (gst_identity_event),
1734 (gst_identity_transform_ip), (gst_identity_set_property),
1735 (gst_identity_get_property):
1736 * gst/elements/gstidentity.h:
1737 Added the single-segment boolean property.
1738 If set to TRUE, it will output a single segment of data, starting from
1739 0, will eat up all incoming newsegment, and modify the timestamp of the
1742 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
1744 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1745 Don't ref NULL target pad (#322751). Improve docs.
1747 2005-11-29 Michael Smith <msmith@fluendo.com>
1749 * gst/gstregistryxml.c: (load_plugin):
1750 Don't crash if we failed to load a feature from a plugin.
1752 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1754 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1756 use more check API and less GLib API
1758 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1761 don't run checks if we don't have check
1763 remove the registry when running make torture
1764 * docs/gst/gstreamer-sections.txt:
1765 remove second multiply
1766 * gst/gstqueue.c: (gst_queue_loop):
1767 fix a compile warning when disabling debug
1769 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1772 Hey! Let's print the pad name if the pointer != NULL instead
1773 of when it == NULL :-)
1775 2005-11-28 Wim Taymans <wim@fluendo.com>
1777 * check/gst/gstutils.c: (GST_START_TEST):
1778 Updated check, add some scaling accuracy checking code.
1780 * gst/gstutils.c: (gst_util_div128_64),
1781 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1782 (gst_util_uint64_scale_int):
1783 Fix 6 times faster division code. Optimize for common
1784 1/1 and less common X/1 cases.
1786 2005-11-28 Wim Taymans <wim@fluendo.com>
1788 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1791 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1792 (do_linear_regression), (gst_clock_add_observation):
1794 Release lock when the clock cannot be slaved.
1795 Catch the case where the regression returned an invalid denominator.
1797 * gst/gstutils.c: (gst_util_div128_64_iterate),
1798 (gst_util_div128_64), (gst_util_uint64_scale_int64),
1799 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1800 Add protentially more performant non-iterative 128/64 divide function
1801 that unfortunatly does not work yet.
1802 Shortcut the trivial 0/X = 0 case.
1803 Remove the warnings on overflow.
1805 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1807 * gst/gstplugin.c: (gst_plugin_register_func):
1808 everything causing a plugin not to load should be at least a WARNING
1810 2005-11-28 Stefan Kost <ensonic@users.sf.net>
1812 * docs/random/ensonic/dparams.txt:
1813 some TODOs for the next dev cycle
1814 * libs/gst/controller/gstcontroller.c:
1815 (gst_controlled_property_set_interpolation_mode),
1816 (gst_controlled_property_new):
1817 * libs/gst/controller/gstcontroller.h:
1818 use base type to assign acccessor functions
1820 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1822 * check/Makefile.am:
1823 Oops, that should have been top_srcdir
1825 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1827 * check/Makefile.am:
1828 * check/elements/fdsrc.c: (GST_START_TEST):
1829 Use a cmdline define to specify the location of a file to use for
1830 testing, to avoid breaking distcheck.
1832 2005-11-28 Andy Wingo <wingo@pobox.com>
1834 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1836 2005-11-28 Edward Hervey <edward@fluendo.com>
1838 * tools/gst-launch.c: (main):
1839 Clarify the output strings, makes it easier to translate.
1842 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1845 don't try and build net if we don't even have <sys/socket.h>
1847 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1849 * check/Makefile.am:
1850 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1851 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1852 Add tests for fdsrc seekability
1854 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1855 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1856 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1857 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1858 * gst/elements/gstfdsrc.h:
1859 fdsrc should not be a 'live' source.
1860 Implement seeking on seekable fd's.
1862 * gst/gstquery.c: (gst_query_new_seeking),
1863 (gst_query_parse_seeking):
1865 Implement SEEKING query functions:
1866 *_new_seeking and *_parse_seeking
1868 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1870 * gst/gstelement.c: (gst_element_dispose):
1873 * gst/gstiterator.c:
1874 * gst/gststructure.c:
1877 * libs/gst/controller/gstcontroller.c:
1878 (gst_controlled_property_set_interpolation_mode):
1879 * libs/gst/controller/gstcontroller.h:
1880 * libs/gst/controller/gstinterpolation.c:
1881 (interpolate_none_get_enum_value_array):
1882 support controlling enums
1884 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1887 Improve documentation for gst_value_union().
1890 Change return value for union, intersect and subtract functions
1891 from gint to gboolean.
1893 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1895 * gst/gstvalue.c: (gst_value_serialize_any_list),
1896 (gst_value_transform_any_list_string),
1897 (gst_value_deserialize_list), (gst_value_deserialize_array),
1898 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1899 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1900 (gst_value_set_fraction_range_full),
1901 (gst_value_deserialize_fraction_range),
1902 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1903 (gst_value_deserialize_boolean),
1904 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1905 (gst_value_serialize_float), (gst_value_deserialize_float),
1906 (gst_string_wrap), (gst_value_deserialize_string),
1907 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1908 (gst_value_union_int_range_int_range),
1909 (gst_value_intersect_int_range_int_range),
1910 (gst_value_intersect_double_range_double_range),
1911 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1912 (gst_value_subtract_int_range_int_range),
1913 (gst_value_subtract_double_double_range),
1914 (gst_value_subtract_double_range_double_range),
1915 (gst_value_deserialize_fraction):
1917 Use gint, gdouble and gchar in our API instead of int, double and
1918 char (and make usage in gstvalue.c more consistent).
1920 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1922 * check/Makefile.am:
1923 * libs/gst/controller/Makefile.am:
1924 * libs/gst/dataprotocol/Makefile.am:
1925 fix up Makefile.am and remove GST_ENABLE_NEW
1927 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1931 * gst/base/Makefile.am:
1932 * gst/check/Makefile.am:
1933 * gst/elements/Makefile.am:
1934 * gst/net/Makefile.am:
1935 update LDFLAGS use some more
1937 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1939 * common/m4/gst-doc.m4:
1942 2005-11-26 Edward Hervey <edward@fluendo.com>
1944 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1945 This shouldn't issue a g_warning since it returns NULL if it
1946 couldn't find the plugin, and all functions using this behave
1947 properly on a NULL return. Switching to a GST_WARNING.
1949 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1951 * gst/gstbin.c: (gst_bin_handle_message_func):
1952 Don't leak clock messages.
1954 2005-11-25 Wim Taymans <wim@fluendo.com>
1956 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1957 (gst_util_uint64_scale_int):
1958 Optimisations, remove unneeded vars.
1960 2005-11-25 Wim Taymans <wim@fluendo.com>
1962 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1963 Added more checks for the high precision uint64 cases.
1965 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1966 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1967 Implement high precision (guint64 * guint64) / guint64.
1969 2005-11-24 Wim Taymans <wim@fluendo.com>
1971 * gst/base/gstbasesrc.c: (gst_base_src_query):
1972 Fix wrong percentage query.
1974 * gst/gstutils.c: (gst_util_uint64_scale),
1975 (gst_util_uint64_scale_int):
1976 Add some more common cases that can be handled
1977 efficiently to _scale.
1979 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1981 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1982 (gst_mini_object_suite):
1983 don't use check calls from threads; check probably isn't
1984 threadsafe and using a lock to make it threadsafe would
1985 defeat the purpose of this check
1986 * gst/check/gstcheck.c:
1987 * gst/check/gstcheck.h:
1988 use GST_DEBUG some more
1990 2005-11-24 Wim Taymans <wim@fluendo.com>
1992 * gst/gstutils.c: (gst_util_uint64_scale),
1993 (gst_util_uint64_scale_int):
1994 Chain trivial case to _scale_int.
1996 2005-11-24 Wim Taymans <wim@fluendo.com>
1998 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1999 Added test for scaling.
2004 * gst/gstutils.c: (gst_util_uint64_scale_int):
2005 Implemented high precision scaling code.
2007 2005-11-24 Stefan Kost <ensonic@users.sf.net>
2010 do not crash on pad==NULL
2012 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
2014 Patch by: Stefan Kost
2016 * common/gtk-doc.mak:
2017 * docs/gst/Makefile.am:
2018 * docs/libs/Makefile.am:
2019 Fix distcheck issues for the libraries docs build
2022 2005-11-24 Michael Smith <msmith@fluendo.com>
2024 * docs/manual/basics-helloworld.xml:
2025 Fix bug #315027: memory leak in example code in docs.
2027 2005-11-24 Michael Smith <msmith@fluendo.com>
2029 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2030 Unlock the PREROLL_LOCK in a failure case.
2032 2005-11-24 Wim Taymans <wim@fluendo.com>
2034 * docs/gst/gstreamer-sections.txt:
2035 * gst/base/gstadapter.h:
2036 * gst/base/gstbasesink.h:
2037 * gst/base/gstbasesrc.h:
2038 * gst/base/gstbasetransform.h:
2039 * gst/base/gstpushsrc.h:
2040 * gst/elements/gstfakesink.h:
2041 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2042 * gst/elements/gstfakesrc.h:
2043 * gst/elements/gstfilesink.h:
2044 * gst/elements/gstfilesrc.h:
2047 * gst/gstbuffer.c: (_gst_buffer_copy):
2050 * gst/gstchildproxy.c:
2053 * gst/gstelementfactory.c:
2054 * gst/gstelementfactory.h:
2056 * gst/gstghostpad.h:
2058 * gst/gstinterface.h:
2059 * gst/gstminiobject.c:
2060 * gst/gstminiobject.h:
2063 * gst/gstpadtemplate.h:
2064 * gst/gstpipeline.h:
2065 * gst/gstpluginfeature.h:
2070 * gst/gsttagsetter.c:
2071 * gst/gsttagsetter.h:
2074 * gst/gsttypefind.h:
2077 * gst/net/gstnetclientclock.c:
2078 * gst/net/gstnetclientclock.h:
2079 * gst/net/gstnettimepacket.c:
2080 * gst/net/gstnettimeprovider.c:
2081 * gst/net/gstnettimeprovider.h:
2084 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2086 * configure.ac: back to HEAD
2088 === release 0.9.6 ===
2090 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2093 releasing 0.9.6, "Always On Time"
2095 2005-11-23 Wim Taymans <wim@fluendo.com>
2097 * docs/gst/gstreamer-sections.txt:
2098 * gst/glib-compat.c:
2099 * gst/gsttagsetter.c:
2101 * gst/net/gstnetclientclock.c:
2102 * gst/net/gstnettimepacket.h:
2105 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
2107 * docs/faq/using.xml:
2108 * docs/libs/tmpl/gstcontrol.sgml:
2109 * docs/manual/advanced-dparams.xml:
2110 * docs/manual/appendix-checklist.xml:
2111 * docs/manual/basics-elements.xml:
2112 * docs/pwg/other-source.xml:
2113 * docs/random/moving-plugins:
2115 * tools/gst-launch.1.in:
2116 remove mentions of sinesrc
2118 2005-11-23 Michael Smith <msmith@fluendo.com>
2120 * docs/gst/gstreamer-sections.txt:
2121 Update for new API and API changes.
2123 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2125 Documentation typo fix.
2126 * gst/net/gstnettimepacket.c:
2127 Documentation fixes for arguments.
2129 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
2131 * gst/gststructure.c: (gst_structure_get_fraction),
2132 (gst_structure_parse_value),
2133 (gst_structure_fixate_field_nearest_fraction):
2134 * gst/gststructure.h:
2135 * gst/gstutils.c: (gst_util_uint64_scale_int):
2137 * scripts/update-funcnames:
2139 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2140 Make gst_structure_fixate_field_nearest_fraction take a numerator
2141 and denominator argument instead of a GValue
2142 add gst_structure_get_fraction helper function.
2144 2005-11-23 Wim Taymans <wim@fluendo.com>
2146 * docs/design/part-TODO.txt:
2149 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2150 * gst/net/gstnetclientclock.h:
2151 Use parent fields for timeout and window_size.
2153 2005-11-23 Andy Wingo <wingo@pobox.com>
2155 * check/net/gstnetclientclock.c (test_functioning): Adjust to
2156 rate_num/rate_denom change.
2158 * gst/net/gstnetclientclock.c
2159 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2160 OBJECT_LOCK. Don't call add_observation with the lock.
2162 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2164 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2166 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2167 deal with rate as a fraction whose numerator and denominator are
2168 GstClockTime values.
2169 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2170 master; the other fields are protected by the SLAVE_LOCK.
2171 (do_linear_regression): Note that this must be called with the
2173 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2174 OBJECT_LOCK. Call set_calibration instead of touching the
2176 (gst_clock_set_property, gst_clock_get_property): Protect
2177 master/slave parameters with the SLAVE_LOCK.
2179 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2180 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2181 note that all of the instance variables that add_observation and
2182 the set_master functions use are protected by that lock and not
2184 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2186 * gst/gstclock.c (gst_clock_add_observation): No longer requires
2187 the caller to take the object lock.
2189 2005-11-23 Wim Taymans <wim@fluendo.com>
2191 * gst/gsterror.c: (_gst_core_errors_init):
2193 Add error for clock stuff.
2195 * gst/gstpipeline.c: (gst_pipeline_change_state),
2196 (gst_pipeline_set_clock):
2197 Post clock error when clock cannot be used in a pipeline.
2199 2005-11-23 Stefan Kost <ensonic@users.sf.net>
2201 * docs/gst/gstreamer-sections.txt:
2202 make two symbols from gstinfo private for the docs
2203 * gst/base/gstcollectpads.h:
2205 fix doc typos, update docs
2207 2005-11-22 Wim Taymans <wim@fluendo.com>
2209 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2210 (gst_base_sink_wait), (gst_base_sink_do_sync),
2211 (gst_base_sink_handle_event):
2212 * gst/base/gstbasesink.h:
2213 No need to store the clock, the parent element class already
2216 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2217 Updates for clock_set returning a gboolean
2219 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2220 (gst_clock_id_wait_async), (gst_clock_class_init),
2221 (gst_clock_init), (gst_clock_finalize),
2222 (gst_clock_get_internal_time), (gst_clock_get_time),
2223 (gst_clock_slave_callback), (gst_clock_set_master),
2224 (gst_clock_get_master), (do_linear_regression),
2225 (gst_clock_add_observation), (gst_clock_set_property),
2226 (gst_clock_get_property):
2228 Implement master/slave. When setting a clock as a slave, a
2229 periodic timeout is scheduled to sample master and slave times.
2230 Then the slave clock is recalibrated to match offset and rate
2231 of the master clock.
2232 Update logging a bit.
2233 Add flag so that a clock can state that is cannot be slaved to
2236 * gst/gstelement.c: (gst_element_set_clock):
2238 The set clock returns a gboolean for when an element cannot
2239 deal with the selected clock in the pipeline.
2241 * gst/gstpipeline.c: (gst_pipeline_change_state),
2242 (gst_pipeline_set_clock):
2243 * gst/gstpipeline.h:
2244 Handle the case where the selected clock cannot be set on
2247 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2248 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2249 (gst_net_client_clock_set_property),
2250 (gst_net_client_clock_get_property),
2251 (gst_net_client_clock_observe_times):
2252 * gst/net/gstnetclientclock.h:
2253 Use regression code in GstClock parent, remove duplicated
2256 2005-11-22 Michael Smith <msmith@fluendo.com>
2258 * gst/gstutils.c: (gst_util_clock_time_scale):
2260 * docs/gst/gstreamer-sections.txt:
2261 Rename method to have extra underscore.
2263 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
2265 * gst/elements/Makefile.am:
2266 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2267 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2268 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2269 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2270 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2271 * gst/elements/gstfakesrc.h:
2272 * gst/gstqueue.c: (queue_leaky_get_type):
2273 correctly fix GEnumValues so that nick is the short lowercase
2275 * tools/gst-inspect.c: (print_element_properties_info):
2276 also show the nick, since it's useful to use from parse_launch
2280 2005-11-22 Michael Smith <msmith@fluendo.com>
2282 * gst/gstutils.c: (gst_util_clocktime_scale):
2284 * docs/gst/gstreamer-sections.txt:
2285 Add util method for scaling a clocktime by a fraction. Useful
2286 implementation is left as an exercise for the reader.
2288 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2290 * gst/gstvalue.c: (gst_value_collect_fraction_range):
2291 If needed, allocate storage in the destination value during
2294 2005-11-22 Edward Hervey <edward@fluendo.com>
2296 * docs/gst/gstreamer-sections.txt:
2301 * gst/gstutils.c: (gst_util_set_object_arg):
2302 * tools/gst-compprep.c: (main):
2303 * tools/gst-inspect.c: (print_element_properties_info):
2304 Removed GstURI, closes bug #321061
2306 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2308 * check/gst/gststructure.c: (GST_START_TEST):
2309 * gst/gststructure.c: (gst_structure_parse_value):
2310 Oops, broke automatic string type parsing.
2311 Add a test to catch it in future.
2313 2005-11-22 Andy Wingo <wingo@pobox.com>
2315 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
2316 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2317 Actually rename the function implementations. Grr.
2319 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2321 * check/gst/capslist.h:
2323 * check/gst/gststructure.c: (GST_START_TEST),
2324 (gst_structure_suite):
2325 Test automatic value type detection in gst_structure_from_string.
2326 * gst/gststructure.c: (gst_structure_parse_value):
2327 Add fraction as a type we try and guess automatically in
2328 caps/structure strings.
2330 2005-11-22 Andy Wingo <wingo@pobox.com>
2332 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2334 * gst/gsttagsetter.h:
2335 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2336 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2337 (gst_tag_setter_add_tag_valist)
2338 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2339 _add_values, _add_valist, and _add_valist_values. Since this is an
2340 interface the function suffixes should be more explicit so
2341 language binding don't end up with element.add_valist ->
2342 gst_tag_setter_add_valist, for example. Fixes #322069.
2344 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2346 * check/gst/gstcaps.c: (GST_START_TEST):
2347 Extend caps string tests to check that a caps to string
2348 conversion is reversible and produces the same caps.
2350 * gst/gststructure.c: (gst_structure_value_get_generic_type):
2351 Output "fraction" as the generic type fraction range, so caps
2352 serialisation and deserialisation works.
2353 * check/gst/capslist.h:
2354 * gst/gstvalue.c: (gst_value_deserialize_fraction):
2355 Support 'MIN' and 'MAX' for deserialising fractions.
2357 2005-11-22 Andy Wingo <wingo@pobox.com>
2359 * gst/gstevent.h (gst_event_new_new_segment)
2360 (gst_event_parse_new_segment, gst_event_new_buffer_size)
2361 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2362 Renamed from *_newsegment, *_buffersize, *_notarget.
2364 * scripts/update-funcnames: New script, performs the changes
2367 2005-11-22 Wim Taymans <wim@fluendo.com>
2369 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2370 Make sure the GstFlowReturn is returned.
2372 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2373 (gst_bus_add_signal_watch):
2375 add gst_bus_add_signal_watch_full.
2377 * gst/gstplugin.c: (gst_plugin_load_file):
2378 Small style cleanup.
2380 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2382 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2383 Block the fakesrc srcpad when we send an event, to avoid
2384 contention on the stream_lock causing random test failures.
2386 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2388 * check/gst/gstvalue.c: (GST_START_TEST):
2389 * gst/gstvalue.c: (gst_value_fraction_subtract):
2392 2005-11-22 Stefan Kost <ensonic@users.sf.net>
2395 include "gstchildproxy.h"
2396 * gst/gstchildproxy.h:
2397 * libs/gst/controller/gstcontroller.h:
2398 use G_GNUC_NULL_TERMINATED
2400 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2402 * check/gst/capslist.h:
2403 * check/gst/gstcaps.c: (GST_START_TEST):
2404 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2405 * gst/gststructure.c: (gst_structure_parse_range),
2406 (gst_structure_fixate_field_nearest_fraction):
2407 * gst/gststructure.h:
2408 * gst/gstvalue.c: (gst_value_init_fraction_range),
2409 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2410 (gst_value_collect_fraction_range),
2411 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2412 (gst_value_set_fraction_range_full),
2413 (gst_value_get_fraction_range_min),
2414 (gst_value_get_fraction_range_max),
2415 (gst_value_serialize_fraction_range),
2416 (gst_value_transform_fraction_range_string),
2417 (gst_value_compare_fraction_range),
2418 (gst_value_deserialize_fraction_range),
2419 (gst_value_intersect_fraction_fraction_range),
2420 (gst_value_intersect_fraction_range_fraction_range),
2421 (gst_value_subtract_fraction_fraction_range),
2422 (gst_value_subtract_fraction_range_fraction),
2423 (gst_value_subtract_fraction_range_fraction_range),
2424 (gst_value_collect_fraction), (gst_value_fraction_multiply),
2425 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2426 (gst_value_transform_string_fraction), (_gst_value_initialize):
2428 Implement fraction ranges and extend GstFraction to support
2429 arithmetic subtraction, as well as deserialization from integer
2430 strings such as "100"
2431 Add a testsuite as for int and double range set operations
2433 2005-11-21 Andy Wingo <wingo@pobox.com>
2437 * gst/gststructure.h: Add glib-compat.h.
2439 2005-11-21 Wim Taymans <wim@fluendo.com>
2441 * gst/gstbin.c: (gst_bin_change_state_func):
2444 2005-11-21 Wim Taymans <wim@fluendo.com>
2447 And add a nice define too.
2449 2005-11-21 Wim Taymans <wim@fluendo.com>
2451 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2452 (gst_segment_new), (gst_segment_free), (gst_segment_init),
2453 (gst_segment_set_duration), (gst_segment_set_last_stop),
2454 (gst_segment_set_seek), (gst_segment_set_newsegment),
2455 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2458 Make binding friendly.
2460 2005-11-21 Andy Wingo <wingo@pobox.com>
2462 * gst/gsttagsetter.h:
2464 * gst/gststructure.h:
2466 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2469 * gst/gsterror.c (_gst_core_errors_init):
2470 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2473 * gst/Makefile.am (gst_headers): Add glib-compat.h.
2474 (noinst_HEADERS): noinst the -private.
2476 2005-11-21 Michael Smith <msmith@fluendo.com>
2479 * gst/gstregistry.h:
2480 Remove unimplemented declarations for which we can see no sensible
2483 2005-11-21 Andy Wingo <wingo@pobox.com>
2485 * gst/gst.h: Include glib-compat.h.
2487 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2489 * gst/glib-compat.c: Include the public and the private header.
2491 * gst/glib-compat-private.h: Copied here from glib-compat.h.
2495 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2497 * check/gst/gstevent.c (create_custom_events): Check that
2498 FLUSH_STOP is serialized.
2500 * check/elements/identity.c (event_func):
2501 * check/elements/fakesrc.c (event_func): No stream lock, the core
2504 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2505 stream lock taking, yay.
2507 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2508 ensure that core takes the stream lock.
2510 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2513 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2514 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2515 it already. For the flush start we do take it though so we get the
2516 right preroll state change messages.
2518 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2519 the stream lock here, the core does it for us.
2521 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2522 GST_STREAM_GET_LOCK.
2523 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
2524 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
2525 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2526 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2527 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
2528 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2530 * gst/gstpad.c: Update for stream lock name change.
2532 * gst/base/gstbasesink.c: Update for preroll lock name change.
2534 2005-11-21 Wim Taymans <wim@fluendo.com>
2536 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2537 (gst_clock_get_master):
2539 * gst/gstsystemclock.c: (gst_system_clock_init):
2540 Convert Clock flags to object flags.
2541 Added methods to manage master/slave clocks.
2543 2005-11-21 Wim Taymans <wim@fluendo.com>
2545 * check/gst/gstsegment.c: (GST_START_TEST):
2546 * docs/design/part-TODO.txt:
2547 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2548 (gst_base_sink_event), (gst_base_sink_do_sync),
2549 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2550 (gst_base_sink_query), (gst_base_sink_change_state):
2551 * gst/base/gstbasesink.h:
2552 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2553 (gst_base_src_default_newsegment),
2554 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2555 (gst_base_src_get_range), (gst_base_src_loop),
2556 (gst_base_src_change_state):
2557 * gst/base/gstbasesrc.h:
2558 * gst/base/gstbasetransform.c:
2559 (gst_base_transform_prepare_output_buf),
2560 (gst_base_transform_event), (gst_base_transform_change_state):
2561 * gst/base/gstbasetransform.h:
2562 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2563 (gst_collect_pads_event):
2564 * gst/base/gstcollectpads.h:
2565 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2566 (gst_fake_src_create):
2567 * gst/elements/gstfakesrc.h:
2568 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2569 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2570 (gst_segment_set_last_stop), (gst_segment_set_seek),
2571 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2572 (gst_segment_to_running_time), (gst_segment_clip):
2574 More segment updates, replace code in plugins with segment
2577 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2579 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2580 Don't ignore sscanf results
2582 2005-11-21 Andy Wingo <wingo@pobox.com>
2584 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2587 * *.c: Ran scripts/update-macros. Oh yes.
2589 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2590 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2593 * scripts/update-macros: New script. Run it on your files to
2594 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2597 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2599 * docs/gst/Makefile.am:
2600 * docs/gst/gstreamer-docs.sgml:
2601 * docs/gst/gstreamer-sections.txt:
2602 * docs/gst/gstreamer.types:
2604 more docs fixes, add new api to the docs
2606 2005-11-21 Andy Wingo <wingo@pobox.com>
2608 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2609 state_broadcast call.
2611 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2613 2005-11-21 Julien MOUTTE <julien@moutte.net>
2615 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2616 function calls for arrays.
2618 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2620 * docs/random/ensonic/media-device-daemon.txt:
2621 wild idea, can this be done?
2622 * docs/gst/gstreamer-sections.txt:
2627 * gst/gstpluginfeature.c:
2631 doc fixes and additions
2633 2005-11-21 Andy Wingo <wingo@pobox.com>
2635 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
2636 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
2637 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
2638 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2639 private to the basesrc implementation.
2641 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2642 behalf of event function if necessary. It should no longer be
2643 necessary to take the stream lock in pad's event functions. Fixes
2646 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2647 * docs/gst/gstreamer-sections.txt:
2648 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2649 (gst_structure_fixate_field_nearest_double),
2650 (gst_structure_fixate_field_boolean):
2651 * gst/gststructure.h:
2652 * win32/common/libgstreamer.def:
2653 * win32/gstreamer.def:
2655 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2658 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2660 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2661 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2662 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2663 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2664 (gst_fdsrc_uri_handler_init):
2665 * gst/elements/gstfdsrc.h:
2666 Port fd:// URI handler from 0.8 to fdsrc
2668 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2670 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2671 (gst_value_serialize_fourcc):
2673 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2674 consistent with our other format defines (#320324).
2676 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2678 * gst/gstvalue.c: (gst_value_is_fixed):
2679 Revert previous commit. Value lists are by definition
2680 not fixed, as they are a list of possible values.
2682 2005-11-21 Andy Wingo <wingo@pobox.com>
2684 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2685 during the stable series if we need it. Fixes #319178.
2687 * gst/gstevent.c (gst_event_new_filler): Removed.
2689 * check/gst/gstevent.c: Update comment about filler events.
2691 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2693 * gst/gstvalue.c: (gst_value_is_fixed):
2694 Should handle both value arrays and value lists.
2696 2005-11-21 Andy Wingo <wingo@pobox.com>
2698 patch by: Alessandro Dessina <alessandro nnva org>
2700 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2701 functions to access arrays. Fixes #321962.
2703 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2705 * docs/gst/gstreamer.types:
2706 gst_collectpads_get_type => gst_collect_pads_get_type.
2708 * gst/base/gstbasetransform.c:
2709 Remove unused SIGNAL_HANDOFF enum.
2711 2005-11-21 Andy Wingo <wingo@pobox.com>
2713 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2714 the event type (upstream, downstream, serialized). Renamed
2715 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2716 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2717 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2719 * gst/gstevent.c: Update for new CUSTOM event names.
2721 * check/gst/gstevent.c: Update check for new CUSTOM event names.
2724 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2727 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2729 * docs/gst/gstreamer-sections.txt:
2730 * win32/common/libgstbase.def:
2731 * win32/libgstbase.def:
2732 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2733 (gst_collect_pads_class_init), (gst_collect_pads_init),
2734 (gst_collect_pads_finalize), (gst_collect_pads_new),
2735 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2736 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2737 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2738 (gst_collect_pads_start), (gst_collect_pads_stop),
2739 (gst_collect_pads_peek), (gst_collect_pads_pop),
2740 (gst_collect_pads_available), (gst_collect_pads_read),
2741 (gst_collect_pads_flush), (gst_collect_pads_event),
2742 (gst_collect_pads_chain):
2743 * gst/base/gstcollectpads.h:
2744 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2745 unimplemented functions as unimplemented. Add padding to
2746 GstCollectData. (#320766, #320423)
2748 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2751 Improve docs for DURATION message (usage of duration parameter)
2754 2005-11-20 Wim Taymans <wim@fluendo.com>
2756 * check/Makefile.am:
2757 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2761 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2762 (gst_segment_set_seek), (gst_segment_set_newsegment),
2763 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2766 Added segment helper structure and methods. Not fully implemented
2768 Added segment check.
2770 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
2772 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2773 Add a deserialisation test for fractions
2774 * examples/metadata/read-metadata.c: (message_loop),
2775 (make_pipeline), (main):
2776 Fix up metadata reading sample.
2777 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2779 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2780 Don't try and fixate empty caps
2781 * gst/gst_private.h:
2782 Wrap in G_BEGIN_DECLS/G_END_DECLS
2783 * gst/gstvalue.c: (gst_value_collect_fraction),
2784 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2785 (gst_value_transform_string_fraction),
2786 (gst_value_compare_fraction):
2787 Add some extra guards to ensure that we don't end up
2788 with an invalid denominator of 0 in a gstfraction and
2789 that fractions always get reduced.
2791 2005-11-20 Wim Taymans <wim@fluendo.com>
2793 * docs/gst/gstreamer-sections.txt:
2804 2005-11-20 Wim Taymans <wim@fluendo.com>
2806 * docs/design/part-TODO.txt:
2808 Make a proper enum of the flag.
2810 2005-11-19 Wim Taymans <wim@fluendo.com>
2812 * docs/design/part-TODO.txt:
2813 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2814 (gst_format_to_quark), (gst_format_register):
2816 * gst/gstquery.c: (_gst_query_initialize),
2817 (gst_query_type_get_name), (gst_query_type_to_quark),
2818 (gst_query_type_register):
2820 Add type to quark and type to string conversions.
2822 2005-11-19 Andy Wingo <wingo@pobox.com>
2824 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2827 2005-11-19 Wim Taymans <wim@fluendo.com>
2829 * docs/design/part-TODO.txt:
2830 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2831 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2832 (gst_bin_handle_message_func):
2834 Make message handling overridable.
2836 2005-11-19 Andy Wingo <wingo@pobox.com>
2838 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2841 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2843 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2844 is a GstClockTime. Fixes #321710.
2846 * gst/gstclock.h (GstClock): Remove offset property. Add
2847 internal_calibration and external_calibration. Fix padding. Pad
2848 also by GstClockTime so we don't run into problems.
2850 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2851 (gst_clock_get_rate_offset): Remove.
2852 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2855 * gst/gstutils.c (g_static_rec_cond_wait)
2856 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2858 * gst/gstbin.c: Remove terrible continue_state prototype.
2860 * gst/gstelement.h (gst_element_continue_state): Make public.
2863 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2864 by continue_state. Fixes #319389.
2866 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2867 Really fixes #168438. However I don't see anywhere where the
2868 filter function is called... stupid GStreamer...
2870 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2871 don't have a dispose function, so it won't get called when the
2872 object is unreffed, but oh well!
2874 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2875 allows a destroy function to be set so user_data can be freed.
2877 (gst_index_set_filter): Call gst_index_set_filter_full.
2879 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2881 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2882 string should produce an error, given the lack of a way to
2883 represent NULL strings. Fixes #165650.
2886 * gst/gstvalue.c (gst_value_array_append_value)
2887 (gst_value_array_prepend_value, gst_value_array_get_size)
2888 (gst_value_array_get_value): New API, copied from
2889 gst_value_list_*, only operates on arrays.
2890 (gst_value_list_append_value, gst_value_list_prepend_value)
2891 (gst_value_list_concat, gst_value_list_get_size)
2892 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2894 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2895 init_list, because it works on both.
2896 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2897 (gst_value_copy_list_or_array): Renamed from copy_list.
2898 (gst_value_free_list_or_array): Renamed from free_list.
2899 (gst_value_collect_list_or_array): Renamed from collect_list.
2900 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2901 (gst_value_list_or_array_peek_pointer): Renamed from
2903 (_gst_value_array_value_table, _gst_value_list_value_table):
2904 Update value table functions.
2905 (gst_value_compare_list_or_array): Renamed from compare_list.
2907 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2911 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2912 GstTagList*. Fixes #143472.
2914 * gst/gststructure.h: Clarify what the foreach/map functions can
2915 or can't do to their arguments.
2917 2005-11-18 Wim Taymans <wim@fluendo.com>
2919 * gst/gstclock.c: (gst_clock_set_calibration),
2920 (gst_clock_get_calibration):
2922 Calibration can be set with internal time equal to current
2925 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2931 2005-11-18 Andy Wingo <wingo@pobox.com>
2934 * pkgconfig/gstreamer-net.pc.in:
2935 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2936 * pkgconfig/Makefile.am: Add net pkgconfig files.
2938 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2941 * gst/gstghostpad.c:
2947 2005-11-18 Andy Wingo <wingo@pobox.com>
2949 * gst/net/gstnetclientclock.c: Turn off debugging.
2951 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2952 times connverge somewhat. Can't make a real test.
2954 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2955 integer arithmetic. Return the minimum of the domain, which can be
2956 set as "internal" for gst_clock_set_calibration.
2957 (gst_net_client_clock_observe_times): Call _set_calibration.
2958 (gst_net_client_clock_new): Call _set_calibration instead of
2961 * check/net/gstnetclientclock.c (test_functioning): Use the right
2965 * gst/gstclock.c (gst_clock_get_calibration)
2966 (gst_clock_set_calibration): New functions, obsolete the ones I
2967 added yesterday. Doh. Precision issues mean we have to extrapolate
2968 from a point in the more recent past than 1970.
2969 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2971 (gst_clock_adjust_unlocked): Use the right calibration data.
2973 2005-11-18 Edward Hervey <edward@fluendo.com>
2975 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2976 Also reset the ->current_* values in READY->PAUSED
2978 2005-11-18 Andy Wingo <wingo@pobox.com>
2980 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2981 Whoops, check the right fd. Also add some debugging.
2982 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2983 (do_linear_regression): Add a crapload of debugging. Subtract off
2984 the minimum values from the input series to discard unneeded bits.
2985 Use only int arithmetic. There is still double arithmetic when
2986 calculating the intercept that needs fixing. Return boolean to
2987 indicate success; FALSE would mean the domain or range is too
2988 great. Still needs fixes.
2990 2005-11-18 Wim Taymans <wim@fluendo.com>
2992 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2993 For the current position in stream time, we need to subtract
2996 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2997 Release lock before calling the callback function of async
3000 2005-11-18 Andy Wingo <wingo@pobox.com>
3002 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3003 Port goes all the way to MAXUINT16.
3005 * gst/net/gstnettimeprovider.c: Make the port range the same as
3006 for the kernel: 0 assigns, otherwise ports are less than
3009 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3012 * check/net/gstnetclientclock.c (test_functioning): Add the start
3015 2005-11-18 Wim Taymans <wim@fluendo.com>
3017 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3018 (gst_bin_remove_func), (bin_bus_handler):
3020 Removing a clock provider from a bin, triggers a clock lost message
3021 so that a new clock will be selected.
3022 Adding a clock to a bin triggers a clock provider message.
3023 Make sure we reselect a clock when we received a clock lost message.
3024 Keep a reference to the element that provided the clock.
3026 2005-11-18 Andy Wingo <wingo@pobox.com>
3028 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3029 the clock initially so it produces values around the base time.
3030 (gst_net_client_clock_class_init): Typo fix.
3031 (gst_net_client_clock_thread): Add note on when the socket gets
3034 2005-11-17 Wim Taymans <wim@fluendo.com>
3036 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3037 Free remote and local time arrays.
3039 2005-11-17 Wim Taymans <wim@fluendo.com>
3041 * gst/net/gstnetclientclock.c: (do_linear_regression),
3042 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3043 Fix compilation, uninitialized vars and a forgotten continue.
3045 2005-11-17 Andy Wingo <wingo@pobox.com>
3047 * check/Makefile.am (check_PROGRAMS):
3048 * check/net/gstnetclientclock.c: Add a most minimal test for the
3049 net client clock. More to come later.
3052 * gst/net/Makefile.am: Add netclientclock.
3054 * gst/net/gstnetclientclock.h:
3055 * gst/net/gstnetclientclock.c: New files, implement an untested
3056 GstClock that takes its time from a network time provider.
3057 Implements the algorithm in network-clock.scm.
3059 * tests/network-clock.scm (*window-size*): Rename from
3061 * tests/network-clock.scm (network-time):
3062 * tests/network-clock-utils.scm (q-push): Update callers.
3064 2005-11-17 Wim Taymans <wim@fluendo.com>
3066 * gst/gstbin.c: (gst_bin_provide_clock_func),
3067 (gst_bin_sort_iterator_new):
3068 And unref the child too..
3070 2005-11-17 Wim Taymans <wim@fluendo.com>
3072 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3073 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3074 Refactor the sort iterator so it can be used while holding the
3076 Make clock selection select a clock closest to the source.
3078 2005-11-17 Michael Smith <msmith@fluendo.com>
3080 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3081 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3083 Anonymous structs are a gcc (and some other compilers) extension, so
3084 don't use them. Since this is only for ABI-compatibility, and our
3085 API/ABI freeze is over in a few days, this whole thing will only
3086 last a few days, so don't bother trying to think up a meaningful
3087 name for the struct.
3089 2005-11-17 Andy Wingo <wingo@pobox.com>
3091 * gst/gstclock.h (GstClock): Add rate and offset properties,
3092 preserving ABI stability. Add rate/offset accessors. Will file bug
3093 for the freeze break.
3095 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3096 and offset, trying to keep precision and avoiding
3098 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3099 functions. Make gst_clock_set_time_adjust obsolete.
3100 (gst_clock_set_time_adjust): Note that this function is obsolete.
3103 * gst/base/gstbasetransform.h: Make the ABI-stability hack
3104 greppable by using GST_PADDING-1+1.
3106 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
3108 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3110 * gst/gstmessage.c: (gst_message_parse_clock_lost):
3111 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3113 * gst/gstpadtemplate.h:
3114 * gst/gstpluginfeature.h:
3115 Don't use c++ style comments in headers (#321638).
3117 2005-11-16 Andy Wingo <wingo@pobox.com>
3119 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3122 * check/net/gstnettimeprovider.c: Check to see that the time
3123 provider actually provides times. Works, yo!
3125 2005-11-16 Wim Taymans <wim@fluendo.com>
3127 * check/Makefile.am:
3130 * check/elements/fakesrc.c: (GST_START_TEST):
3131 Set element to NULL before disposing it.
3133 2005-11-16 Andy Wingo <wingo@pobox.com>
3135 * gst/net/Makefile.am:
3137 * gst/net/gstnettimeprovider.c:
3138 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3139 provider, include it from gstnet.h, and add it to the build.
3141 * gst/net/gstnettimepacket.h:
3142 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3143 sending and receiving.
3145 2005-11-16 Wim Taymans <wim@fluendo.com>
3147 * check/Makefile.am:
3148 Enable valgrind check.
3150 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3151 (gst_fake_src_alloc_buffer):
3154 2005-11-16 Wim Taymans <wim@fluendo.com>
3156 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3157 Call parent finalize too.
3159 2005-11-16 Wim Taymans <wim@fluendo.com>
3161 * check/Makefile.am:
3162 Enable valgrind check that should work fine now.
3164 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3165 * gst/gstqueue.c: (gst_queue_init):
3166 Fix memleaks in pad allocation.
3168 2005-11-16 Andy Wingo <wingo@pobox.com>
3170 * gst/net/Makefile.am:
3171 * gst/net/gstnet.h: New part of core to hold network elements and
3172 objects. Put in core because it exposes API that applications want
3173 to use. The library is named libgstnet-tempname right now because
3174 of the existing libgstnet in gst-plugins-base. Solution is
3175 probably to rename the one in plugins-base; will file a bug for
3178 * gst/net/gstnettimeprovider.c:
3179 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3180 get_time call over the network.
3183 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3185 * check/Makefile.am:
3186 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3187 get additions shortly.
3189 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3191 * gst/gstpad.c: (gst_pad_new_from_static_template):
3193 add gst_pad_new_from_static_template functions
3194 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3195 (gst_check_setup_sink_pad):
3196 * gst/elements/gsttee.c: (gst_tee_init):
3199 2005-11-16 Wim Taymans <wim@fluendo.com>
3201 * gst/gstpad.c: (gst_pad_pause_task):
3202 Removed warning, it's not really an error either.
3204 2005-11-16 Wim Taymans <wim@fluendo.com>
3206 * gst/base/gstbasetransform.c:
3207 (gst_base_transform_prepare_output_buf),
3208 (gst_base_transform_event):
3209 Check if the caps are NULL, this can happen if the element
3210 is shutting down and the pad caps are set to NULL.
3212 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3214 * gst/elements/gsttee.c: (gst_tee_init):
3215 fix pad template leak in tee
3217 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3219 * gst/glib-compat.c: (g_value_dup_gst_object):
3220 * gst/glib-compat.h:
3221 * gst/gstpad.c: (gst_pad_set_property):
3222 use gst_object_ref when setting the pad template; this will
3223 trigger the pad template leaks on GLib 2.6 and the slaves
3225 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3227 * gst/glib-compat.c: (gst_flags_get_first_value):
3228 * gst/glib-compat.h:
3229 * gst/gstregistryxml.c:
3230 remove functions copied from GLib 2.6
3232 2005-11-16 Michael Smith <msmith@fluendo.com>
3235 Don't link against VALGRIND_LIBS. That was always the wrong thing to
3236 do, but only breaks with newer valgrind versions. We're not a
3237 valgrind tool, we have no link-time dependencies on libcoregrind.
3239 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3241 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3246 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
3248 * gst/base/gstbasesrc.c: (gst_base_src_init):
3249 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3250 * gst/gstqueue.c: (gst_queue_init):
3251 * gst/gstregistryxml.c: (load_feature):
3252 Revert all these unrefs, they don't even pass make check !
3254 2005-11-15 Johan Dahlin <johan@gnome.org>
3256 * gst/base/gstbasesrc.c: (gst_base_src_init):
3257 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3258 * gst/gstqueue.c: (gst_queue_init):
3259 Free pad templates, fixes a couple of leaks.
3261 2005-11-15 Daniel Fischer <dan at f3c dot com>
3263 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3265 * gst/gstpad.c: (gst_pad_get_property):
3266 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3267 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3270 2005-11-15 Wim Taymans <wim@fluendo.com>
3275 2005-11-15 Andy Wingo <wingo@pobox.com>
3277 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3279 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3280 using GST_CLOCK_TIME_NONE to disable base time management.
3281 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3282 time if it was NONE before.
3283 (gst_pipeline_change_state): Only munge the base time if
3284 stream_time != GST_CLOCK_TIME_NONE.
3286 * check/gst/gstpipeline.c (test_base_time): Punt around the
3287 problem of the probe not being called, because that's not the
3288 issue I'm looking at. Add a check that setting stream_time to NONE
3289 disables base time management.
3291 2005-11-15 Wim Taymans <wim@fluendo.com>
3293 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3294 segment_stop == -1 at startup.
3296 * gst/base/gstbasetransform.c: (gst_base_transform_event),
3297 (gst_base_transform_change_state):
3298 Init segment values at start.
3300 2005-11-15 Wim Taymans <wim@fluendo.com>
3302 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3303 0 segment values are 0 in any format.
3305 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3306 * gst/base/gstbasetransform.h:
3307 Parse newsegment correctly in basetransform
3309 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3310 Sync to clock using updated segment values.
3312 2005-11-15 Andy Wingo <wingo@pobox.com>
3314 * check/gst/gstpipeline.c (test_base_time): Add check that the
3315 base time and stream time are reset correctly.
3317 2005-11-15 Wim Taymans <wim@fluendo.com>
3319 * docs/design/part-TODO.txt:
3320 Some more TODO items.
3322 2005-11-15 Andy Wingo <wingo@pobox.com>
3324 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3325 error if the user selected "no clock" as the clocking method.
3327 * check/gst/gstpipeline.c (test_base_time): New test for buffer
3328 timestamps with live capture.
3330 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3331 is 0 but we are a live source, timestamp the buffers using the
3334 2005-11-14 Stefan Kost <ensonic@users.sf.net>
3336 * docs/gst/gstreamer-sections.txt:
3338 * gst/gstghostpad.c:
3343 2005-11-14 Wim Taymans <wim@fluendo.com>
3346 add suppressions from Wim's Debian machine
3348 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
3351 add suppressions from Andy's AMD64 Ubuntu machine
3353 2005-11-14 Andy Wingo <wingo@pobox.com>
3355 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3356 STATE_LOCK not necessary. Fixes #311489.
3358 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3361 * gst/gstindex.c (gst_index_add_object): Note in the docs that
3362 this function is not implemented.
3364 2005-11-14 Julien MOUTTE <julien@moutte.net>
3366 * gst/base/gstbasetransform.c:
3367 (gst_base_transform_prepare_output_buf):
3368 Ref the source pad caps while we need them.
3371 2005-11-11 Wim Taymans <wim@fluendo.com>
3373 * docs/gst/gstreamer-sections.txt:
3374 Added some docs for GstCollectData.
3376 * gst/base/gstadapter.c:
3377 Some small code example fix.
3379 * gst/base/gstcollectpads.c:
3380 * gst/base/gstcollectpads.h:
3383 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3385 * configure.ac: back to HEAD
3387 === release 0.9.5 ===
3389 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3392 releasing 0.9.5, "Bike Lunch Day"
3394 2005-11-11 Wim Taymans <wim@fluendo.com>
3396 * gst/gstbuffer.c: (_gst_buffer_copy):
3399 * gst/gstcaps.c: (gst_caps_is_equal):
3401 Make _is_equal fast in the trivial cases.
3403 * gst/gstminiobject.c:
3404 * gst/gstminiobject.h:
3405 More docs. Spifify .h file.
3410 2005-11-11 Wim Taymans <wim@fluendo.com>
3412 * gst/base/gstbasetransform.c:
3413 (gst_base_transform_prepare_output_buf),
3414 (gst_base_transform_handle_buffer):
3416 If we're processing a buffer and need to allocate an output
3417 buffer, we cannot accept a format change. If we did get a
3418 format change, we have to alloc a buffer ourselves of the
3421 2005-11-11 Wim Taymans <wim@fluendo.com>
3423 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3424 While checking the flag for reentrancy in the gstcaps function
3425 is nice to detect recursive invocations, it also makes it
3426 impossible to call getcaps from multiple threads, which must be
3427 possible. So, checking for recursive calls has to go.
3429 2005-11-11 Michael Smith <msmith@fluendo.com>
3431 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3432 Don't sync on buffers that fall partially outside our current
3433 segment. Prevents an assertion failure/abort playing some files.
3435 2005-11-10 Andy Wingo <wingo@pobox.com>
3437 * check/gst/gstbin.c (test_message_state_changed_children): Style
3440 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3441 gst_bus_poll with the signal watch. Ensures that poll and a signal
3442 watch see the same messages.
3444 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3445 a poll and a watch at the same time get the same messages.
3447 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3449 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3450 * gst/gstcaps.c: (gst_caps_intersect):
3451 Don't call gst_caps_do_simplify - it doesn't respect order of caps
3452 and it's not needed.
3454 2005-11-10 Wim Taymans <wim@fluendo.com>
3456 * docs/design/part-TODO.txt:
3459 2005-11-10 Wim Taymans <wim@fluendo.com>
3461 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3462 * gst/base/gstbasesrc.c: (gst_base_src_wait),
3463 (gst_base_src_do_sync), (gst_base_src_get_range):
3464 Implement clock sync in base class.
3466 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3468 patch by: Tim-Philipp Müller <tim at centricular dot net>
3470 * gst/gststructure.c: (gst_structure_parse_field),
3471 (gst_structure_from_string):
3472 Forward-port a 0.8 patch to handle escaped spaces in structure string,
3473 so that gst_parse_launch() can deal with spaces in filtered link
3474 caps (fixes #164479)
3475 * check/gst/capslist.h:
3476 * check/gst/gststructure.c: (GST_START_TEST):
3477 add unit tests for this change
3479 2005-11-10 Wim Taymans <wim@fluendo.com>
3481 * docs/gst/gstreamer-sections.txt:
3484 Fix docs, move some STATE macros to private.
3486 2005-11-10 Wim Taymans <wim@fluendo.com>
3488 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3489 Added check for bug #317341
3493 Some more spiffifying.
3495 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3496 Call peer linkfunction if we are a source pad. Totally fixes
3500 Update docs, source pads should call the peer linkfunction
3501 so they can atomically perform the pad link.
3503 2005-11-09 Wim Taymans <wim@fluendo.com>
3507 Uber-spiffy-spiffify some more.
3509 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
3511 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3512 * gst/elements/gstfilesink.c: (gst_file_sink_init):
3513 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3514 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3515 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3516 * gst/gstpad.c: (gst_pad_init):
3517 Use GST_DEBUG_FUNCPTR() more extensively.
3519 2005-11-09 Wim Taymans <wim@fluendo.com>
3521 * gst/gstobject.c: (gst_object_class_init):
3523 Documentation fixes.
3525 2005-11-09 Edward Hervey <edward@fluendo.com>
3527 * gst/gsttypefindfactory.c:
3530 2005-11-09 Edward Hervey <edward@fluendo.com>
3532 * gst/base/gsttypefindhelper.c:
3533 * gst/gsttypefind.c:
3534 * gst/gsttypefind.h:
3537 2005-11-09 Wim Taymans <wim@fluendo.com>
3539 * gst/gstiterator.c:
3546 2005-11-09 Wim Taymans <wim@fluendo.com>
3552 2005-11-09 Wim Taymans <wim@fluendo.com>
3554 * docs/gst/gstreamer-sections.txt:
3555 Moved the message async delivery private lock and cond
3556 to the private section.
3562 2005-11-09 Edward Hervey <edward@fluendo.com>
3564 * docs/gst/gstreamer-sections.txt:
3567 Document GstURIHandler
3569 2005-11-09 Wim Taymans <wim@fluendo.com>
3571 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3572 (gst_iterator_find_custom):
3573 * gst/gstiterator.h:
3576 2005-11-09 Wim Taymans <wim@fluendo.com>
3579 Document another field.
3581 * gst/gststructure.c:
3582 * gst/gststructure.h:
3585 2005-11-09 Wim Taymans <wim@fluendo.com>
3590 2005-11-09 Wim Taymans <wim@fluendo.com>
3592 * docs/gst/gstreamer-sections.txt:
3593 Added some new macros.
3600 2005-11-09 Wim Taymans <wim@fluendo.com>
3602 * docs/design/part-TODO.txt:
3603 Some more items for the TODO
3609 2005-11-09 Andy Wingo <wingo@pobox.com>
3611 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3612 to work on something else now tho...
3614 * gst/base/gstadapter.c: More adapter docs.
3616 * gst/elements/gstfilesink.c (gst_file_sink_start)
3617 (gst_file_sink_stop): New functions, replace the state change
3619 (gst_file_sink_class_init): Hook up the start and stop functions.
3620 (gst_file_sink_base_init): Don't set the state change handler any
3621 more. It was a bit ugly too, being set from here...
3622 (gst_file_sink_get_property, gst_file_sink_set_property):
3624 (gst_file_sink_set_location): More robust check that doesn't call
3627 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
3629 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3630 Hold STREAM_LOCK while pushing newsegment or tag events as well.
3632 2005-11-08 Wim Taymans <wim@fluendo.com>
3634 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3635 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3636 (gst_base_sink_chain), (gst_base_sink_change_state):
3637 * gst/base/gstbasesink.h:
3638 * gst/base/gstbasesrc.h:
3641 Avoid excessive typechecking in macros.
3643 * gst/gstminiobject.c: (gst_mini_object_get_type),
3644 (gst_mini_object_init), (gst_mini_object_new),
3645 (gst_mini_object_free):
3646 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3647 (gst_object_finalize):
3648 Remove cruft code, optimize alloc_trace.
3650 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
3652 * docs/faq/gst-uninstalled:
3653 fix up PS1 for systems that try to reset it
3655 2005-11-07 Wim Taymans <wim@fluendo.com>
3657 * gst/base/gstbasesrc.c: (gst_base_src_init),
3658 (gst_base_src_get_range):
3659 Set the segment_end to -1 initially. Fixed typefind.
3661 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
3663 * gst/base/gstadapter.c:
3664 Debug category should be 'adapter', not 'GstAdapter'.
3666 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3667 (gst_collectpads_class_init), (gst_collectpads_init),
3668 (gst_collectpads_peek), (gst_collectpads_pop),
3669 (gst_collectpads_event), (gst_collectpads_chain):
3670 Add debug category and some debugging output. Use boilerplate
3671 macros. Remove some extraneous words from docs.
3673 2005-11-05 Andy Wingo <wingo@pobox.com>
3675 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3678 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3680 * docs/gst/gstreamer-sections.txt:
3683 * gst/gstminiobject.h:
3688 2005-11-04 Wim Taymans <wim@fluendo.com>
3690 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3691 Small update to stop at the configured segment_end
3694 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3696 * gst/gstregistry.c:
3697 * gst/gstregistry.h:
3700 2005-11-04 Edward Hervey <edward@fluendo.com>
3702 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3703 Check if we are doing a segment seek and have arrived at the
3704 end of that segment.
3706 2005-11-04 Wim Taymans <wim@fluendo.com>
3708 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3709 Don't leak a mutex unlock in case of an error.
3714 2005-11-04 Wim Taymans <wim@fluendo.com>
3716 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3718 Get the context to wake up only once.
3720 2005-11-03 Wim Taymans <wim@fluendo.com>
3722 * check/states/sinks.c: (GST_START_TEST):
3723 Uncomment fixed check.
3725 * docs/design/part-TODO.txt:
3728 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3729 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3730 (gst_base_sink_get_position):
3731 If we are going to PLAYING, post the right pending state
3732 when we post the intermediate paused message.
3734 * gst/gstelement.c: (gst_element_continue_state),
3735 (gst_element_set_state_func), (gst_element_change_state):
3736 Don't post state changes that were between the same state
3739 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3741 * docs/gst/gstreamer-sections.txt:
3744 * gst/gstminiobject.h:
3747 more docs and doc style fixes
3749 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3751 * docs/gst/gstreamer-sections.txt:
3753 * gst/gstminiobject.c:
3756 2005-11-03 Andy Wingo <wingo@pobox.com>
3758 * check/states/sinks.c (test_livesrc_sink): Add checks that the
3759 state-changed messages actually have the right order and the right
3762 2005-11-03 Wim Taymans <wim@fluendo.com>
3764 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3765 Added some more checks. Specifically the case where NO_PREROLL
3766 elements are in the pipeline.
3768 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3769 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3770 (gst_base_sink_get_position):
3771 Post READY->PAUSED state change messages too.
3772 Fix bug where VOID was posted as pending state...
3774 * gst/gstbin.c: (gst_bin_recalc_state):
3775 use _element_continue_state() to continue the state change.
3777 * gst/gstelement.c: (gst_element_continue_state),
3778 (gst_element_commit_state), (gst_element_set_state_func),
3779 (gst_element_change_state), (gst_element_change_state_func):
3780 Lots of state change cleanups, assign the STATE_RETURN in
3781 a new continue_state() function that also propagates the
3782 last return value from a state change to the app.
3783 Update some debug statements with proper category.
3785 2005-11-03 Wim Taymans <wim@fluendo.com>
3787 * docs/design/part-events.txt:
3788 * docs/design/part-gstpipeline.txt:
3789 * docs/design/part-messages.txt:
3790 * docs/design/part-overview.txt:
3791 * docs/design/part-seeking.txt:
3792 * docs/design/part-states.txt:
3793 * docs/design/part-trickmodes.txt:
3794 * docs/manual/advanced-position.xml:
3798 People think !! is ugly, this looks better.
3800 * gst/gstpad.c: (gst_pad_set_blocked_async):
3801 Remove !! since it's fixed elsewhere now.
3803 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3805 * gst/gstminiobject.h:
3807 Add !! to _FLAG_IS_SET macros to make the result boolean.
3809 2005-11-03 Edward Hervey <edward@fluendo.com>
3811 * gst/gstpad.c: (gst_pad_set_blocked_async):
3812 comparing a flag and a gboolean rarely returns coherent results...
3813 Added two characters (!!) to make that work correctly.
3815 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3817 * gst/gstbus.c: (gst_bus_class_init):
3820 * gst/gstqueue.c: (gst_queue_loop):
3821 Don't assume a miniobject that isn't a buffer is an
3822 event (it could be that there is a refcounting
3823 problem somewhere and the pointer is stale and
3824 refers to an already destroyed miniobject).
3826 2005-11-03 Julien MOUTTE <julien@moutte.net>
3828 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3830 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3832 * docs/manual/advanced-position.xml:
3833 Update seek example and explanations to current 0.9 API.
3835 * gst/elements/gsttypefindelement.c:
3836 (gst_type_find_element_activate):
3837 Remove FIXME comment now that the found caps
3840 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3842 * gst/gstregistryxml.c: (load_feature):
3843 Add another GST_STR_NULL instance
3845 2005-11-02 Edward Hervey <edward@fluendo.com>
3847 * gst/gstpad.c: (handle_pad_block):
3848 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3850 2005-11-02 Wim Taymans <wim@fluendo.com>
3855 * gst/gstelement.c: (gst_element_commit_state):
3856 Remove unused value.
3858 * gst/gstiterator.c:
3859 Mention that the returned element is reffed in the docs.
3861 2005-11-02 Wim Taymans <wim@fluendo.com>
3863 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3864 (gst_pad_push), (gst_pad_push_event):
3865 Unlock blocked pads when they are flushed.
3867 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3870 * docs/gst/gstreamer-sections.txt:
3873 * gst/gstregistry.c: (gst_registry_scan_path_level):
3874 fix for a nasty little missed situation where an installed plug-in
3875 which was in the cache did not get overridden by an uninstalled one
3876 which was earlier in the plugin path because the newly created plugin
3877 for the uninstalled one (not in the registry) didn't get its
3878 ->registered set to TRUE
3880 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3882 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3883 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3884 (gst_collectpads_is_active), (gst_collectpads_collect),
3885 (gst_collectpads_collect_range), (gst_collectpads_start),
3886 (gst_collectpads_stop), (gst_collectpads_peek),
3887 (gst_collectpads_pop), (gst_collectpads_available),
3888 (gst_collectpads_read), (gst_collectpads_flush):
3889 Guard public API with assertions.
3892 Fix docs for gst_pad_set_link_function().
3894 2005-11-02 Johan Dahlin <johan@gnome.org>
3896 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3897 Unref found_caps after we used it.
3899 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3901 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3902 Don't try to ref NULL.
3904 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3906 * win32/common/config.h.in:
3907 provide a GST_FUNCTION that just gives a string for now
3909 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3911 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3912 (gst_object_flags_get_type), (register_gst_bin_flags),
3913 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3914 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3915 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3916 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3917 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3918 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3919 (gst_clock_flags_get_type), (register_gst_state),
3920 (gst_state_get_type), (register_gst_state_change_return),
3921 (gst_state_change_return_get_type), (register_gst_state_change),
3922 (gst_state_change_get_type), (register_gst_element_flags),
3923 (gst_element_flags_get_type), (register_gst_core_error),
3924 (gst_core_error_get_type), (register_gst_library_error),
3925 (gst_library_error_get_type), (register_gst_resource_error),
3926 (gst_resource_error_get_type), (register_gst_stream_error),
3927 (gst_stream_error_get_type), (register_gst_event_type),
3928 (gst_event_type_get_type), (register_gst_seek_type),
3929 (gst_seek_type_get_type), (register_gst_seek_flags),
3930 (gst_seek_flags_get_type), (register_gst_format),
3931 (gst_format_get_type), (register_gst_index_certainty),
3932 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3933 (gst_index_entry_type_get_type),
3934 (register_gst_index_lookup_method),
3935 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3936 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3937 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3938 (gst_index_flags_get_type), (register_gst_debug_level),
3939 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3940 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3941 (gst_iterator_result_get_type), (register_gst_iterator_item),
3942 (gst_iterator_item_get_type), (register_gst_message_type),
3943 (gst_message_type_get_type), (register_gst_mini_object_flags),
3944 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3945 (gst_pad_link_return_get_type), (register_gst_flow_return),
3946 (gst_flow_return_get_type), (register_gst_activate_mode),
3947 (gst_activate_mode_get_type), (register_gst_pad_direction),
3948 (gst_pad_direction_get_type), (register_gst_pad_flags),
3949 (gst_pad_flags_get_type), (register_gst_pad_presence),
3950 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3951 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3952 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3953 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3954 (gst_plugin_flags_get_type), (register_gst_rank),
3955 (gst_rank_get_type), (register_gst_query_type),
3956 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3957 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3958 (gst_tag_flag_get_type), (register_gst_task_state),
3959 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3960 (gst_alloc_trace_flags_get_type),
3961 (register_gst_type_find_probability),
3962 (gst_type_find_probability_get_type), (register_gst_uri_type),
3963 (gst_uri_type_get_type), (register_gst_parse_error),
3964 (gst_parse_error_get_type):
3965 * win32/common/gstversion.h:
3968 2005-11-01 Luca Ognibene <luogni@tin.it>
3971 fix docs. popt is dead, long live GOption.
3973 2005-10-31 Wim Taymans <wim@fluendo.com>
3978 2005-10-31 Andy Wingo <wingo@pobox.com>
3982 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3984 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3985 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3986 the possibility of deadlocks here if code calling notify() or
3987 set() has a lock that can be taken in another notify handler (ABBA
3988 with class lock and e.g. python GIL state lock).
3990 2005-10-28 Julien MOUTTE <julien@moutte.net>
3992 * gst/gstbus.c: Doc updates.
3994 2005-10-28 Wim Taymans <wim@fluendo.com>
3996 * docs/design/part-TODO.txt:
3997 * gst/gstiterator.c:
3998 * gst/gstsystemclock.c:
3999 * gst/gstsystemclock.h:
4002 2005-10-28 Edward Hervey <edward@fluendo.com>
4004 * docs/gst/gstreamer-docs.sgml:
4005 * docs/gst/gstreamer-sections.txt:
4006 the GstURIType documentation page is private, it only defines GstURIType
4007 which should be defined in the GstURIHandler page
4009 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
4011 * gst/gstbin.c: (gst_bin_class_init):
4014 Documentation updates.
4016 2005-10-28 Wim Taymans <wim@fluendo.com>
4018 * docs/gst/gstreamer-sections.txt:
4021 Documented the clocks.
4023 2005-10-28 Stefan Kost <ensonic@users.sf.net>
4025 * docs/gst/gstreamer-sections.txt:
4026 move some macros to private sections
4027 * gst/gstminiobject.c:
4028 * gst/gstminiobject.h:
4029 add descriptions provided by ds and some more
4031 mark macro as to be removed
4033 2005-10-28 Wim Taymans <wim@fluendo.com>
4035 * docs/design/part-TODO.txt:
4036 Add an item to TODO.
4038 * gst/gstiterator.c: (gst_iterator_fold),
4039 (gst_iterator_find_custom):
4040 * gst/gstiterator.h:
4043 2005-10-28 Wim Taymans <wim@fluendo.com>
4045 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4046 (gst_base_transform_init):
4049 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4050 An EOS event marks the queue as completely filled.
4052 2005-10-27 Wim Taymans <wim@fluendo.com>
4054 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4055 (gst_base_sink_do_sync), (gst_base_sink_get_position):
4056 Some more debugging.
4058 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4059 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4060 (gst_base_transform_event), (gst_base_transform_getrange),
4061 (gst_base_transform_chain):
4062 * gst/base/gstbasetransform.h:
4064 Protect transform and concurrent buffer alloc with a new lock.
4065 Try not to break ABI/API.
4067 2005-10-27 Wim Taymans <wim@fluendo.com>
4069 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4070 (gst_base_src_init), (gst_base_src_query),
4071 (gst_base_src_default_newsegment),
4072 (gst_base_src_configure_segment), (gst_base_src_do_seek),
4073 (gst_base_src_send_event), (gst_base_src_event_handler),
4074 (gst_base_src_pad_get_range), (gst_base_src_loop),
4075 (gst_base_src_unlock), (gst_base_src_default_negotiate),
4076 (gst_base_src_start), (gst_base_src_deactivate),
4077 (gst_base_src_activate_push), (gst_base_src_change_state):
4078 Move some stuff around and cleanup things.
4080 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
4082 * gst/base/gstbasesrc.c: (gst_base_src_query):
4083 Add missing break statements.
4085 2005-10-27 Wim Taymans <wim@fluendo.com>
4087 * check/gst/gstbin.c: (GST_START_TEST):
4088 An extra refcount is taken in basesrc.
4090 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4091 (gst_base_src_get_range), (gst_base_src_pad_get_range),
4092 (gst_base_src_loop):
4093 Small cleanups, check for flushing after being unlocked from the
4094 LIVE_LOCK. take refcounts correctly (not yet everywhere).
4095 Don't send out EOS when going to READY.
4097 2005-10-27 Wim Taymans <wim@fluendo.com>
4099 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4100 (gst_base_sink_get_position):
4103 * gst/gstbin.c: (message_check), (bin_replace_message),
4104 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4105 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4106 (bin_query_duration_init), (bin_query_duration_fold),
4107 (bin_query_duration_done), (bin_query_generic_fold),
4109 * tools/gst-launch.c: (main):
4112 2005-10-26 Stefan Kost <ensonic@users.sf.net>
4114 * examples/controller/audio-example.c: (main):
4115 * examples/queue/queue.c: (event_loop):
4116 * gst/base/gstbasetransform.h:
4117 * gst/gstelement.c: (gst_element_send_event):
4119 * gst/gstpad.c: (gst_pad_send_event):
4122 changing log priority in error situations
4124 2005-10-25 Wim Taymans <wim@fluendo.com>
4126 * gst/gstbin.c: (message_check), (bin_replace_message),
4127 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4128 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4129 (bin_query_duration_init), (bin_query_duration_fold),
4130 (bin_query_duration_done), (bin_query_generic_fold),
4132 Some doc and debug updates.
4133 Cache previously requested query DURATION for speed. invalidate
4134 cached duration if element posts a DURATION message.
4136 2005-10-25 Wim Taymans <wim@fluendo.com>
4138 * docs/design/part-TODO.txt:
4141 * gst/gstbin.c: (message_check), (bin_replace_message),
4142 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4143 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4144 (bin_query_duration_init), (bin_query_duration_fold),
4145 (bin_query_duration_done), (bin_query_generic_fold),
4147 Handle SEGMENT_START/DONE messages correctly.
4148 More evolved query algorithm that handles duration queries
4151 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4152 (gst_element_get_state_func), (gst_element_abort_state),
4153 (gst_element_commit_state), (gst_element_lost_state):
4154 Some more debugging.
4159 2005-10-25 Wim Taymans <wim@fluendo.com>
4161 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4162 Don't use invalid stream_time.
4164 * gst/gstevent.c: (gst_event_new_newsegment):
4165 stream_time in newsegment cannot be undefined.
4167 2005-10-24 Wim Taymans <wim@fluendo.com>
4172 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4174 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4176 2005-10-24 Stefan Kost <ensonic@users.sf.net>
4178 * docs/libs/tmpl/gstdparam.sgml:
4179 * docs/libs/tmpl/gstdplinint.sgml:
4180 * docs/libs/tmpl/gstdpman.sgml:
4181 * docs/libs/tmpl/gstdpsmooth.sgml:
4182 * docs/libs/tmpl/gstunitconvert.sgml:
4185 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
4190 === release 0.9.4 ===
4192 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
4195 releasing 0.9.4, "Tyrannosaurus Rex"
4197 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
4199 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4200 (gst_file_sink_get_current_offset):
4201 Use fseeko() and ftello() if available. When falling back on
4202 lseek() to get the current offset, fflush() first to make sure
4203 everything is up-to-date and we get the right offset.
4205 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
4207 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4208 * gst/base/gstbasesrc.c: (gst_base_src_loop):
4209 * gst/gsterror.c: (_gst_stream_errors_init):
4211 * gst/gstqueue.c: (gst_queue_loop):
4213 remove prematurely added error category and clean up the instances
4215 2005-10-21 Wim Taymans <wim@fluendo.com>
4217 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4218 (gst_base_sink_get_position), (gst_base_sink_query),
4219 (gst_base_sink_change_state):
4220 Simply set the right flag when going to playing, that's all
4221 we need to do instead of calling a function inside the object
4222 lock (that could take the lock as well and deadlock)
4224 2005-10-21 Wim Taymans <wim@fluendo.com>
4226 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4227 (gst_base_src_loop):
4228 Don't warn, the peer element knows what to do best when
4229 the seek failed, it might try something else.
4231 2005-10-21 Wim Taymans <wim@fluendo.com>
4233 * gst/base/gstbasesrc.c: (gst_base_src_init),
4234 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4237 2005-10-21 Wim Taymans <wim@fluendo.com>
4239 * docs/design/part-segments.txt:
4242 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4243 Correctly set caps, even on the subbufer.
4245 2005-10-21 Wim Taymans <wim@fluendo.com>
4247 * docs/gst/gstreamer-docs.sgml:
4248 * docs/gst/gstreamer-sections.txt:
4255 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4259 And 2% more doc coverage.
4261 2005-10-21 Andy Wingo <wingo@pobox.com>
4263 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4266 2005-10-20 Wim Taymans <wim@fluendo.com>
4268 * gst/gsterror.c: (gst_error_get_message):
4271 * gst/gststructure.c:
4276 2005-10-20 Wim Taymans <wim@fluendo.com>
4281 Another 1% more coverage.
4283 2005-10-20 Wim Taymans <wim@fluendo.com>
4285 * docs/gst/gstreamer-sections.txt:
4286 * gst/gstelement.c: (gst_element_get_state_func),
4287 (gst_element_abort_state), (gst_element_commit_state),
4288 (gst_element_lost_state):
4290 * gst/gstquery.c: (gst_query_set_position),
4291 (gst_query_parse_position), (gst_query_set_duration),
4292 (gst_query_parse_duration), (gst_query_new_convert):
4294 Yay! 1% more docs coverage.
4296 2005-10-20 Wim Taymans <wim@fluendo.com>
4299 * gst/gstquery.c: (gst_query_set_position),
4300 (gst_query_parse_position), (gst_query_set_duration),
4301 (gst_query_parse_duration), (gst_query_new_convert):
4303 * gst/gstutils.c: (gst_element_query_convert):
4305 Docs and consistency fixes.
4307 2005-10-20 Wim Taymans <wim@fluendo.com>
4313 2005-10-20 Wim Taymans <wim@fluendo.com>
4315 * gst/gstbin.c: (message_check), (bin_replace_message),
4316 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4317 (update_degree), (gst_bin_sort_iterator_next),
4318 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4319 Reworked the message handling a bit, cache the messages instead of
4320 only the senders. alows us to do more in the future.
4322 2005-10-20 Wim Taymans <wim@fluendo.com>
4324 * docs/design/part-TODO.txt:
4327 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4328 (gst_base_sink_query):
4329 Don't use clock time to report position when in EOS.
4331 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
4333 * tools/gst-inspect.c: (print_interfaces),
4334 (print_element_properties_info), (print_element_info):
4335 Fix interface output with gst-inspect -a; don't print
4336 newlines after double/float properties.
4338 2005-10-20 Wim Taymans <wim@fluendo.com>
4340 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4341 (gst_base_sink_query):
4342 Speed up current position calculation.
4344 * gst/base/gstbasesrc.c: (gst_base_src_query),
4345 (gst_base_src_default_newsegment):
4346 Correctly set stream position in newsegment.
4348 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4349 (update_degree), (gst_bin_sort_iterator_next),
4350 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4351 * gst/gstmessage.c: (gst_message_new_custom):
4352 Clean up debugging info
4354 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4355 (gst_queue_loop), (gst_queue_handle_src_query):
4358 2005-10-19 Wim Taymans <wim@fluendo.com>
4360 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4361 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4362 Fix query handling again.
4364 2005-10-19 Wim Taymans <wim@fluendo.com>
4366 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4367 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4368 * gst/base/gstbasesrc.c: (gst_base_src_query):
4369 * gst/elements/gstfilesink.c: (gst_file_sink_query):
4370 * gst/elements/gsttypefindelement.c:
4371 (gst_type_find_handle_src_query), (find_element_get_length),
4372 (gst_type_find_element_activate):
4375 * gst/gstquery.c: (gst_query_new_position),
4376 (gst_query_set_position), (gst_query_parse_position),
4377 (gst_query_new_duration), (gst_query_set_duration),
4378 (gst_query_parse_duration), (gst_query_set_segment),
4379 (gst_query_parse_segment):
4381 Bundling query position/duration is not a good idea since duration
4382 does not change much and we don't want to recalculate it for every
4383 position query, so they are separated again..
4384 Base value in segment query is not needed.
4386 * gst/gstqueue.c: (gst_queue_handle_src_query):
4387 * gst/gstutils.c: (gst_element_query_position),
4388 (gst_element_query_duration), (gst_pad_query_position),
4389 (gst_pad_query_duration):
4391 Updates for query API change.
4392 Added some docs here and there.
4394 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
4396 * check/gst/gstbin.c: (GST_START_TEST):
4397 * check/gst/gstghostpad.c: (GST_START_TEST):
4398 * check/pipelines/cleanup.c: (GST_START_TEST):
4399 wait on thread to die so we can check refcount correctly
4401 2005-10-18 Wim Taymans <wim@fluendo.com>
4403 * check/pipelines/stress.c: (GST_START_TEST):
4404 Make check a little more time consuming.
4406 2005-10-18 Wim Taymans <wim@fluendo.com>
4408 * check/Makefile.am:
4409 * check/pipelines/stress.c: (GST_START_TEST),
4410 (simple_launch_lines_suite), (main):
4411 Small state change torture test.
4413 * docs/design/part-states.txt:
4414 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4415 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4416 (gst_base_sink_change_state):
4417 Never take state lock from streaming thread, clean up ugly
4418 hacks. Unfortunatly core does not yet support nice ways to
4421 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4423 Start state recalc if a STATE_DIRTY message is posted, but only
4424 on the toplevel bin.
4426 * gst/gstelement.c: (gst_element_sync_state_with_parent),
4427 (gst_element_get_state_func), (gst_element_abort_state),
4428 (gst_element_commit_state), (gst_element_lost_state),
4429 (gst_element_set_state_func), (gst_element_change_state):
4431 State variables are now protected with the LOCK, the state
4432 lock is only used to serialize _set_state().
4434 2005-10-18 Wim Taymans <wim@fluendo.com>
4436 * check/gst/gstbin.c: (GST_START_TEST):
4437 * check/gst/gstmessage.c: (GST_START_TEST):
4438 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4439 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4441 * gst/gstelement.c: (gst_element_abort_state),
4442 (gst_element_commit_state), (gst_element_lost_state):
4443 * gst/gstmessage.c: (gst_message_new_state_changed),
4444 (gst_message_new_state_dirty), (gst_message_new_segment_start),
4445 (gst_message_new_segment_done), (gst_message_new_duration),
4446 (gst_message_parse_state_changed),
4447 (gst_message_parse_segment_start),
4448 (gst_message_parse_segment_done), (gst_message_parse_duration):
4450 * tools/gst-launch.c: (event_loop):
4451 Seriously, this is better than a previous commit as we only need
4452 to notify the fact that an element changed state in a streaming
4453 thread, marking the state of the parents dirty, hence the
4454 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4457 2005-10-18 Wim Taymans <wim@fluendo.com>
4459 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4460 (gst_bin_recalc_func):
4461 * gst/gstelement.c: (gst_element_set_clock),
4462 (gst_element_abort_state), (gst_element_lost_state):
4463 Cleanups, prepare for state change fixes.
4465 2005-10-18 Wim Taymans <wim@fluendo.com>
4468 * gst/gstelement.c: (gst_element_class_init),
4469 (gst_element_set_state), (gst_element_set_state_func):
4471 Pending ABI changes.
4472 GThreadPool in GstBinClass to monitor async state changes.
4473 state_cookie in GstElement to detect concurrent gst/set state.
4474 set_state is now virtual too in case a very complicated element
4475 has to be constructed.
4477 2005-10-18 Wim Taymans <wim@fluendo.com>
4479 * check/gst/gstbin.c: (GST_START_TEST):
4480 * check/gst/gstmessage.c: (GST_START_TEST):
4481 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4482 * gst/gstbin.c: (bin_bus_handler):
4483 * gst/gstelement.c: (gst_element_commit_state),
4484 (gst_element_lost_state):
4485 * gst/gstmessage.c: (gst_message_new_state_changed),
4486 (gst_message_new_segment_start), (gst_message_new_segment_done),
4487 (gst_message_new_duration), (gst_message_parse_state_changed),
4488 (gst_message_parse_segment_start),
4489 (gst_message_parse_segment_done), (gst_message_parse_duration):
4491 * tools/gst-launch.c: (event_loop):
4492 Make messages future proof.
4493 state-change gets a flag if it was a message comming from the
4495 segment-start/stop can also be specified in other formats.
4496 A message to notify an app that a pipeline changed playback
4498 Also fix a GstMessage leak in -launch
4500 2005-10-18 Andy Wingo <wingo@pobox.com>
4502 * gst/gstelement.c (gst_element_dispose): More helpful message.
4504 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4506 reviewed by: <delete if not using a buddy>
4508 * common/gtk-doc.mak:
4510 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4512 * gst/gstregistry.c: (gst_registry_scan_path_level):
4513 unref a plug-in we get that was already initialized
4515 2005-10-18 Stefan Kost <ensonic@users.sf.net>
4517 * docs/gst/gstreamer-sections.txt:
4518 * docs/libs/gstreamer-libs-sections.txt:
4523 2005-10-17 Andy Wingo <wingo@pobox.com>
4525 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4528 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4530 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4532 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4533 (gst_element_get_state_func): Better debug message.
4534 (gst_element_commit_state): s/INFO/DEBUG/.
4535 (gst_element_lost_state, gst_element_change_state):
4537 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4538 (gst_message_new_custom): s/INFO/LOG/.
4540 2005-10-17 Michael Smith <msmith@fluendo.com>
4542 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4543 Check if end time is valid using end time, not start time.
4545 2005-10-17 Stefan Kost <ensonic@users.sf.net>
4547 * check/gst-libs/controller.c: (GST_START_TEST),
4548 (gst_controller_suite):
4549 * libs/gst/controller/gstcontroller.c:
4550 (gst_controlled_property_set_interpolation_mode):
4551 * libs/gst/controller/gstcontroller.h:
4552 * libs/gst/controller/gstinterpolation.c:
4553 * testsuite/controller/.cvsignore:
4554 * testsuite/controller/Makefile.am:
4555 * testsuite/controller/interpolator.c:
4556 merge controller testsuites
4558 remove mem-chunk from docs
4560 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4562 * gst/gstmemchunk.c:
4563 * gst/gstmemchunk.h:
4564 * gst/gsttrashstack.c:
4565 * gst/gsttrashstack.h:
4566 out. get out. you're fired. to the Attic !
4568 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4570 * gst/gstcaps.c: (gst_caps_intersect):
4571 fix signedness issues in a (hopefully) correct way
4572 * gst/gstelement.c: (gst_element_pads_activate):
4574 * gst/gstobject.c: (gst_object_set_parent):
4577 2005-10-17 Julien MOUTTE <julien@moutte.net>
4579 * gst/gstvalue.h: Fix prototypes.
4581 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4583 * docs/gst/gstreamer-sections.txt:
4584 * gst/gst.c: (gst_version_string):
4586 * gst/gstversion.h.in:
4587 * win32/common/libgstreamer.def:
4588 add gst_version_string ()
4590 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4594 * gst/gst.c: (init_post):
4595 * win32/common/config.h.in:
4597 * gst/gstcaps.c: (gst_caps_intersect):
4598 use gint64, the range could be bigger than a guint
4600 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4603 document potential problem in 2038
4605 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4607 * gst/gstcaps.c: (gst_caps_intersect):
4608 Fix guint j diving under 0
4610 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4613 * win32/common/config.h:
4614 * win32/common/config.h.in:
4615 check for process.h, declares getpid() on Windows
4617 include process.h if we have it
4618 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4619 * gst/gstmemchunk.h:
4620 fix signedness issues
4621 * win32/common/libgstreamer.def:
4624 2005-10-16 Julien MOUTTE <julien@moutte.net>
4626 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4627 fix. Because of unsigned ints, caps intersection was going nuts and
4628 trying to access structures with G_MAXUINT index. That fixes
4629 videotestsrc ! ffmpegcolorspace ! fakesink
4630 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4633 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4636 use the gettext macro
4637 * gst/elements/gstelements.c:
4639 * gst/indexers/gstindexers.c:
4640 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4641 * win32/common/config.h:
4643 * win32/common/config.h.in:
4644 add the template to generate config.h
4645 * win32/common/gstenumtypes.c:
4646 * win32/common/gstversion.h:
4649 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4651 * gst/gst.c: (gst_version):
4652 * gst/gstversion.h.in:
4655 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4658 Oops, add missing closing bracket.
4660 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4663 use common m4's for argument checking
4665 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4667 * docs/gst/gstreamer-sections.txt:
4669 Add GST_EVENT_TYPE_NAME() macro.
4671 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4674 * gst/gstpluginfeature.c:
4676 privatize more symbols
4678 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4681 add srcdir, builddir includes to GST_ALL_CFLAGS, since
4682 everything that uses GStreamer API should have the includes
4684 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4686 * docs/gst/gstreamer-sections.txt:
4687 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4689 give each value a _get_type, removes the DATA exports
4691 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4695 remove _gst_registry_auto_load, not used anymore
4696 * gst/gstbin.c: (gst_bin_get_type):
4698 * gst/gstelement.c: (gst_element_get_type):
4700 * gst/gstobject.c: (gst_object_get_type):
4702 * gst/gstpad.c: (gst_pad_get_type):
4704 make _get_type functions similar, fixes data export from library
4706 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4709 correctly make conditionals
4710 * gst/elements/Makefile.am:
4711 * gst/elements/gstelements.c:
4712 fix typo causing fdsrc not to build
4714 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4716 * testsuite/Makefile.am:
4717 * testsuite/bytestream/.cvsignore:
4718 * testsuite/bytestream/Makefile.am:
4719 * testsuite/bytestream/filepadsink.c:
4720 * testsuite/bytestream/gstbstest.c:
4721 * testsuite/bytestream/test1.c:
4722 * testsuite/bytestream/testfile1:
4723 * testsuite/caps/normalisation.c:
4724 * testsuite/caps/random.c: (main):
4725 * testsuite/cleanup/.cvsignore:
4726 * testsuite/cleanup/Makefile.am:
4727 * testsuite/cleanup/cleanup1.c:
4728 * testsuite/cleanup/cleanup2.c:
4729 * testsuite/cleanup/cleanup3.c:
4730 * testsuite/cleanup/cleanup4.c:
4731 * testsuite/cleanup/cleanup5.c:
4732 * testsuite/controller/interpolator.c:
4733 * testsuite/debug/printf_extension.c: (main):
4734 * testsuite/elements/tee.c:
4735 * testsuite/negotiation/.cvsignore:
4736 * testsuite/negotiation/Makefile.am:
4737 * testsuite/negotiation/pad_link.c:
4738 * testsuite/pad/Makefile.am:
4739 * testsuite/pad/chainnopull.c:
4740 * testsuite/pad/getnopush.c:
4741 * testsuite/pad/link.c:
4742 * testsuite/refcounting/sched.c: (create_pipeline):
4743 * testsuite/registry/Makefile.am:
4744 * testsuite/registry/gst-print-formats.c:
4745 * testsuite/schedulers/.cvsignore:
4746 * testsuite/schedulers/142183-2.c:
4747 * testsuite/schedulers/142183.c:
4748 * testsuite/schedulers/143777-2.c:
4749 * testsuite/schedulers/143777.c:
4750 * testsuite/schedulers/147713.c:
4751 * testsuite/schedulers/147819.c:
4752 * testsuite/schedulers/147894-2.c:
4753 * testsuite/schedulers/147894.c:
4754 * testsuite/schedulers/Makefile.am:
4755 * testsuite/schedulers/group_link.c:
4756 * testsuite/schedulers/queue_link.c:
4757 * testsuite/schedulers/relink.c:
4758 * testsuite/schedulers/unlink.c:
4759 * testsuite/schedulers/unref.c:
4760 * testsuite/schedulers/useless_iteration.c:
4761 * testsuite/states/bin.c:
4762 clean out/remove some stuff from the testsuite directories
4764 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4767 check for some headers
4768 * gst/elements/Makefile.am:
4769 * gst/elements/gstelements.c:
4770 don't compile fdsrc without sys/socket.h
4771 * gst/indexers/Makefile.am:
4772 * gst/indexers/gstindexers.c: (plugin_init):
4773 don't compile fileindex without mmap
4775 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4782 * check/Makefile.am:
4783 * docs/gst/Makefile.am:
4784 * examples/helloworld/Makefile.am:
4786 * gst/base/Makefile.am:
4787 * gst/check/Makefile.am:
4788 * gst/elements/Makefile.am:
4789 * gst/indexers/Makefile.am:
4790 * gst/parse/Makefile.am:
4791 * libs/gst/controller/Makefile.am:
4792 * libs/gst/dataprotocol/Makefile.am:
4793 * examples/helloworld/helloworld.c: (event_loop):
4794 compile fixes, though it's not being compiled currently
4796 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4798 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4799 Add some simple tests for the new taglist date API.
4801 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4803 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4804 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4805 Beautify 'last-message' output: print 'none' for buffer timestamps
4806 and durations if none is set; improve alignment with next messages.
4808 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4810 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4811 * gst/gstpluginfeature.h:
4812 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4813 * gst/gstregistry.h:
4814 * docs/gst/gstreamer-sections.txt:
4815 Add new API to check plugin feature version requirements.
4817 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4818 Some basic tests for the above.
4820 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4822 * gst/gststructure.c: (gst_structure_to_string):
4823 guard against NULL printf - happens when for example
4824 a message structure with GstClock gets serialized
4826 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4828 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4829 Fix presumable copy'n'pasto.
4831 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4833 * gst/elements/gstfakesrc.h:
4834 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4835 * gst/elements/gsttypefindelement.c:
4837 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4838 I wonder if this could actually write +2GB files before
4840 2005-10-13 Andy Wingo <wingo@pobox.com>
4842 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4843 Fix Timmeke Waymans bug.
4844 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4845 string of the proper length to gst_caps_from_string. There's a
4846 potential for, before this fix, that this could cause someone
4847 connecting over the network to cause a segfault if the payload is
4850 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4852 * docs/design/draft-push-pull.txt:
4853 * docs/design/part-overview.txt:
4854 * docs/random/TODO-pre-0.9:
4855 * docs/random/old/ChangeLog.gstreamer:
4856 * gst/base/gstpushsrc.c:
4860 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4862 * gst/glib-compat.c: (gst_flags_get_first_value):
4863 * gst/glib-compat.h:
4864 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4865 (gst_value_compare_double), (gst_value_serialize_flags):
4866 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4869 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4871 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4872 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4874 * tools/gst-launch.c: (event_loop):
4875 print out clock nicely
4877 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4879 * docs/gst/gstreamer-sections.txt:
4881 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4882 (gst_tag_list_get_date_index):
4883 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4884 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4886 2005-10-13 Julien MOUTTE <julien@moutte.net>
4888 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4889 (gst_collectpads_chain):
4890 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4893 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4895 * docs/gst/gstreamer-sections.txt:
4898 * tools/gst-inspect.c: (main):
4899 * tools/gst-launch.c: (main):
4900 * tools/gst-run.c: (main):
4901 * tools/gst-xmlinspect.c: (main):
4902 fix GOption context leaks
4905 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4909 * win32/common/config.h:
4911 * win32/vs6/grammar.dsp:
4912 * win32/vs6/libgstelements.dsp:
4913 * win32/vs6/libgstreamer.dsp:
4916 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4918 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4919 * gst/base/gstbasesrc.c: (gst_base_src_query):
4920 fix more guint64<->gdouble conversions
4922 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4925 add win32-update target
4926 * win32/common/gstconfig.h:
4927 * win32/common/gstenumtypes.c:
4928 * win32/common/gstenumtypes.h:
4929 * win32/common/gstversion.h:
4930 add files that visual studio can't generate
4932 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4935 add a win32-update target
4938 2005-10-12 Wim Taymans <wim@fluendo.com>
4940 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4941 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4942 * gst/gstelement.c: (gst_element_commit_state),
4943 (gst_element_set_state):
4944 Protect flags with proper lock.
4945 unref provided cached clock in dispose.
4947 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4950 * gst/gstminiobject.h:
4952 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4953 removed unused flags from miniobject
4956 2005-10-12 Wim Taymans <wim@fluendo.com>
4958 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4959 (gst_file_sink_event), (gst_file_sink_render):
4960 Flush before seeking.
4962 2005-10-12 Andy Wingo <wingo@pobox.com>
4964 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4965 always been the case.
4967 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4969 * check/gst/gstbin.c: (GST_START_TEST):
4970 * docs/gst/gstreamer-sections.txt:
4971 * gst/base/gstbasesink.c: (gst_base_sink_init):
4972 * gst/base/gstbasesrc.c: (gst_base_src_init),
4973 (gst_base_src_get_range), (gst_base_src_check_get_range),
4974 (gst_base_src_start), (gst_base_src_stop):
4975 * gst/base/gstbasesrc.h:
4976 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4977 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4978 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4982 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4984 * gst/gstelement.c: (gst_element_is_locked_state),
4985 (gst_element_set_locked_state), (gst_element_commit_state),
4986 (gst_element_set_state):
4988 * gst/gstindex.c: (gst_index_init):
4990 * gst/gstminiobject.h:
4991 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4992 (gst_object_set_parent):
4994 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4995 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4997 * gst/gstpadtemplate.h:
4998 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4999 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5000 * gst/gstpipeline.h:
5001 * gst/indexers/gstfileindex.c: (gst_file_index_load),
5002 (gst_file_index_commit):
5003 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5004 * testsuite/pad/link.c: (gst_test_src_init),
5005 (gst_test_filter_init), (gst_test_sink_init):
5006 * testsuite/states/locked.c: (main):
5007 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5008 moved bitshift from macro to enum definition
5010 2005-10-12 Wim Taymans <wim@fluendo.com>
5012 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5013 * gst/elements/gstfilesink.c: (gst_file_sink_event),
5014 (gst_file_sink_render):
5015 Some more debugging info.
5017 2005-10-12 Wim Taymans <wim@fluendo.com>
5019 * docs/design/part-states.txt:
5020 * tools/gst-launch.c: (main):
5022 Revert non-intentional change.
5024 2005-10-12 Wim Taymans <wim@fluendo.com>
5026 * check/gst/gstbin.c: (GST_START_TEST):
5027 * check/gst/gstelement.c: (GST_START_TEST):
5028 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5029 * check/gst/gstghostpad.c: (GST_START_TEST):
5030 * check/gst/gstpipeline.c: (GST_START_TEST):
5031 * check/pipelines/simple_launch_lines.c: (run_pipeline):
5032 * check/states/sinks.c: (GST_START_TEST):
5033 * gst/elements/gsttypefindelement.c: (stop_typefinding):
5034 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5035 (gst_bin_remove_func), (gst_bin_get_state_func),
5036 (gst_bin_recalc_state), (gst_bin_change_state_func),
5038 * gst/gstelement.c: (gst_element_get_state_func),
5039 (gst_element_get_state), (gst_element_abort_state),
5040 (gst_element_commit_state), (gst_element_set_state),
5041 (gst_element_change_state), (gst_element_change_state_func):
5043 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5044 (gst_pipeline_provide_clock_func):
5045 * gst/gstutils.c: (gst_element_link_pads_filtered):
5046 * tools/gst-launch.c: (main):
5047 * tools/gst-typefind.c: (main):
5048 Use GstClockTime in _get_state() instead of GTimeVal.
5049 Remove old code in gstutils.c
5051 2005-10-12 Andy Wingo <wingo@pobox.com>
5053 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5056 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5057 there is no task. Shouldn't affect any code, as nothing in our
5058 plugins checks this return value.
5059 (gst_pad_stop_task): Also take the stream lock if the pad has no
5062 2005-10-12 Wim Taymans <wim@fluendo.com>
5064 * gst/gstpad.c: (pre_activate), (post_activate),
5065 (gst_pad_activate_pull), (gst_pad_activate_push):
5066 Cleanup activation code. Reset old state if
5069 2005-10-12 Wim Taymans <wim@fluendo.com>
5071 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5072 (gst_base_sink_change_state):
5073 No need to prerol after receiving EOS.
5075 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5076 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5077 * gst/elements/gstidentity.c: (gst_identity_event):
5078 Print events more verbosely.
5080 2005-10-12 Wim Taymans <wim@fluendo.com>
5082 * check/Makefile.am:
5083 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5084 * check/states/sinks2.c:
5085 Moved sinks2 testcode in sinks check.
5087 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5088 (gst_bin_remove_func), (gst_bin_recalc_state),
5089 (gst_bin_change_state_func), (bin_bus_handler):
5090 Fix potential race condition when _get_state() iterated over an
5091 ASYNC element right before it posted a state completion.
5094 Do proper cast here.
5096 * gst/gstevent.c: (gst_event_new_newsegment),
5097 (gst_event_parse_newsegment):
5098 A playback rate of 0.0 is not allowed.
5100 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5102 * win32/common/config.h:
5103 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5104 (_trewinddir), (_ttelldir), (_tseekdir):
5105 * win32/common/dirent.h:
5106 * win32/common/gtchar.h:
5107 * win32/common/libgstbase.def:
5108 * win32/common/libgstreamer.def:
5109 * win32/vs6/grammar.dsp:
5110 * win32/vs6/gst_inspect.dsp:
5111 * win32/vs6/gst_launch.dsp:
5112 * win32/vs6/gstreamer.dsw:
5113 * win32/vs6/libgstbase.dsp:
5114 * win32/vs6/libgstelements.dsp:
5115 * win32/vs6/libgstreamer.dsp:
5116 Visual Studio 6 project files, and a new common directory.
5119 2005-10-11 Wim Taymans <wim@fluendo.com>
5121 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5122 (gst_base_sink_do_sync), (gst_base_sink_query),
5123 (gst_base_sink_change_state):
5124 * gst/base/gstbasesink.h:
5125 Correctly parse newsegment info.
5127 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5129 * gst/gst.c: (init_post):
5130 split plugin paths correctly
5132 2005-10-11 Wim Taymans <wim@fluendo.com>
5134 * check/gst/gstevent.c: (GST_START_TEST):
5135 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5136 (gst_base_sink_change_state):
5137 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5138 * gst/base/gstbasetransform.c: (gst_base_transform_event):
5139 * gst/elements/gstfilesink.c: (gst_file_sink_event):
5140 * gst/gstevent.c: (gst_event_new_newsegment),
5141 (gst_event_parse_newsegment):
5143 Added extra flag to newsegment for future API freeze.
5144 Updated check and base elements.
5146 2005-10-11 Julien MOUTTE <julien@moutte.net>
5148 * gst/base/gstcollectpads.c: (gst_collectpads_init),
5149 (gst_collectpads_add_pad), (gst_collectpads_pop),
5150 (gst_collectpads_event), (gst_collectpads_chain):
5151 * gst/base/gstcollectpads.h: Handle EOS correctly.
5153 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5155 * tools/gst-launch.c: (main):
5156 more null protecting
5158 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5160 * gst/gst-i18n-lib.h:
5161 check for ENABLE_NLS, not GETTEXT_PACKAGE
5162 * gst/gstregistry.c: (gst_registry_add_plugin),
5163 (gst_registry_scan_path_level),
5164 (_gst_registry_remove_cache_plugins):
5165 protect possibly NULL strings
5166 * gst/parse/types.h:
5167 config.h already included before
5168 * tools/gst-inspect.c: (main):
5169 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5170 check for ENABLE_NLS, not GETTEXT_PACKAGE
5171 * tools/gst-launch.c: (main):
5172 check for ENABLE_NLS, not GETTEXT_PACKAGE
5174 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5177 if we don't have glib, fail before testing 2.8
5178 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5179 fix a leak, should fix plugins-base testsuite
5181 2005-10-11 Andy Wingo <wingo@pobox.com>
5183 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5184 take the mode we're going to as an arg. Go head and set the mode
5185 and flushing flags now, so that if the activate function starts a
5186 thread all the flags will be in the right state.
5187 (post_activate): Renamed also. Just handle making sure streaming
5188 finishes for the deactivation case, and setting the deactivated
5190 (gst_pad_set_active): Complain loudly if deactivation fails.
5191 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5192 (gst_pad_activate_push): Adapt to pre/post_activate changes,
5193 remove the terrible hack.
5195 2005-10-11 Wim Taymans <wim@fluendo.com>
5197 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5198 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5199 (gst_bin_recalc_state), (gst_bin_change_state_func),
5200 (gst_bin_dispose), (bin_bus_handler):
5202 Prepare to make current EOS message queue more generic.
5205 * gst/gstevent.c: (gst_event_new_newsegment),
5206 (gst_event_parse_newsegment):
5208 Rename base to stream_time.
5213 2005-10-11 Wim Taymans <wim@fluendo.com>
5215 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5216 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5217 (gst_bin_change_state_func), (bin_bus_handler):
5219 Work on proper clock selection.
5221 2005-10-11 Edward Hervey <edward@fluendo.com>
5223 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
5224 * libs/gst/controller/gstcontroller.h:
5225 Added GList* version of _remove_properties() in order to be able to wrap
5228 2005-10-11 Wim Taymans <wim@fluendo.com>
5230 * docs/design/part-states.txt:
5233 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5234 (gst_bin_change_state_func), (bin_bus_handler):
5235 Doc updates. Don't distribute the same clock over and over again.
5241 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5242 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5243 (gst_pad_send_event):
5245 Make probe emission threadsafe again.
5246 Register quarks and move _get_name() from utils.
5249 * gst/gstpipeline.c: (gst_pipeline_class_init),
5250 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5251 Only redistribute the clock of it changed.
5253 * gst/gstsystemclock.h:
5258 Moved the _flow_get_name() to GstPad.
5260 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5262 * check/gst-libs/gdp.c: (GST_START_TEST):
5263 * check/gst/gstcaps.c: (GST_START_TEST):
5264 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5265 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5266 (gst_dp_packet_from_caps):
5267 fix more valgrind warnings before turning up the heat
5269 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
5271 * gst/parse/grammar.y:
5272 some cleanup before the hacking
5274 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5276 * gst/base/gstbasesrc.c: (gst_base_src_query):
5278 * gst/gstutils.c: (gst_guint64_to_gdouble),
5279 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5281 externalize, basesrc uses it
5282 obviously the implementation needs testing
5284 2005-10-10 Wim Taymans <wim@fluendo.com>
5286 * tests/sched/Makefile.am:
5287 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5288 (make_pipeline3), (make_pipeline4), (print_elem), (main):
5290 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5292 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5293 apparently converting from guint64 to double is not implemented
5296 2005-10-10 Wim Taymans <wim@fluendo.com>
5298 * check/Makefile.am:
5299 * check/generic/states.c: (GST_START_TEST):
5300 * check/gst/gstbin.c: (GST_START_TEST):
5301 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5302 * check/states/sinks.c: (GST_START_TEST):
5303 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5305 Check fixes, use API as stated in design docs, remove hacks.
5307 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5308 (gst_base_sink_change_state):
5309 Catch stopping our task while we're shutting down.
5311 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5312 (gst_bin_remove_func), (gst_bin_get_state_func),
5313 (gst_bin_recalc_state), (gst_bin_change_state_func),
5316 * gst/gstelement.c: (gst_element_init),
5317 (gst_element_get_state_func), (gst_element_abort_state),
5318 (gst_element_commit_state), (gst_element_lost_state),
5319 (gst_element_set_state), (gst_element_change_state),
5320 (gst_element_change_state_func):
5322 New state change algorithm (see #318116)
5324 * gst/gstpipeline.c: (gst_pipeline_class_init),
5325 (gst_pipeline_init), (gst_pipeline_set_property),
5326 (gst_pipeline_get_property), (do_pipeline_seek),
5327 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5328 * gst/gstpipeline.h:
5329 Remove crude state change hacks.
5334 * tools/gst-launch.c: (main):
5335 Fixes for state change. Needs some more work to fully use the
5338 2005-10-10 Andy Wingo <wingo@pobox.com>
5340 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5342 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5343 this flag, but it's not even in GLib 2.6. Odd. Hack around the
5346 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5348 * gst/gstiterator.c: (gst_iterator_new):
5349 Fix my previous commit: GTypes passed to gst_iterator_new()
5350 can be fundamental types.
5352 2005-10-10 Wim Taymans <wim@fluendo.com>
5354 * gst/gstelement.c: (gst_element_iterate_pad_list),
5355 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5356 (gst_element_iterate_sink_pads):
5357 Use src/sink pads lists for the respective iterators instead
5360 2005-10-10 Andy Wingo <wingo@pobox.com>
5362 Merged in popt removal + GOption addition patch from Ronald, bug
5365 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5366 GstElement macros around, remove popt-related symbols, add goption
5369 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5371 * docs/gst/Makefile.am:
5372 * docs/libs/Makefile.am: No POPT_CFLAGS.
5374 * examples/manual/Makefile.am:
5375 * docs/manual/basics-init.xml: Doc updates with an example.
5377 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5378 (gst_init), (parse_one_option), (parse_goption_arg):
5379 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5380 bit of hand merging and debugging to get the GOption stuff working
5383 * tests/Makefile.am:
5384 * tools/Makefile.am:
5385 * tools/gst-inspect.c: (main):
5386 * tools/gst-launch.c: (main):
5387 * tools/gst-run.c: (main):
5388 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5390 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5392 * gst/gstiterator.c: (gst_iterator_new):
5393 Add assertions to make sure passed GType is likely to really
5394 be a GType (as the compiler won't catch it if the size and
5395 GType arguments get mixed up, see #318447).
5397 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
5399 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5401 * gst/gstbin.c: (gst_bin_iterate_sorted):
5402 Pass GType and size arguments to gst_iterator_new() in the right
5403 order (maybe we should make _new() take the GType as first argument
5404 just like _new_list()?) (#318447).
5407 2005-10-10 Wim Taymans <wim@fluendo.com>
5409 * gst/gstelement.c: (gst_element_finalize):
5410 And free the GStaticRecMutex too
5412 2005-10-10 Andy Wingo <wingo@pobox.com>
5414 * gst/gstelement.c (gst_element_init, gst_element_finalize):
5415 Allocate and free the mutex properly.
5417 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5419 (GstElement): The state_lock is now recursive. Rebuild your
5420 plugins, suckers. Old macros adapted.
5422 * docs/gst/gstreamer-sections.txt: Doc updates.
5425 * gst/gstutils.c (g_static_rec_cond_timed_wait)
5426 (g_static_rec_cond_wait): Ported from state changes patch, while
5427 we wait on bug #317802 to be solved in a well-distributed GLib.
5429 * gst/gstelement.c (gst_element_change_state_func): Renamed from
5430 gst_element_change_state, variable name changes.
5431 (gst_element_change_state): Split out of gst_element_set_state in
5432 preparation for the state change merge. Doesn't pay attention to
5433 the 'transition' argument.
5434 (gst_element_set_state): Updates, hopefully purely cosmetic.
5435 (gst_element_sync_state_with_parent): MT-safety. Ported from the
5437 (gst_element_get_state_func): Renamed from get_state, cosmetic
5440 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5442 * gst/elements/gstelements.c:
5443 * win32/GStreamer.vcproj:
5445 * win32/dirent.c: (_tseekdir):
5446 * win32/gst-inspect.vcproj:
5447 * win32/gst-launch.vcproj:
5448 * win32/gstconfig.h:
5449 * win32/gstelements.vcproj:
5450 * win32/gstenumtypes.c: (gst_object_flags_get_type):
5451 * win32/gstreamer.def:
5453 updates for the win32 build (patch from Sebastien Moutte)
5455 2005-10-10 Andy Wingo <wingo@pobox.com>
5457 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5458 gst_bin_get_state, cleaned up (but no logic changes).
5459 (bin_element_is_sink): Comment updates.
5460 (sink_iterator_filter): Remove needless cast.
5461 (gst_bin_iterate_sinks): Doc update.
5462 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5463 cleaned up (but no logic changes).
5465 * check/states/sinks.c (test_src_sink): Cleanups from the state
5467 (test_livesrc_sink): Sync on the state.
5469 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5470 the state change patch.
5472 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5475 * check/gst/gstbin.c: Merge in some style fixes and additional
5476 checks from Wim's state change patch.
5478 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5480 * gst/base/gsttypefindhelper.c: (helper_find_peek),
5481 (gst_type_find_helper):
5482 Check whether we have the requested data already in our list of
5483 cached buffers before pulling a new buffer; also make the buffer
5484 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5486 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5491 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5492 don't use long long, it's not portable. Replacing with
5493 gint64 seems to work; let's hope no skeletons fall out of the closet.
5495 2005-10-10 Andy Wingo <wingo@pobox.com>
5497 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5499 2005-10-09 Stefan Kost <ensonic@users.sf.net>
5501 * docs/gst/gstreamer-sections.txt:
5506 * gst/gstmessage.c: (gst_message_parse_state_changed):
5509 more docs, fix compilation
5511 2005-10-09 Philippe Khalaf <burger@speedy.org>
5513 Fixed a few forgotten variables on previous commit
5515 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
5517 * gst/base/gsttypefindhelper.c: (helper_find_peek):
5518 Fix evil typefind crasher: getrange() might return a short
5519 buffer at the end of a file, but gst_type_find_peek() must
5520 either return the full data as requested or NULL, but
5521 never a short buffer.
5523 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
5525 * gst/gstmessage.c: (gst_message_new_state_changed),
5526 (gst_message_parse_state_changed):
5528 don't use "new", it's a C++ keyword
5530 2005-10-08 Wim Taymans <wim@fluendo.com>
5532 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5533 * gst/gstelement.c: (gst_element_post_message):
5534 * gst/gstpipeline.c: (gst_pipeline_change_state):
5535 Small docs and debug updates.
5537 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5539 * docs/gst/gstreamer-sections.txt:
5540 * gst/gstelementfactory.c:
5545 2005-10-08 Wim Taymans <wim@fluendo.com>
5547 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5548 (gst_bin_dispose), (bin_bus_handler):
5549 Fix typos, add comments.
5550 Clear EOS list when going to PAUSED from any direction and do it
5551 in a threadsafe way.
5552 Get base time in a threadsafe way too.
5553 Fix confusing debug in the change_state function.
5554 Various other small cleanups.
5556 * gst/gstelement.c: (gst_element_post_message):
5557 Fix very verbose bus posting code.
5559 * gst/gstpipeline.c: (gst_pipeline_class_init),
5560 (gst_pipeline_set_property), (gst_pipeline_get_property),
5561 (gst_pipeline_change_state):
5562 Small ARG_ -> PROP_ cleanup
5564 2005-10-08 Wim Taymans <wim@fluendo.com>
5566 * gst/gstbin.c: (is_eos), (bin_bus_handler):
5567 Do a less CPU demanding EOS check because we can.
5569 2005-10-08 Wim Taymans <wim@fluendo.com>
5571 * libs/gst/dataprotocol/dataprotocol.c:
5572 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5573 (gst_dp_packet_from_event):
5574 * libs/gst/dataprotocol/dataprotocol.h:
5575 * libs/gst/dataprotocol/dp-private.h:
5576 It's about time we bump the version number.
5577 Since event types don't fit in the guint8 anymore describing
5578 the payload type, make payload type 16 bits wide.
5580 2005-10-08 Wim Taymans <wim@fluendo.com>
5582 * docs/design/part-TODO.txt:
5583 * docs/design/part-clocks.txt:
5584 * docs/design/part-events.txt:
5585 * docs/design/part-gstbin.txt:
5586 * docs/design/part-gstelement.txt:
5587 * docs/design/part-gstpipeline.txt:
5588 * docs/design/part-live-source.txt:
5589 * docs/design/part-messages.txt:
5590 * docs/design/part-overview.txt:
5591 * docs/design/part-states.txt:
5594 2005-10-08 Wim Taymans <wim@fluendo.com>
5598 Fix event quark registration.
5599 Add some space between events so we can insert them in the
5602 2005-10-08 Wim Taymans <wim@fluendo.com>
5604 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5605 (gst_base_sink_handle_buffer):
5612 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5613 (gst_queue_set_property), (gst_queue_get_property):
5615 Remove old unused properties.
5617 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5618 * docs/gst/gstreamer-sections.txt:
5621 * gst/gstminiobject.c:
5622 * gst/gstminiobject.h:
5626 lots of new docs and doc fixes
5628 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5630 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5632 * gst/gstregistry.c: (gst_registry_lookup_locked),
5633 (gst_registry_scan_path_level):
5634 * gst/gstregistryxml.c: (load_plugin):
5635 Only ever load one plugin for a given plugin basename.
5636 This ensures correct overriding of GST_PLUGIN_PATH over
5637 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5638 system installed plugins.
5640 2005-10-08 Wim Taymans <wim@fluendo.com>
5642 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5643 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5644 Prepare for doing QOS.
5646 2005-10-08 Wim Taymans <wim@fluendo.com>
5648 * check/gst/gstbin.c: (GST_START_TEST):
5649 * check/pipelines/cleanup.c: (GST_START_TEST):
5650 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5651 Allow new clock message too.
5653 2005-10-08 Wim Taymans <wim@fluendo.com>
5655 * gst/gstmessage.c: (gst_message_new_error),
5656 (gst_message_new_warning), (gst_message_new_tag),
5657 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5658 (gst_message_new_clock_lost), (gst_message_new_new_clock),
5659 (gst_message_new_segment_start), (gst_message_new_segment_done),
5660 (gst_message_parse_state_changed),
5661 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5662 (gst_message_parse_new_clock):
5664 Also carry the clock in question.
5666 2005-10-08 Wim Taymans <wim@fluendo.com>
5668 * gst/gstmessage.c: (gst_message_new_custom),
5669 (gst_message_new_eos), (gst_message_new_error),
5670 (gst_message_new_warning), (gst_message_new_tag),
5671 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5672 (gst_message_new_new_clock), (gst_message_new_segment_start),
5673 (gst_message_new_segment_done), (gst_message_parse_state_changed),
5674 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5677 Added clock related messages.
5679 * gst/gstpipeline.c: (gst_pipeline_change_state):
5680 Post message when the clock changed.
5682 * tools/gst-launch.c: (event_loop):
5685 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
5687 * tools/gst-inspect.c: (print_element_properties_info):
5688 Can't pass NULL strings to g_print() on windows.
5690 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5693 * docs/gst/Makefile.am:
5694 * docs/gst/gstreamer-docs.sgml:
5695 * docs/gst/running.xml:
5696 * docs/version.entities.in:
5697 add a chapter on running GStreamer.
5698 document GST_DEBUG and GST_PLUGIN* env vars
5700 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5705 remove PLUGINS_BUILDDIR stuff
5706 * gst/gst.c: (init_post):
5707 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5709 remove, it was condescending and not needed
5711 2005-10-08 Wim Taymans <wim@fluendo.com>
5713 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5714 (gst_base_sink_handle_object), (gst_base_sink_event),
5715 (gst_base_sink_wait), (gst_base_sink_handle_event),
5716 (gst_base_sink_change_state):
5717 * gst/base/gstbasesink.h:
5718 Repost EOS message while going to PLAYING if still EOS.
5719 Make sure that when receiving a FLUSH_START we don't attempt
5720 to sync on the clock anymore.
5722 2005-10-08 Wim Taymans <wim@fluendo.com>
5724 * tools/gst-launch.c: (event_loop):
5725 Better message printout.
5727 2005-10-08 Wim Taymans <wim@fluendo.com>
5729 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5730 (gst_bin_child_proxy_get_children_count):
5731 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5732 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5733 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5734 (gst_child_proxy_set_valist):
5735 * gst/parse/grammar.y:
5736 Make ChildProxy threadsafe and fix mem leaks.
5738 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5740 * gst/gst.c: (init_post):
5741 debug the GST_PLUGIN_ env vars
5743 2005-10-08 Wim Taymans <wim@fluendo.com>
5745 * check/gst/gstbin.c: (GST_START_TEST):
5746 * check/gst/gstmessage.c: (GST_START_TEST):
5747 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5748 * gst/gstelement.c: (gst_element_commit_state),
5749 (gst_element_lost_state):
5750 * gst/gstmessage.c: (gst_message_new_state_changed),
5751 (gst_message_parse_state_changed):
5753 * tools/gst-launch.c: (event_loop):
5754 Added extra field to STATE_CHANGE message with the pending
5755 state, which will be different from the new state soon.
5757 2005-10-08 Wim Taymans <wim@fluendo.com>
5759 * gst/gstbus.c: (gst_bus_pop):
5761 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5762 Small cleanups and doc updates.
5764 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5766 * gst/gst.c: (init_pre):
5767 * gst/gstbin.c: (gst_bin_add_func):
5768 log distributing clocks and base time
5769 * gst/gstregistry.c: (gst_registry_add_plugin),
5770 (gst_registry_scan_path_level), (gst_registry_scan_path):
5771 clean up the debugging output a little
5772 * gst/gstutils.c: (gst_element_state_get_name):
5773 warn about a memleak (I've actually seen this be used, though
5774 it was probably a bug)
5776 2005-10-07 Wim Taymans <wim@fluendo.com>
5778 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5779 (gst_base_src_init), (gst_base_src_default_newsegment),
5780 (gst_base_src_newsegment), (gst_base_src_do_seek),
5781 (gst_base_src_loop), (gst_base_src_start):
5782 * gst/base/gstbasesrc.h:
5783 Make the newsegment event customizable by subclasses.
5785 2005-10-07 Wim Taymans <wim@fluendo.com>
5787 * gst/gstevent.c: (gst_event_new_buffersize),
5788 (gst_event_parse_buffersize):
5790 New event for future idea.
5792 2005-10-07 Andy Wingo <wingo@pobox.com>
5794 * gst/gstelement.c (gst_element_post_message): Doc update.
5796 * docs/gst/gstreamer-sections.txt: Update.
5798 * gst/gstmessage.c (gst_message_new_application): Made into a
5799 function like honest API calls.
5800 (gst_message_new_element): New message type.
5802 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5804 * check/elements/fakesrc.c (test_no_preroll): New check, checks
5805 that setting a live fakesrc to PAUSED returns NO_PREROLL both
5808 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5809 NO_PREROLL from gst_element_change_state to fall through.
5811 2005-10-07 Wim Taymans <wim@fluendo.com>
5813 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5814 (gst_ghost_pad_do_activate_push):
5815 Activating a ghostpad with no internal pad in push mode
5818 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
5821 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5822 Fixes compilation on Windows.
5824 2005-10-07 Michael Smith <msmith@fluendo.com>
5826 * tools/gst-inspect.c:
5827 Print out feature and plugin count at the end when printing out
5830 2005-10-04 Michael Smith <msmith@fluendo.com>
5832 * gst/gsterror.c: (_gst_stream_errors_init):
5833 Add another error string used in a few existing plugins.
5836 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5837 * tools/gst-inspect.c: (print_element_info):
5838 When a feature disappears from a plugin (and the feature exists in
5839 the cached registry file), things went horribly wrong. This isn't a
5840 complete fix, we should actually be removing the 'missing' features
5841 from the features list when we load the actual plugin. That's not
5844 2005-10-04 Johan Dahlin <johan@gnome.org>
5846 * check/gst/gstiterator.c: (GST_START_TEST):
5847 * gst/gstbin.c: (gst_bin_iterate_elements),
5848 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5849 * gst/gstelement.c: (gst_element_iterate_pads):
5850 * gst/gstformat.c: (gst_format_iterate_definitions):
5851 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5852 (gst_iterator_new_list), (gst_iterator_filter):
5853 * gst/gstiterator.h:
5854 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5855 Add a GType to GstIterator, update callsites and tests.
5857 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5859 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5860 give events a chance to be handled by event probes when the pad
5863 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5865 * gst/gstevent.c: (gst_event_type_get_name),
5866 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5868 add string representations for event types
5870 2005-10-06 Wim Taymans <wim@fluendo.com>
5872 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5873 Don't use NULL pointers.
5875 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5877 * gst/gst_private.h:
5881 * gst/gstpluginfeature.c:
5882 widen the debug category in output to fit the biggest one we have
5883 add a bus category and use it
5884 play with the colors
5885 fix up some categories
5887 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5889 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5890 add push activation of sink ghost pads.
5891 Andye, please verify
5893 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5895 * gst/gstutils.c: (gst_element_link_pads):
5896 fix a bug in the case where neither element has a pad
5897 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5898 add a test for that case
5900 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5902 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5903 emit have-data before checking for peers. This allows
5904 for probe handlers to connect elements. This helps autopluggers.
5905 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5907 add six checks, linked/unlinked with no/true/false probe
5909 2005-10-04 Wim Taymans <wim@fluendo.com>
5911 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5912 (gst_fake_sink_event), (gst_fake_sink_preroll),
5913 (gst_fake_sink_render), (gst_fake_sink_change_state):
5914 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5915 (gst_fake_src_get_property), (gst_fake_src_create),
5916 (gst_fake_src_stop):
5917 * gst/elements/gstidentity.c: (gst_identity_stop):
5918 Protect last_message with lock.
5920 2005-10-04 Edward Hervey <edward@fluendo.com>
5923 Added precision in the comments for GST_FORMAT_DEFAULT
5925 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5927 * tools/gst-launch.c: (main):
5928 Don't try to run erroneous pipelines.
5930 2005-10-04 Julien MOUTTE <julien@moutte.net>
5932 * gst/gstbus.c: We don't need this header.
5934 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5939 === release 0.9.3 ===
5941 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5945 Releasing 0.9.3, "Unregistered"
5947 2005-10-03 Andy Wingo <wingo@pobox.com>
5949 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5950 whereby calling a pad's activatepush() function can start a thread
5951 that starts to push or pull before the pad gets the FLUSHING flag
5952 unset. Hack around it by holding the stream lock until the flag is
5953 set. Need to replace this with a proper solution. Together with
5954 the ghost pad fixes, this fixes mp3 playing/tagreading.
5956 * docs/design/part-gstghostpad.txt: Add a note about activation of
5957 proxy pads outside of ghost pads.
5959 * gst/gstghostpad.c: Implement the ghost pad activation design.
5961 2005-10-02 Andy Wingo <wingo@pobox.com>
5963 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5964 It is volatile, after all.
5966 * docs/design/part-gstghostpad.txt: Flesh out activation with
5969 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5972 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5975 Fix (unused) AM_CONDITIONAL tests.
5977 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5979 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5981 * gst/gstutils.c: (gst_pad_query_convert):
5982 Add assertion that makes sure src_val is >=0, just like
5983 gst_query_new_convert() has. (#315895)
5985 2005-09-30 Edward Hervey <edward@fluendo.com>
5987 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5988 Let's not iterate pads we're not interested in, it avoids getting
5989 sky-high refcounts on sinkpad.
5991 2005-09-30 Wim Taymans <wim@fluendo.com>
5993 * gst/gstelement.c: (gst_element_set_state),
5994 (gst_element_change_state):
5995 Small tweak, element in ASYNC remains ASYNC.
5997 2005-09-30 Wim Taymans <wim@fluendo.com>
5999 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6000 Only error is an error.
6002 * gst/gstbin.c: (gst_bin_change_state):
6005 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6006 Also call pad_block in pad alloc.
6008 * gst/gstutils.c: (gst_flow_get_name):
6011 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6013 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6014 (gst_base_src_get_range):
6015 Fix documentation typos. Add some more debug info.
6017 2005-09-29 David Schleef <ds@schleef.org>
6019 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6020 more end-user friendly.
6021 * tools/gst-inspect.c: (main): Check if command-line argument is
6022 a file and attempt to load that file as a plugin.
6024 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6026 * check/gst/gstbin.c:
6027 * check/states/sinks.c:
6028 fix tests for the new warning
6029 * check/gst/gstpipeline.c:
6030 add a test for pipeline and bus interaction
6032 elements should be NULL if they get disposed; add a warning if not
6034 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6037 for 2.6 refcounting, make debug log more correct by printing
6038 the actual refcounts at the time of swap (Wim)
6040 2005-09-29 Andy Wingo <wingo@pobox.com>
6042 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6043 removes signal watches previously added via
6044 gst_bus_add_signal_watch.
6045 (gst_bus_add_signal_watch): Don't return the source id, just store
6046 it on the bus if there wasn't an id already.
6048 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6049 add_signal_watch and remove_signal_watch.
6051 2005-09-29 Edward Hervey <edward@fluendo.com>
6053 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6054 Better if we actually iterate the list :)
6056 2005-09-29 Wim Taymans <wim@fluendo.com>
6058 * check/gst/gstbin.c: (GST_START_TEST):
6059 Change for new bus API.
6061 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6062 (send_messages), (GST_START_TEST), (gstbus_suite):
6063 Change for new bus signal API.
6065 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6066 (gst_bus_source_prepare), (gst_bus_source_check),
6067 (gst_bus_create_watch), (gst_bus_add_watch_full),
6068 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6069 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6071 Remove support for multiple GSources operating on different
6072 message types as it is too complex and unneeded when using
6074 Added support for receiving signals from the bus.
6076 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
6078 * docs/libs/tmpl/gstdataprotocol.sgml:
6079 * docs/manual/advanced-dataaccess.xml:
6080 * gst/elements/gstcapsfilter.c:
6082 rename filter-caps to caps property
6084 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6086 * gst/gstvalue.c: (gst_value_deserialize_fraction):
6087 More robust fraction string parsing.
6089 * docs/pwg/appendix-porting.xml:
6090 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6092 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
6094 * gst/gstcaps.c: (gst_caps_do_simplify):
6095 Thou shalt not free a structure and then continue using it
6096 in the next loop iteration.
6098 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6100 Add test case for caps simplification.
6102 2005-09-29 Wim Taymans <wim@fluendo.com>
6104 * check/gst/gstbin.c: (GST_START_TEST):
6107 2005-09-29 Wim Taymans <wim@fluendo.com>
6109 * check/gst/gstbin.c: (GST_START_TEST):
6112 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6113 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6114 (find_element), (gst_bin_sort_iterator_next),
6115 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6116 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6117 (gst_bin_change_state), (gst_bin_dispose):
6118 A bin does not have a bus, it gets the bus from the parent.
6120 * gst/gstelement.c: (gst_element_requires_clock),
6121 (gst_element_provides_clock), (gst_element_is_indexable),
6122 (gst_element_is_locked_state), (gst_element_change_state),
6123 (gst_element_set_bus_func):
6126 * gst/gstpipeline.c: (gst_pipeline_class_init),
6127 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6128 The pipeline provides a bus.
6130 2005-09-28 Johan Dahlin <johan@gnome.org>
6132 * gst/gstmessage.c (gst_message_parse_state_changed): Use
6133 gst_structure_get_enum instead of gst_structure_get_int
6135 * gst/gststructure.c (gst_structure_get_enum): Impl.
6137 * gst/gststructure.h (gst_structure_get_enum): Add
6139 * docs/gst/gstreamer-sections.txt: Ditto
6141 * gst/gstmessage.c (gst_message_new_state_changed): Use
6142 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6143 which does introspection.
6144 Reviewed by Christian Schaller
6146 2005-09-28 Stefan Kost <ensonic@users.sf.net>
6148 * gst/gstinfo.c: (gst_debug_log_default):
6149 don't do dummy g_strdup()s
6150 * libs/gst/controller/gstcontroller.c:
6151 (on_object_controlled_property_changed),
6152 (gst_controlled_property_new), (gst_controller_new_valist),
6153 (gst_controller_new_list),
6154 (gst_controller_remove_properties_valist), (gst_controller_set),
6155 (gst_controller_get), (gst_controller_sync_values),
6156 (gst_controller_get_value_array), (_gst_controller_class_init),
6157 (gst_controller_get_type):
6158 * libs/gst/controller/gstcontroller.h:
6159 * libs/gst/controller/gstinterpolation.c:
6160 (gst_controlled_property_find_timed_value_node):
6161 convert // to /**/ comments
6163 2005-09-28 Wim Taymans <wim@fluendo.com>
6165 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6166 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6167 (gst_bus_sync_signal_handler):
6169 Added async-message and sync-message signals to the bus.
6170 Added helper BusFunc to emit signals for all posted messages.
6172 * gst/gstmessage.c: (gst_message_type_get_name),
6173 (gst_message_type_to_quark), (gst_message_get_type):
6175 Register quarks for message names.
6177 2005-09-28 Stefan Kost <ensonic@users.sf.net>
6179 * docs/libs/gstreamer-libs-sections.txt:
6180 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6181 (gst_controller_new_list):
6182 * libs/gst/controller/gstcontroller.h:
6183 added another constructor for language bindings
6185 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
6187 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6191 * gst/gstinfo.c: (_gst_debug_init):
6192 slightly more readable color for refcount debugging
6194 2005-09-28 Wim Taymans <wim@fluendo.com>
6196 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6197 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6198 (find_element), (gst_bin_sort_iterator_next),
6199 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6200 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6201 (gst_bin_change_state), (gst_bin_dispose):
6202 Small doc fixes. get_clock -> provide_clock.
6204 * gst/gstelement.c: (gst_element_class_init),
6205 (gst_element_provides_clock), (gst_element_provide_clock),
6206 (gst_element_get_clock), (gst_element_commit_state),
6207 (gst_element_lost_state):
6209 Make get/set_clock() symetric. Add provide_clock vmethod since
6210 that is actually what this function does.
6212 * gst/gstpipeline.c: (gst_pipeline_class_init),
6213 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6214 (gst_pipeline_get_clock):
6215 get_clock -> provide_clock.
6217 2005-09-28 Andy Wingo <wingo@pobox.com>
6219 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6220 lieu of real docs...
6222 * gst/elements/gstfdsrc.c: Cleaned up a bit.
6224 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
6226 * gst/elements/gstcapsfilter.c:
6227 * gst/elements/gstfakesink.c:
6228 * gst/elements/gstfakesrc.c:
6229 * gst/elements/gstfdsink.c:
6230 * gst/elements/gstfdsrc.c:
6231 * gst/elements/gstfilesink.c:
6232 * gst/elements/gstfilesrc.c:
6233 * gst/elements/gstidentity.c:
6234 * gst/elements/gsttee.c:
6235 * gst/elements/gsttypefindelement.c:
6236 Make element details static.
6238 2005-09-28 Wim Taymans <wim@fluendo.com>
6240 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6241 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6242 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6243 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6244 (gst_bin_change_state), (gst_bin_dispose):
6245 Some documentation updates.
6246 Clean up dispose handlers.
6248 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6249 * gst/gstpad.c: (gst_pad_dispose):
6250 Clean up dispose handler.
6252 * gst/gstpipeline.c: (gst_pipeline_change_state):
6253 Removed spurious UNLOCK.
6255 2005-09-27 Stefan Kost <ensonic@users.sf.net>
6257 * docs/gst/gstreamer-sections.txt:
6258 * gst/base/gstbasesrc.h:
6263 * gst/gstpipeline.c:
6264 * gst/gstpipeline.h:
6267 added two new functions to the docs
6268 documents all undocumented GstXXXFlags
6269 completed some incomplete docs
6271 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
6273 * gst/gstbin.c: (gst_bin_dispose):
6274 * gst/gstelement.c: (gst_element_dispose):
6275 remove now useless and leaky resurrection code in dispose
6276 * gst/base/gstbasesrc.c: (gst_base_src_init):
6277 * gst/gstelementfactory.c: (gst_element_factory_create):
6278 * gst/gstobject.c: (gst_object_set_parent):
6281 2005-09-27 Wim Taymans <wim@fluendo.com>
6283 * docs/design/part-TODO.txt:
6286 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6287 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6288 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6289 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6290 (gst_bin_change_state):
6292 Remove element variable, we keep element info in the iterator now.
6294 2005-09-27 Andy Wingo <wingo@pobox.com>
6296 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6299 2005-09-27 Wim Taymans <wim@fluendo.com>
6301 * check/gst/gstbin.c: (GST_START_TEST):
6302 Enable check that works now.
6304 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6305 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6306 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6307 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6308 (gst_bin_change_state):
6310 Redid the state change algorithm using a topological sort algo.
6311 Handles all cases correctly.
6312 Exposed iterator for state change order.
6315 Temp storage for state changes. Need to get rid of this soon.
6317 2005-09-27 Wim Taymans <wim@fluendo.com>
6319 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6320 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6321 (link_fold_func), (gst_pad_proxy_setcaps):
6322 Leak fixes, the fold functions need to unref the passed object and
6323 _get_parent_*() returns ref to parent.
6325 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6327 * check/gst/gstbuffer.c: (test_make_writable):
6328 Plug leak in test case and fix 'make check-valgrind'
6330 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6332 * gst/gstbuffer.c: (gst_subbuffer_init):
6333 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6334 works correctly in all circumstances (we could have just copied
6335 the parent buffer's readonly flag, but conceptually it seems
6336 cleaner to mark all subbuffers as read-only). (based on patch
6337 by Alessandro Decina, #314710).
6339 * check/gst/gstbuffer.c: (create_read_only_buffer),
6340 (test_make_writable), (test_subbuffer_make_writable),
6342 Add some tests for gst_buffer_make_writable().
6344 2005-09-27 Wim Taymans <wim@fluendo.com>
6346 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6347 use gst_object_has_ancestor().
6349 * gst/gstobject.c: (gst_object_has_ancestor):
6351 gst_object_has_ancestor() copied from gstbin.c as it is a
6354 * tests/instantiate/create.c: (create_all_elements):
6355 * tests/lat.c: (handoff_src), (handoff_sink):
6356 * tests/sched/runxml.c: (main):
6357 * tests/seeking/seeking1.c: (main):
6358 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6360 Fix compilation of some tests.
6362 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6365 Remove comment. GST_TYPE_G_ERROR is here to stay,
6366 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6369 2005-09-26 Wim Taymans <wim@fluendo.com>
6371 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6372 Added check that shows error in state change order.
6374 2005-09-26 Wim Taymans <wim@fluendo.com>
6376 * gst/gstbin.c: (gst_bin_change_state):
6377 Make state change function use 3 queues again, we were
6378 adding elements in the wrong order.
6380 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6383 * gst/gstpad.c: (gst_pad_dispose):
6384 Added some debug info first.
6386 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
6388 * docs/design/draft-push-pull.txt:
6389 * docs/design/part-events.txt:
6390 * docs/design/part-overview.txt:
6391 * docs/design/part-scheduling.txt:
6392 Replace all _pull_region() with _pull_range()
6394 2005-09-26 Andy Wingo <wingo@pobox.com>
6396 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6398 * check/gst-libs/controller.c: Update for controller api change.
6401 * tests/Makefile.am:
6402 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6403 over by GLib bug 118439.
6405 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6406 routines to a function.
6408 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6410 * libs/gst/controller/gsthelper.c:
6411 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6412 (gst_object_sync_values): Renamed from sink_values. Ugh.
6414 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6416 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6417 Renamed from controller_key, as it is exported.
6419 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6421 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
6426 * gst/gstpadtemplate.h:
6429 * gst/gstqueryutils.c:
6430 * gst/gstqueryutils.h:
6431 remove queryutils headers after moving the two used functions
6432 to gstquery. also fixes build problem for gstsiddec
6434 2005-09-26 Michael Smith <msmith@fluendo.com>
6436 * tools/gst-launch.1.in:
6437 Correct documentation in manpage of debug syntax
6439 2005-09-26 Wim Taymans <wim@fluendo.com>
6441 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6442 (gst_base_src_is_seekable), (gst_base_src_change_state):
6443 Some more debugging info.
6445 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6447 * docs/gst/gstreamer-sections.txt:
6448 * gst/base/gstbasetransform.h:
6452 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6454 * docs/gst/.cvsignore:
6455 * docs/gst/tmpl/.cvsignore:
6456 * docs/gst/tmpl/gstpipeline.sgml:
6457 * docs/gst/tmpl/gstplugin.sgml:
6458 * gst/gstpipeline.c:
6461 inlined the last two docs files
6462 removed the tmpl directory from cvs (no more conflicts here!)
6464 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6466 * docs/gst/gstreamer-sections.txt:
6467 * docs/gst/tmpl/.cvsignore:
6468 * docs/gst/tmpl/gstpad.sgml:
6469 * docs/gst/tmpl/gstpadtemplate.sgml:
6471 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6472 (gst_pad_finalize), (gst_pad_set_pad_template):
6474 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6475 (gst_pad_template_class_init), (gst_pad_template_init),
6476 (gst_pad_template_dispose), (name_is_valid),
6477 (gst_static_pad_template_get), (gst_pad_template_new),
6478 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6479 (gst_pad_template_pad_created):
6480 * gst/gstpadtemplate.h:
6481 inlined two more docs
6482 factored gstpadtemplate out of gstpad
6484 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
6486 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6487 (test_children_state_change_order_semi_sink):
6488 Fix test case: we can't rely on a fixed state change order when
6489 going from READY => PAUSED because the sink might commit its
6490 new state first when the first buffer created by the source
6491 reaches the sink before the source has finished its change state.
6492 (Test case still fails at times, see #316856, comment 5 onwards)
6494 2005-09-24 Wim Taymans <wim@fluendo.com>
6496 * docs/design/part-events.txt:
6497 * docs/design/part-gstbus.txt:
6498 * docs/design/part-gstpipeline.txt:
6499 * docs/design/part-messages.txt:
6500 * docs/design/part-overview.txt:
6501 * docs/design/part-segments.txt:
6508 * gst/gstiterator.c:
6509 Various documentation updates.
6511 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
6514 Well, that's embarassing. Luckily we weren't using
6515 GST_CLOCK_DIFF anywhere.
6517 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6519 * common/gtk-doc.mak:
6520 don't fail on building XML, FC4 slave shows a bunch of doc
6521 missing bits that I don't get
6523 * gst/gstpipeline.c:
6524 * gst/gststructure.c:
6527 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6529 * docs/design/part-gstbin.txt:
6530 * docs/design/part-gstbus.txt:
6532 Add blurb about how the bus goes into flushing mode and
6533 drops all messages when its bin goes from READY into NULL
6536 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6538 * docs/gst/gstreamer-sections.txt:
6539 * gst/gststructure.c: (gst_structure_get_clock_time):
6540 * gst/gststructure.h:
6541 add a method to get a GstClockTime out of a structure
6543 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6545 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6546 (test_children_state_change_order_semi_sink), (gst_bin_suite):
6547 Added test to check state change order in bins (can still be made
6548 to fail here under heavy disk load; bails out with 'Push on pad
6549 fakesink:sink0, but it was not activated in push mode').
6551 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6552 Fix state change order when there is only a semi sink (#316856)
6554 * gst/gstbus.c: (gst_bus_class_init):
6555 Use _class_peek_parent(), not _class_ref(); fix docs to say
6556 'default main context' instead of 'mainloop' where that is
6559 * gst/gstelement.c: (gst_element_commit_state),
6560 (gst_element_set_state):
6561 Fix typos in debug messages
6563 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6566 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6567 * gst/gstpluginfeature.c:
6570 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6571 change an assert into an error until it gets fixed properly
6573 2005-09-23 Stefan Kost <ensonic@users.sf.net>
6575 * docs/gst/gstreamer-sections.txt:
6576 * docs/gst/tmpl/.cvsignore:
6577 * docs/gst/tmpl/gstelement.sgml:
6578 * docs/gst/tmpl/gstinfo.sgml:
6579 * docs/gst/tmpl/gstobject.sgml:
6584 * gst/gstobject.c: (gst_object_class_init):
6586 inlined 3 more biiiig doc files and added some missing docs on the fly
6588 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6590 * check/gst/.cvsignore:
6591 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6592 * gst/gstregistryxml.c: (load_plugin),
6593 (gst_registry_xml_save_plugin):
6594 put back source in registry. add checks for find_plugin.
6595 * testsuite/states/bin.c: (assert_state), (empty_bin),
6596 (test_adding_one_element), (main):
6597 * testsuite/states/locked.c: (main):
6598 some compile/run fixes
6600 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6602 * check/gst/gstvalue.c: (GST_START_TEST):
6603 fix leaks in the test itself
6605 2005-09-22 Wim Taymans <wim@fluendo.com>
6607 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6608 (gst_base_sink_send_event), (gst_base_sink_peer_query),
6609 (gst_base_sink_query):
6610 Prepare for more accurate position reporting and query
6613 * gst/gstelement.c: (gst_element_send_event),
6614 (gst_element_set_state):
6617 2005-09-22 Wim Taymans <wim@fluendo.com>
6619 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6620 (gst_query_parse_segment):
6623 Add segment query for future use.
6625 2005-09-22 Wim Taymans <wim@fluendo.com>
6627 * gst/gstbin.c: (gst_bin_add_func):
6628 Some more debug info.
6630 * gst/gstelement.c: (gst_element_send_event):
6634 Don't know how flags got broken.
6639 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6641 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6642 Add simplistic test suite for GST_TYPE_DATE serialisation and
6645 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6647 * docs/gst/gstreamer-sections.txt:
6648 * gst/gststructure.c: (gst_structure_set_valist),
6649 (gst_structure_get_date):
6650 * gst/gststructure.h:
6651 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6652 (gst_date_copy), (gst_value_compare_date),
6653 (gst_value_serialize_date), (gst_value_deserialize_date),
6654 (gst_value_transform_date_string),
6655 (gst_value_transform_string_date), (_gst_value_initialize):
6657 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6658 bunch of utility functions along with a hack that checks that
6659 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6660 is required. Part of the grand scheme in #170777.
6662 2005-09-22 Andy Wingo <wingo@pobox.com>
6664 * gst/gstconfig.h.in: Psych out gtk-doc.
6666 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6668 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6670 * tools/gst-inspect.c (print_element_list): Plug some
6671 inconsequential leaks.
6673 * gst/gstregistry.c (gst_registry_get_default): Doc.
6675 * check/gst/gstplugin.c:
6676 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6677 * gst/gstelementfactory.c (gst_element_factory_create):
6678 * gst/gstindexfactory.c (gst_index_factory_create): Update for
6681 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6682 (gst_plugin_feature_load): Doc, don't eat refs.
6684 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6685 (gst_plugin_list_free): Doc.
6686 (gst_plugin_load_file): Doc updates.
6688 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6689 accessors returning refcounted objects, return a ref.
6691 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6692 accessor for caps. IDEMPOTENCE. Oh yes.
6694 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
6696 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6698 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6699 (_gst_debug_register_funcptr):
6700 Add mutex to serialise access to the hash table with
6701 the function pointer => function name string mapping;
6702 make that hash table static scope (#316809).
6704 * gst/registries/.cvsignore:
6705 Remove left-over file.
6707 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6709 * docs/pwg/appendix-porting.xml:
6710 And something about newsegment events and caps-on-buffers to
6711 the porting guide (feel free to improve).
6713 2005-09-21 Andy Wingo <wingo@pobox.com>
6715 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6716 data and event probes on the same pad.
6717 (test_buffer_probe_once): Test that removing probes from within
6718 the probe functions works.
6720 2005-09-21 Andy Wingo <wingo@pobox.com>
6722 * check/gst/gstutils.c: New file.
6723 (test_buffer_probe_n_times): A simple buffer probe test. More to
6726 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6727 have-data::buffer, not have-data.
6728 (gst_pad_add_event_probe): Likewise for have-data::event.
6729 (gst_pad_add_data_probe): More docs. The part about 'resolving the
6730 peer' isn't quite right yet though.
6731 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
6732 (gst_pad_remove_data_probe): Change to take the guint handler_id
6733 as their arg, not the function+data, which is more glib-like.
6735 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6736 the signal emission to indicate if the data is a buffer or an
6738 (gst_pad_get_type): Initialize buffer and event quarks.
6739 (gst_pad_class_init): have-data is now a detailed signal, yes it
6742 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6744 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6745 * gst/gstutils.c: (gst_util_set_value_from_string),
6746 (gst_util_set_object_arg):
6747 Don't put functional code in g_return_if_fail() or
6748 g_return_val_if_fail() statements, otherwise things will
6749 break when G_DISABLE_CHECKS is defined during compilation.
6751 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6753 * docs/gst/tmpl/.cvsignore:
6754 * docs/gst/tmpl/gstvalue.sgml:
6757 inlied another one and added some obvious docs
6759 2005-09-21 Wim Taymans <wim@fluendo.com>
6761 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6762 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6763 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6764 (gst_fdsrc_get_property), (gst_fdsrc_create):
6765 * gst/elements/gstfdsrc.h:
6766 Properly implement fdsrc. Removed signal and timeout,
6767 better implemented somewhere else.
6769 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6771 * docs/gst/tmpl/.cvsignore:
6772 * docs/gst/tmpl/gstimplementsinterface.sgml:
6773 * gst/gstinterface.c:
6776 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6778 * docs/gst/gstreamer-sections.txt:
6779 * docs/gst/tmpl/.cvsignore:
6780 * docs/gst/tmpl/gstenumtypes.sgml:
6781 remove obsolete doc file
6783 2005-09-21 David Schleef <ds@schleef.org>
6785 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6786 little beer, fix a little leak.
6788 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6790 * docs/gst/gstreamer-docs.sgml:
6791 * docs/gst/gstreamer-sections.txt:
6792 * docs/gst/tmpl/.cvsignore:
6797 * gst/gstindex.c: (gst_index_class_init):
6799 * gst/gstindexfactory.c: (gst_index_factory_get_type),
6800 (gst_index_factory_class_init), (gst_index_factory_init),
6801 (gst_index_factory_finalize), (gst_index_factory_new),
6802 (gst_index_factory_destroy), (gst_index_factory_find),
6803 (gst_index_factory_create), (gst_index_factory_make):
6804 * gst/gstindexfactory.h:
6805 * gst/gstpluginfeature.c:
6806 * gst/gstpluginfeature.h:
6807 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6808 more docs inlined, splitted gstindex.{c,h}
6810 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6812 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6815 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6817 * gst/elements/gstfilesink.c: (gst_file_sink_init):
6818 Set sync to FALSE by default.
6820 2005-09-20 Wim Taymans <wim@fluendo.com>
6822 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6823 (gst_base_sink_init):
6824 Make sync property settable from subclass.
6826 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6827 (gst_fake_sink_change_state):
6828 Set sync to FALSE by default.
6830 2005-09-20 Wim Taymans <wim@fluendo.com>
6832 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6833 * tools/gst-launch.c: (main):
6834 The timeout handler should have lower priority than the source
6835 so we don't timeout before popping a message with 0 timeout.
6836 Dump error messages after failed state change.
6838 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6840 * tools/gst-inspect.c: (print_element_properties_info):
6843 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6845 * check/gst/gstevent.c:
6846 * gst/elements/gstfakesink.c:
6847 * gst/elements/gstfakesink.h:
6848 remove the sync property from fakesink.
6849 has the side effect of setting sync TRUE
6850 for fakesink, which is a change. Anyone who knows how
6851 to fix this nicely in a GObject-y way, feel free.
6853 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6855 * docs/gst/gstreamer-docs.sgml:
6856 remove probe refsection
6858 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6860 * check/Makefile.am:
6861 disable valgrinding the controller test again
6862 * docs/gst/gstreamer-sections.txt:
6863 update for api-changes
6865 2005-09-20 Wim Taymans <wim@fluendo.com>
6867 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6868 (gst_base_sink_set_property), (gst_base_sink_get_property),
6869 (gst_base_sink_do_sync):
6870 * gst/base/gstbasesink.h:
6871 Added sync property to basesink to disable clock sync.
6873 2005-09-20 Andy Wingo <wingo@pobox.com>
6875 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6876 eating the caller's refcount.
6878 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6879 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6882 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6883 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6884 of GLib 2.8 public, so we can know which refcount to check in
6887 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6888 (gst_object_init): Only set the gst refcount if we're going ahead
6889 with the refcount hack.
6891 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6893 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6894 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6895 more leaks plumbed, added more debug-logging
6899 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6902 remove include of gstmemchunk.h
6904 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6906 * gst/gstclock.c: (_gst_clock_id_free):
6907 Commit from the Political Party For More Atomic CVS Commits,
6908 so that people don't waste too much of their day fishing
6909 out obvious leaks out of massive commits.
6910 Oh, and fix a pretty damn obvious leak in the memchunk
6913 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6915 * check/Makefile.am:
6916 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6917 plug mem-leak, re-add to valgrindable tests
6919 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6922 unbreak the build for those who have chronic arthritis
6923 and typing "make check" is just too taxing on the hands
6925 2005-09-20 Andy Wingo <wingo@pobox.com>
6927 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6928 really want it out, you should fix plugins at the same time.
6930 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6933 * docs/gst/gstreamer-sections.txt:
6935 added missing symbols to api docs
6936 disable ref-count hack if we have glib >= 2.8
6938 2005-09-19 David Schleef <ds@schleef.org>
6940 * docs/gst/Makefile.am: Ignore a few more internal headers
6941 * docs/gst/gstreamer-docs.sgml: Remove old sections
6942 * docs/gst/gstreamer-sections.txt: Remove old sections
6943 * docs/gst/tmpl/gstobject.sgml: update
6944 * docs/gst/tmpl/gstplugin.sgml: update
6945 * docs/gst/tmpl/gstpluginfeature.sgml: update
6946 * docs/random/ds/0.9-suggested-changes: update.
6947 * gst/Makefile.am: remove memchunk and trashstack, since they're
6949 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6950 * gst/gst.h: don't include some headers
6951 * gst/gstchildproxy.c: add gstmarshal.h
6952 * gst/gstclock.c: Don't use memchunks
6953 * gst/gstminiobject.c: Add some docs
6954 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6955 * gst/gstobject.h: same
6956 * gst/gstplugin.c: include gstmacros.h
6957 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6958 * gst/gstquery.c: don't use memchunks
6959 * gst/gstregistry.c: rename gst_registry_deinit()
6960 * gst/gstregistry.h: same
6962 2005-09-19 David Schleef <ds@schleef.org>
6964 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6965 * docs/libs/gstreamer-libs-sections.txt:
6966 * docs/libs/tmpl/gstgetbits.sgml:
6967 * docs/libs/tmpl/gstputbits.sgml:
6969 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6971 * win32/gstenumtypes.c:
6972 * win32/gstenumtypes.h:
6975 2005-09-19 Wim Taymans <wim@fluendo.com>
6977 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6978 Automatically PAUSE and RESUME a pipeline when a flushing seek
6981 2005-09-19 Andy Wingo <wingo@pobox.com>
6983 * gst/gstregistry.h: Spacing fixen.
6985 2005-09-19 Wim Taymans <wim@fluendo.com>
6987 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6988 Handle state change failure more correctly.
6990 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6992 * check/Makefile.am:
6993 * check/pipelines/cleanup.c: (run_pipeline):
6994 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6996 enable cleanup again after fixing the leak
6998 some more info on docs
7000 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
7002 * check/Makefile.am:
7003 re-enable tests now that leaks are plugged
7005 * check/gst/gstbin.c:
7006 * check/gst/gstpipeline.c:
7007 add some more tests while fixing leaks
7009 make sure binaries are uptodate when valgrinding/gdbing
7011 * gst/gstelementfactory.c:
7012 remove a ref too many, and add a FIXME for when we get
7013 round to disposing of classes
7015 fix the refcounting when loading a plugin from a file and
7016 the code pretends that the pointer is the same even though
7017 of course it can change
7018 * gst/gstpluginfeature.c:
7019 unref plugins marked cached (a bit confusing as a name)
7020 as the docs state should be done
7021 various doc additions to explain refcounting
7022 * gst/gstregistry.c:
7023 * gst/gstregistryxml.c:
7026 2005-09-19 Wim Taymans <wim@fluendo.com>
7028 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7029 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7030 (send_messages), (GST_START_TEST), (gstbus_suite):
7031 * check/gst/gstpipeline.c: (GST_START_TEST):
7032 * check/pipelines/cleanup.c: (run_pipeline):
7033 * check/pipelines/simple_launch_lines.c: (run_pipeline),
7035 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7036 (gst_bus_source_check), (gst_bus_source_dispatch),
7037 (gst_bus_create_watch), (gst_bus_add_watch_full),
7038 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7040 * tools/gst-launch.c: (event_loop):
7041 * tools/gst-md5sum.c: (event_loop):
7042 GstBusHandler -> GstBusFunc, return value has the same meaning as
7043 any other GSource (FALSE == remove source).
7044 _add_watch() and _add_watch_full() now take a MessageType mask to
7045 only handle specific types of messages.
7046 _poll() returns the GstMessage instead of the message type to avoid
7048 _have_pending() takes a MessageType mask now too.
7049 Added testsuite for multiple bus watches.
7050 Fix testsuites and applications for new bus API.
7052 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
7054 * check/Makefile.am:
7055 mark a bunch of the tests as to fix until we fix them
7057 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7060 use GST_PLUGIN settings for valgrind tests as well, so we're
7061 valgrinding the correct thing
7062 * gst/gst.c: (init_post):
7065 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7067 * gst/gst.c: (init_post), (gst_deinit):
7068 * gst/gstelementfactory.c: (gst_element_factory_class_init),
7069 (gst_element_factory_finalize), (gst_element_factory_cleanup):
7070 * gst/gstindex.c: (gst_index_factory_class_init),
7071 (gst_index_factory_finalize):
7072 * gst/gstobject.c: (gst_object_dispose):
7073 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7074 (gst_plugin_load_file), (gst_plugin_desc_free):
7075 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7076 (gst_plugin_feature_finalize):
7077 * gst/gstregistry.c: (gst_registry_class_init),
7078 (gst_registry_init), (gst_registry_finalize),
7079 (gst_registry_get_default), (gst_registry_deinit):
7080 * gst/gstregistry.h:
7081 * gst/gstregistryxml.c: (load_feature), (load_plugin):
7082 various cleanups and memleak plugging. make valgrind is happy now.
7084 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
7087 add a check-valgrind target
7089 2005-09-18 David Schleef <ds@schleef.org>
7091 * tools/gst-inspect.c: Revert the GOption code.
7093 2005-09-17 David Schleef <ds@schleef.org>
7095 * check/Makefile.am: Fix environment variables.
7096 * check/gst/gstplugin.c: Fix for API changes.
7097 * tools/gst-inspect.c: Fix for API changes.
7098 * tools/gst-xmlinspect.c: Fix for API changes.
7099 * gst/gstelementfactory.c:
7102 * gst/gstpluginfeature.c:
7103 * gst/gstpluginfeature.h:
7104 * gst/gstregistry.c:
7105 * gst/gstregistry.h:
7106 * gst/gstregistryxml.c:
7107 * gst/gsttypefind.c:
7108 * gst/gsttypefindfactory.c:
7109 * gst/indexers/gstfileindex.c:
7110 * gst/indexers/gstmemindex.c:
7111 * gst/schedulers/Makefile.am:
7112 Change registry to keep track of both plugins and features,
7113 removing the feature tracking from plugins themselves.
7115 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
7117 * check/Makefile.am:
7118 * tools/gst-register.1.in:
7121 2005-09-15 David Schleef <ds@schleef.org>
7123 * check/gst/gstplugin.c:
7124 * gst/gstelementfactory.c:
7126 * gst/gstpluginfeature.c:
7127 * gst/gstregistry.c:
7128 Getting tired of debugging. Disabled all the unreffing of
7129 plugins and features, which fixes the segfaults, but of
7130 course leaks like crazy. At least playbin works.
7132 2005-09-15 David Schleef <ds@schleef.org>
7134 * check/gst/gstplugin.c: (register_check_elements),
7135 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7137 * gst/elements/gsttypefindelement.c: Fix refcounting.
7138 * gst/gsttypefind.c:
7139 * gst/gsttypefindfactory.c:
7140 * gst/gsttypefindfactory.h:
7142 2005-09-15 David Schleef <ds@schleef.org>
7144 * gst/gstindex.c: get refcounting correct.
7145 * gst/gstregistry.c: Handle the case where a feature/plugin is
7148 2005-09-15 David Schleef <ds@schleef.org>
7150 * check/Makefile.am:
7151 * check/gst/gstplugin.c: Add test
7152 * gst/gstplugin.c: Fix problems noticed by testsuite
7154 * gst/gstregistry.c:
7155 * gst/gstregistry.h:
7157 2005-09-15 David Schleef <ds@schleef.org>
7159 * gst/gstplugin.c: Implement semi-decent recounting and locking
7160 in plugins and plugin features.
7162 * gst/gstpluginfeature.c:
7163 * gst/gstpluginfeature.h:
7164 * gst/gstregistry.c:
7166 2005-09-15 Michael Smith <msmith@fluendo.com>
7168 * gst/gstregistry.c: (gst_registry_get_feature_list):
7169 Implement this. Makes oggdemux work; decodebin still broken.
7171 2005-09-14 David Schleef <ds@schleef.org>
7173 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7175 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7176 * gst/check/Makefile.am:
7177 * libs/gst/controller/Makefile.am:
7178 * libs/gst/dataprotocol/Makefile.am:
7180 2005-09-14 David Schleef <ds@schleef.org>
7182 * configure.ac: Remove getbits library. Nothing uses it, and
7183 it should be in something like liboil if someone did want
7185 * libs/gst/Makefile.am:
7186 * libs/gst/getbits/Makefile.am:
7187 * libs/gst/getbits/gbtest.c:
7188 * libs/gst/getbits/getbits.c:
7189 * libs/gst/getbits/getbits.h:
7190 * libs/gst/getbits/gstgetbits_generic.c:
7191 * libs/gst/getbits/gstgetbits_i386.s:
7192 * libs/gst/getbits/gstgetbits_inl.h:
7194 2005-09-14 David Schleef <ds@schleef.org>
7196 * gst/Makefile.am: Dist glib-compat.h
7198 2005-09-14 David Schleef <ds@schleef.org>
7200 * configure.ac: Remove gst/registries, since it's no longer used.
7201 * gst/registries/Makefile.am:
7202 * gst/registries/gstlibxmlregistry.c:
7203 * gst/registries/gstlibxmlregistry.h:
7204 * gst/registries/gstxmlregistry.c:
7205 * gst/registries/gstxmlregistry.h:
7206 * gst/registries/registrytest.c:
7208 2005-09-14 David Schleef <ds@schleef.org>
7210 * gst/glib-compat.h:
7211 * gst/gstregistryxml.c:
7212 Convergence is near. Seriously.
7214 2005-09-14 David Schleef <ds@schleef.org>
7216 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7217 * gst/glib-compat.h:
7218 Attempt #4 to appease the buildbots.
7220 2005-09-14 David Schleef <ds@schleef.org>
7222 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7225 2005-09-14 David Schleef <ds@schleef.org>
7227 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7230 2005-09-14 David Schleef <ds@schleef.org>
7232 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7235 2005-09-14 David Schleef <ds@schleef.org>
7237 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7238 * gst/glib-compat.h: Add some functions that are in newer versions
7239 of glib than we care to require.
7240 * gst/gstregistryxml.c: Use them.
7242 2005-09-14 David Schleef <ds@schleef.org>
7244 * po/POTFILES.in: remove gst-register.c
7246 2005-09-14 David Schleef <ds@schleef.org>
7248 * docs/gst/gstreamer-docs.sgml:
7249 * docs/gst/gstreamer-sections.txt:
7250 * docs/gst/gstreamer.types:
7251 * docs/gst/tmpl/gstelement.sgml:
7252 * docs/gst/tmpl/gstplugin.sgml:
7253 * docs/gst/tmpl/gstpluginfeature.sgml:
7254 Documentation updates for registry changes.
7256 2005-09-14 David Schleef <ds@schleef.org>
7258 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7259 because we don't require glib-2.8.
7261 2005-09-14 David Schleef <ds@schleef.org>
7263 * gst/gstregistryxml.c: Added. Essentially moved out of the
7264 registries directory.
7266 2005-09-14 David Schleef <ds@schleef.org>
7268 * check/Makefile.am:
7269 * check/generic/states.c:
7273 * gst/gst_private.h:
7274 * gst/gstelementfactory.c:
7279 * gst/gstpluginfeature.c:
7280 * gst/gstpluginfeature.h:
7281 * gst/gstregistry.c:
7282 * gst/gstregistry.h:
7283 * gst/gstregistrypool.c: remove
7284 * gst/gstregistrypool.h: remove
7285 * gst/gsttypefind.c:
7286 * gst/gsttypefindfactory.c:
7288 * tools/Makefile.am:
7289 * tools/gst-compprep.c:
7290 * tools/gst-inspect.c:
7291 * tools/gst-register.c: remove
7292 * tools/gst-xmlinspect.c:
7293 Registry rewrite. Changes registry from being a file created
7294 by a tool into a simple cache file created automatically by
7295 libgstreamer. Removed gst-register (because it's no longer
7296 needed). Remove registry pools, because we only have one
7297 registry implementation (XML). Fix up other subsystems as
7300 2005-09-13 Michael Smith <msmith@fluendo.com>
7302 * gst/gstconfig.h.in:
7303 Don't Use windows linking attributes for MinGW. Fixes #316157
7305 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
7307 * gst/gstutils.c: (set_state_async_thread_func),
7308 (gst_element_set_state_async):
7309 Apparently people think it's better if this function doesn't
7310 try to set the state to whatever state was asked for on the first
7311 call to this function for any object. Seriously.
7313 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7315 * check/gst/gstpipeline.c: (GST_START_TEST):
7316 * docs/gst/gstreamer-sections.txt:
7317 * gst/gstutils.c: (set_state_async_thread_func),
7318 (gst_element_set_state_async):
7320 add a "gst_element_set_state_async" method that
7321 sets the state and starts a thread to make sure the state
7322 change completes as best as it can
7324 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7326 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7327 codify design+behaviour in testsuite after discussion
7329 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7331 * docs/gst/tmpl/gstelement.sgml:
7332 * docs/manual/appendix-quotes.xml:
7334 * gst/gstelement.c: (gst_element_set_state):
7337 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
7339 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7340 (gst_base_transform_prepare_output_buf),
7341 (gst_base_transform_handle_buffer):
7342 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7343 (gst_capsfilter_prepare_buf):
7344 Remove the requirement for sub-classes to call the parent
7345 implementation of prepare_output_buffer with a wrapper function.
7348 * gst/gsttagsetter.h:
7351 2005-09-11 Stefan Kost <ensonic@users.sf.net>
7353 * docs/gst/gstreamer-sections.txt:
7356 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7358 * docs/gst/gstreamer-sections.txt:
7359 * docs/gst/tmpl/gstelement.sgml:
7360 * docs/gst/tmpl/gstplugin.sgml:
7361 * gst/gstminiobject.c:
7363 docs now stop throwing warnings
7365 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7367 * docs/gst/gstreamer-sections.txt:
7368 * docs/gst/gstreamer.types:
7369 * docs/gst/tmpl/gstpad.sgml:
7370 * docs/gst/tmpl/gsttypes.sgml:
7371 * gst/base/gstadapter.h:
7372 * gst/base/gstbasesink.h:
7373 * gst/base/gstbasesrc.h:
7383 * gst/gststructure.c:
7384 * gst/registries/gstlibxmlregistry.h:
7385 various documentation fixes
7387 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7389 * docs/gst/gstreamer-sections.txt:
7390 * docs/gst/tmpl/gstvalue.sgml:
7391 rearrange gstvalue section
7392 * gst/gstutils.c: (gst_element_state_get_name):
7394 * gst/gstvalue.c: (_gst_value_initialize):
7398 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
7400 * check/gst-libs/controller.c:
7402 * gst/base/gstbasetransform.c:
7403 (gst_base_transform_default_prepare_buf),
7404 (gst_base_transform_handle_buffer):
7405 * gst/base/gstbasetransform.h:
7406 Some more basetransform changes and fixes to enable sub-classes
7407 that modify buffer metadata only.
7408 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7409 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7410 (gst_capsfilter_prepare_buf):
7411 If the output pad has fixed allowed caps and input buffers
7412 don't have any, set the fixed caps on outgoing buffers.
7414 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
7415 * check/elements/identity.c: (GST_START_TEST):
7416 Make the error a little clearer when the test fails because
7417 identity made a copy of the buffer.
7418 * docs/gst/gstreamer-sections.txt:
7419 New symbols in gstbasetransform.h
7420 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7421 (gst_base_transform_init), (gst_base_transform_transform_size),
7422 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7423 (gst_base_transform_default_prepare_buf),
7424 (gst_base_transform_get_unit_size),
7425 (gst_base_transform_buffer_alloc),
7426 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7427 (gst_base_transform_change_state),
7428 (gst_base_transform_set_passthrough),
7429 (gst_base_transform_set_in_place),
7430 (gst_base_transform_is_in_place):
7431 * gst/base/gstbasetransform.h:
7432 Change BaseTransform to separate in_place operate from same_caps
7433 output. in_place implies that the element can perform the transform
7434 on incoming buffers in-place, even if the caps on the output are
7436 Sub-class elements can now implement special buffer allocation
7437 methods for outgoing buffers if they wish to.
7438 Big documentation addition.
7439 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7440 * gst/elements/gstelements.c:
7441 Changes for basetransform modifications.
7442 * gst/elements/Makefile.am:
7443 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7444 Compile fix. Extra debug output.
7446 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7448 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7450 add tests for valid pad naming
7451 * gst/check/gstcheck.c: (gst_check_log_message_func),
7452 (gst_check_log_critical_func):
7454 remove printing of code, it is fragile when the code contains
7455 % and the line number is enough info
7456 * gst/check/gstcheck.h:
7457 * gst/gstpad.c: (gst_pad_template_new):
7460 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7463 say what CHECK flags we use
7464 * docs/libs/gstreamer-libs.types:
7465 * libs/gst/controller/Makefile.am:
7466 * libs/gst/controller/gst-controller.c:
7467 * libs/gst/controller/gst-controller.h:
7468 * libs/gst/controller/gst-helper.c:
7469 * libs/gst/controller/gst-interpolation.c:
7470 * libs/gst/controller/gstcontroller.c:
7471 * libs/gst/controller/gsthelper.c:
7472 * libs/gst/controller/gstinterpolation.c:
7473 * tools/gst-inspect.c: (print_plugin_info):
7474 we don't use dashes in header names
7476 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7478 * check/Makefile.am:
7479 * check/gst/.cvsignore:
7480 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7481 (gst_pipeline_suite), (main):
7482 adding a test for pipelines and state changes
7483 * gst/gstutils.c: (get_state_func):
7485 * gstreamer.spec.in:
7488 2005-09-08 Michael Smith <msmith@fluendo.com>
7490 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7491 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7492 (gst_file_src_is_seekable), (gst_file_src_get_size),
7493 (gst_file_src_start):
7494 * gst/elements/gstfilesrc.h:
7495 Various fixes for unseekable, unmmapable, and non-normal files, so
7496 that fallback to read() rather than mmap() works.
7497 * gst/gstevent.c: (gst_event_new_newsegment):
7498 Allow newsegment events with segment_start == segment_end, as will
7499 correctly happen if you use filesrc on a zero-size file, for
7502 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7504 * gst/gstplugin.c: (gst_plugin_load_file):
7505 Call g_module_close when we don't load the module
7507 * gst/registries/gstlibxmlregistry.c:
7508 (gst_xml_registry_get_property):
7509 Port leak fix from 0.8
7511 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7513 * docs/gst/gstreamer-docs.sgml:
7514 * docs/gst/tmpl/.cvsignore:
7515 * docs/gst/tmpl/gsttrace.sgml:
7516 * docs/gst/tmpl/gsttrashstack.sgml:
7525 * gst/gsttaginterface.c:
7526 * gst/gsttaginterface.h:
7529 * gst/gsttagsetter.c:
7530 * gst/gsttagsetter.h:
7533 * gst/gsttrashstack.c:
7534 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7535 inlined docs for gsttrace, gsttrashstack
7537 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7540 * gst/elements/gstbufferstore.h:
7541 * gst/elements/gsttypefindelement.c:
7542 * gst/elements/gsttypefindelement.h:
7544 * gst/gsttypefind.c:
7545 * gst/gsttypefind.h:
7546 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7547 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7548 (gst_type_find_factory_dispose),
7549 (gst_type_find_factory_unload_thyself),
7550 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7551 (gst_type_find_factory_get_caps),
7552 (gst_type_find_factory_get_extensions),
7553 (gst_type_find_factory_call_function):
7554 * gst/gsttypefindfactory.h:
7555 * gst/registries/gstlibxmlregistry.c:
7556 * gst/registries/gstxmlregistry.c:
7557 splitted gsttypefind into gsttypefind, gsttypefindfactory
7559 2005-09-07 Andy Wingo <wingo@pobox.com>
7561 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7562 condition whereby the pad's task function is entered before the
7563 pad_mode variable was set.
7565 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7567 * gst/gstpad.c: (gst_pad_alloc_buffer):
7568 Catch misbehaving pad_alloc functions that don't
7569 set up caps and do it for them.
7571 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7573 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7575 * docs/gst/tmpl/.cvsignore:
7576 * docs/gst/tmpl/gstmemchunk.sgml:
7577 * docs/gst/tmpl/gstparse.sgml:
7578 * docs/gst/tmpl/gsttaglist.sgml:
7579 * docs/gst/tmpl/gsttagsetter.sgml:
7580 * docs/gst/tmpl/gsttypefind.sgml:
7581 * docs/gst/tmpl/gsttypefindfactory.sgml:
7582 * gst/gstmemchunk.c:
7585 * gst/gsttaginterface.c:
7586 * gst/gsttypefind.c:
7587 * gst/gsttypefind.h:
7590 === release 0.9.2 ===
7592 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
7597 releasing 0.9.2, "South"
7599 2005-09-05 Andy Wingo <wingo@pobox.com>
7601 * gst/registries/gstxmlregistry.h:
7602 * gst/registries/gstxmlregistry.c: Um... resurrect...
7604 * gst/registries/gstxmlregistry.h:
7605 * gst/registries/gstxmlregistry.c: and update to newer API.
7606 Incidentally they should be a bit faster now that they don't have
7609 2005-09-05 Andy Wingo <wingo@pobox.com>
7611 * gst/registries/gstxmlregistry.h:
7612 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7613 replaced by the libxml registry a while back
7615 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7617 * docs/gst/tmpl/gstplugin.sgml:
7618 * gst/elements/gstelements.c:
7620 * gst/gstplugin.c: (gst_plugin_register_func),
7621 (gst_plugin_desc_copy), (gst_plugin_desc_free),
7622 (gst_plugin_get_source):
7624 * gst/registries/gstlibxmlregistry.c: (load_plugin),
7625 (gst_xml_registry_save_plugin):
7626 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7627 (gst_xml_registry_save_plugin):
7628 * tools/gst-inspect.c: (print_plugin_info):
7629 add a "source" plugin description field, to represent the source
7630 module this plugin is a part of. By default GST_PLUGIN_DEFINE
7631 will set it to PACKAGE, which is automake's idea of the name of
7634 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7640 * docs/faq/Makefile.am:
7641 * docs/gst/tmpl/gstelement.sgml:
7642 * docs/gst/tmpl/gsttypes.sgml:
7643 * docs/htmlinstall.mak:
7644 * docs/manual/Makefile.am:
7645 * docs/pwg/Makefile.am:
7646 reorganize doc build a little
7647 split out docbook and gtk-doc stuff
7648 have two separate --enable's and enable them through autogen
7649 but disable by default in configure (to be similar to other
7651 * gstreamer.spec.in:
7652 clean up docs install
7672 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
7674 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7677 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7678 (gst_fake_sink_change_state):
7679 Make state change function thread-safe.
7681 * gst/gstpad.c: (gst_pad_alloc_buffer):
7682 Set offset on generic buffer allocated by fallback.
7684 2005-09-03 Stefan Kost <ensonic@users.sf.net>
7686 * docs/gst/gstreamer-sections.txt:
7687 * docs/gst/tmpl/gstelement.sgml:
7689 * libs/gst/controller/gst-controller.c:
7690 (gst_controlled_property_set_interpolation_mode),
7691 (gst_controlled_property_new),
7692 (gst_controller_find_controlled_property):
7693 run the wingo-magic script against the docs
7695 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7697 * docs/gst/gstreamer-docs.sgml:
7698 * docs/gst/gstreamer-sections.txt:
7699 * docs/gst/tmpl/.cvsignore:
7700 * docs/gst/tmpl/gstelementdetails.sgml:
7701 * docs/gst/tmpl/gstelementfactory.sgml:
7704 * gst/gstelementfactory.c:
7705 * gst/gstelementfactory.h:
7706 merged elementdetails docs into elementfactory docs
7709 2005-09-02 Andy Wingo <wingo@pobox.com>
7711 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7712 consider this enum an enum and not a flags.
7714 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7716 * docs/gst/gstreamer-docs.sgml:
7717 * docs/gst/tmpl/.cvsignore:
7718 * docs/gst/tmpl/gstghostpad.sgml:
7719 * docs/gst/tmpl/gstiterator.sgml:
7720 * docs/gst/tmpl/gstmacros.sgml:
7721 * docs/gst/tmpl/gstrealpad.sgml:
7722 * docs/gst/tmpl/gstregistry.sgml:
7723 * docs/gst/tmpl/gstregistrypool.sgml:
7724 * docs/gst/tmpl/gststructure.sgml:
7725 * docs/gst/tmpl/gstsystemclock.sgml:
7726 * docs/gst/tmpl/gsttrace.sgml:
7727 * gst/gstghostpad.c:
7729 * gst/gstmemchunk.c:
7730 * gst/gstmemchunk.h:
7732 * gst/gstregistry.c:
7733 * gst/gstregistrypool.c:
7734 * gst/gststructure.c:
7735 * gst/gstsystemclock.c:
7738 2005-09-02 Andy Wingo <wingo@pobox.com>
7740 * gst/gstelement.h (GstState): Renamed from GstElementState,
7741 changed to be a normal enum instead of flags.
7742 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7743 munged to be GST_STATE_CHANGE_*.
7744 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7745 work with the new state representation.
7746 (GstStateChange): New enumeration of possible state transitions.
7747 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7748 (GstElementClass::change_state): Pass the GstStateChange along as
7749 an argument. Helps language bindings, so they don't have to use
7750 tricky lock-needing macros like GST_STATE_CHANGE ().
7752 * scripts/update-states (file): New script. Run it on a file to
7753 update it for state naming and API changes. Updates files in
7756 * All files updated for the new API.
7758 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
7760 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7761 * gst/gstutils.c: (gst_util_set_value_from_string),
7762 (gst_util_set_object_arg):
7763 fix a bunch of unchecked return values
7764 * tools/gst-complete.c: (main):
7765 * gstreamer.spec.in:
7768 2005-09-01 Wim Taymans <wim@fluendo.com>
7770 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7771 (gst_base_sink_event), (gst_base_sink_do_sync),
7772 (gst_base_sink_handle_event):
7773 * gst/base/gstbasesink.h:
7774 Handle newsegments more correctly.
7779 * gst/gstevent.c: (gst_event_new_newsegment):
7780 A newsegment cannot have a start_time of -1
7782 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
7784 * win32/gstenumtypes.c:
7785 * win32/gstenumtypes.h:
7788 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7790 * libs/gst/controller/gst-controller.c:
7791 (gst_controlled_property_set_interpolation_mode),
7792 (gst_controlled_property_new):
7795 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
7797 * docs/faq/gst-uninstalled:
7802 * gst/gstutils.c: (gst_element_link_filtered):
7804 add gst_element_link_filtered
7806 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7808 * docs/gst/gstreamer-docs.sgml:
7809 * docs/gst/gstreamer-sections.txt:
7810 * docs/gst/tmpl/.cvsignore:
7811 * docs/gst/tmpl/gsterror.sgml:
7812 * docs/gst/tmpl/gstfilter.sgml:
7813 * docs/gst/tmpl/gsturihandler.sgml:
7814 * docs/gst/tmpl/gsturitype.sgml:
7815 * docs/gst/tmpl/gstutils.sgml:
7816 * docs/gst/tmpl/gstxml.sgml:
7824 inlined more docs, fixed double id-ref
7826 2005-08-31 Wim Taymans <wim@fluendo.com>
7828 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7829 (gst_base_transform_handle_buffer):
7830 Passthrough elements don't need the caps as they don't care.
7832 2005-08-31 Wim Taymans <wim@fluendo.com>
7834 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7835 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7836 Don't leak refcounts on buffers.
7838 2005-08-31 Wim Taymans <wim@fluendo.com>
7840 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7841 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7842 (gst_base_transform_chain), (gst_base_transform_change_state):
7843 * gst/base/gstbasetransform.h:
7844 Handle the case where we are not negotiated more gracefully.
7846 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7848 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7849 (gst_file_src_map_region):
7850 Set READONLY flag on mmap'ed buffers, otherwise
7851 gst_buffer_make_writable() won't work properly (#314708).
7853 2005-08-31 Wim Taymans <wim@fluendo.com>
7855 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7856 passthrough elements can even do inplace on non writable
7857 buffers (as they don't touch them).
7859 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7861 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7862 (gst_test_mono_source_set_property),
7863 (gst_test_mono_source_class_init), (GST_START_TEST),
7864 (gst_controller_suite):
7865 more tests (hehe I have the most)
7867 describe popping messages whenusing mulltiple sources
7868 * libs/gst/controller/gst-controller.c:
7869 (gst_controlled_property_set_interpolation_mode),
7870 (gst_controlled_property_new):
7871 * libs/gst/controller/gst-controller.h:
7872 * libs/gst/controller/gst-interpolation.c:
7873 implement boolean properties
7875 2005-08-31 Wim Taymans <wim@fluendo.com>
7877 * gst/gstminiobject.c: (gst_mini_object_ref):
7878 Cannot assert that the refcount has to be positive
7879 since a disposed object can be resurrected.
7881 2005-08-31 Wim Taymans <wim@fluendo.com>
7883 * gst/gstpad.c: (gst_pad_init):
7884 Revert change, need to first fix badly behaving
7887 2005-08-30 Wim Taymans <wim@fluendo.com>
7889 * check/elements/fakesrc.c: (setup_fakesrc):
7890 * check/elements/identity.c: (setup_identity):
7891 Activate pads before using them.
7893 2005-08-30 Wim Taymans <wim@fluendo.com>
7895 * gst/base/gstadapter.c: (gst_adapter_flush):
7896 Flushing out 0 bytes is ok for this function.
7898 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7899 no newsegment gives a warning and sets the start/stop to
7902 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7903 (gst_base_transform_set_passthrough):
7906 * gst/gstminiobject.c: (gst_mini_object_ref):
7907 Check refcount here too.
7909 * gst/gstpad.c: (gst_pad_init):
7910 Pads are initially flushing and refusing data.
7912 * gst/gstutils.c: (gst_element_link_pads_filtered):
7913 When adding a capsfilter element make sure it has the
7914 same state as the parent bin.
7916 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7918 * docs/gst/tmpl/.cvsignore:
7919 * docs/gst/tmpl/gstformat.sgml:
7920 * docs/gst/tmpl/gstversion.sgml:
7924 * gst/gstversion.h.in:
7925 more docs and two more inlined
7927 2005-08-30 Wim Taymans <wim@fluendo.com>
7929 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7930 Don't sync to clock.
7932 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7934 * docs/gst/gstreamer-sections.txt:
7935 ultral33t func10ns deserve to appear in the docs actually
7936 * docs/gst/tmpl/.cvsignore:
7937 * docs/gst/tmpl/gstcompat.sgml:
7938 * docs/gst/tmpl/gstconfig.sgml:
7939 * gst/check/gstcheck.c:
7941 * gst/gstconfig.h.in:
7944 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7946 * docs/gst/tmpl/.cvsignore:
7947 * docs/gst/tmpl/gstquery.sgml:
7948 * docs/gst/tmpl/gstutils.sgml:
7951 inlined and extended docs
7953 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7955 * check/gst-libs/controller.c: (GST_START_TEST),
7956 (gst_controller_suite):
7958 * docs/gst/tmpl/gstutils.sgml:
7959 * docs/libs/gstreamer-libs-sections.txt:
7960 * docs/libs/tmpl/gstdataprotocol.sgml:
7962 * examples/controller/audio-example.c: (main):
7963 controller example works now
7966 * tools/gst-inspect.c: (print_element_properties_info):
7967 show param spec flags
7969 2005-08-29 Andy Wingo <wingo@pobox.com>
7971 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7973 2005-08-28 Andy Wingo <wingo@pobox.com>
7975 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7976 as having two arguments instead of just one. Allows superclasses
7977 to access information on subclasses -- see the terrible for() loop
7978 in gtype.c:g_type_create_instance for the reason why. All callers
7981 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7983 * docs/design/part-messages.txt:
7985 * docs/gst/tmpl/.cvsignore:
7986 * docs/gst/tmpl/gstcaps.sgml:
7987 * docs/gst/tmpl/gstclock.sgml:
7994 added descriptions for bus and message
7995 inline caps and clock docs
7997 2005-08-27 Stefan Kost <ensonic@users.sf.net>
8003 2005-08-27 Stefan Kost <ensonic@users.sf.net>
8005 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8008 2005-08-26 Andy Wingo <wingo@pobox.com>
8010 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8011 element_set_state's return val.
8012 (test_2_elements): Add test that's been disabled for months.
8014 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8015 can-activate-pull properties.
8017 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8018 can-activate-pull properties. Implement is_seekable so fakesrc can
8019 operate in pull mode.
8021 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8023 (gst_base_sink_activate, gst_base_sink_activate_pull)
8024 (gst_base_sink_activate_push): Make activation mode choosing work.
8026 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8027 is right. Make pull mode work. Post an eos before pausing in pull
8029 (gst_base_sink_change_state): Pay attention to the core's
8030 change_state() return val.
8032 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8033 has-getrange properties. Cleanups.
8035 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8036 has_getrange and replace with can_activate_pull and
8039 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8040 locking comments. Remove has_loop, has_chain and replace with
8041 can_activate_pull and can_activate_push.
8043 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
8046 * examples/Makefile.am:
8047 * examples/metadata/Makefile.am:
8048 * examples/metadata/read-metadata.c: (message_loop),
8049 (have_pad_handler), (make_pipeline), (print_tag), (main):
8050 Add metadata reading example that loops over a list of filenames,
8051 dumping any tags found.
8053 * gst/gstbus.c: (gst_bus_dispose):
8054 * gst/gstelement.c: (gst_element_dispose):
8055 Release a few potentially-held references in dispose.
8057 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8059 * docs/gst/tmpl/gstminiobject.sgml:
8060 do *not* add tmpl/*.sgml files to CVS!
8062 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8064 * libs/gst/bytestream/.cvsignore:
8065 * libs/gst/bytestream/Makefile.am:
8066 * libs/gst/bytestream/adapter.c:
8067 * libs/gst/bytestream/adapter.h:
8068 * libs/gst/bytestream/bytestream.c:
8069 * libs/gst/bytestream/bytestream.h:
8070 * libs/gst/bytestream/filepad.c:
8071 * libs/gst/bytestream/filepad.h:
8072 removing obsolete files
8074 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8076 * docs/gst/gstreamer-docs.sgml:
8077 * docs/libs/gstreamer-libs-docs.sgml:
8078 disabed additional index entries again, as this makes docs-gen just
8079 slow and they aren't useful yet
8080 * docs/libs/gstreamer-libs-sections.txt:
8081 little -section.txt cleanup for libs
8083 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
8085 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8086 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8087 fix up some debugging
8088 (gst_base_transform_get_unit_size),
8089 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8090 (gst_base_transform_handle_buffer):
8091 * gst/base/gstbasetransform.h:
8092 handle and store timed NEWSEGMENT events so that subclasses that
8093 calculate time by counting samples have a segment_start time they
8094 need to add to their timestamps - see audioresample
8096 2005-08-26 Stefan Kost <ensonic@users.sf.net>
8099 removed ';' from the end of macro defs
8100 * docs/gst/gstreamer-docs.sgml:
8101 * docs/gst/gstreamer-sections.txt:
8102 * docs/gst/tmpl/.cvsignore:
8104 * gst/gstelement.c: (gst_element_class_init),
8105 (gst_element_set_state), (activate_pads),
8106 (gst_element_save_thyself):
8107 * gst/gstevent.c: (gst_event_new_newsegment):
8109 * gst/gstiterator.c:
8110 * gst/gstiterator.h:
8113 * gst/gstutils.c: (gst_pad_query_convert):
8115 fixed parameter name mismatches between source, header and docs
8116 added some more docs, resolved the last batch of unused elements in
8117 docs (now someone needs to doc them)
8119 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8121 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8122 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8123 don't walk through the plugins backwards. Where is all this
8124 reversed logic coming from ?
8126 2005-08-25 Wim Taymans <wim@fluendo.com>
8128 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8129 (gst_base_transform_transform_size),
8130 (gst_base_transform_configure_caps),
8131 (gst_base_transform_get_unit_size),
8132 (gst_base_transform_buffer_alloc),
8133 (gst_base_transform_change_state):
8134 * gst/base/gstbasetransform.h:
8135 Cache caps unit_size.
8136 Make sure we cannot negotiate up and downstream at the
8139 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8141 * gst/gst.c: (init_pre), (init_post):
8142 register the installed plugin path after the env var
8143 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8144 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8145 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8146 directories, so the tests can prefer uninstalled over installed
8148 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
8150 * gst/base/gstbasetransform.h:
8155 2005-08-25 Wim Taymans <wim@fluendo.com>
8157 * gst/gstbin.c: (bin_bus_handler):
8158 Be a bit more conservative about the posted message.
8160 * gst/gstbus.c: (gst_bus_post):
8161 Some cleanups, warn wrong return values.
8163 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
8165 * check/gst/gstbin.c: (GST_START_TEST):
8166 * gst/gstbin.c: (bin_bus_handler):
8167 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8168 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8169 (gst_message_new_warning), (gst_message_new_tag),
8170 (gst_message_new_state_changed), (gst_message_new_segment_start),
8171 (gst_message_new_segment_done), (gst_message_new_custom):
8173 * tools/gst-launch.c: (event_loop):
8174 * tools/gst-md5sum.c: (event_loop):
8175 Revert unpopular change for GST_MESSAGE_SRC to GObject.
8177 2005-08-25 Wim Taymans <wim@fluendo.com>
8179 * check/generic/states.c: (GST_START_TEST):
8180 Cleanup can be done at the end.
8182 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8183 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8184 (gst_task_get_state), (gst_task_start), (gst_task_pause):
8185 Oh boy.. Thanks for finding this, Thomas.
8187 2005-08-25 Stefan Kost <ensonic@users.sf.net>
8189 * docs/gst/gstreamer.types:
8192 2005-08-25 Stefan Kost <ensonic@users.sf.net>
8194 * docs/gst/gstreamer-docs.sgml:
8195 * docs/gst/gstreamer-sections.txt:
8196 * docs/gst/tmpl/.cvsignore:
8198 * gst/gstiterator.c:
8200 * gst/registries/gstxmlregistry.h:
8201 added missing classes and symbols (123 more to go)
8202 removed removed symbols from section file
8203 fixed many doc-comments
8205 2005-08-24 Wim Taymans <wim@fluendo.com>
8207 * check/generic/states.c: (GST_START_TEST):
8208 Make sure all tasks are stopped.
8210 * check/gst/gstbin.c: (GST_START_TEST):
8211 Unref after usage for proper valgrinding.
8213 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8214 Really wait for the task to stop before destroying the
8217 * gst/gstqueue.c: (gst_queue_sink_activate_push),
8218 (gst_queue_src_activate_push):
8219 Small cleanups. Don't stop the task when we did not start
8222 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8223 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8224 (gst_task_get_state), (gst_task_start), (gst_task_pause),
8227 Protect the stream lock with the object lock.
8228 Disallow setting the stream lock when running.
8229 Add cleanup_all to wait for the threadpool to finish.
8230 Remove code to autoallocate a mutex if none was provided.
8231 Add _join() to wait for a task to stop.
8232 Protect the thread pool with a global lock.
8234 2005-08-24 Wim Taymans <wim@fluendo.com>
8236 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8237 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8238 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8239 * gst/base/gstbasesink.h:
8240 Handle newsegment events correctly.
8241 Drop buffers out of the segment range.
8243 2005-08-22 Andy Wingo <wingo@pobox.com>
8245 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8246 macro, implements an interface and gstimplementsinterface for a
8249 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
8251 * check/Makefile.am:
8252 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8253 add a test that does a bunch of state changes on elements
8254 needs some fixing for valgrind
8255 * check/states/sinks.c: (gst_object_suite):
8258 add prototype for gst_caps_is_equal_fixed
8260 * gst/gstregistrypool.c:
8263 2005-08-24 Andy Wingo <wingo@pobox.com>
8265 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8266 convert a negative value. Doesn't make much sense. Mostly this is
8267 here to force callers to ensure -1 maps to -1.
8269 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
8271 * docs/pwg/advanced-types.xml:
8272 Well done to Michael for catching my deliberate introduction
8273 of this spelling mistake.
8274 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8276 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8277 unlink pads before removing the element from the bin.
8279 2005-08-24 Andy Wingo <wingo@pobox.com>
8281 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8282 the same thing as GST_DEBUG=*:4.
8283 (parse_debug_level, parse_debug_category): New helper parsers.
8285 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
8287 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8288 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8289 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8290 (gst_base_transform_buffer_alloc),
8291 (gst_base_transform_handle_buffer):
8292 use gboolean return values and pointers to size so we can use the
8293 full GST_BUFFER_SIZE range (guint) for buffer sizes
8294 use GstPadDirection for transform_caps
8295 * gst/base/gstbasetransform.h:
8296 rename get_size to get_unit_size since that's what it is
8297 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8298 use GstPadDirection for transform_caps
8299 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8301 cleanup and debugging
8303 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8305 * gst/gstelement.c: (gst_element_class_init),
8306 (gst_element_set_state), (activate_pads),
8307 (gst_element_save_thyself):
8308 * tools/gst-compprep.c: (main):
8309 * tools/gst-inspect.c: (print_element_properties_info):
8310 * tools/gst-xmlinspect.c: (print_element_properties):
8311 Fixed long standing mem-leak
8313 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
8315 * check/gst/gstbin.c: (GST_START_TEST):
8316 * gst/gstbin.c: (bin_bus_handler):
8317 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8318 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8319 (gst_message_new_warning), (gst_message_new_tag),
8320 (gst_message_new_state_changed), (gst_message_new_segment_start),
8321 (gst_message_new_segment_done), (gst_message_new_custom):
8323 * tools/gst-launch.c: (event_loop):
8324 * tools/gst-md5sum.c: (event_loop):
8325 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8326 that applications can sensibly post custom messages with references
8327 to their own objects.
8329 2005-08-24 Andy Wingo <wingo@pobox.com>
8331 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8334 2005-08-24 Wim Taymans <wim@fluendo.com>
8336 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8337 (gst_base_transform_transform_caps),
8338 (gst_base_transform_transform_size),
8339 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8340 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8341 (gst_base_transform_handle_buffer):
8342 * gst/base/gstbasetransform.h:
8343 Many fixes and new features added by Thomas. Can now also do
8344 transforms with variable sizes and a custom fixate_caps function.
8346 2005-08-24 Wim Taymans <wim@fluendo.com>
8348 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8352 Cast to ClockTime before formatting to time.
8357 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8359 * check/gst-libs/controller.c: (GST_START_TEST),
8360 (gst_controller_suite):
8361 * docs/gst/tmpl/gstcaps.sgml:
8362 * docs/gst/tmpl/gstghostpad.sgml:
8363 * docs/gst/tmpl/gstquery.sgml:
8364 * docs/gst/tmpl/gstutils.sgml:
8365 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8366 (gst_object_sink_values), (gst_object_get_value_arrays),
8367 (gst_object_get_value_array):
8368 gracefully handle helper method calls to objects that are not beeing
8369 controlled, added test case for that
8371 2005-08-23 Wim Taymans <wim@fluendo.com>
8373 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8374 (gst_event_new_newsegment), (gst_event_parse_newsegment),
8375 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8376 (gst_event_parse_qos), (gst_event_new_seek),
8377 (gst_event_parse_seek):
8379 Some more debugging output and doc cleanups.
8381 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8382 Fix possible deadlock.
8384 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8386 * docs/gst/gstreamer-docs.sgml:
8387 * docs/gst/gstreamer-sections.txt:
8388 * docs/gst/gstreamer.types:
8389 * docs/gst/tmpl/.cvsignore:
8394 added 100 symbols from gstreamer-unused.txt to the right sections
8395 fixed more broken comments
8396 added GstBus to docs
8398 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8400 * docs/gst/gstreamer-sections.txt:
8401 * docs/gst/tmpl/.cvsignore:
8402 * docs/gst/tmpl/gstbin.sgml:
8403 * docs/gst/tmpl/gstbuffer.sgml:
8404 * gst/base/gstbasesrc.c:
8405 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8408 * tools/gst-launch.1.in:
8409 inlined more doc comments, added missing comments and fixed comments
8412 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
8414 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8418 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8420 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8421 * gst/gststructure.h:
8422 add a fixate function for booleans; add a FIXME that these func
8423 names should probably be gst_structure_fixate_*
8425 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8427 * docs/gst/gstreamer-docs.sgml:
8428 * docs/gst/gstreamer-sections.txt:
8430 * gst/gstbin.c: (gst_bin_get_type),
8431 (gst_bin_child_proxy_get_child_by_index),
8432 (gst_bin_child_proxy_get_children_count),
8433 (gst_bin_child_proxy_init):
8434 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8435 (gst_child_proxy_get_child_by_index),
8436 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8437 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8438 (gst_child_proxy_get), (gst_child_proxy_set_property),
8439 (gst_child_proxy_set_valist), (gst_child_proxy_set),
8440 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8441 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8442 * gst/gstchildproxy.h:
8443 * gst/parse/grammar.y:
8444 * tools/gst-inspect.c: (print_interfaces),
8445 (print_element_properties_info), (print_element_info):
8446 ported gstchildproxy over from 0.8
8447 ported gst-inspect fixes and enhancements over from 0.8
8449 2005-08-22 Wim Taymans <wim@fluendo.com>
8451 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8452 (gst_base_transform_handle_buffer):
8453 Also call the transform function if we have ANY caps.
8455 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8458 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8460 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8461 Don't pretend to handle seek events if the source is not seekable
8463 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8465 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8466 Remove extra parameter to debug output
8468 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8469 (gst_base_src_do_seek), (gst_base_src_activate_push):
8470 Fix seek event handling.
8472 * gst/gstpipeline.c: (gst_pipeline_change_state):
8473 * gst/gstqueue.c: (gst_queue_handle_sink_event),
8474 (gst_queue_src_activate_push):
8475 Don't start the src pad task on FLUSH_STOP if the pad
8479 2005-08-22 Wim Taymans <wim@fluendo.com>
8481 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8482 Added check for gst_static_caps_get() refcounting.
8484 2005-08-22 Wim Taymans <wim@fluendo.com>
8486 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8487 Make _static_caps_get() refcounting sane.
8489 * gst/gstelement.c: (gst_element_set_state):
8490 Add g_return_val_if_fail() to protect against segfaults.
8492 2005-08-22 Stefan Kost <ensonic@users.sf.net>
8494 * docs/gst/tmpl/gstevent.sgml:
8497 inlined remaining docs, added missing doc comments
8499 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
8501 * check/gst/gstbin.c: (GST_START_TEST):
8502 since we don't know when preroll is done, use refcount range
8504 * gst/check/gstcheck.h:
8505 add macro for checking refcount range
8507 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8509 * check/Makefile.am:
8510 clean up environment for when registry gets built versus
8511 when actual tests are run; valgrind seems to not report
8512 leaks if GST_PLUGIN_PATH is set to some specific values
8513 * check/gst/gstbin.c: (GST_START_TEST):
8514 add more refcounting checks; maybe this exposes a
8517 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8518 * gst/check/gstcheck.h:
8519 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8520 (gst_bin_change_state):
8521 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8522 add/fix debugging/whitespace
8524 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8526 * check/gst/gstevent.c: (event_probe), (test_event),
8528 Er, don't call gst_bin_watch_for_state_change you idiot.
8530 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8532 * check/Makefile.am:
8533 Use CHECK_CFLAGS and CHECK_LIBS
8534 * check/gst/gstevent.c: (event_probe), (test_event),
8537 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8538 (gst_base_src_start), (gst_base_src_stop),
8539 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8540 (gst_base_src_change_state):
8541 Sprinkle gst_base_src_stop liberally around error paths to fix
8542 problems reusing a source after failed state changes.
8543 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8544 (helper_find_suggest), (gst_type_find_helper):
8545 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8547 * docs/gst/tmpl/gstevent.sgml:
8548 Migrate part of the docs from the SGML file. Wait for ensonic to
8549 tell me how I did it wrong ;)
8550 * tools/gst-typefind.c: (main):
8551 Extra robustness to state changes between files.
8553 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8555 * check/Makefile.am:
8556 don't valgrind the controller test - it's leaking - Stefan, HELP
8557 * gst/check/gstcheck.c: (gst_check_message_error),
8558 (gst_check_chain_func), (gst_check_setup_element),
8559 (gst_check_teardown_element), (gst_check_setup_src_pad),
8560 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8561 (gst_check_teardown_sink_pad):
8562 * gst/check/gstcheck.h:
8563 add a bunch of methods to set up elements, and src and sink pads
8564 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8565 * check/elements/identity.c: (setup_identity), (cleanup_identity),
8570 whitespace/doc fixes
8572 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8575 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8576 be handled by the application and not always printed as well
8578 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8580 * check/Makefile.am:
8582 * gst/check/gstcheck.c: (gst_check_message_error):
8583 * gst/check/gstcheck.h:
8584 add a fail_unless_equals_int
8585 add fail_unless for error messages
8587 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8589 * check/Makefile.am:
8591 * common/Makefile.am:
8594 factor out some of the common stuff so we can use it
8596 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8598 * check/Makefile.am:
8599 * check/gst/gstiterator.c: (GST_START_TEST):
8600 * check/gst/gstsystemclock.c: (GST_START_TEST),
8601 (gst_systemclock_suite):
8602 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8606 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8608 * check/elements/.cvsignore:
8609 * check/elements/gstfakesrc.c:
8610 rename to name of element
8611 * check/elements/identity.c: (chain_func), (event_func),
8612 (setup_identity), (cleanup_identity), (GST_START_TEST),
8613 (identity_suite), (main):
8614 add a test for identity
8615 * check/Makefile.am:
8616 * pkgconfig/Makefile.am:
8617 * pkgconfig/gstreamer-check.pc.in:
8618 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8622 move the check stuff to a library that gets installed
8623 * check/gst-libs/controller.c: (GST_START_TEST):
8624 * check/gst-libs/gdp.c:
8625 * check/gst/gst.c: (GST_START_TEST):
8626 * check/gst/gstbin.c:
8627 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8628 * check/gst/gstbus.c:
8629 * check/gst/gstcaps.c: (GST_START_TEST):
8630 * check/gst/gstelement.c:
8631 * check/gst/gstghostpad.c:
8632 * check/gst/gstiterator.c:
8633 * check/gst/gstmessage.c:
8634 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8635 * check/gst/gstobject.c:
8636 * check/gst/gstpad.c: (GST_START_TEST):
8637 * check/gst/gststructure.c: (GST_START_TEST):
8638 * check/gst/gstsystemclock.c: (GST_START_TEST),
8639 (gst_systemclock_suite):
8640 * check/gst/gsttag.c: (gst_tag_suite):
8641 * check/gst/gstvalue.c:
8642 * check/pipelines/cleanup.c:
8643 * check/pipelines/simple_launch_lines.c:
8644 * check/states/sinks.c:
8645 change include statement
8647 * docs/gst/gstreamer-sections.txt:
8648 * docs/gst/tmpl/gstpad.sgml:
8649 document more pad stuff
8650 * gst/gstminiobject.c: (gst_mini_object_ref),
8651 (gst_mini_object_unref):
8654 2005-08-19 Stefan Kost <ensonic@users.sf.net>
8656 * docs/gst/tmpl/gst.sgml:
8658 eliminate another tmpl file, fix spelling in the long-description
8660 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8662 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8663 (test_event), (timediff), (gstevents_suite):
8664 Should fix build on 64-bit arch's
8666 2005-08-18 Andy Wingo <wingo@pobox.com>
8668 Make sure that when a pipeline goes to PLAYING, that data has
8669 actually hit the sink.
8671 * check/states/sinks.c (test_sink): A sink that doesn't get any
8672 data shouldn't return SUCCESS for going to either PLAYING or
8673 PAUSED. Test also the return values on the way back down.
8675 * gst/gstelement.c (gst_element_set_state): When changing the
8676 state of an element currently changing state asynchronously, go to
8677 lost-state after commiting the pending state. Makes future calls
8678 to get_state continue to return ASYNC.
8680 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8681 ASYNC when going to PLAYING if we still don't have preroll, as can
8682 happen with live sources.
8684 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8686 * docs/pwg/advanced-types.xml:
8687 Hack long paragraph into 2 chunks as a workaround for buggy
8688 jadetex version in sid and breezy that loops infinitely and
8691 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8693 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8694 (test_event), (timediff), (gstevents_suite):
8695 Provide more error margin in clock measurements to allow for
8696 g_get_current_time inaccuracies.
8698 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8700 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8701 (test_event), (timediff), (gstevents_suite):
8702 Fix error message output so I might be able to tell why the
8703 test works here but fails on the build farm.
8705 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8707 * check/Makefile.am:
8708 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8709 (test_event), (timediff), (gstevents_suite), (main):
8712 * docs/design/part-seeking.txt:
8715 * docs/gst/tmpl/gstevent.sgml:
8716 * docs/gst/tmpl/gstfakesrc.sgml:
8719 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8720 Treat a buffer-without-newsegment the same as a receiving
8721 a newsegment not in time format, and disable syncing to the clock
8724 * gst/gstbus.c: (gst_bus_set_sync_handler):
8725 Assert if anyone tries to replace the existing sync_handler for bus,
8726 as only the owner should be setting it.
8729 Have a fixed set of custom event enums with events identified by
8730 their structure name (as in 0.8), rather than a free-for-all
8731 allowing collisions between enum values from different plugins.
8733 * gst/gstpad.c: (gst_pad_class_init):
8736 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8737 Handle out-of-band downstream events from the sending thread.
8739 2005-08-17 Andy Wingo <wingo@pobox.com>
8741 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8742 play-timeout==0 to mean no timeout at all. In that case, don't
8743 bother with a get_state or a warning, just return directly, even
8746 * gst/base/gstbasetransform.c: Debug changes.
8749 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8750 ensure bins post state change messages. A bit of a hack but I can't
8751 think of a way to avoid it.
8753 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8755 2005-08-16 Andy Wingo <wingo@pobox.com>
8757 * gst/base/gstadapter.h:
8758 * gst/base/gstadapter.c (gst_adapter_take): New function, like
8759 peek() but you own the data. Not terribly efficient atm.
8761 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8763 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8764 (gst_element_found_tags):
8766 Add two utility functions for tag handling.
8768 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8770 * docs/manual/advanced-dataaccess.xml:
8771 * docs/manual/basics-helloworld.xml:
8772 Fix docs to use _bin_add() before _link(), which fixes the examples
8773 with recent core versions (reported by Madhan Raj M
8774 <raj_madan@rediffmail.com>, #313199).
8776 2005-08-16 Wim Taymans <wim@fluendo.com>
8778 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8779 Added subtract checks.
8781 * docs/design/part-events.txt:
8782 Some more docs about newsegment
8784 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8787 * gst/gstcaps.c: (gst_caps_to_string):
8788 Add comments, cleanups.
8790 * gst/gstelement.c: (gst_element_save_thyself):
8793 * gst/gstvalue.c: (gst_value_collect_int_range),
8794 (gst_string_unwrap), (gst_value_union_int_int_range),
8795 (gst_value_union_int_range_int_range),
8796 (gst_value_intersect_int_int_range),
8797 (gst_value_intersect_int_range_int_range),
8798 (gst_value_intersect_double_double_range),
8799 (gst_value_intersect_double_range_double_range),
8800 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8801 (gst_value_subtract_int_range_int),
8802 (gst_value_subtract_double_range_double),
8803 (gst_value_subtract_double_range_double_range),
8804 (gst_value_subtract_from_list), (gst_value_subtract_list),
8805 (gst_value_can_compare), (gst_value_compare_fraction):
8806 Cleanups, add comments, remove unneeded asserts.
8808 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8810 * tools/gst-launch.c: (event_loop):
8811 don't convert NULL structures to strings
8813 2005-08-15 Stefan Kost <ensonic@users.sf.net>
8815 * docs/gst/gstreamer-sections.txt:
8816 made some defines private
8817 * docs/gst/tmpl/gstconfig.sgml:
8818 * docs/gst/tmpl/gstqueue.sgml:
8819 * docs/gst/tmpl/gsttaglist.sgml:
8820 * docs/gst/tmpl/gsttypes.sgml:
8821 * docs/gst/tmpl/gstutils.sgml:
8822 * docs/pwg/appendix-porting.xml:
8823 * gst/base/gstbasesink.h:
8824 * gst/base/gstbasesrc.c:
8825 * gst/base/gstbasesrc.h:
8826 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8827 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8828 * gst/gstelement.c: (gst_element_class_init):
8829 * gst/gstpad.c: (gst_pad_class_init):
8830 * gst/gstqueue.c: (gst_queue_class_init):
8831 * gst/gstxml.c: (gst_xml_class_init):
8832 documented all undocumented signal inline
8833 * libs/gst/controller/gst-controller.h:
8836 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8838 * docs/pwg/appendix-porting.xml:
8839 Document _set_link_function -> _set_setcaps_function.
8841 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8843 * check/Makefile.am:
8844 add a .check target for running the check
8845 * check/gst-libs/controller.c: (GST_START_TEST):
8847 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8848 complete checks for gstbuffer; would be nice if I could get the
8849 gcov stuff to work so I can see if I actually completed gstbuffer.c
8851 add ASSERT_BUFFER_REFCOUNT
8853 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8855 * docs/gst/gstreamer-sections.txt:
8856 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8858 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8859 spew out a warning if a tag that is already registered
8860 is re-registered, unless it is re-registered with a
8861 different type (#308438).
8863 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8865 * docs/pwg/appendix-porting.xml:
8866 * docs/pwg/building-state.xml:
8867 Add some paragraphs about state changes in 0.9 to the PWG
8868 and the porting guide, in particular about the new meaning
8869 of GST_STATE_PAUSED and how to write state change functions
8870 with concurrent access by multiple threads in mind.
8872 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8874 * docs/gst/gstreamer-docs.sgml:
8875 * docs/libs/gstreamer-libs-docs.sgml:
8876 added deprecation and since indexes
8877 * libs/gst/controller/gst-controller.c:
8878 * libs/gst/controller/gst-helper.c:
8882 2005-08-11 Wim Taymans <wim@fluendo.com>
8884 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8885 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8886 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8887 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8888 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8889 (gst_ghost_pad_set_target):
8890 Actually implement (re)setting the target on a ghostpad
8891 as described in the docs.
8893 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8895 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8896 Check whether GST_DEBUG_NO_COLOR environment variable is
8897 set and disable coloured debug output if that is the case.
8899 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8901 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8902 (gst_type_find_helper):
8903 The memory returned by gst_type_find_peek() needs to
8904 stay valid until the end of a typefind function, and
8905 typefind functions may keep results from different
8906 offsets around, so we can't just unref the buffer from
8907 the previous _peek(), but have to save all buffers
8908 returned by _peek() until typefinding is done and only
8911 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8913 * docs/gst/gstreamer-sections.txt:
8915 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8917 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8919 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8920 Fix a pretty good memleak.
8922 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8924 * gst/gstiterator.h:
8925 Fix wrong include and 'make distcheck'.
8927 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8929 * gst/gstbin.c: (bin_bus_handler):
8930 Use gst_element_post_message() instead.
8932 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8934 * gst/base/gstadapter.h:
8935 * gst/base/gstbasesink.h:
8936 * gst/base/gstbasesrc.h:
8937 * gst/base/gstbasetransform.h:
8938 * gst/base/gstcollectpads.h:
8939 * gst/base/gstpushsrc.h:
8940 * gst/gstiterator.h:
8941 Add padding to our base elements' class and instance structs and
8942 to GstIterator (you will need to rebuild all plugins and apps!)
8944 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8946 * gst/gstbin.c: (bin_bus_handler):
8947 Make default message forwarding from child->bus to bin->bus
8948 threadsafe and make it not emit warnings if the parent has no bus.
8950 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8952 * gst/gstelement.c: (activate_pads):
8953 On paused->ready, set pad->caps to NULL, as is the documented
8954 behaviour in this state change. Fixes playback of series of
8955 media files when visualization is enabled in Totem.
8957 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8959 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8960 Allow NULL as filter-caps (which means "any").
8962 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8964 * docs/libs/gstreamer-libs-sections.txt:
8965 * libs/gst/controller/gst-controller.c:
8966 * libs/gst/controller/gst-controller.h:
8967 * libs/gst/controller/gst-helper.c:
8968 adding more entries to the docs and fix small doc-bugs
8970 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8972 * docs/gst/gstreamer-docs.sgml:
8973 * docs/gst/gstreamer-sections.txt:
8974 * docs/gst/gstreamer.types:
8975 * docs/gst/tmpl/gstbasesink.sgml:
8976 * docs/gst/tmpl/gstbasesrc.sgml:
8977 * docs/gst/tmpl/gstbasetransform.sgml:
8978 * docs/gst/tmpl/gstfakesrc.sgml:
8979 * gst/base/gstcollectpads.c:
8980 * gst/base/gstcollectpads.h:
8981 * libs/gst/controller/gst-controller.c:
8982 * libs/gst/controller/gst-controller.h:
8983 * libs/gst/controller/gst-helper.c:
8984 * libs/gst/controller/gst-interpolation.c:
8985 * libs/gst/controller/lib.c:
8986 added long/short desc for controller docs
8987 added collectpads base class docs
8988 added correct includes to base-class docs
8990 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8992 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8993 (gst_test_mono_source_set_property),
8994 (gst_test_mono_source_class_init), (GST_START_TEST),
8995 (gst_controller_suite):
8996 * docs/gst/gstreamer-docs.sgml:
8997 * docs/gst/gstreamer-sections.txt:
8998 * docs/gst/gstreamer.types:
8999 * docs/libs/gstreamer-libs-docs.sgml:
9000 * docs/libs/gstreamer-libs-sections.txt:
9001 * gst/base/gstadapter.c:
9002 * libs/gst/controller/gst-controller.c:
9003 (gst_controlled_property_new), (gst_controlled_property_free),
9004 (gst_controller_new_valist),
9005 (gst_controller_remove_properties_valist),
9006 (gst_controller_sink_values), (_gst_controller_finalize):
9007 * libs/gst/controller/gst-controller.h:
9008 * libs/gst/controller/gst-helper.c:
9009 (gst_object_control_properties), (gst_object_uncontrol_properties),
9010 (gst_object_get_controller), (gst_object_set_controller),
9011 (gst_object_sink_values), (gst_object_get_value_arrays),
9012 (gst_object_get_value_array):
9013 more tests (and fixes) for the controller
9014 more docs for the controller
9015 integrated companies docs for the adapter
9017 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
9019 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9020 (GST_START_TEST), (fakesrc_suite):
9021 add tests for sizetype
9023 2005-08-04 Andy Wingo <wingo@pobox.com>
9025 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9026 fixes buffer_alloc proxying among other things.
9028 * gst/base/gstbasetransform.c:
9029 * gst/base/gstbasetransform.h:
9030 Revert patch to gstbasetransform from 7-28 removing
9033 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9034 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9035 Semantics changed, should return not the size of the output buffer
9036 but the byte size of a buffer with a given caps.
9038 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9040 (gst_base_transform_configure_caps): Don't set out_size here: (in,
9041 out) are not the pad caps until setcaps finishes.
9042 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9043 not-in-place case as well. Deal with changing from in-place to
9044 not-in-place within calling pad_alloc_buffer. Still a bit
9045 concerned about the overhead here...
9047 2005-08-03 Andy Wingo <wingo@pobox.com>
9049 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9050 fixating is an error.
9052 2005-08-04 Edward Hervey <edward@fluendo.com>
9054 * gst/base/gstadapter.h:
9055 Added gst_adapter_get_type() to the header
9057 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9059 * check/Makefile.am:
9060 * check/gst-libs/controller.c:
9061 * libs/gst/controller/gst-controller.c:
9062 (gst_controller_new_valist):
9063 added check test suite for the controller
9064 * gst/base/gstpushsrc.c:
9067 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9069 * docs/gst/Makefile.am:
9070 * docs/gst/gstreamer-docs.sgml:
9071 * docs/gst/gstreamer-sections.txt:
9072 * docs/gst/gstreamer.types:
9073 * docs/gst/tmpl/gstfakesrc.sgml:
9075 * gst/base/gstbasesink.c:
9076 * gst/base/gstbasesink.h:
9077 * gst/base/gstbasesrc.c:
9078 * gst/base/gstbasesrc.h:
9079 * gst/base/gstbasetransform.c:
9080 * gst/base/gstpushsrc.c:
9081 * gst/base/gstpushsrc.h:
9082 add short/long description docs to base classes
9083 add pushsrc to the docs
9084 remove consolidated doc fragments
9086 2005-08-03 Stefan Kost <ensonic@users.sf.net>
9089 * docs/libs/Makefile.am:
9090 * docs/libs/gstreamer-libs-docs.sgml:
9091 * docs/libs/gstreamer-libs-sections.txt:
9092 * docs/libs/gstreamer-libs.types:
9093 * examples/Makefile.am:
9094 * examples/controller/.cvsignore:
9095 * examples/controller/Makefile.am:
9096 * examples/controller/audio-example.c: (main):
9097 * libs/gst/Makefile.am:
9098 * libs/gst/controller/.cvsignore:
9099 * libs/gst/controller/Makefile.am:
9100 * libs/gst/controller/gst-controller.c:
9101 (on_object_controlled_property_changed), (gst_timed_value_compare),
9102 (gst_timed_value_find),
9103 (gst_controlled_property_set_interpolation_mode),
9104 (gst_controlled_property_new), (gst_controlled_property_free),
9105 (gst_controller_find_controlled_property),
9106 (gst_controller_new_valist), (gst_controller_new),
9107 (gst_controller_remove_properties_valist),
9108 (gst_controller_remove_properties), (gst_controller_set),
9109 (gst_controller_set_from_list), (gst_controller_unset),
9110 (gst_controller_get), (gst_controller_get_all),
9111 (gst_controller_sink_values), (gst_controller_get_value_arrays),
9112 (gst_controller_get_value_array),
9113 (gst_controller_set_interpolation_mode),
9114 (_gst_controller_finalize), (_gst_controller_init),
9115 (_gst_controller_class_init), (gst_controller_get_type):
9116 * libs/gst/controller/gst-controller.h:
9117 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9118 (g_object_uncontrol_properties), (g_object_get_controller),
9119 (g_object_set_controller), (g_object_sink_values),
9120 (g_object_get_value_arrays), (g_object_get_value_array):
9121 * libs/gst/controller/gst-interpolation.c:
9122 (gst_controlled_property_find_timed_value_node),
9123 (interpolate_none_get), (interpolate_trigger_get),
9124 (interpolate_trigger_get_value_array):
9125 * libs/gst/controller/lib.c: (gst_controller_init):
9126 * pkgconfig/Makefile.am:
9127 * pkgconfig/gstreamer-control-uninstalled.pc.in:
9128 * pkgconfig/gstreamer-control.pc.in:
9129 * testsuite/Makefile.am:
9130 * testsuite/controller/.cvsignore:
9131 * testsuite/controller/Makefile.am:
9132 * testsuite/controller/interpolator.c: (main):
9133 added controller code
9134 removed dparam pc files
9136 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
9137 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9138 (gst_collectpads_stop):
9139 Broadcast the condition when shutting down, to make sure we wake all
9140 threads up. Shut down pads on finalize, for safety.
9142 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
9143 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9144 (gst_base_transform_handle_buffer),
9145 (gst_base_transform_change_state):
9146 Handle PAUSED->READY->PAUSED transition after negotiation
9148 * gst/gstmessage.c: (gst_message_init):
9149 Extra piece of debug for new messages.
9151 2005-08-01 Stefan Kost <ensonic@users.sf.net>
9154 * docs/gst/tmpl/gstbasesrc.sgml:
9155 * docs/gst/tmpl/gstelement.sgml:
9156 * docs/gst/tmpl/gstevent.sgml:
9157 * docs/gst/tmpl/gstfakesrc.sgml:
9158 * docs/gst/tmpl/gstformat.sgml:
9159 * docs/gst/tmpl/gstghostpad.sgml:
9160 * docs/gst/tmpl/gstpad.sgml:
9161 * docs/gst/tmpl/gstquery.sgml:
9162 * docs/gst/tmpl/gststructure.sgml:
9163 * docs/gst/tmpl/gsttaglist.sgml:
9164 * docs/gst/tmpl/gstvalue.sgml:
9165 * docs/libs/gstreamer-libs-docs.sgml:
9166 * docs/libs/gstreamer-libs-sections.txt:
9167 * docs/libs/gstreamer-libs.types:
9168 * libs/gst/Makefile.am:
9169 * libs/gst/control/.cvsignore:
9170 * libs/gst/control/Makefile.am:
9171 * libs/gst/control/control.c:
9172 * libs/gst/control/control.h:
9173 * libs/gst/control/dparam.c:
9174 * libs/gst/control/dparam.h:
9175 * libs/gst/control/dparam_smooth.c:
9176 * libs/gst/control/dparam_smooth.h:
9177 * libs/gst/control/dparamcommon.h:
9178 * libs/gst/control/dparammanager.c:
9179 * libs/gst/control/dparammanager.h:
9180 * libs/gst/control/dplinearinterp.c:
9181 * libs/gst/control/dplinearinterp.h:
9182 * libs/gst/control/unitconvert.c:
9183 * libs/gst/control/unitconvert.h:
9184 * testsuite/Makefile.am:
9185 * testsuite/dynparams/.cvsignore:
9186 * testsuite/dynparams/Makefile.am:
9187 * testsuite/dynparams/dparamstest.c:
9188 * tools/Makefile.am:
9189 * tools/gst-inspect.c: (print_element_info), (main):
9190 * tools/gst-xmlinspect.c: (print_element_info), (main):
9191 deactivate and remove dparams (libgstcontrol)
9193 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9195 * gst/elements/gsttypefindelement.c:
9196 (gst_type_find_element_have_type), (gst_type_find_element_init),
9197 (stop_typefinding), (gst_type_find_element_handle_event),
9198 (gst_type_find_element_chain), (gst_type_find_element_getrange):
9199 * gst/elements/gsttypefindelement.h:
9200 Set caps on all outgoing buffers, not just the first one.
9202 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9204 * gst/elements/gsttypefindelement.c:
9205 (gst_type_find_element_have_type),
9206 (gst_type_find_element_check_set_buffer_caps),
9207 (gst_type_find_element_init), (stop_typefinding),
9208 (gst_type_find_element_handle_event),
9209 (gst_type_find_element_chain), (gst_type_find_element_getrange):
9210 * gst/elements/gsttypefindelement.h:
9211 Set caps on first outgoing buffer when we've found the type.
9213 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
9215 * docs/gst/gstreamer-docs.sgml:
9216 * docs/gst/gstreamer-sections.txt:
9217 * docs/gst/tmpl/gstscheduler.sgml:
9218 * docs/gst/tmpl/gstschedulerfactory.sgml:
9219 Remove some old cruft from docs.
9221 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
9224 Fix inline docs for GstPadLinkReturn.
9226 * gst/gststructure.c: (gst_structure_has_name):
9227 * gst/gststructure.h:
9228 * docs/gst/gstreamer-sections.txt:
9229 New API: gst_structure_has_name().
9231 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
9234 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9235 and _LARGEFILE_SOURCE in config.h as required. Do not
9236 export those flags in our .pc files any longer (#142209).
9238 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9240 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9241 (gst_file_sink_do_seek), (gst_file_sink_event),
9242 (gst_file_sink_get_current_offset), (gst_file_sink_render):
9243 Redo seek/tell calls with large file support in mind; add some
9244 debugging messages; add log message that tells us when large
9245 file support is unavailable or not enabled for some reason.
9247 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9248 Add log message that tells us when large file support
9249 is unavailable or not enabled for some reason.
9251 2005-07-29 Wim Taymans <wim@fluendo.com>
9253 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9254 Added test for removing an element with ghostpad from a bin.
9255 Fixed test as current implementation does the right thing.
9257 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9258 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9259 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9260 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9261 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9262 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9263 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9264 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9265 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9266 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9267 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9268 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9269 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9270 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9271 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9272 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9273 * gst/gstghostpad.h:
9274 Clean up ghostpads, remove properties for internal stuff.
9277 Prepare for switching targets, not all use cases work yet.
9279 2005-07-29 Wim Taymans <wim@fluendo.com>
9281 * docs/design/part-gstghostpad.txt:
9284 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9285 (gst_bin_remove_func):
9286 Unlinking pads while holding the bin LOCK is not a good
9289 * gst/gstpad.c: (gst_pad_class_init),
9290 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9291 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9292 No prob setting template after creating the pad.
9294 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
9296 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9297 (gst_bus_peek), (gst_bus_source_dispatch),
9298 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9299 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9300 gst_bus_poll may be called from other threads. Handle
9301 this nicely by not making poll_data disappear off the
9302 stack once gst_bus_poll returns.
9303 gst_bus_peek now increments the refcount on the returned
9306 2005-07-29 Wim Taymans <wim@fluendo.com>
9308 * docs/design/part-gstghostpad.txt:
9309 Overview of current GhostPad datastructures and use
9310 cases for changing the target.
9312 2005-07-28 Wim Taymans <wim@fluendo.com>
9314 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9315 Added checks for hierarchy consistency whan adding linked
9318 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9319 Added check to test element scheduling without bin/pipeline.
9321 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9322 First add elements to bin, then link.
9324 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9325 (gst_bin_remove_func):
9326 Unlink pads from elements added/removed from bin to maintain
9327 hierarchy consistency.
9329 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9331 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9332 (gst_base_transform_handle_buffer):
9333 * gst/base/gstbasetransform.h:
9334 Remove broken delay_configure (fixes renegotiation of software
9335 scaling pipelines); remove some leftover printf()s.
9337 2005-07-28 Wim Taymans <wim@fluendo.com>
9339 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9340 Added some more tests for wrong hierarchy
9342 * docs/design/part-overview.txt:
9345 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9348 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9349 (gst_element_dispose):
9352 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9353 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9354 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9355 (gst_pad_set_caps), (gst_pad_send_event):
9356 Check for correct hierarchy when linking pads. Moving to
9357 strict requirement for ghostpads when linking elements in
9361 Clean ups. Added WRONG_HIERARCHY return value.
9363 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9365 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9366 Better debug if no transform is possible.
9368 2005-07-27 Wim Taymans <wim@fluendo.com>
9370 * docs/random/wtay/network-transp:
9373 2005-07-27 Wim Taymans <wim@fluendo.com>
9375 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9376 (gst_dp_event_from_packet):
9377 Fix serialization of seek events.
9379 2005-07-27 Wim Taymans <wim@fluendo.com>
9381 * check/gst-libs/gdp.c: (GST_START_TEST):
9382 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9383 Fix compilation and fix event serialization.
9385 2005-07-27 Wim Taymans <wim@fluendo.com>
9388 * docs/design/part-TODO.txt:
9389 * docs/design/part-events.txt:
9392 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9393 (gst_base_sink_event), (gst_base_sink_do_sync),
9394 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9395 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9396 (gst_base_src_do_seek), (gst_base_src_event_handler),
9397 (gst_base_src_loop):
9398 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9399 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9400 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9401 (gst_base_transform_event), (gst_base_transform_handle_buffer),
9402 (gst_base_transform_set_passthrough),
9403 (gst_base_transform_is_passthrough):
9404 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9405 * gst/elements/gstfilesink.c: (gst_file_sink_event):
9411 * gst/gstelement.c: (gst_element_seek):
9413 Update gst_element_seek.
9415 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9416 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9417 (gst_event_new_flush_start), (gst_event_new_flush_stop),
9418 (gst_event_new_eos), (gst_event_new_newsegment),
9419 (gst_event_parse_newsegment), (gst_event_new_tag),
9420 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9421 (gst_event_parse_qos), (gst_event_new_seek),
9422 (gst_event_parse_seek), (gst_event_new_navigation):
9424 Make GstEvent use GstStructure. Add parsing code, make sure the
9425 API is sufficiently generic.
9426 Mark possible directions of events and serialization.
9428 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9429 (_gst_message_copy), (gst_message_new_segment_start),
9430 (gst_message_new_segment_done), (gst_message_new_custom),
9431 (gst_message_parse_segment_start),
9432 (gst_message_parse_segment_done):
9435 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9436 (gst_pad_set_caps), (gst_pad_send_event):
9437 Update for new events.
9438 Catch events sent in wrong directions.
9440 * gst/gstqueue.c: (gst_queue_link_src),
9441 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9442 (gst_queue_handle_src_query):
9447 Remove event code from this file.
9449 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9450 (gst_dp_event_from_packet):
9453 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9455 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9456 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9457 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9458 Make debugging actually useful.
9460 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9462 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9463 (gst_pad_fixate_caps):
9464 Implement default fixation once again, so that gst_pad_fixate()
9465 actually does anything at all. This probably needs to be some
9466 sort of a last resort, and use profile-based fixation first, but
9467 since that doesn't exist yet, this is the best we have. Fixes
9468 visualization in Totem.
9470 2005-07-22 Wim Taymans <wim@fluendo.com>
9472 * docs/design/part-events.txt:
9475 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9476 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9477 (gst_base_sink_activate_pull):
9480 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9481 (gst_fake_src_create):
9482 Fix handoff marshall.
9484 * gst/elements/gstidentity.c: (gst_identity_class_init),
9485 (gst_identity_transform_ip):
9486 We're a real inplace element.
9488 * gst/gstbus.c: (gst_bus_post):
9489 Added some comments.
9491 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9492 * tests/muxing/case1.c: (main):
9493 * tests/sched/dynamic-pipeline.c: (main):
9494 * tests/sched/interrupt1.c: (main):
9495 * tests/sched/interrupt2.c: (main):
9496 * tests/sched/interrupt3.c: (main):
9497 * tests/sched/runxml.c: (main):
9498 * tests/sched/sched-stress.c: (main):
9499 * tests/seeking/seeking1.c: (event_received), (main):
9500 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9502 * tests/threadstate/threadstate3.c: (main):
9503 * tests/threadstate/threadstate4.c: (main):
9504 * tests/threadstate/threadstate5.c: (main):
9507 2005-07-21 Wim Taymans <wim@fluendo.com>
9509 * docs/design/part-seeking.txt:
9510 Some small additions.
9512 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9513 (gst_base_sink_get_times), (gst_base_sink_do_sync),
9514 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9515 * gst/base/gstbasesink.h:
9516 discont values are gint64, handle the math correctly.
9518 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9519 Make the basesrc report error if the source pad is not linked.
9521 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9522 (gst_queue_loop), (gst_queue_handle_src_query),
9523 (gst_queue_src_activate_push):
9524 Make queue collect data even if the srcpad is not linked.
9525 Start pushing out data as soon as it is linked.
9527 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9529 Added gst_flow_get_name() to ease error reporting.
9531 2005-07-20 Wim Taymans <wim@fluendo.com>
9533 * gst/gstmessage.c: (gst_message_new_segment_start),
9534 (gst_message_new_segment_done), (gst_message_parse_segment_start),
9535 (gst_message_parse_segment_done):
9537 Added a bunch of messages for advanced seeking.
9539 * gst/parse/grammar.y:
9540 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9541 (gst_dpman_state_changed):
9542 Fix some new-pad -> pad-added signals
9544 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9546 * docs/manual/appendix-porting.xml:
9547 * docs/pwg/appendix-porting.xml:
9548 Document new-pad/state-change signal renames and the FixedList
9551 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9553 * docs/manual/advanced-autoplugging.xml:
9554 * docs/manual/basics-helloworld.xml:
9555 * docs/manual/basics-pads.xml:
9556 * docs/random/ds/0.9-suggested-changes:
9557 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9562 * gst/gststructure.c: (gst_structure_value_get_generic_type),
9563 (gst_structure_parse_array), (gst_structure_parse_value):
9564 * gst/gstvalue.c: (gst_type_is_fixed),
9565 (gst_value_list_prepend_value), (gst_value_list_append_value),
9566 (gst_value_list_get_size), (gst_value_list_get_value),
9567 (gst_value_transform_array_string), (gst_value_serialize_array),
9568 (gst_value_deserialize_array), (gst_value_intersect_array),
9569 (gst_value_is_fixed), (_gst_value_initialize):
9571 GstElement::new-pad -> pad-added, GstElement::state-change ->
9572 state-changed, GstValueFixedList -> GstValueArray, add format and
9573 flags as their own arguments in gst_element_seek() (should improve
9574 "bindeability"), remove function generators since they don't work
9575 under a whole bunch of compilers (they were deprecated already
9578 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9580 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9581 (_gst_debug_register_funcptr):
9583 Fix illegal cast on some platforms (#309253).
9585 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9587 * gst/gstmessage.c: (gst_message_new_custom):
9589 Add _new_custom, make _new_application a macro to _new_custom.
9591 2005-07-20 Wim Taymans <wim@fluendo.com>
9593 * gst/base/gstbasesrc.c: (gst_base_src_init),
9594 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9595 * gst/base/gstbasesrc.h:
9596 Add a gboolean to decide when to push out a discont.
9598 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9599 (gst_queue_loop), (gst_queue_handle_src_query),
9600 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9601 (gst_queue_set_property), (gst_queue_get_property):
9604 * tests/threadstate/threadstate1.c: (main):
9605 Make a thread test compile and run... very silly..
9608 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9610 * docs/manual/appendix-porting.xml:
9611 Mention removal of libgstgconf-0.9.la and existence of gconf
9614 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9616 * docs/pwg/advanced-clock.xml:
9617 * docs/pwg/appendix-porting.xml:
9618 * docs/pwg/intro-preface.xml:
9619 * docs/pwg/other-base.xml:
9620 * docs/pwg/other-manager.xml:
9621 * docs/pwg/other-nton.xml:
9622 * docs/pwg/other-ntoone.xml:
9623 * docs/pwg/other-oneton.xml:
9625 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9626 demuxer), remove n-to-n (was never written), fix some code examples
9627 and links and update the porting section to include all this.
9629 2005-07-19 Wim Taymans <wim@fluendo.com>
9631 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9632 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9633 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9634 (gst_queue_src_activate_push), (gst_queue_change_state),
9635 (gst_queue_get_property):
9637 Propagate GstFlowReturn more intelligently upstream and output
9638 an ERROR/EOS when streaming stopped due to fatal error.
9640 2005-07-19 Wim Taymans <wim@fluendo.com>
9642 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9643 Don't block forever for the state change to complete, the
9644 pipeline already did with a sensible timeout.
9646 2005-07-19 Wim Taymans <wim@fluendo.com>
9648 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9649 Make sure we never call the create function is we
9652 2005-07-19 Andy Wingo <wingo@pobox.com>
9654 * gst/parse/parse.l: Attempt to solve bug #172815.
9656 2005-07-19 Wim Taymans <wim@fluendo.com>
9658 * docs/design/part-clocks.txt:
9659 * docs/design/part-events.txt:
9660 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9662 Only update the seeking values when we are not
9665 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9667 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9668 Oops, ignore the result of gst_pad_push_event here.
9670 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9672 * gst/base/gstbasesrc.c: (gst_base_src_loop),
9673 (gst_base_src_activate_push):
9674 Send discont event from the loop function, as pads
9675 aren't activated yet in the activate_push handler.
9677 * gst/gstbin.c: (bin_bus_handler):
9678 Don't leak element name.
9680 2005-07-18 Andy Wingo <wingo@pobox.com>
9682 * configure.ac: Use AS_LIBTOOL_TAGS.
9684 2005-07-18 Wim Taymans <wim@fluendo.com>
9686 * docs/gst/gstreamer.types:
9687 Remove deleted types.
9689 2005-07-18 Wim Taymans <wim@fluendo.com>
9691 * check/elements/gstfakesrc.c: (GST_START_TEST):
9694 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9695 (init_popt_callback):
9697 * gst/gst_private.h:
9698 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9699 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9702 * gst/gstconfig.h.in:
9703 * gst/gstelement.c: (gst_element_class_init),
9704 (gst_element_set_base_time), (gst_element_get_base_time),
9705 (iterator_fold_with_resync), (gst_element_change_state),
9706 (gst_element_dispose), (gst_element_get_bus):
9708 * gst/gstelementfactory.h:
9709 * gst/gsterror.c: (_gst_core_errors_init):
9712 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9714 * gst/gstinfo.c: (_gst_debug_init):
9715 * gst/gstmessage.c: (_gst_message_copy):
9717 * gst/gstminiobject.h:
9720 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9721 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9724 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9725 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9726 (gst_pipeline_get_last_stream_time):
9727 * gst/gstpipeline.h:
9728 * gst/gstpluginfeature.h:
9730 * gst/gstscheduler.c:
9731 * gst/gstscheduler.h:
9732 * gst/gststructure.h:
9733 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9734 (gst_task_finalize), (gst_task_func), (gst_task_create),
9735 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9736 (gst_task_stop), (gst_task_pause):
9738 * gst/gsttypefind.h:
9740 * gst/registries/gstlibxmlregistry.c: (load_feature),
9741 (gst_xml_registry_load), (gst_xml_registry_save_feature):
9742 * gst/registries/gstxmlregistry.c:
9743 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9744 * gst/schedulers/threadscheduler.c:
9745 * libs/gst/control/dparammanager.h:
9746 * tools/gst-inspect.c: (print_element_list),
9747 (print_plugin_features), (print_element_features):
9748 * tools/gst-xmlinspect.c: (print_element_list),
9749 (print_plugin_info), (main):
9750 Removed plugable schedulers.
9751 Removed Scheduler/Manager from elements.
9752 Removed gsttypes.h, rearranged includes.
9753 Removed dependency pad<->element, element<>pipeline, and
9754 various others, fix includes.
9755 implement gst_pad_get_parent() with gst_object_get_parent()
9756 Make GstTask sefcontained.
9757 Fix _get_state() on GstBin, it did not return ASYNC with a 0
9759 Fix endless loop in iterator_fold_with_resync.
9762 2005-07-18 Wim Taymans <wim@fluendo.com>
9768 2005-07-18 Wim Taymans <wim@fluendo.com>
9773 2005-07-18 Wim Taymans <wim@fluendo.com>
9779 2005-07-18 Wim Taymans <wim@fluendo.com>
9781 * docs/design/part-dynamic.txt:
9782 * docs/design/part-events.txt:
9783 * docs/design/part-seeking.txt:
9784 Some more docs in the works.
9786 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9787 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9788 (gst_base_transform_setcaps), (gst_base_transform_get_size),
9789 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9790 (gst_base_transform_handle_buffer),
9791 (gst_base_transform_sink_activate_push),
9792 (gst_base_transform_src_activate_pull),
9793 (gst_base_transform_set_passthrough),
9794 (gst_base_transform_is_passthrough):
9797 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9800 * gst/gstevent.c: (gst_event_finalize):
9803 * gst/gstutils.c: (gst_element_unlink),
9804 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9805 (gst_pad_proxy_setcaps):
9807 Add _get_parent_element() to get a pads parent as an element.
9809 2005-07-18 Wim Taymans <wim@fluendo.com>
9811 * check/gst/gstbin.c: (GST_START_TEST):
9814 2005-07-18 Wim Taymans <wim@fluendo.com>
9816 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9817 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9818 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9819 (gst_base_sink_event), (gst_base_sink_do_sync),
9820 (gst_base_sink_chain), (gst_base_sink_loop),
9821 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9822 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9824 Fix logic for returning ASYNC when not prerolled.
9826 2005-07-18 Wim Taymans <wim@fluendo.com>
9828 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9829 Fix nasty refcount bug.
9831 2005-07-16 Philippe Khalaf <burger@speedy.org>
9833 * gst/elements/gstfdsrc.c:
9834 * gst/elements/gstfdsrc.h:
9835 * gst/elements/gstelements.c:
9836 * gst/elements/Makefile.am:
9837 Ported fdsrc to 0.9.
9839 2005-07-16 Wim Taymans <wim@fluendo.com>
9841 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9842 (gst_base_sink_do_sync):
9845 2005-07-16 Wim Taymans <wim@fluendo.com>
9847 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9848 (gst_base_sink_event), (gst_base_sink_get_times),
9849 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9850 * gst/base/gstbasesink.h:
9851 Store and use discont values when syncing buffers as described
9854 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9855 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9856 (gst_base_src_activate_push):
9857 Push discont event when starting.
9859 * gst/elements/gstidentity.c: (gst_identity_transform):
9862 * gst/gstbin.c: (gst_bin_change_state):
9863 Small cleanups in base_time distribution.
9865 * gst/gstelement.c: (gst_element_set_base_time),
9866 (gst_element_get_base_time), (gst_element_change_state):
9868 Added methods for the base_time of the element.
9871 * gst/gstpipeline.c: (gst_pipeline_send_event),
9872 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9873 (gst_pipeline_get_last_stream_time):
9874 * gst/gstpipeline.h:
9876 Handle seeking as described in design doc, remove stream_time
9878 Cleanups clock and stream_time selection code. Added accessors
9879 for the stream_time.
9882 2005-07-16 Andy Wingo <wingo@pobox.com>
9884 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9887 2005-07-16 Wim Taymans <wim@fluendo.com>
9889 * check/gst/gstbin.c: (GST_START_TEST):
9890 Make elements silent as the deep_notify refs the
9891 parent, which might make the test fail.
9893 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9894 Don't hold the lock for too long.
9896 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9898 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9899 Don't unref the caps we passed to gst_caps_make_writable() after
9900 passing them. gst_caps_make_writable() will do that for us.
9902 2005-07-15 Andy Wingo <wingo@pobox.com>
9904 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9907 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9908 own marshalling function for the handoff signal. Properly type the
9909 buffer as a buffer. Fixes some warnings. Should do a more general
9911 (gst_identity_class_init): Plug into the right marshaller.
9913 2005-07-15 Wim Taymans <wim@fluendo.com>
9915 * docs/design/part-TODO.txt:
9916 * docs/design/part-clocks.txt:
9917 * docs/design/part-element-sink.txt:
9918 * docs/design/part-events.txt:
9919 * docs/design/part-gstpipeline.txt:
9920 Updated docs, mostly DISCONT related.
9922 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9924 * docs/pwg/building-pads.xml:
9925 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9927 2005-07-15 Andy Wingo <wingo@pobox.com>
9929 * tools/gst-typefind.c: Update, add copyright block.
9931 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9932 Normalize and truncate caps before fixation.
9935 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9936 discards all but the first structure from its argument.
9938 2005-07-15 Wim Taymans <wim@fluendo.com>
9940 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9941 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9942 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9943 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9944 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9945 (gst_base_transform_chain), (gst_base_transform_change_state),
9946 (gst_base_transform_set_passthrough),
9947 (gst_base_transform_is_passthrough):
9948 * gst/base/gstbasetransform.h:
9949 Make passthrough work using the bufferpools.
9950 Changed API a bit, subclasses have to write into a buffer
9951 provided by the base class.
9952 More debug info in nego functions.
9954 * gst/elements/gstidentity.c: (gst_identity_init),
9955 (gst_identity_transform):
9956 Port to new base class.
9958 2005-07-15 Wim Taymans <wim@fluendo.com>
9960 * gst/gstmessage.c: (gst_message_new_state_changed):
9961 * tools/gst-launch.c: (event_loop), (main):
9962 Totally dump messages in -launch with the -m option.
9963 Fix message name for State messages,
9965 2005-07-14 Wim Taymans <wim@fluendo.com>
9967 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9968 Post error messages on errors.
9970 2005-07-14 Wim Taymans <wim@fluendo.com>
9972 * gst/gstcaps.c: (gst_caps_do_simplify):
9976 Define error for stream stopped.
9978 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9979 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9980 Do proper return values.
9982 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9983 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9984 (gst_pad_get_range):
9985 Better return values.
9988 Reorganise return values, add macro to check for fatal errors.
9990 * gst/gstqueue.c: (gst_queue_chain):
9991 Return proper GstFlowReturn values,
9993 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9995 * docs/gst/gstreamer-sections.txt:
9996 * docs/gst/gstreamer.types:
9997 * docs/gst/tmpl/gst.sgml:
9998 * docs/gst/tmpl/gstbasesink.sgml:
9999 * docs/gst/tmpl/gstbasesrc.sgml:
10000 * docs/gst/tmpl/gstbasetransform.sgml:
10001 * docs/gst/tmpl/gstbin.sgml:
10002 * docs/gst/tmpl/gstbuffer.sgml:
10003 * docs/gst/tmpl/gstcaps.sgml:
10004 * docs/gst/tmpl/gstclock.sgml:
10005 * docs/gst/tmpl/gstcompat.sgml:
10006 * docs/gst/tmpl/gstconfig.sgml:
10007 * docs/gst/tmpl/gstelement.sgml:
10008 * docs/gst/tmpl/gstelementdetails.sgml:
10009 * docs/gst/tmpl/gstelementfactory.sgml:
10010 * docs/gst/tmpl/gstenumtypes.sgml:
10011 * docs/gst/tmpl/gsterror.sgml:
10012 * docs/gst/tmpl/gstevent.sgml:
10013 * docs/gst/tmpl/gstfakesink.sgml:
10014 * docs/gst/tmpl/gstfakesrc.sgml:
10015 * docs/gst/tmpl/gstfilesink.sgml:
10016 * docs/gst/tmpl/gstfilesrc.sgml:
10017 * docs/gst/tmpl/gstfilter.sgml:
10018 * docs/gst/tmpl/gstformat.sgml:
10019 * docs/gst/tmpl/gstghostpad.sgml:
10020 * docs/gst/tmpl/gstimplementsinterface.sgml:
10021 * docs/gst/tmpl/gstindex.sgml:
10022 * docs/gst/tmpl/gstindexfactory.sgml:
10023 * docs/gst/tmpl/gstinfo.sgml:
10024 * docs/gst/tmpl/gstiterator.sgml:
10025 * docs/gst/tmpl/gstmacros.sgml:
10026 * docs/gst/tmpl/gstmemchunk.sgml:
10027 * docs/gst/tmpl/gstminiobject.sgml:
10028 * docs/gst/tmpl/gstobject.sgml:
10029 * docs/gst/tmpl/gstpad.sgml:
10030 * docs/gst/tmpl/gstpadtemplate.sgml:
10031 * docs/gst/tmpl/gstparse.sgml:
10032 * docs/gst/tmpl/gstpipeline.sgml:
10033 * docs/gst/tmpl/gstplugin.sgml:
10034 * docs/gst/tmpl/gstpluginfeature.sgml:
10035 * docs/gst/tmpl/gstquery.sgml:
10036 * docs/gst/tmpl/gstqueue.sgml:
10037 * docs/gst/tmpl/gstregistry.sgml:
10038 * docs/gst/tmpl/gstregistrypool.sgml:
10039 * docs/gst/tmpl/gstscheduler.sgml:
10040 * docs/gst/tmpl/gstschedulerfactory.sgml:
10041 * docs/gst/tmpl/gststructure.sgml:
10042 * docs/gst/tmpl/gstsystemclock.sgml:
10043 * docs/gst/tmpl/gsttaglist.sgml:
10044 * docs/gst/tmpl/gsttagsetter.sgml:
10045 * docs/gst/tmpl/gsttrace.sgml:
10046 * docs/gst/tmpl/gsttrashstack.sgml:
10047 * docs/gst/tmpl/gsttypefind.sgml:
10048 * docs/gst/tmpl/gsttypefindfactory.sgml:
10049 * docs/gst/tmpl/gsttypes.sgml:
10050 * docs/gst/tmpl/gsturihandler.sgml:
10051 * docs/gst/tmpl/gsturitype.sgml:
10052 * docs/gst/tmpl/gstutils.sgml:
10053 * docs/gst/tmpl/gstvalue.sgml:
10054 * docs/gst/tmpl/gstversion.sgml:
10055 * docs/gst/tmpl/gstxml.sgml:
10056 * docs/libs/tmpl/gstcontrol.sgml:
10057 * docs/libs/tmpl/gstdataprotocol.sgml:
10058 * docs/libs/tmpl/gstdparam.sgml:
10059 * docs/libs/tmpl/gstdplinint.sgml:
10060 * docs/libs/tmpl/gstdpman.sgml:
10061 * docs/libs/tmpl/gstdpsmooth.sgml:
10062 * docs/libs/tmpl/gstgetbits.sgml:
10063 * docs/libs/tmpl/gstunitconvert.sgml:
10064 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10065 (gst_push_src_base_init), (gst_push_src_class_init),
10066 (gst_push_src_init), (gst_push_src_create):
10067 * gst/base/gstpushsrc.h:
10068 * gst/elements/gstelements.c:
10069 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10070 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10071 (gst_fake_sink_init), (gst_fake_sink_set_property),
10072 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10073 (gst_fake_sink_event), (gst_fake_sink_preroll),
10074 (gst_fake_sink_render), (gst_fake_sink_change_state):
10075 * gst/elements/gstfakesink.h:
10076 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10077 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10078 (gst_fake_src_base_init), (gst_fake_src_class_init),
10079 (gst_fake_src_init), (gst_fake_src_event_handler),
10080 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10081 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10082 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10083 (gst_fake_src_create_buffer), (gst_fake_src_create),
10084 (gst_fake_src_start), (gst_fake_src_stop):
10085 * gst/elements/gstfakesrc.h:
10086 * gst/elements/gstfilesink.c: (_do_init),
10087 (gst_file_sink_base_init), (gst_file_sink_class_init),
10088 (gst_file_sink_init), (gst_file_sink_dispose),
10089 (gst_file_sink_set_location), (gst_file_sink_set_property),
10090 (gst_file_sink_get_property), (gst_file_sink_open_file),
10091 (gst_file_sink_close_file), (gst_file_sink_query),
10092 (gst_file_sink_event), (gst_file_sink_render),
10093 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10094 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10095 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10096 * gst/elements/gstfilesink.h:
10097 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10098 (gst_file_src_class_init), (gst_file_src_init),
10099 (gst_file_src_finalize), (gst_file_src_set_location),
10100 (gst_file_src_set_property), (gst_file_src_get_property),
10101 (gst_file_src_map_region), (gst_file_src_map_small_region),
10102 (gst_file_src_create_mmap), (gst_file_src_create_read),
10103 (gst_file_src_create), (gst_file_src_is_seekable),
10104 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10105 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10106 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10107 (gst_file_src_uri_handler_init):
10108 * gst/elements/gstfilesrc.h:
10109 more autistic cleanliness in functions/names/defines
10111 2005-07-13 Andy Wingo <wingo@pobox.com>
10113 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10114 source couldn't negotiate.
10116 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10120 * gst/gstutils.c (gst_element_link_pads_filtered): New old
10121 function. I am channeling Hades. Put your boots on suckers!!!
10123 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10125 * testsuite/caps/Makefile.am:
10126 * testsuite/caps/value_compare.c:
10127 * testsuite/caps/value_intersect.c:
10128 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10129 move two testsuite apps over to the check dir
10131 2005-07-12 Wim Taymans <wim@fluendo.com>
10133 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10134 Added more debug info in the negotiate process.
10136 * gst/gstmessage.h:
10137 Prepare for segment playback.
10139 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10145 * tools/gst-launch.c: (main):
10146 NULL pipeline on errors.
10148 2005-07-12 Andy Wingo <wingo@pobox.com>
10150 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10151 not it comes from a malloc region. Make sure our copy gets freed.
10153 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10155 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10156 * check/gst/gstmessage.c: (GST_START_TEST):
10157 * check/gst/gststructure.c: (GST_START_TEST),
10158 (gst_structure_suite), (main):
10160 * gst/gstelement.c: (gst_element_message_full):
10161 clean up GError and debug string now that they get copied
10162 * gst/gstmessage.c: (gst_message_new_error),
10163 (gst_message_new_warning), (gst_message_parse_error),
10164 (gst_message_parse_warning):
10165 use GST_TYPE_G_ERROR for structure_new, and take copies of
10166 arguments, so that we don't mess up refcounting
10168 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10170 * check/Makefile.am:
10171 add per-test valgrind targets
10172 * check/gst-libs/gdp.c: (GST_START_TEST),
10173 (gst_data_protocol_suite), (main):
10176 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
10178 * check/Makefile.am:
10179 instate more valgrindable tests
10180 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10181 (GST_START_TEST), (fakesrc_suite):
10182 * check/gst/gstpad.c: (GST_START_TEST):
10183 * check/gst/gststructure.c: (GST_START_TEST):
10185 * docs/gst/tmpl/gstminiobject.sgml:
10186 * gst/gstpad.c: (gst_pad_finalize):
10187 fix the static mutex leak
10189 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10191 * check/Makefile.am:
10192 add two more tests for valgrinding
10193 * check/gst/gstvalue.c: (GST_START_TEST):
10194 test refcount of deserialized buffer, found a leak
10195 * docs/gst/gstreamer-docs.sgml:
10196 * docs/gst/gstreamer-sections.txt:
10197 * docs/gst/gstreamer.types:
10198 * docs/gst/tmpl/gstminiobject.sgml:
10199 add miniobject to docs
10200 * gst/gstminiobject.c:
10202 * gst/gstvalue.c: (gst_value_deserialize_buffer),
10203 (gst_string_unwrap):
10204 fix a hard-to-find invalid write for one of the tests
10205 fix a leak for deserialized buffers
10207 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10209 * docs/pwg/advanced-events.xml:
10210 * docs/pwg/advanced-request.xml:
10211 * docs/pwg/advanced-scheduling.xml:
10212 * docs/pwg/appendix-porting.xml:
10213 * docs/pwg/building-boiler.xml:
10214 * docs/pwg/intro-preface.xml:
10215 * docs/pwg/other-ntoone.xml:
10216 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10217 of example code and explanation for pad activation, loop() and
10218 getrange() functions and a bit more. Remove old comments pointing
10220 * examples/pwg/Makefile.am:
10221 Add loop/getrange examples.
10223 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10226 check for valgrind binary + some fixes
10228 valgrind suppressions for the tests
10229 * check/Makefile.am:
10230 add a valgrind: target that valgrinds the unit tests
10231 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10232 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10233 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10234 * check/gst/gstghostpad.c:
10236 * check/gst/gstdata.c:
10238 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10239 (thread_unref), (gst_mini_object_suite), (main):
10241 * gst/gst.c: (gst_deinit):
10243 add a method to clean up.
10244 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10245 (gst_system_clock_obtain):
10246 allow for disposing the system clock.
10247 * tools/gst-launch.c: (main):
10250 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
10252 * docs/gst/tmpl/gstbasesrc.sgml:
10253 * docs/gst/tmpl/gstfakesrc.sgml:
10254 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10255 (gst_base_src_init), (gst_base_src_set_property),
10256 (gst_base_src_get_property), (gst_base_src_get_range),
10257 (gst_base_src_start):
10258 * gst/base/gstbasesrc.h:
10259 add num-buffers property
10260 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10261 (gst_fakesrc_init), (gst_fakesrc_set_property),
10262 (gst_fakesrc_get_property), (gst_fakesrc_create),
10263 (gst_fakesrc_start):
10264 remove num-buffers property
10266 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10268 * docs/gst/gstreamer-sections.txt:
10269 * docs/gst/tmpl/gstbasesink.sgml:
10270 * docs/gst/tmpl/gstbasesrc.sgml:
10271 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10272 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10273 (gst_base_sink_finalize), (gst_base_sink_set_clock),
10274 (gst_base_sink_set_property), (gst_base_sink_get_property),
10275 (gst_base_sink_handle_object), (gst_base_sink_event),
10276 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10277 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10278 (gst_base_sink_loop), (gst_base_sink_deactivate),
10279 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10280 (gst_base_sink_change_state):
10281 * gst/base/gstbasesink.h:
10282 * gst/base/gstbasesrc.h:
10283 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10284 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10285 (gst_filesink_init):
10286 more macro splitting
10288 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10290 * gst/gstelement.c: (gst_element_get_bus):
10292 * tools/gst-launch.c: (check_intr), (event_loop):
10295 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10297 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10300 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10302 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10303 (gst_base_src_finalize):
10304 add finalize method and clean up properly
10305 * gst/gstpipeline.c: (gst_pipeline_dispose):
10308 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10310 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10312 add more things to check
10313 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10314 * gst/gstelement.c:
10317 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10319 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10320 (GST_START_TEST), (fakesrc_suite):
10321 * check/gst-libs/gdp.c: (GST_START_TEST):
10322 * check/gst/gst.c: (GST_START_TEST):
10323 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10324 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10325 * check/gst/gstbus.c: (GST_START_TEST):
10326 * check/gst/gstcaps.c: (GST_START_TEST):
10327 * check/gst/gstdata.c: (GST_START_TEST):
10328 * check/gst/gstelement.c: (GST_START_TEST):
10329 * check/gst/gstghostpad.c: (GST_START_TEST):
10330 * check/gst/gstiterator.c: (GST_START_TEST):
10331 * check/gst/gstmessage.c: (GST_START_TEST):
10332 * check/gst/gstobject.c: (GST_START_TEST):
10333 * check/gst/gstpad.c: (GST_START_TEST):
10334 * check/gst/gststructure.c: (GST_START_TEST):
10335 * check/gst/gstsystemclock.c: (GST_START_TEST),
10336 (gst_systemclock_suite):
10337 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10338 * check/gst/gstvalue.c: (GST_START_TEST):
10339 * check/pipelines/cleanup.c: (GST_START_TEST):
10340 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10341 * check/states/sinks.c: (GST_START_TEST):
10342 * check/gstcheck.c: (gst_check_init):
10343 * check/gstcheck.h:
10344 add debugging category
10345 use GST_START_TEST now, so we add a debug line
10347 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10349 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10350 add test for state change message on a bin
10351 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10353 * gst/gstbin.c: (gst_bin_init):
10354 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10355 * gst/gstelement.c: (gst_element_post_message),
10356 (gst_element_set_state):
10357 * gst/gstelementfactory.c: (gst_element_factory_create):
10358 * gst/gstmessage.c: (gst_message_new):
10359 * gst/gstscheduler.c:
10360 various debugging additions and cleanups
10362 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10364 * check/Makefile.am:
10365 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10367 adding tests for elements
10368 * gst/gstelement.c: (gst_element_dispose):
10370 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10372 * gst/registries/gstlibxmlregistry.c: (load_feature):
10373 plug more leaks. A simple gst_init() now is leakfree, yay.
10375 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10377 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10378 (gst_xml_registry_load):
10379 plug another memleak
10381 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10384 use GST_SET_ERROR_CFLAGS
10385 * docs/faq/cvs.xml:
10386 change to ERROR_CFLAGS
10388 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10391 make GST_ERROR_CFLAGS overridable and re-enable Werror
10392 * docs/faq/cvs.xml:
10393 add a note about error CFLAGS
10394 * docs/gst/tmpl/gstfakesrc.sgml:
10395 * gst/elements/gstfakesrc.c:
10396 comment out some unused code
10397 * gst/gst.c: (split_and_iterate):
10398 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10402 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10404 * common/Makefile.am:
10405 * common/gtk-doc.mak:
10406 * docs/gst/Makefile.am:
10407 factor out gtk-doc.mak
10409 2005-07-07 Wim Taymans <wim@fluendo.com>
10411 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10412 (gst_thread_scheduler_dispose):
10413 Unlock the STREAM_LOCK completely.
10415 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10417 * check/Makefile.am:
10418 * check/elements/.cvsignore:
10419 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10420 (START_TEST), (fakesrc_suite), (main):
10421 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10422 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10423 (gst_fakesrc_create), (gst_fakesrc_start):
10424 * gst/elements/gstfakesrc.h:
10425 adding a first element test
10427 2005-07-07 Andy Wingo <wingo@pobox.com>
10429 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10432 2005-07-07 Wim Taymans <wim@fluendo.com>
10438 2005-07-07 Wim Taymans <wim@fluendo.com>
10440 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10441 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10442 Allow subclasses to implement their own negotiation.
10444 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10446 * docs/design/part-gstbin.txt:
10447 * docs/design/part-gstpipeline.txt:
10448 Update design notes to reflect the movement of
10449 responsibility for bus handling from GstPipeline to
10452 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10455 Remove unnecessary queue2/3/4 examples.
10457 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10459 * examples/Makefile.am:
10460 * examples/helloworld/helloworld.c: (event_loop), (main):
10461 * examples/queue/queue.c: (event_loop), (main):
10462 * examples/queue2/queue2.c: (main):
10463 Update a couple of the examples to work again.
10465 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10466 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10467 Spelling corrections and extra debug.
10469 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10470 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10471 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10473 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10474 (gst_pipeline_change_state):
10475 * gst/gstpipeline.h:
10476 Move the bus handler for children to the GstBin, and create a
10477 separate bus for receiving messages from children to the one the
10478 bus sends 'upwards' on.
10480 2005-07-06 Wim Taymans <wim@fluendo.com>
10483 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10484 (gst_base_sink_handle_object), (gst_base_sink_loop),
10485 (gst_base_sink_change_state):
10486 * gst/base/gstbasesink.h:
10487 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10488 (gst_base_src_init), (gst_base_src_setcaps),
10489 (gst_base_src_getcaps), (gst_base_src_loop),
10490 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10491 (gst_base_src_start), (gst_base_src_change_state):
10492 * gst/base/gstbasesrc.h:
10493 Make basesrc negotiate.
10494 Handle the case where preroll fails in basesink.
10497 2005-07-06 Wim Taymans <wim@fluendo.com>
10499 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10500 Implement the fixate function.
10501 Clean up acceptcaps.
10503 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10505 * docs/pwg/building-filterfactory.xml:
10506 * docs/pwg/pwg.xml:
10507 Remove never-written filter-factory chapter; I'll add the various
10508 base classes to part 4 ("other element types") later on.
10510 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10512 * docs/pwg/advanced-negotiation.xml:
10513 * docs/pwg/building-boiler.xml:
10514 * docs/pwg/building-pads.xml:
10515 * docs/pwg/pwg.xml:
10516 * examples/pwg/Makefile.am:
10517 Add a chapter on caps negotiation, simplify the original code
10518 samples a bit w.r.t. caps negotiation, add link to the advanced
10519 section. Add a bunch of examples showing different use cases of
10520 different types of caps negotiation. Upstream renegotiation isn't
10521 fully documented yet since nobody knows how that works.
10523 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
10525 * check/gst/gstpad.c:
10526 * check/gstcheck.c:
10527 * gst/gstpad.c: (gst_pad_get_internal_links_default):
10528 if pad has no parent, return NULL as list of internal links
10530 2005-07-05 Andy Wingo <wingo@pobox.com>
10532 * gst/elements/gstfilesrc.c:
10533 * gst/elements/gstfakesrc.c:
10534 * gst/base/gstpushsrc.c:
10535 * gst/base/gstbasesrc.h:
10536 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10538 2005-07-05 Stefan Kost <ensonic@users.sf.net>
10541 better report generation target (lcov needs a patch)
10543 2005-07-05 Andy Wingo <wingo@pobox.com>
10545 * gst/elements, testsuite: Null if we got it...
10547 2005-07-05 Wim Taymans <wim@fluendo.com>
10550 * libs/gst/dataprotocol/Makefile.am:
10551 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10552 * libs/gst/dataprotocol/dataprotocol.h:
10553 * pkgconfig/Makefile.am:
10554 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10555 * pkgconfig/gstreamer-dataprotocol.pc.in:
10556 Ported dataprotol to 0.9.
10557 Added pkgconfig files.
10559 2005-07-05 Andy Wingo <wingo@pobox.com>
10561 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10562 Default to returning TRUE for the case when tranform_caps returns
10563 a fixed caps, like for identity or volume.
10565 * check/gst/gstbus.c (pound_bus_with_messages):
10566 * check/gst/gstmessage.c (START_TEST):
10567 * check/pipelines/simple_launch_lines.c (got_handoff): Application
10568 message API change.
10570 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10571 logic weaks here: always run transform_caps, trying passthrough
10572 operation only if the original caps intersects with the transform.
10574 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10575 source and sink caps.
10577 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10578 Intersect the peer caps with the pad template before going into
10580 (gst_base_transform_transform_caps): More debugging.
10582 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10585 2005-07-04 Edward Hervey <edward@fluendo.com>
10589 (gst_pad_add_*_probe): now returns the signal id for better wrapping
10592 2005-07-04 Andy Wingo <wingo@pobox.com>
10594 * check/gst/gstpad.c: Only set explicit caps on pads.
10596 2005-07-01 Andy Wingo <wingo@pobox.com>
10598 * tests/network-clock.scm: Commentary update.
10600 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10601 Didn't really make sense, not implementable with basetransform,
10603 (gst_identity_transform): Unref inbuf via make_writable. Feeble
10604 attempt at implementing the sync property, needs an unlock method.
10606 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10607 New func, by default returns the same caps (the identity
10609 (gst_base_transform_getcaps): Uses transform_caps to return
10610 something sensible.
10611 (gst_base_transform_setcaps): Complicated logic to get caps on
10612 both pads, even if they are different, and to call set_caps once
10613 for every time both pads get their caps set.
10614 (gst_base_transform_handle_buffer): Give the ref to the transform
10615 function. Allows in-place modification of the buffer.
10617 * gst/base/gstbasetransform.h (transform_caps): New class method.
10618 Given caps on one side, what can I do on the other.
10619 (set_caps): Take two caps, one for each side of the element.
10622 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10623 caps in place. This is safe because we can check the mutability of
10624 the caps, and a good idea because fixate functions are just called
10625 as a matter of last resort. (Not actually implemented.)
10626 (gst_pad_set_caps): If the caps we're setting is actually the same
10627 as the existing pad caps, just update the pointer without calling
10628 setcaps. Assert that caps is either NULL or fixed, as per the
10631 * gst/gstghostpad.c: Update for fixate changes.
10633 2005-07-02 Andy Wingo <wingo@pobox.com>
10636 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10637 two refcounts makes it immutable, which is enough. Doc more.
10639 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
10641 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10642 Put the mini_object into GValue as a mini_object,
10643 not a gpointer, since that's how we declared
10646 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10648 * examples/pwg/Makefile.am:
10649 Fix buildbot again.
10651 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10653 * docs/pwg/building-testapp.xml:
10655 * examples/pwg/Makefile.am:
10658 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10661 * examples/Makefile.am:
10662 * examples/pwg/Makefile.am:
10663 * examples/pwg/extract.pl:
10664 Enable building the PWG examples.
10665 * docs/pwg/advanced-interfaces.xml:
10666 Add URI interface stub.
10667 * docs/pwg/advanced-types.xml:
10668 * docs/pwg/other-autoplugger.xml:
10669 * docs/pwg/appendix-porting.xml:
10670 * docs/pwg/pwg.xml:
10671 Add porting guide (mostly stubs), remove autoplugging (see ADM).
10672 * docs/pwg/building-boiler.xml:
10673 * docs/pwg/building-chainfn.xml:
10674 * docs/pwg/building-pads.xml:
10675 * docs/pwg/building-props.xml:
10676 * docs/pwg/building-state.xml:
10677 * docs/pwg/building-testapp.xml:
10678 Update the building-*.xml parts for 0.9 changes. All examples
10679 code blocks compile in examples/pwg/*.
10681 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10683 * docs/manual/advanced-autoplugging.xml:
10684 * docs/manual/appendix-checklist.xml:
10685 * docs/manual/appendix-integration.xml:
10686 * docs/manual/highlevel-components.xml:
10687 Fix playbin/decodebin examples, update docs a bit, mention bus
10688 instead of signals in various places, mention kmplayer and
10689 kaffeine since they have a working GStreamer backend in the KDE
10692 2005-06-30 Wim Taymans <wim@fluendo.com>
10695 * docs/design/draft-ghostpads.txt:
10696 * docs/design/draft-push-pull.txt:
10697 * docs/design/draft-query.txt:
10698 * docs/design/part-TODO.txt:
10699 * docs/design/part-query.txt:
10700 Added CHANGES-0.9 doc, updated status of other docs.
10705 2005-06-30 Wim Taymans <wim@fluendo.com>
10707 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10708 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10709 (gst_base_sink_change_state):
10710 * gst/base/gstbasesink.h:
10711 Some tweaks, only EOS and a buffer complete a preroll.
10713 2005-06-30 Andy Wingo <wingo@pobox.com>
10715 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10716 activate_push down to the internal pad as well.
10718 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
10720 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10722 * gst/gsttaginterface.c:
10723 Some documentation fixes (#307394 and #307397).
10725 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
10727 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10729 * gst/gstvalue.c: (gst_value_intersect_list):
10730 Fix memleak (#309125).
10732 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10734 * docs/manual/advanced-dataaccess.xml:
10735 Fix fakesrc example to compile; doesn't work, bug somewhere...?
10736 * docs/manual/basics-pads.xml:
10737 Add reference for filtered caps to above chapter.
10739 2005-06-30 Wim Taymans <wim@fluendo.com>
10741 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10742 (gst_bin_change_state):
10744 Lame attempt at making the state change function a bit
10747 2005-06-30 Wim Taymans <wim@fluendo.com>
10749 * docs/design/part-clocks.txt:
10750 * docs/design/part-element-sink.txt:
10751 * docs/design/part-events.txt:
10752 * docs/design/part-preroll.txt:
10753 * docs/design/part-states.txt:
10754 Some more tweeks and additions to the docs.
10756 2005-06-30 Wim Taymans <wim@fluendo.com>
10758 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10759 (default_have_data), (gst_pad_class_init), (gst_pad_init),
10760 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10761 (gst_pad_check_pull_range), (gst_pad_get_range),
10762 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10764 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10765 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10766 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10767 (gst_pad_remove_buffer_probe):
10768 Removed atomic operations, use existing LOCK.
10769 Move exception handling out of main code path.
10771 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10773 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10774 (silly_return_true_function), (gst_pad_class_init),
10775 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10776 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10777 (gst_pad_send_event):
10778 Fix accumulator, add default value by using _emitv() instead
10779 of _emit() for signal emission.
10781 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10783 * docs/manual/advanced-dataaccess.xml:
10784 * examples/manual/Makefile.am:
10786 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10789 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
10791 * gst/elements/gstfilesink.c: (gst_filesink_render):
10792 Simplify code so that we don't have to handle short
10793 writes and return GST_FLOW_ERROR if an error occured.
10795 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10797 * docs/gst/gstreamer-docs.sgml:
10798 Remove probes more.
10800 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10802 * docs/gst/gstreamer-sections.txt:
10803 * docs/gst/tmpl/gstpad.sgml:
10804 * docs/gst/tmpl/gstprobe.sgml:
10806 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10807 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10808 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10809 (gst_pad_push_event), (gst_pad_send_event):
10811 * gst/gstutils.c: (gst_pad_add_data_probe),
10812 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10813 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10814 (gst_pad_remove_buffer_probe):
10816 Remove old probes, add new g-signal-based probes and some utility
10819 2005-06-29 Edward Hervey <edward@fluendo.com>
10821 * gst/gstelementfactory.c:
10824 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10825 the definition to the header file.
10827 2005-06-29 Andy Wingo <wingo@pobox.com>
10829 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10830 plugins from the source directory.
10832 2005-06-29 Wim Taymans <wim@fluendo.com>
10834 * docs/gst/tmpl/gstbuffer.sgml:
10835 * docs/gst/tmpl/gstclock.sgml:
10836 Some fixings for blantently wrong text.
10838 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10840 * check/Makefile.am:
10841 * gst/gst.c: (add_path_func), (init_pre):
10842 * gst/gstregistry.c: (gst_registry_add_path):
10843 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10844 only scan the GST_PLUGIN_PATH locations, and not add
10847 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10849 * docs/gst/gstreamer-sections.txt:
10850 * docs/gst/tmpl/gstbasesrc.sgml:
10851 * gst/gstelement.c:
10852 * gst/gstelement.h:
10857 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10859 * docs/manual/advanced-autoplugging.xml:
10860 Fix autoplugging example.
10862 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10864 * docs/manual/advanced-autoplugging.xml:
10865 * docs/manual/mime-world.fig:
10866 Try to get autoplugging working, fix type detection. Fix text
10867 in hello-world image.
10869 2005-06-29 Wim Taymans <wim@fluendo.com>
10871 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10872 (gst_base_sink_change_state):
10876 map SIGNAL and BROADCAST to the right function.
10879 Remove redundant braces.
10881 * gst/gstpad.c: (gst_pad_set_caps):
10882 Don't call setcaps function when reseting caps to NULL.
10884 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10885 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10886 (gst_system_clock_id_unschedule):
10887 Use BROADCAST as this is what we do.
10889 2005-06-29 Wim Taymans <wim@fluendo.com>
10891 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10892 We are actually prerolling before commiting the state
10895 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10897 * docs/manual/advanced-clocks.xml:
10898 * docs/manual/advanced-interfaces.xml:
10899 * docs/manual/advanced-metadata.xml:
10900 * docs/manual/advanced-position.xml:
10901 * docs/manual/advanced-schedulers.xml:
10902 * docs/manual/advanced-threads.xml:
10903 * docs/manual/appendix-porting.xml:
10904 * docs/manual/basics-bins.xml:
10905 * docs/manual/basics-bus.xml:
10906 * docs/manual/basics-elements.xml:
10907 * docs/manual/basics-helloworld.xml:
10908 * docs/manual/basics-pads.xml:
10909 * docs/manual/highlevel-components.xml:
10910 * docs/manual/manual.xml:
10911 * docs/manual/thread.fig:
10912 Update (until threads/scheduling) Application Development Manual;
10913 remove GstThread, add GstBus, add simple porting checklist, add
10914 documentation for tag writing, clocks, make all examples until this
10915 part compile and run.
10916 * examples/manual/Makefile.am:
10917 Update from changes to Application Development Manual; add bus
10918 example, remove thread example.
10920 2005-06-28 Wim Taymans <wim@fluendo.com>
10922 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10923 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10924 (gst_bus_source_dispatch):
10925 Add debugging messages.
10926 Make internal methods static.
10927 Handle the case where the bus is flushed in the handler.
10929 * gst/gstelement.c: (gst_element_get_bus):
10930 Fix refcount in _get_bus();
10932 * gst/gstpipeline.c: (gst_pipeline_change_state),
10933 (gst_pipeline_get_clock_func):
10934 Clock refcounting fixes.
10935 Handle the case where preroll timed out more gracefully.
10937 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10938 Clean up the internal thread in dispose. This is needed
10939 for subclasses that actually get disposed.
10941 * gst/schedulers/threadscheduler.c:
10942 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10943 (gst_thread_scheduler_dispose):
10944 Free thread pool in dispose.
10946 2005-06-28 Andy Wingo <wingo@pobox.com>
10948 * tests/network-clock-utils.scm (debug, print-event): New utils.
10950 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10951 (*packet-loss*): Unified loss probability.
10952 (network-time): Report out-of-band events.
10954 * tests/plot-data: Add support for out-of-band events. Hack it
10955 into this script instead of passing it down the pipe; should fix
10958 2005-06-28 Wim Taymans <wim@fluendo.com>
10960 * docs/gst/gstreamer.types:
10961 * docs/gst/tmpl/gstbasesrc.sgml:
10962 * docs/gst/tmpl/gstpad.sgml:
10965 2005-06-28 Wim Taymans <wim@fluendo.com>
10967 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10968 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10969 (gst_proxy_pad_do_fixatecaps):
10970 Correctly proxy the check_pull_range function.
10972 2005-06-28 Andy Wingo <wingo@pobox.com>
10974 * tests/network-clock.scm: Removed need for slib.
10976 2005-06-28 Wim Taymans <wim@fluendo.com>
10978 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10979 (gst_basesink_preroll_queue_flush):
10980 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10981 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10982 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10983 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10984 (gst_proxy_pad_set_property):
10987 * gst/gstqueue.c: (gst_queue_init):
10988 The deprecated pad loop function is removed now.
10990 2005-06-28 Andy Wingo <wingo@pobox.com>
10992 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10993 New parameters, simulate network packet loss.
10995 * tests/network-clock-utils.scm: Initialize the RNG.
10997 2005-06-28 Wim Taymans <wim@fluendo.com>
10999 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11000 (gst_basesink_event), (gst_basesink_deactivate):
11001 Flushing the preroll queue always needs to unlock the waiters.
11003 2005-06-28 Edward Hervey <edward@fluendo.com>
11005 * gst/gstpipeline.c: (gst_pipeline_send_event):
11006 Wheen a seek was successful on a pipeline, set the stream_time to the
11007 seek offset in order to have a synchronized stream_time.
11009 2005-06-28 Wim Taymans <wim@fluendo.com>
11011 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11012 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11013 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11014 (gst_proxy_pad_do_fixatecaps):
11015 Call wrapper function instead of just calling the function
11016 pointers. This takes care of any locking and whatmore.
11018 2005-06-28 Wim Taymans <wim@fluendo.com>
11020 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11021 (gst_pad_pull_range):
11023 CONNECTED -> LINKED.
11025 2005-06-28 Andy Wingo <wingo@pobox.com>
11027 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11028 source-munging commit!!!
11030 * gst/gstobject.c (gst_object_unref, gst_object_ref)
11031 (gst_object_sink): Take gpointer arguments, not GstObject --
11032 avoids casts. Like GLib.
11034 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11037 2005-06-27 Andy Wingo <wingo@pobox.com>
11039 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11042 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11043 returns a sorted copy of the trace list.
11044 (gst_alloc_trace_print_live): New API, only prints traces with
11045 live objects. Sort the list.
11046 (gst_alloc_trace_print_all): Sort the list.
11047 (gst_alloc_trace_print): Align columns.
11049 * gst/elements/gstttypefindelement.c:
11050 * gst/elements/gsttee.c:
11051 * gst/base/gstbasesrc.c:
11052 * gst/base/gstbasesink.c:
11053 * gst/base/gstbasetransform.c:
11054 * gst/gstqueue.c: Adapt for pad activation changes.
11056 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11058 (gst_pipeline_dispose): Drop ref on sched.
11060 * gst/gstpad.c (gst_pad_init): Set the default activate func.
11061 (gst_pad_activate_default): Push mode by default.
11062 (pre_activate_switch, post_activate_switch): New stubs, things to
11063 do before and after switching activation modes on pads.
11064 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11065 the pad's activate function to choose which mode to activate.
11066 Shortcut on deactivation and call the right function directly.
11067 (gst_pad_activate_pull): New API, (de)activates a pad in pull
11069 (gst_pad_activate_push): New API, same for push mode.
11070 (gst_pad_set_activate_function)
11071 (gst_pad_set_activatepull_function)
11072 (gst_pad_set_activatepush_function): Setters for new API.
11074 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11075 Trace all miniobjects.
11076 (gst_mini_object_make_writable): Unref the arg if we copy, like
11077 gst_caps_make_writable.
11079 * gst/gstmessage.c (_gst_message_initialize): No trace init.
11081 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
11082 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11083 Adapt for new pad API.
11085 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11087 * gst/gstelement.h:
11088 * gst/gstelement.c (gst_element_iterate_src_pads)
11089 (gst_element_iterate_sink_pads): New API functions.
11091 * gst/gstelement.c (iterator_fold_with_resync): New utility,
11092 should fold into gstiterator.c in some form.
11093 (gst_element_pads_activate): Simplified via use of fold and
11094 delegation of decisions to gstpad->activate.
11096 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11099 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11100 class once in init, like gstmessage. Didn't run into this issue
11101 but it seems correct. Don't initialize a trace, gstminiobject does
11104 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11105 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11107 (assert_live_count): New util function, uses alloc traces to check
11110 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11111 To be modified when unlink drops the internal pad.
11113 2005-06-27 Wim Taymans <wim@fluendo.com>
11115 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11116 (gst_bin_change_state):
11117 Cleanup the get_state() function a little, make sure it
11118 iterates the same set of elements.
11119 Added stub iterate_state_order().
11121 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
11123 * docs/gst/gstreamer-docs.sgml:
11124 * docs/gst/gstreamer-sections.txt:
11125 * docs/gst/gstreamer.types:
11126 * docs/gst/tmpl/gstbasesink.sgml:
11127 * docs/gst/tmpl/gstbasesrc.sgml:
11128 * docs/gst/tmpl/gstbasetransform.sgml:
11129 * docs/gst/tmpl/gstelement.sgml:
11130 * docs/gst/tmpl/gstiterator.sgml:
11131 * gst/base/gstbasesrc.c:
11132 * gst/base/gstbasesrc.h:
11133 * gst/base/gstbasetransform.h:
11134 * gst/gstelement.c:
11135 * gst/gstiterator.h:
11136 adding basetransform and iterator docs
11138 2005-06-27 Andy Wingo <wingo@pobox.com>
11140 * docs/design/part-activation.txt: Notes on how activation should
11141 work -- not quite implemented yet.
11143 2005-06-25 Wim Taymans <wim@fluendo.com>
11145 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11146 At least get the chain function correct, needs more
11149 2005-06-25 Wim Taymans <wim@fluendo.com>
11151 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11152 (gst_basesink_handle_object), (gst_basesink_event),
11153 (gst_basesink_do_sync), (gst_basesink_handle_event),
11154 (gst_basesink_change_state):
11156 Right, two problems here: ghostpads don't take locks and
11157 glib _rec_mutex_lock_full() with depth==0 still locks.
11158 Catch illegal locking and g_warn them.
11160 2005-06-25 Wim Taymans <wim@fluendo.com>
11162 * check/states/sinks.c: (START_TEST), (gst_object_suite):
11163 Have to check for completion now...
11165 2005-06-25 Wim Taymans <wim@fluendo.com>
11167 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11168 (gst_basesink_handle_object), (gst_basesink_event),
11169 (gst_basesink_do_sync), (gst_basesink_handle_event),
11170 (gst_basesink_change_state):
11172 Unlock STREAM_LOCK whatever the recursion was.
11174 2005-06-25 Wim Taymans <wim@fluendo.com>
11176 * gst/base/gstbasesink.c: (gst_basesink_set_property),
11177 (gst_basesink_preroll_queue_empty),
11178 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11179 (gst_basesink_event), (gst_basesink_do_sync),
11180 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11181 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11182 (gst_basesink_change_state):
11183 Reworked the base sink, handle event and buffer serialisation
11184 correctly and removed possible deadlock.
11185 Handle EOS correctly.
11187 2005-06-25 Wim Taymans <wim@fluendo.com>
11189 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11190 (gst_pipeline_change_state):
11191 * tools/gst-launch.c: (check_intr), (event_loop), (main):
11192 Allow elements to post EOS in the state change function.
11193 Fix up -launch, make it exit the poll loop when the
11194 pipeline actually changed state.
11195 Fix up warning parsing in -launch.
11197 2005-06-25 Wim Taymans <wim@fluendo.com>
11199 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11200 (gst_tee_sink_activate):
11201 Core takes STREAM_LOCK for us now.
11203 2005-06-25 Wim Taymans <wim@fluendo.com>
11205 * gst/gstelement.c: (gst_element_get_state_func),
11206 (gst_element_set_state):
11207 * gst/gstelement.h:
11208 * gst/gstmessage.c: (gst_message_parse_error),
11209 (gst_message_parse_warning):
11210 Keep track of current target state while performing a state
11211 change so that subclasses can do something interesting.
11212 Fix parsing of warning/error messages when GError is NULL.
11214 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
11216 * docs/gst/Makefile.am:
11217 * docs/gst/gstreamer-docs.sgml:
11218 * docs/gst/gstreamer-sections.txt:
11219 * docs/gst/gstreamer.types:
11220 * docs/gst/tmpl/gstbasesink.sgml:
11221 * docs/gst/tmpl/gstbasesrc.sgml:
11222 * docs/gst/tmpl/gstbin.sgml:
11223 * docs/gst/tmpl/gstcompat.sgml:
11224 * docs/gst/tmpl/gstfakesink.sgml:
11225 * docs/gst/tmpl/gstfakesrc.sgml:
11226 * docs/gst/tmpl/gstfilesink.sgml:
11227 * docs/gst/tmpl/gstfilesrc.sgml:
11228 * docs/gst/tmpl/gstindex.sgml:
11229 * docs/manual/appendix-quotes.xml:
11230 * gst/base/gstbasesrc.h:
11231 * gst/elements/gstfakesrc.h:
11232 * gst/gstmessage.h:
11233 start pulling in base classes and elements in our docs
11235 2005-06-24 Stefan Kost <ensonic@users.sf.net>
11237 * docs/gst/Makefile.am:
11238 * docs/libs/Makefile.am:
11239 fixed make distcheck with gtk-doc 1.3
11241 2005-06-23 Wim Taymans <wim@fluendo.com>
11243 * gst/gstelement.c: (gst_element_get_state_func),
11244 (gst_element_set_state), (gst_element_change_state):
11245 When the state did not change, also report NO_PREROLL
11248 2005-06-23 Wim Taymans <wim@fluendo.com>
11250 * gst/gstpad.c: (gst_pad_event_default):
11251 * gst/gstqueue.c: (gst_queue_loop):
11252 No unsafe task pausing please.
11254 2005-06-23 Wim Taymans <wim@fluendo.com>
11256 * gst/schedulers/threadscheduler.c:
11257 (gst_thread_scheduler_task_start),
11258 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11259 Ref the task before pushing it on the threadpool. This
11260 makes sure that we have a ref when the threadfunction is
11263 2005-06-23 Andy Wingo <wingo@pobox.com>
11265 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11266 offset is greater than the file's size.
11268 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
11269 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11270 * gst/gstobject.c (gst_object_class_init): Make the class lock
11271 recursive. Wim won't let me drop deep_notify. Decodebin works
11272 again, whoopdy doo.
11274 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11275 internal pad, and hacks accordingly. Doesn't do it on the target
11276 pad because we change its caps. Probably catches all cases of
11278 (gst_ghost_pad_set_property): Connect to notify::caps as
11281 * tests/network-clock.scm (plot-simulation): Pipe data to the
11282 elite python skript.
11284 * tests/network-clock-utils.scm (define-parameter): New macro,
11285 defines a parameter that can be set via the command line.
11286 (set-parameter!, parse-parameter-arguments): Command line args
11289 * tests/plot-data: Simple matplotlib-based plotter, takes input on
11292 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
11294 * gst/elements/gsttypefindelement.c:
11295 (gst_type_find_element_handle_event):
11296 Don't restart typefinding on a discont.
11297 * gst/gstelement.c: (gst_element_set_state):
11298 Debug spelling fix.
11299 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11300 Allow changing mode of an active pad.
11301 Debug output fixes.
11302 * gst/registries/gstlibxmlregistry.c: (load_feature):
11303 Don't cast a static pad template to a normal pad template.
11305 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
11307 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11308 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11309 remove gst_strtoll completely, since it didn't actually do
11310 anything more than what g_ascii_strtoull already does.
11311 check for range errors when deserializing
11312 do a cast for the unsigned cases; but further fixing needs
11313 a decision on what the interpretation of "(int)" and
11314 deserialization should be for values that fall outside the
11315 type's boundaries (ie, refuse, or interpret as casting)
11317 2005-06-23 Wim Taymans <wim@fluendo.com>
11319 * check/Makefile.am:
11320 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11321 * docs/design/part-live-source.txt:
11322 * docs/design/part-states.txt:
11323 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11324 (gst_basesrc_set_live), (gst_basesrc_is_live),
11325 (gst_basesrc_get_range), (gst_basesrc_activate),
11326 (gst_basesrc_change_state):
11327 * gst/base/gstbasesrc.h:
11328 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11329 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11330 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11331 * gst/gstelement.c: (gst_element_get_state_func),
11332 (gst_element_set_state):
11333 * gst/gstelement.h:
11335 * tools/gst-launch.c: (event_loop), (main):
11336 Added support for live sources and other elements that
11338 Updated design docs, added live-source design doc.
11339 Implemented live source functionality in basesrc
11340 Fix error condition in _bin_get_state()
11341 Implement live source handling in -launch.
11342 Added check for live sources.
11343 Fixed case in GstBin where elements were changed state
11347 2005-06-23 Andy Wingo <wingo@pobox.com>
11349 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11350 borken refcounting.
11352 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11353 gst_caps_replace takes care of this for us.
11355 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11356 gst_pad_set_caps on the target, not just its setcaps() function.
11358 * tests/network-clock.scm:
11359 * tests/network-clock-utils.scm: A network clock simulator.
11360 Something of an algorithmic testbed before doing something in C.
11362 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11364 * check/Makefile.am:
11365 * check/gst/capslist.h:
11366 copy over from 0.8, and add two with bitmasks specified with
11368 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11369 add test to parse everything from capslist.h
11370 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11372 add test for structure deserialization
11373 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11374 add tests for deserialization of strings to int types
11375 * gst/gststructure.c: (gst_structure_nth_field_name):
11376 * gst/gststructure.h:
11377 add a way to get the name of a field referenced by index
11378 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11379 instead of checking if the resulting long long lies between
11380 min and max, we check if the long long would fit into
11381 a number of bytes for the final type.
11382 This fixes cases where a string represents 2^32 - 1, which
11383 when cast to int would be the (valid) -1, but is bigger than
11386 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11388 * gst/parse/grammar.y:
11389 add a log line for type deserialization
11391 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11393 * check/gst/gstvalue.c: (START_TEST):
11394 * gst/gstvalue.c: (gst_value_deserialize):
11395 return long long, not int, so gint64 deserialization actually
11396 works. Is there any flag that makes the compiler check this ?
11399 2005-06-22 Wim Taymans <wim@fluendo.com>
11402 Added convenience macros for setting buffers in GValue.
11404 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11406 * check/gst/.cvsignore:
11407 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11408 add a test deserializing int64, and comment part out because
11411 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11413 * check/Makefile.am:
11414 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11415 * testsuite/Makefile.am:
11416 * testsuite/caps/Makefile.am:
11417 * testsuite/caps/value_serialize.c:
11418 * testsuite/test_gst_init.c:
11419 move a value_serialize test over
11421 2005-06-20 Wim Taymans <wim@fluendo.com>
11426 * gst/gstvalue.c: (gst_value_compare_buffer),
11427 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11428 (gst_value_compare_flags), (gst_value_serialize_flags),
11429 (gst_value_deserialize_flags), (_gst_value_initialize):
11430 Fix serialisation of buffers, they are not boxed types anymore
11432 2005-06-20 Wim Taymans <wim@fluendo.com>
11434 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11435 Testcase to show error in buffer-on-caps serialisation.
11437 2005-06-20 Andy Wingo <wingo@pobox.com>
11439 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11440 will be adding to later.
11442 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11443 if its socks fill with rocks.
11444 (gst_system_clock_obtain): Set the name on object construction.
11445 Avoid double-checked locking.
11447 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
11449 * gst/gsturi.c: (gst_element_make_from_uri):
11450 Fix potential endless loop.
11452 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11454 * check/Makefile.am:
11456 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11458 move over from testsuite dir and clean up
11461 * testsuite/Makefile.am:
11462 * testsuite/tags/.cvsignore:
11463 * testsuite/tags/Makefile.am:
11464 * testsuite/tags/merge.c:
11465 remove testsuite/tags
11467 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11469 * docs/gst/gstreamer-sections.txt:
11470 * docs/gst/tmpl/gstenumtypes.sgml:
11471 * win32/gstenumtypes.c:
11472 clean up documentation build a little
11474 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11476 * check/gstcheck.h:
11477 add macros for checking refcounts on objects and caps
11478 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11479 add some more unit tests
11480 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11481 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11482 fix leaked refcounts (I hope :)) so unittest works
11486 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11488 * configure.ac: back to HEAD
11490 === release 0.9.1 ===
11492 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
11498 2005-06-17 Andy Wingo <wingo@pobox.com>
11500 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11501 assert; it's always possible that the pad gets deactivated in
11502 between the checks in gstpad.c and the implementation. Rely on
11503 finish_preroll() to return a FLUSHING or similar instead of on the
11506 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11507 clock and post an EOS message if we come out of finish_preroll in
11510 2005-06-16 David Schleef <ds@schleef.org>
11512 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11513 (gst_capsfilter_set_property): Allow NULL as possible value
11514 for filter_caps property, indicating GST_CAPS_ANY.
11516 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11518 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11520 * gst/schedulers/Makefile.am:
11522 * gstreamer.spec.in:
11525 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11527 * gstreamer.spec.in:
11530 2005-06-08 Andy Wingo <wingo@pobox.com>
11532 * gst/gstutils.c: RPAD fixes all around.
11533 (gst_element_link_pads): Refcounting fixes.
11535 * tools/gst-inspect.c:
11536 * tools/gst-xmlinspect.c:
11538 * gst/base/gsttypefindhelper.c:
11539 * gst/base/gstbasesink.c:
11540 * gst/gstqueue.c: RPAD fixes.
11542 * gst/gstghostpad.h:
11543 * gst/gstghostpad.c: New ghost pad implementation as full proxy
11544 pads. The tricky thing is they provide both source and sink
11545 interfaces, since they proxy the internal pad for the external
11546 pad, and vice versa. Implement with lower-level ProxyPad objects,
11547 with the interior proxy pad as a child of the exterior ghost pad.
11548 Should write a doc on this.
11550 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11551 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11554 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11555 pads are real pads. No ghost pads in this file. Not documenting
11556 the myriad s/RPAD/PAD/ and REALIZE fixes.
11557 (gst_pad_class_init): Add properties for "direction" and
11558 "template". Both are construct-only, so they can't change during
11559 the life of the pad. Fixes properly deriving from GstPad.
11560 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11561 derived objects, just set properties when creating the objects via
11563 (gst_pad_get_parent): Implement as a function, return NULL if the
11564 parent is not an element.
11565 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11566 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11568 * gst/gstobject.c (gst_object_class_init): Make name a construct
11569 property. Don't set it in the object init.
11571 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11572 with UNKNOWN direction.
11573 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11574 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11575 (gst_element_remove_pad): Remove ghost-pad special cases.
11576 (gst_element_pads_activate): Remove rpad cruft.
11578 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11579 catch the pad's-parent-not-an-element case.
11581 * gst/gst.h: Include gstghostpad.h.
11583 * gst/gst.c (init_post): No more real, ghost pads.
11585 * gst/Makefile.am: Add gstghostpad.[ch].
11587 * check/Makefile.am:
11588 * check/gst/gstbin.c:
11589 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11590 into a bin creates ghost pads, and that the refcounts are right.
11591 Partly moved from gstbin.c.
11593 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11595 * check/gst-libs/.cvsignore:
11596 * check/gst/.cvsignore:
11597 * check/pipelines/.cvsignore:
11599 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11600 (START_TEST), (cleanup_suite), (main):
11601 add some tests related to cleanup after running pipelines
11603 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11605 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11606 add a testsuite for GstBuffer
11608 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11610 * gst/gstminiobject.h:
11611 add defines for accessing the refcount
11613 2005-06-03 Stefan Kost <ensonic@users.sf.net>
11615 * Makefile.am: added support for html unit test coverage reports
11617 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
11619 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11620 Free existing caps if the capsfilter changes. Add a FIXME about
11621 setting those caps on the pads.
11623 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11624 Before adding a ghost pad to a parent bin, check that there isn't
11625 already one for the element on the bin. Prevents infinite recursion
11626 when using decodebin in parse pipelines. Andy says he'll rewrite the
11627 way this works anyway, so ignore the hack.
11629 2005-06-02 Andy Wingo <wingo@pobox.com>
11631 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11632 file size, pass it on to the type find helper.
11634 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11635 segment_start and segment_end properly according to the seek
11636 method. Segment_end is still a bit flaky because offset can be
11637 negative for CUR and END cases, but it takes -1 as an "unset"
11640 2005-06-02 Wim Taymans <wim@fluendo.com>
11642 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11643 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11644 (gst_basesink_activate):
11645 * gst/base/gstbasesink.h:
11646 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11647 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11648 (gst_pad_query), (gst_pad_start_task):
11650 * gst/gstqueue.c: (gst_queue_bufferalloc),
11651 (gst_queue_handle_sink_event), (gst_queue_chain):
11652 Bufferalloc: return GstFlowReturn to more accuratly report
11653 why allocation failed.
11655 2005-06-02 Wim Taymans <wim@fluendo.com>
11657 * gst/gstpipeline.c: (gst_pipeline_send_event):
11658 Take snapshot of state without blocking.
11660 2005-06-02 Wim Taymans <wim@fluendo.com>
11662 * docs/design/part-TODO.txt:
11663 * docs/design/part-caps.txt:
11664 * docs/design/part-clocks.txt:
11665 * docs/design/part-negotiation.txt:
11666 * docs/design/part-preroll.txt:
11669 2005-05-30 Wim Taymans <wim@fluendo.com>
11671 * gst/elements/gstidentity.c: (gst_identity_event),
11672 (gst_identity_transform), (gst_identity_get_property):
11673 Protect last_message property as it is accessed from
11676 2005-05-30 Wim Taymans <wim@fluendo.com>
11678 * gst/gstelement.c: (gst_element_init),
11679 (gst_element_pads_activate), (gst_element_change_state):
11680 Slicker pad activation code.
11682 2005-05-30 Wim Taymans <wim@fluendo.com>
11685 * gst/gstelement.h:
11686 * gst/gstelementfactory.h:
11688 Move elementfactory methods to separate .h file.
11690 2005-05-30 Wim Taymans <wim@fluendo.com>
11692 * docs/design/part-overview.txt:
11693 * gst/gstsystemclock.h:
11694 Small typo fixes, doc updates.
11696 2005-05-30 Wim Taymans <wim@fluendo.com>
11698 * gst/gst.c: (gst_init_get_popt_table), (init_post),
11699 (init_popt_callback):
11700 Remove cpu-opt flag.
11702 2005-05-30 Wim Taymans <wim@fluendo.com>
11704 * gst/gstbuffer.c: (gst_subbuffer_finalize),
11705 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11707 Avoid typechecking in places where not needed.
11708 Added accessor for malloc_data.
11710 2005-05-30 Wim Taymans <wim@fluendo.com>
11712 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11713 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11714 (gst_pad_configure_sink), (gst_pad_configure_src),
11715 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11716 (gst_pad_start_task):
11717 Propagate errors from _set_caps() in configure_src/sink
11718 functions instead of returning TRUE.
11719 FLUSH events can travel up and downstream
11722 2005-05-30 Wim Taymans <wim@fluendo.com>
11724 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11725 (gst_basesink_activate):
11726 Handle EOS in preroll.
11728 2005-05-30 Wim Taymans <wim@fluendo.com>
11730 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11731 (gst_queue_loop), (gst_queue_handle_src_event):
11732 Remove old pieces of code
11733 Flushing the queue in an upstream event is a very bad idea.
11735 2005-05-26 Andy Wingo <wingo@pobox.com>
11737 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11738 gst_value_set_mini_object so as to add a ref on the object (which
11739 will be removed when the value is unset).
11741 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11742 arg type in ::handoff.
11744 * gst/gstelement.c (gst_element_change_state): Also deactivate
11745 pads in READY->NULL, just in case the element didn't make it to
11746 PAUSED. Wingo tested, Wim approved.
11748 2005-05-26 Wim Taymans <wim@fluendo.com>
11750 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11751 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11752 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11753 A flushing pad cannot be used to alloc_buffer from.
11755 2005-05-26 Wim Taymans <wim@fluendo.com>
11757 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11758 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11759 (gst_bus_source_dispatch), (gst_bus_source_finalize),
11760 (gst_bus_create_watch), (gst_bus_add_watch_full):
11762 Implement a real GSource and use g_main_context_wakeup() to
11763 signal new messages instead of the socketpair.
11765 2005-05-25 Wim Taymans <wim@fluendo.com>
11767 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11768 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11769 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11770 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11771 (gst_pad_send_event), (gst_pad_start_task):
11772 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11773 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11774 (gst_queue_sink_activate), (gst_queue_src_activate),
11775 (gst_queue_change_state):
11777 Fix state changes for non sinks. We now change sinks, then elements
11778 with unconnected srcpads, then the rest.
11779 More efficient queue unlocking in flush and state changes.
11780 Set the pad activate mode even if it does not have an activate
11783 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11785 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11786 Don't go in pull mode for non-seekable sources.
11787 * gst/elements/gsttypefindelement.h:
11788 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11789 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11790 (free_entry), (stop_typefinding),
11791 (gst_type_find_element_handle_event), (find_peek),
11792 (gst_type_find_element_chain), (do_pull_typefind),
11793 (gst_type_find_element_change_state):
11794 Allow typefinding (w/o seeking) in push-mode, simplified version
11795 of what was in 0.8.
11796 * gst/gstutils.c: (gst_buffer_join):
11798 gst_buffer_join() from 0.8.
11800 2005-05-25 Wim Taymans <wim@fluendo.com>
11802 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11803 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11804 (gst_pad_send_event), (gst_pad_start_task):
11805 Disable attempt at mode switching until it is figured out.
11807 2005-05-25 Wim Taymans <wim@fluendo.com>
11809 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11810 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11811 (gst_basesink_finish_preroll), (gst_basesink_chain),
11812 (gst_basesink_loop), (gst_basesink_activate),
11813 (gst_basesink_change_state):
11814 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11815 (gst_basesrc_get_range), (gst_basesrc_loop),
11816 (gst_basesrc_activate):
11817 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11818 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11819 (gst_real_pad_init), (gst_real_pad_set_property),
11820 (gst_real_pad_get_property), (gst_pad_set_active),
11821 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11822 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11823 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11824 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11825 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11826 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11827 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11828 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11829 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11830 (gst_pad_stop_task):
11832 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11833 (gst_queue_loop), (gst_queue_src_activate):
11834 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11835 (gst_task_get_state):
11837 * gst/schedulers/threadscheduler.c:
11838 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11839 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11841 Remove ACTIVE pad flag, use FLUSHING everywhere
11842 Added _pad_chain(), _pad_get_range() to call chain/getrange
11844 Add locks around IS_FLUSHING when reading.
11845 Take STREAM lock in chain(), get_range() functions so plugins
11846 don't need to take it anymore.
11850 2005-05-25 Wim Taymans <wim@fluendo.com>
11852 * tools/gst-launch.c: (event_loop):
11853 Unref message after using its contents instead of
11856 2005-05-24 Wim Taymans <wim@fluendo.com>
11858 * docs/design/draft-ghostpads.txt:
11859 * docs/design/draft-push-pull.txt:
11860 * docs/design/draft-query.txt:
11861 * docs/design/part-overview.txt:
11862 Docs updates, added general overview doc.
11864 2005-05-21 David Schleef <ds@schleef.org>
11866 * docs/gst/tmpl/old/GstBin.sgml:
11867 * docs/gst/tmpl/old/GstBuffer.sgml:
11868 * docs/gst/tmpl/old/GstCaps.sgml:
11869 * docs/gst/tmpl/old/GstClock.sgml:
11870 * docs/gst/tmpl/old/GstCompat.sgml:
11871 * docs/gst/tmpl/old/GstData.sgml:
11872 * docs/gst/tmpl/old/GstElement.sgml:
11873 * docs/gst/tmpl/old/GstEvent.sgml:
11874 * docs/gst/tmpl/old/GstIndex.sgml:
11875 * docs/gst/tmpl/old/GstStructure.sgml:
11876 * docs/gst/tmpl/old/GstTag.sgml:
11877 * docs/gst/tmpl/old/cothreads.sgml:
11878 * docs/gst/tmpl/old/cothreads_compat.sgml:
11879 * docs/gst/tmpl/old/gettext.sgml:
11880 * docs/gst/tmpl/old/gobject2gtk.sgml:
11881 * docs/gst/tmpl/old/grammar.tab.sgml:
11882 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11883 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11884 * docs/gst/tmpl/old/gst_private.sgml:
11885 * docs/gst/tmpl/old/gstaggregator.sgml:
11886 * docs/gst/tmpl/old/gstarch.sgml:
11887 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11888 * docs/gst/tmpl/old/gstbufferstore.sgml:
11889 * docs/gst/tmpl/old/gstdata_private.sgml:
11890 * docs/gst/tmpl/old/gstdisksink.sgml:
11891 * docs/gst/tmpl/old/gstdisksrc.sgml:
11892 * docs/gst/tmpl/old/gstelementfactory.sgml:
11893 * docs/gst/tmpl/old/gstextratypes.sgml:
11894 * docs/gst/tmpl/old/gstfakesink.sgml:
11895 * docs/gst/tmpl/old/gstfakesrc.sgml:
11896 * docs/gst/tmpl/old/gstfdsink.sgml:
11897 * docs/gst/tmpl/old/gstfdsrc.sgml:
11898 * docs/gst/tmpl/old/gstfilesink.sgml:
11899 * docs/gst/tmpl/old/gstfilesrc.sgml:
11900 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11901 * docs/gst/tmpl/old/gstidentity.sgml:
11902 * docs/gst/tmpl/old/gstindexfactory.sgml:
11903 * docs/gst/tmpl/old/gstmarshal.sgml:
11904 * docs/gst/tmpl/old/gstmd5sink.sgml:
11905 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11906 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11907 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11908 * docs/gst/tmpl/old/gstpipefilter.sgml:
11909 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11910 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11911 * docs/gst/tmpl/old/gstshaper.sgml:
11912 * docs/gst/tmpl/old/gstspider.sgml:
11913 * docs/gst/tmpl/old/gstspideridentity.sgml:
11914 * docs/gst/tmpl/old/gststatistics.sgml:
11915 * docs/gst/tmpl/old/gsttee.sgml:
11916 * docs/gst/tmpl/old/gsttimecache.sgml:
11917 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11918 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11919 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11920 * docs/gst/tmpl/old/types.sgml:
11921 I didn't intend to add these or check them in.
11923 2005-05-19 David Schleef <ds@schleef.org>
11925 * configure.ac: Use -no-common everywhere. In a sane world, it
11926 would be the default in libtool, because without it, you can't
11927 build DLLs on Windows.
11928 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11929 * docs/gst/gstreamer-sections.txt:
11930 * docs/gst/tmpl/gstcpu.sgml:
11931 * docs/gst/tmpl/gstdata.sgml:
11932 * docs/gst/tmpl/gstthread.sgml:
11934 2005-05-19 David Schleef <ds@schleef.org>
11936 * gst/gstminiobject.c: (gst_value_set_mini_object),
11937 (gst_value_take_mini_object), (gst_value_get_mini_object):
11938 * gst/gstminiobject.h: Add GValue set/get functions.
11940 2005-05-19 Wim Taymans <wim@fluendo.com>
11942 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11943 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11944 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11946 * gst/gstbus.c: (gst_bus_post):
11947 * gst/gstelement.c: (gst_element_get_random_pad):
11948 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11949 Make subbufer unref the parent in finalize.
11950 some more debugging info.
11953 2005-05-19 Wim Taymans <wim@fluendo.com>
11955 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11956 (gst_basesink_init), (gst_basesink_finalize),
11957 (gst_basesink_activate), (gst_basesink_change_state):
11958 Don't free preroll queue too early.
11960 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11964 Hi, I'm outdated. Please shoot me.
11966 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11968 * gst/gstpipeline.c: (gst_pipeline_send_event):
11969 Do not access variables after they have been deleted.
11971 2005-05-19 Wim Taymans <wim@fluendo.com>
11973 * tools/gst-inspect.c: (print_plugin_features):
11974 A plugin feature does unfortunatly not use the
11977 2005-05-18 Wim Taymans <wim@fluendo.com>
11979 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11980 Port _span() functions to new subbuffers.
11982 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11984 * gst/gstbin.c: (gst_bin_add_func):
11985 Fix clock settery in bins when adding kids after the clock has
11988 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11990 * gst/elements/gstidentity.c: (gst_identity_class_init):
11991 Workaround until signals support GstMiniObject.
11993 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11996 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11998 2005-05-18 Wim Taymans <wim@fluendo.com>
12000 * gst/base/Makefile.am:
12001 * gst/base/gstadapter.c: (gst_adapter_base_init),
12002 (gst_adapter_class_init), (gst_adapter_init),
12003 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12004 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12005 (gst_adapter_flush), (gst_adapter_available),
12006 (gst_adapter_available_fast):
12007 * gst/base/gstadapter.h:
12008 Ported and added adapter to the base classes.
12010 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12013 * gst/gstmessage.c:
12014 Make sure the class is reffed/unreffed once before threads can be
12015 used. Fixes #304551.
12017 2005-05-17 Wim Taymans <wim@fluendo.com>
12019 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12020 (gst_basesink_chain_unlocked), (gst_basesink_activate):
12021 * gst/gstminiobject.c: (gst_mini_object_get_type),
12022 (gst_mini_object_free):
12023 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12024 (gst_pad_push), (gst_pad_push_event):
12025 * gst/gstqueue.c: (gst_queue_change_state):
12026 Don't queue buffers in basesink when we are flushing.
12027 Unref buffer when flushing in basesink.
12028 Flush queue when going to READY
12029 Unref buffer when _push() returns an error.
12030 Don't free MiniObject instance when refcount is incremented
12031 in _finalize() so that we can recover objects.
12033 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
12035 * docs/manual/advanced-schedulers.xml:
12036 * docs/manual/appendix-checklist.xml:
12037 * docs/pwg/advanced-clock.xml:
12038 * docs/pwg/advanced-interfaces.xml:
12039 * docs/pwg/advanced-request.xml:
12040 * docs/pwg/advanced-types.xml:
12041 * docs/pwg/intro-preface.xml:
12042 * examples/plugins/example.c: (gst_example_get_type),
12043 (gst_example_class_init), (gst_example_chain),
12044 (gst_example_set_property), (gst_example_get_property),
12045 (gst_example_change_state), (plugin_init):
12046 * examples/plugins/example.h:
12049 2005-05-17 Wim Taymans <wim@fluendo.com>
12051 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12052 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12053 * gst/gstqueue.c: (gst_queue_change_state):
12054 Clear queue when going to READY.
12055 Remove IN_SETCAPS flag too.
12057 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
12059 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12060 Remove implicit cast from gboolean to GstElementStateReturn;
12061 make sure we still return failure in paused => ready case if
12062 the parent class fails to change state and our own stop
12065 2005-05-17 Wim Taymans <wim@fluendo.com>
12067 * tools/gst-launch.c: (event_loop):
12068 Message was unreffed too soon.
12070 2005-05-16 Andy Wingo <wingo@pobox.com>
12072 * gst/gstbin.c (sink_iterator_filter): Err... um...
12074 * check/gst/gstbin.c (test_ghost_pads): New test for the
12075 ghosting-if-elements-not-in-same-bin behavior.
12077 2005-05-16 David Schleef <ds@schleef.org>
12079 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12080 accessing refcount directly.
12082 2005-05-15 David Schleef <ds@schleef.org>
12084 * check/Makefile.am: remove GstData checks
12085 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12086 * gst/Makefile.am: add miniobject, remove data
12087 * gst/gst.h: add miniobject, remove data
12088 * gst/gstdata.c: remove
12089 * gst/gstdata.h: remove
12090 * gst/gstdata_private.h: remove
12091 * gst/gsttypes.h: remove GstEvent and GstMessage
12092 * gst/gstelement.c: (gst_element_post_message): fix for API changes
12093 * gst/gstmarshal.list: change BOXED -> OBJECT
12095 Implement GstMiniObject.
12096 * gst/gstminiobject.c:
12097 * gst/gstminiobject.h:
12099 Modify to be subclasses of GstMiniObject.
12100 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12101 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12102 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12103 (gst_subbuffer_get_type), (gst_subbuffer_init),
12104 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12107 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12108 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12109 (_gst_event_copy), (gst_event_new):
12111 * gst/gstmessage.c: (_gst_message_initialize),
12112 (gst_message_get_type), (gst_message_class_init),
12113 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12114 (gst_message_new), (gst_message_new_error),
12115 (gst_message_new_warning), (gst_message_new_tag),
12116 (gst_message_new_state_changed), (gst_message_new_application):
12117 * gst/gstmessage.h:
12118 * gst/gstprobe.c: (gst_probe_perform),
12119 (gst_probe_dispatcher_dispatch):
12121 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12122 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12123 (_gst_query_copy), (gst_query_new):
12125 Update elements for GstData -> GstMiniObject changes
12127 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12128 (gst_queue_chain), (gst_queue_loop):
12129 * gst/elements/gstbufferstore.c:
12130 (gst_buffer_store_add_buffer_func),
12131 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12132 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12133 (gst_fakesink_render):
12134 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12135 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12136 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12137 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12138 (gst_filesrc_create_read):
12139 * gst/elements/gstidentity.c: (gst_identity_class_init):
12140 * gst/elements/gsttypefindelement.c:
12141 (gst_type_find_element_src_event), (free_entry_buffers),
12142 (gst_type_find_element_handle_event):
12143 * libs/gst/dataprotocol/dataprotocol.c:
12144 (gst_dp_header_from_buffer):
12145 * libs/gst/dataprotocol/dataprotocol.h:
12146 * libs/gst/dataprotocol/dp-private.h:
12148 2005-05-15 David Schleef <ds@schleef.org>
12150 * gst/elements/gstelements.c: Don't include headers that were
12153 2005-05-15 David Schleef <ds@schleef.org>
12155 * gst/elements/Makefile.am: Remove some elements that don't
12156 need to be in the core (or even exist at all).
12157 * gst/elements/gstaggregator.c:
12158 * gst/elements/gstaggregator.h:
12159 * gst/elements/gstmd5sink.c:
12160 * gst/elements/gstmd5sink.h:
12161 * gst/elements/gstmultifilesrc.c:
12162 * gst/elements/gstmultifilesrc.h:
12163 * gst/elements/gstpipefilter.c:
12164 * gst/elements/gstpipefilter.h:
12165 * gst/elements/gstshaper.c:
12166 * gst/elements/gstshaper.h:
12167 * gst/elements/gststatistics.c:
12168 * gst/elements/gststatistics.h:
12169 * po/POTFILES.in: Remove above files.
12171 2005-05-14 Andy Wingo <wingo@pobox.com>
12173 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12174 so as to get the refs right.
12175 (sink_iterator_filter): New function, wraps bin_element_is_sink,
12176 unreffing objects that don't pass the filter.
12178 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12179 gst_element_set_bus.
12180 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12181 normal cases, this will destroy the bus.
12183 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12186 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12189 2005-05-13 Andy Wingo <wingo@pobox.com>
12191 * gst/gstutils.c (gst_element_link_pads): Instead of calling
12192 gst_pad_link, call pad_link_maybe_ghosting,
12193 (pad_link_maybe_ghosting): Links pads, making sure that the
12194 elements being linked are in the same bin.
12195 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12196 Helpers for pad_link_maybe_ghosting.
12198 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
12201 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12203 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
12205 * docs/design/part-element-source.txt:
12208 2005-05-12 Wim Taymans <wim@fluendo.com>
12210 * gst/base/gstbasesink.c: (gst_basesink_init),
12211 (gst_basesink_activate):
12212 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12213 (gst_basesrc_is_seekable):
12214 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12215 (bin_element_is_sink), (gst_bin_change_state):
12216 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12217 * gst/gstelement.h:
12218 Identify sinks by their flag to avoid overly complicated
12220 Do state changes even for elements not reachable from the
12222 BaseSink is a sink now :)
12223 Some more debugging info in the basesrc.
12226 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12228 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12229 Implement _query on a bin, similar to _send_event.
12231 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
12233 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12234 Discont event offset format should be GST_FORMAT_BYTES,
12235 not GST_FORMAT_TIME.
12237 2005-05-12 Wim Taymans <wim@fluendo.com>
12239 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12240 Same fix as Ronald's but without the signal.
12242 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12244 * gst/gstutils.c: (gst_element_query_position):
12245 No, an element is not a pad.
12247 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12249 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12250 (gst_bin_get_state):
12251 If a child is removed from a bin while we remove the child from
12252 the bin and while we're retrieving its state, signal this to the
12253 get_state function so we abort the wait (instead of waiting for
12254 a timeout) and can immediately re-iterate over all other elements.
12256 2005-05-12 Wim Taymans <wim@fluendo.com>
12258 * gst/base/Makefile.am:
12259 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12260 (gst_basesrc_start):
12261 * gst/base/gstbasesrc.h:
12262 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12263 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12264 (gst_pushsrc_init), (gst_pushsrc_create):
12265 * gst/base/gstpushsrc.h:
12266 Added is_seekable to BaseSrc
12267 Added simple PushSrc.
12269 2005-05-11 Wim Taymans <wim@fluendo.com>
12271 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12272 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12273 (gst_element_link_pads), (gst_element_query_position),
12274 (gst_element_query_convert), (intersect_caps_func),
12275 (gst_pad_query_position), (gst_pad_query_convert):
12276 Fix refcounting in utils function.
12277 No point in trying to activate a pad when it's added, it could
12278 be added from the state change function and then we deadlock, the
12279 element has to decide what to do.
12281 2005-05-10 Andy Wingo <wingo@pobox.com>
12283 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12284 *all* the arguments.
12286 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12287 stream lock if it's a FLUSH_DONE; normal flushes don't get the
12288 lock (according to the docs -- if this is wrong change the docs).
12290 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12291 flush messages in the NULL state.
12293 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12294 message immediately and return.
12295 (gst_bus_set_flushing): New function. If a bus is flushing, it
12296 flushes out any queued messages and immediately unrefs new
12297 messages. This is so when an element goes to NULL, all of the
12298 unhandled messages coming from it can be freed, and their
12299 references to the element dropped. In other words: message source
12300 ref considered harmful :P
12302 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12303 we're finished with it.
12305 * gst/gstmessage.c (gst_message_new_state_changed):
12307 2005-05-10 Wim Taymans <wim@fluendo.com>
12309 * gst/gstvalue.c: (gst_value_compare_flags),
12310 (gst_value_serialize_flags), (gst_value_deserialize_flags),
12311 (_gst_value_initialize):
12312 Added flags serialize/deserialize/compare code.
12314 2005-05-09 Andy Wingo <wingo@pobox.com>
12316 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12317 Intersect the peer's caps with our caps.
12319 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12321 * gst/base/gsttypefindhelper.c: (helper_find_peek):
12322 * gst/elements/gsttypefindelement.c: (find_peek):
12323 Handle negative offsets better. Fixes decodebin.
12325 2005-05-09 Wim Taymans <wim@fluendo.com>
12327 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12328 (gst_base_transform_event):
12329 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12330 Implement accept_caps.
12331 Fix silly lock/unlock mismatch in base class.
12333 2005-05-09 Wim Taymans <wim@fluendo.com>
12335 * docs/design/draft-push-pull.txt:
12336 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12337 * gst/elements/gstfilesink.c: (gst_filesink_init),
12338 (gst_filesink_query):
12339 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12340 (gst_type_find_handle_src_query), (find_element_get_length):
12341 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12342 * gst/gstelement.h:
12343 * gst/gstmessage.c:
12344 * gst/gstmessage.h:
12345 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12346 (gst_real_pad_get_caps_unlocked),
12347 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12348 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12349 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12350 (gst_real_pad_dispose), (gst_real_pad_finalize),
12351 (gst_pad_load_and_link), (gst_pad_save_thyself),
12352 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12353 (gst_pad_check_pull_range), (gst_pad_pull_range),
12354 (gst_pad_template_get_type), (gst_pad_template_class_init),
12355 (gst_pad_template_init), (gst_pad_template_dispose),
12356 (name_is_valid), (gst_static_pad_template_get),
12357 (gst_pad_template_new), (gst_static_pad_template_get_caps),
12358 (gst_pad_template_get_caps), (gst_pad_set_element_private),
12359 (gst_pad_get_element_private), (gst_pad_start_task),
12360 (gst_pad_pause_task), (gst_pad_stop_task),
12361 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12362 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12363 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12364 (gst_ghost_pad_new):
12366 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12367 (gst_query_new_position), (gst_query_set_position),
12368 (gst_query_parse_position), (gst_query_new_convert),
12369 (gst_query_set_convert), (gst_query_parse_convert):
12371 * gst/gstqueryutils.c:
12372 * gst/gstqueryutils.h:
12373 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12374 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12375 (gst_queue_handle_src_query):
12376 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12377 (gst_element_query_position), (gst_element_query_convert),
12378 (intersect_caps_func), (gst_pad_query_position),
12379 (gst_pad_query_convert):
12381 * tools/gst-inspect.c: (print_pad_info):
12382 * tools/gst-xmlinspect.c: (print_element_info):
12383 Remove old query functions. Ported old code.
12384 Added position/convert helper functions to gstutils.
12385 Reordered gstpad.c code, grouping relevant things.
12386 Remove gst_message_new(), always need to speficy a specific
12390 2005-05-09 Andy Wingo <wingo@pobox.com>
12392 * gst/gstiterator.h: Add some includes.
12394 * gst/gstqueryutils.h: Include more headers.
12397 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12398 some uses of gst_pad_query.
12400 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12401 NULL out parameters.
12402 (gst_query_new_position): New proc, allocates a new position
12405 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12406 gstqueryutils.c to the build.
12408 * gst/gststructure.c (gst_structure_set_valist): Implement with
12409 the generic G_VALUE_COLLECT.
12411 2005-05-08 Edward Hervey <bilboed@bilboed.com>
12413 * gst/Makefile.am: (gst_headers):
12414 Added gstqueryutils.h to the list of headers to install, that was
12415 a 'nachty' move wingo :)
12417 2005-05-06 Andy Wingo <wingo@pobox.com>
12420 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12421 GstData, init a memchunk.
12422 (standard_definitions): Add a few query types, deprecate a few.
12423 (gst_query_get_type): New proc.
12424 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12426 (gst_query_new_application, gst_query_get_structure): New public
12429 * docs/design/draft-query.txt: Removed LINKS from the query types,
12430 because all the rest can be dispatched to other pads -- seemed
12431 ugly to have a query that couldn't be dispatched. internal_links
12432 is fine as a pad method.
12434 * gst/gstpad.h: Add query2 as a pad method, add the new functions
12435 in gstpad.c, but maintain binary compatibility for the moment.
12436 Will fix before 0.9 is out.
12438 * gst/gstqueryutils.c:
12439 * gst/gstqueryutils.h: New files, implement 3 methods for each
12440 query type: parse_query, parse_response, and set. Probably need an
12443 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12445 * gst/elements/gstfilesink.c (gst_filesink_query2):
12446 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12447 query_types, and formats methods.
12449 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12450 (gst_pad_set_query2_function): New functions.
12451 (gst_real_pad_init): Set query2_default as the default query2
12452 function. Basically just dispatches to internally linked pads.
12456 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12457 without using the atomic operations. Only one thread can possibly
12458 be accessing the data at this point. Changed so as to avoid
12459 gst_atomic operations.
12461 2005-05-06 Wim Taymans <wim@fluendo.com>
12463 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12464 Also set caps if we use the fallback buffer alloc.
12466 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
12468 * docs/gst/Makefile.am:
12469 * docs/gst/gstreamer-docs.sgml:
12470 * docs/gst/gstreamer-sections.txt:
12471 * docs/gst/tmpl/gstatomic.sgml:
12472 * docs/gst/tmpl/gstmemchunk.sgml:
12473 * testsuite/elements/struct_i386.h:
12474 * win32/GStreamer.vcproj:
12476 Purge GstAtomic stuff from docs and win32 makefiles as well
12478 2005-05-06 Wim Taymans <wim@fluendo.com>
12480 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12481 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12482 * gst/gstpad.c: (gst_pad_peer_get_caps):
12483 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12484 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12485 (gst_queue_src_activate), (gst_queue_change_state):
12487 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12488 (intersect_caps_func):
12489 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12490 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12491 Some fixes for the peer_get_caps() change.
12493 2005-05-06 Wim Taymans <wim@fluendo.com>
12495 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12496 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12497 (gst_basesink_activate):
12498 Actually do something with error codes returned from the push
12501 2005-05-06 Wim Taymans <wim@fluendo.com>
12503 * docs/design/part-element-sink.txt:
12504 * docs/design/part-element-source.txt:
12505 * gst/base/gstbasesink.c: (gst_basesink_class_init),
12506 (gst_basesink_event), (gst_basesink_activate):
12507 * gst/base/gstbasesink.h:
12508 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12509 (gst_basesrc_activate):
12510 * gst/base/gstbasesrc.h:
12511 * gst/gstelement.c: (gst_element_pads_activate):
12512 Some more documentation.
12513 Fixed scheduling decision in _pads_activate().
12515 2005-05-05 Andy Wingo <wingo@pobox.com>
12517 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12520 2005-05-05 Wim Taymans <wim@fluendo.com>
12522 * gst/base/Makefile.am:
12523 * gst/base/gstbasesink.h:
12524 * gst/base/gstbasesrc.c: (gst_basesrc_init),
12525 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12526 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12527 (gst_collectpads_class_init), (gst_collectpads_init),
12528 (gst_collectpads_finalize), (gst_collectpads_new),
12529 (gst_collectpads_set_function), (gst_collectpads_add_pad),
12530 (find_pad), (gst_collectpads_remove_pad),
12531 (gst_collectpads_is_active), (gst_collectpads_collect),
12532 (gst_collectpads_collect_range), (gst_collectpads_start),
12533 (gst_collectpads_stop), (gst_collectpads_peek),
12534 (gst_collectpads_pop), (gst_collectpads_available),
12535 (gst_collectpads_read), (gst_collectpads_flush),
12536 (gst_collectpads_chain):
12537 * gst/base/gstcollectpads.h:
12538 * gst/elements/Makefile.am:
12539 * gst/elements/gstelements.c:
12540 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12541 (gst_fakesink_get_times), (gst_fakesink_event),
12542 (gst_fakesink_preroll), (gst_fakesink_render):
12543 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12544 (gst_filesink_init), (gst_filesink_set_location),
12545 (gst_filesink_open_file), (gst_filesink_close_file),
12546 (gst_filesink_pad_query), (gst_filesink_event),
12547 (gst_filesink_render), (gst_filesink_change_state):
12548 * gst/elements/gstfilesink.h:
12549 Added object to help in making collect pad based elements.
12551 Make event function in sink baseclass return gboolean.
12553 2005-05-05 Wim Taymans <wim@fluendo.com>
12555 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12556 (gst_bin_get_by_name):
12558 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12559 (gst_clock_finalize):
12560 * gst/gstdata.c: (gst_data_replace):
12562 * gst/gstelement.c: (gst_element_request_pad),
12563 (gst_element_pads_activate):
12564 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12565 (gst_object_unref):
12566 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12567 (gst_pad_set_checkgetrange_function),
12568 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12569 (gst_pad_check_pull_range), (gst_pad_pull_range),
12570 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12571 (gst_pad_pause_task), (gst_pad_stop_task):
12572 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12573 (gst_element_request_pad), (gst_pad_proxy_getcaps):
12574 Fix name lookup in GstBin.
12575 Added _data_replace() function and _buffer_replace()
12576 Use finalize method to clean up clock.
12577 Fix refcounting on request pads.
12578 Fix pad schedule mode error.
12579 Some more object refcounting debug info,
12582 2005-05-04 Andy Wingo <wingo@pobox.com>
12584 * check/Makefile.am:
12585 * docs/gst/tmpl/gstatomic.sgml:
12586 * docs/gst/tmpl/gstplugin.sgml:
12587 * gst/base/gstbasesink.c: (gst_basesink_activate):
12588 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12589 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12590 (gst_basesrc_query), (gst_basesrc_set_property),
12591 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12592 (gst_basesrc_activate):
12593 * gst/base/gstbasesrc.h:
12594 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12595 (gst_base_transform_src_activate):
12596 * gst/elements/gstelements.c:
12597 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12598 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12599 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12600 * gst/elements/gsttypefindelement.c: (find_element_get_length),
12601 (gst_type_find_element_checkgetrange),
12602 (gst_type_find_element_activate):
12603 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12604 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12605 (gst_caps_load_thyself):
12606 * gst/gstelement.c: (gst_element_pads_activate),
12607 (gst_element_save_thyself), (gst_element_restore_thyself):
12608 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12609 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12611 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12612 (gst_xml_parse_file), (gst_xml_parse_memory),
12613 (gst_xml_get_element), (gst_xml_make_element):
12614 * gst/indexers/gstfileindex.c: (gst_file_index_load),
12615 (_file_index_id_save_xml), (gst_file_index_commit):
12616 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12617 (read_enum), (load_pad_template), (load_feature), (load_plugin),
12619 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12620 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12621 * tools/gst-complete.c: (main):
12622 * tools/gst-compprep.c: (main):
12623 * tools/gst-inspect.c: (print_element_properties_info):
12624 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12625 * tools/gst-xmlinspect.c: (print_element_properties):
12628 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12630 * gst/gstplugin.c: (gst_plugin_check_module),
12631 (gst_plugin_check_file), (gst_plugin_load_file):
12632 apply patch from #172526 to make register work on MacOSX
12634 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12636 * docs/gst/tmpl/gstconfig.sgml:
12637 * gst/gstconfig.h.in:
12638 move documentation for some symbols. Add doc for GST_PTR_FORMAT
12639 * testsuite/debug/printf_extension.c: (main):
12640 Do not use GST_PTR_FORMAT on pointers to types with
12641 sizeof < sizeof(gpointer). Fixes test on 64-bit
12642 * testsuite/elements/property.h:
12643 use correct printf format
12645 2005-05-02 Wim Taymans <wim@fluendo.com>
12647 * docs/design/draft-push-pull.txt:
12648 * docs/design/draft-query.txt:
12649 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12650 (gst_basesrc_start):
12651 Added draft for new query API.
12652 Added draft for better selecting scheduling methods.
12653 Make basesrc ignore length if the subclass does not support
12656 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12659 possible fixes for automake-1.5 - _LIBADD is reserved
12661 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12663 * docs/faq/Makefile.am:
12664 * docs/manual/Makefile.am:
12665 * docs/manuals.mak:
12666 * docs/pwg/Makefile.am:
12668 possible fixes for automake-1.5
12670 2005-04-28 Wim Taymans <wim@fluendo.com>
12672 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12673 (gst_basesink_pad_getcaps), (gst_basesink_init),
12674 (gst_basesink_do_sync):
12675 * gst/gstclock.c: (gst_clock_entry_new):
12676 * gst/gstevent.c: (gst_event_discont_get_value):
12677 * gst/gstpipeline.c: (pipeline_bus_handler),
12678 (gst_pipeline_change_state):
12679 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12680 Better debugging of clocking info.
12681 Allow NULL values when getting discont values.
12683 2005-04-27 Wim Taymans <wim@fluendo.com>
12685 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12686 * check/gst/gstpad.c: (gst_pad_suite):
12687 Increase timeout for checks.
12689 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12691 * check/Makefile.am:
12692 fix the broken rule for cleanup. Apparently this rule is
12693 only needed on FC2, so maybe this warrants further autotool
12696 2005-04-26 Wim Taymans <wim@fluendo.com>
12698 * gst/gsttrashstack.h:
12699 Ooohh. a nasty one! After having a failed pop() from the stack,
12700 it's possible that the stack is empty. In that case, don't
12701 follow the NULL pointer.
12703 2005-04-25 Wim Taymans <wim@fluendo.com>
12705 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12706 (gst_pad_set_checkgetrange_function),
12707 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12708 (gst_pad_check_pull_range), (gst_pad_pull_range),
12709 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12710 (gst_pad_pause_task), (gst_pad_stop_task):
12711 * gst/gstplugin.c: (gst_plugin_load):
12713 Remove gst_library_load as it does more harm than good with
12714 the new g_module flags.
12715 Revert bogus caps template check in pad linking, pad caps
12716 are important when linking not the template, which is more
12717 general than the current caps.
12719 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12721 * gst/autoplug/.cvsignore:
12722 * gst/autoplug/Makefile.am:
12723 * gst/autoplug/gstsearchfuncs.c:
12724 * gst/autoplug/gstsearchfuncs.h:
12725 * gst/autoplug/gstspider.c:
12726 * gst/autoplug/gstspider.h:
12727 * gst/autoplug/gstspideridentity.c:
12728 * gst/autoplug/gstspideridentity.h:
12729 * gst/autoplug/spidertest.c:
12732 2005-04-25 Wim Taymans <wim@fluendo.com>
12734 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12735 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12736 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12737 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12739 Added stubs for unimplemented functions.
12741 2005-04-24 David Schleef <ds@schleef.org>
12743 * gst/gstpad.h: Disable some unimplemented functions. Wim,
12746 2005-04-24 David Schleef <ds@schleef.org>
12748 Convert everything from GstAtomicInt to g_atomic_int_*, and
12753 * gst/gstatomic_impl.h:
12761 * gst/gstdata_private.h:
12765 * gst/gstmessage.c:
12768 * gst/gststructure.c:
12769 * gst/gststructure.h:
12770 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12773 2005-04-24 David Schleef <ds@schleef.org>
12775 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12776 make the regressions tests work. Remove some code that is no
12778 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12779 Disable warning for pads without templates.
12781 2005-04-24 David Schleef <ds@schleef.org>
12783 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
12784 functions that handle filtered links.
12785 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12787 * gst/gstutils.c: Fix/remove utility functions that handle
12790 * gst/gstvalue.c: Add serialization/deserialization of caps
12791 * gst/parse/grammar.y: Ignore filtered caps when linking. This
12792 requires fixing so that the filter caps notation creates
12793 a capsfilter element and sets the filter_caps property. I
12794 think everyone probably wants to keep the shorthand notation.
12795 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12796 * docs/gst/tmpl/gstpad.sgml:
12798 * gst/elements/gstelements.c: Register capsfilter element.
12799 * gst/Makefile.am: fix spacing
12800 * docs/random/ds/0.9-suggested-changes: random
12802 2005-04-23 David Schleef <ds@schleef.org>
12804 * gst/elements/Makefile.am:
12805 * gst/elements/gstcapsfilter.c: New element that acts like an
12806 identity, but filters caps. Will eventually replace filtered
12807 caps in pad linking.
12808 * gst/gstutils.c: (gst_element_create_all_pads): New function
12809 to create all the ALWAYS pads that are registered with an
12810 element class. This functionality should eventually be
12811 merged in with GstElement initialization.
12813 * testsuite/trigger/README: part of trigger test code that should
12814 have been checked in a long time ago.
12816 2005-04-23 David Schleef <ds@schleef.org>
12818 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
12819 needed with new versions of libtool (nobody will confirm this),
12820 and hard to carry around.
12821 * gst/autoplug/Makefile.am:
12822 * gst/base/Makefile.am:
12823 * gst/elements/Makefile.am:
12824 * gst/indexers/Makefile.am:
12825 * gst/schedulers/Makefile.am:
12826 * libs/gst/bytestream/Makefile.am:
12827 * libs/gst/control/Makefile.am:
12828 * libs/gst/dataprotocol/Makefile.am:
12829 * libs/gst/getbits/Makefile.am:
12831 2005-04-21 Wim Taymans <wim@fluendo.com>
12833 * docs/design/draft-push-pull.txt:
12834 * docs/design/part-MT-refcounting.txt:
12835 * docs/design/part-TODO.txt:
12836 * docs/design/part-caps.txt:
12837 * docs/design/part-events.txt:
12838 * docs/design/part-gstbus.txt:
12839 * docs/design/part-gstpipeline.txt:
12840 * docs/design/part-messages.txt:
12841 * docs/design/part-push-pull.txt:
12842 * docs/design/part-query.txt:
12845 2005-04-21 Wim Taymans <wim@fluendo.com>
12847 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12848 (gst_message_new), (gst_message_new_error),
12849 (gst_message_new_warning), (gst_message_new_tag),
12850 (gst_message_new_state_changed), (gst_message_new_application),
12851 (gst_message_get_structure):
12852 * gst/gstmessage.h:
12853 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12854 (gst_structure_copy_conditional):
12855 Use parent refcount in GstMessage to ensure GstStructure
12857 Cleaned up headers a bit.
12860 2005-04-20 Wim Taymans <wim@fluendo.com>
12862 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12863 (gst_basesink_pad_getcaps), (gst_basesink_init),
12864 (gst_basesink_chain_unlocked):
12865 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12866 (gst_type_find_helper):
12867 * gst/elements/gsttypefindelement.c:
12868 (gst_type_find_element_have_type), (gst_type_find_element_init),
12869 (stop_typefinding), (gst_type_find_element_handle_event),
12870 (find_suggest), (gst_type_find_element_chain),
12871 (gst_type_find_element_checkgetrange),
12872 (gst_type_find_element_getrange), (do_typefind),
12873 (gst_type_find_element_activate):
12874 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12875 (gst_buffer_default_free), (gst_buffer_default_copy),
12876 (gst_buffer_set_caps):
12877 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12878 (gst_caps_replace):
12879 * gst/gstmessage.c: (gst_message_new),
12880 (gst_message_new_state_changed):
12881 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12882 (gst_pad_set_checkgetrange_function),
12883 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12884 (gst_pad_set_caps), (gst_pad_check_pull_range),
12885 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12887 * gst/gsttypefind.c: (gst_type_find_register):
12888 Make gst_caps_replace() work like other _replace() functions.
12889 Use _caps_replace() where possible.
12890 Make sure _message_new() initialises its field.
12891 Add gst_static_pad_template_get_caps()
12894 2005-04-18 Andy Wingo <wingo@pobox.com>
12896 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12897 on the peer, not the pad. I think that was a typo. Pass an extra
12898 arg to see if random access is possible. Activate the pads as
12899 PULL_RANGE if possible.
12901 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12903 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12904 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12907 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12909 * docs/faq/using.xml:
12910 Add note on gstreamer-properties (#154996).
12912 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12914 * docs/random/bbb/optional-properties:
12915 Some analysis on optional properties.
12917 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12919 * docs/gst/tmpl/gstelementfactory.sgml:
12920 * gst/gstelement.h:
12921 * gst/gstelementfactory.c: (gst_element_factory_init),
12922 (gst_element_factory_cleanup), (gst_element_register),
12923 (__gst_element_factory_add_static_pad_template),
12924 (gst_element_factory_get_static_pad_templates),
12925 (gst_element_factory_can_src_caps),
12926 (gst_element_factory_can_sink_caps):
12927 * gst/registries/Makefile.am:
12928 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12929 (gst_xml_registry_class_init), (gst_xml_registry_init),
12930 (gst_xml_registry_new), (gst_xml_registry_set_property),
12931 (gst_xml_registry_get_property), (get_time), (make_dir),
12932 (gst_xml_registry_get_perms_func),
12933 (plugin_times_older_than_recurse), (plugin_times_older_than),
12934 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12935 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12936 (add_to_char_array), (read_string), (read_uint), (read_enum),
12937 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12938 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12939 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12940 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12941 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12942 (gst_xml_registry_rebuild):
12943 * gst/registries/gstlibxmlregistry.h:
12944 * tools/gst-compprep.c: (main):
12945 * tools/gst-inspect.c: (print_pad_templates_info):
12946 * tools/gst-xmlinspect.c: (print_element_info):
12947 Use libxml2 for registry parsing, use staticpadtemplates in
12948 elementfactories. Makes gst_init() +/- 10x faster.
12950 2005-04-12 Wim Taymans <wim@fluendo.com>
12952 * gst/base/Makefile.am:
12953 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12954 (gst_basesink_pad_getcaps), (gst_basesink_init),
12955 (gst_basesink_event), (gst_basesink_change_state):
12956 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12957 (gst_basesrc_init), (gst_basesrc_query),
12958 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12959 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12960 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12961 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12962 (gst_basesrc_stop), (gst_basesrc_activate),
12963 (gst_basesrc_change_state):
12964 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12965 (helper_find_suggest), (gst_type_find_helper):
12966 * gst/base/gsttypefindhelper.h:
12967 * gst/elements/Makefile.am:
12968 * gst/elements/gstelements.c:
12969 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12970 (gst_fakesink_get_times), (gst_fakesink_event),
12971 (gst_fakesink_preroll), (gst_fakesink_render):
12972 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12973 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12974 (gst_fakesrc_get_property), (gst_fakesrc_create),
12975 (gst_fakesrc_start), (gst_fakesrc_stop):
12976 * gst/elements/gstfakesrc.h:
12977 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12978 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12979 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12980 (gst_filesrc_create_read), (gst_filesrc_create),
12981 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12982 (gst_filesrc_start):
12983 * gst/elements/gsttypefindelement.c:
12984 (gst_type_find_element_have_type), (gst_type_find_element_init),
12985 (start_typefinding), (stop_typefinding), (push_buffer_store),
12986 (gst_type_find_element_handle_event),
12987 (gst_type_find_element_chain),
12988 (gst_type_find_element_checkgetrange),
12989 (gst_type_find_element_getrange), (do_typefind),
12990 (gst_type_find_element_activate),
12991 (gst_type_find_element_change_state):
12992 * gst/elements/gsttypefindelement.h:
12993 * gst/gstpipeline.c: (pipeline_bus_handler):
12994 Added typefind helper.
12995 Small preroll fix in the base sink.
12996 Disable typefind code in basesrc.
12997 Crude port of typefindelement.
13001 2005-04-11 Wim Taymans <wim@fluendo.com>
13003 * check/gst/gstbus.c: (gstbus_suite):
13004 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13005 * check/gstcheck.h:
13006 Fix up the timeout so that the test does not fail.
13008 2005-04-06 Wim Taymans <wim@fluendo.com>
13011 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13012 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13013 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13014 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13015 (gst_basesrc_check_get_range), (gst_basesrc_loop),
13016 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13017 (gst_basesrc_stop), (gst_basesrc_activate),
13018 (gst_basesrc_change_state), (basesrc_find_peek),
13019 (basesrc_find_suggest), (gst_basesrc_type_find):
13020 * gst/base/gstbasesrc.h:
13021 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13022 (gst_filesrc_class_init), (gst_filesrc_init),
13023 (gst_filesrc_finalize), (gst_filesrc_set_location),
13024 (gst_filesrc_set_property), (gst_filesrc_get_property),
13025 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13026 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13027 (gst_filesrc_create_read), (gst_filesrc_create),
13028 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13029 * gst/elements/gstfilesrc.h:
13030 * gst/gstelement.c: (gst_element_get_state_func),
13031 (gst_element_lost_state), (gst_element_pads_activate):
13032 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13033 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13034 (gst_pad_pull_range):
13036 More work on the generic source base class, implement seeking,
13038 Make filesrc extend the base source class.
13039 Added gst_pad_set_checkgetrange_function to GstPad.
13041 2005-04-06 Andy Wingo <wingo@pobox.com>
13043 * pkgconfig/gstreamer-base.pc.in:
13044 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13046 * pkgconfig/Makefile.am:
13047 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13049 2005-04-04 Wim Taymans <wim@fluendo.com>
13051 * gst/base/Makefile.am:
13053 * gst/base/gstbasesink.c: (gst_basesink_base_init),
13054 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13055 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13056 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13057 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13058 (gst_basesrc_base_init), (gst_basesrc_class_init),
13059 (gst_basesrc_init), (gst_basesrc_get_formats),
13060 (gst_basesrc_get_query_types), (gst_basesrc_query),
13061 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13062 (gst_basesrc_set_property), (gst_basesrc_get_property),
13063 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13064 (gst_basesrc_loop), (gst_basesrc_activate),
13065 (gst_basesrc_change_state):
13066 * gst/base/gstbasesrc.h:
13067 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13068 (gst_fakesrc_class_init), (gst_fakesrc_init),
13069 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13070 (gst_fakesrc_get_property), (gst_fakesrc_create):
13071 * gst/elements/gstfakesrc.h:
13072 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13073 (gst_filesrc_open_file), (gst_filesrc_loop),
13074 (gst_filesrc_activate), (filesrc_find_peek),
13075 (gst_filesrc_type_find):
13076 Made base source class, make fakesrc extend it.
13077 Add comments to basesink class.
13078 Some filesrc cleanup.
13080 2005-03-31 David Schleef <ds@schleef.org>
13082 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13083 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13084 expected to link against libgstreamer.
13085 * gst/base/Makefile.am: link against libgstreamer
13086 * gst/elements/Makefile.am: same
13088 2005-03-31 Andy Wingo <wingo@pobox.com>
13090 * tests/instantiate/Makefile.am:
13091 * tests/instantiate/caps.c: Add test to test speed of caps copy
13094 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13095 GMemChunk to be fair.
13097 * gst/gsttrashstack.h: Remove warning about using the fallback
13098 trash stack implementation, it's still faster than malloc.
13100 2005-03-30 Andy Wingo <wingo@pobox.com>
13102 * tests/complexity.c: Add a copyright.
13104 2005-03-31 Wim Taymans <wim@fluendo.com>
13106 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13107 (gst_base_transform_class_init), (gst_base_transform_init),
13108 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13109 (gst_base_transform_get_property),
13110 (gst_base_transform_sink_activate),
13111 (gst_base_transform_src_activate),
13112 (gst_base_transform_change_state):
13113 * gst/base/gstbasetransform.h:
13114 * gst/elements/gstidentity.c: (gst_identity_class_init),
13115 (gst_identity_event), (gst_identity_check_perfect),
13116 (gst_identity_transform), (gst_identity_start),
13117 (gst_identity_stop):
13118 Added start/stop methods to transform base class so subclasses
13119 don't need to deal with state changes even.
13121 2005-03-31 Wim Taymans <wim@fluendo.com>
13123 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13124 (gst_event_new_discontinuous), (gst_event_discont_get_value):
13126 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13127 (gst_pad_pull_range):
13128 Added rate to the discont event to prepare for variable speed
13129 and reverse playback.
13131 2005-03-29 David Schleef <ds@schleef.org>
13134 * testsuite/trigger/Makefile.am:
13135 * testsuite/trigger/trigger.c: A little example program to show
13136 how trigger-based elements can work.
13138 2005-03-29 Wim Taymans <wim@fluendo.com>
13140 * gst/base/Makefile.am:
13142 * gst/base/gstbasesink.c: (gst_basesink_get_type),
13143 (gst_basesink_base_init), (gst_basesink_class_init),
13144 (gst_basesink_pad_getcaps), (gst_basesink_init),
13145 (gst_basesink_activate), (gst_basesink_change_state):
13146 * gst/base/gstbasesink.h:
13147 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13148 (gst_base_transform_base_init), (gst_base_transform_finalize),
13149 (gst_base_transform_class_init), (gst_base_transform_init),
13150 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13151 (gst_base_transform_event), (gst_base_transform_getrange),
13152 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13153 (gst_base_transform_set_property),
13154 (gst_base_transform_get_property),
13155 (gst_base_transform_sink_activate),
13156 (gst_base_transform_src_activate),
13157 (gst_base_transform_change_state):
13158 * gst/base/gstbasetransform.h:
13159 * gst/elements/gstidentity.c: (gst_identity_finalize),
13160 (gst_identity_class_init), (gst_identity_init),
13161 (gst_identity_event), (gst_identity_check_perfect),
13162 (gst_identity_transform), (gst_identity_set_property),
13163 (gst_identity_get_property), (gst_identity_change_state):
13164 * gst/elements/gstidentity.h:
13165 * gst/gstelement.c: (gst_element_get_state_func),
13166 (gst_element_lost_state), (gst_element_pads_activate):
13167 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13168 (gst_pad_check_pull_range), (gst_pad_pull_range):
13170 Simplify pad activation.
13171 Added function to check if pull_range can be performed.
13172 Error out when pulling inactive or flushing pads.
13173 Removed const from refcounted types as it does not make sense.
13174 Simplify pad templates in basesink
13175 Added base class for simple 1-to-1 transforms.
13176 Make identity subclass the base transform.
13178 2005-03-29 Andy Wingo <wingo@pobox.com>
13180 * docs/libs/gstreamer-libs-overrides.txt:
13181 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13182 really don't understand what's going on, but like whatever. I want
13185 * docs/gst/Makefile.am:
13186 * docs/libs/Makefile.am: Dist the overrides files.
13188 * check/Makefile.am (clean-local): Remove .libs directories.
13190 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13191 elements to EXTRA_DIST, so po/ files are happy.
13193 * po/POTFILES.in: Er, remove it here.
13195 * po/POTFILES: Remove gstspider.c.
13197 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13199 * docs/libs/gstreamer-libs-docs.sgml:
13200 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13203 * tests/complexity.c (main): Set the length of the preroll queue
13204 on the sinks to prevent a lockup.
13206 * libs/gst/dataprotocol/Makefile.am:
13207 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13208 the same as the one in check/gst-libs/gdp.c.
13210 * po/, docs/gst/: Commit automatic changes to docs and po files.
13212 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13213 the versioned libgstbase.
13215 * check/Makefile.am: Depend on an unversioned gst-register, seems
13216 to make autoconf happier.
13218 * gst/base/Makefile.am: Make libgstbase a versioned lib.
13220 2005-03-28 Wim Taymans <wim@fluendo.com>
13223 * docs/design/part-gstelement.txt:
13224 * docs/design/part-negotiation.txt:
13225 * docs/design/part-preroll.txt:
13226 * docs/design/part-scheduling.txt:
13227 * docs/design/part-states.txt:
13229 * gst/base/Makefile.am:
13231 * gst/base/gstbasesink.c: (gst_basesink_get_template),
13232 (gst_basesink_base_init), (gst_basesink_class_init),
13233 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13234 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13235 (gst_basesink_set_pad_functions),
13236 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13237 (gst_basesink_set_property), (gst_basesink_get_property),
13238 (gst_base_sink_get_template), (gst_base_sink_get_caps),
13239 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13240 (gst_basesink_preroll_queue_push),
13241 (gst_basesink_preroll_queue_empty),
13242 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13243 (gst_basesink_event), (gst_basesink_get_times),
13244 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13245 (gst_basesink_chain_unlocked), (gst_basesink_chain),
13246 (gst_basesink_loop), (gst_basesink_activate),
13247 (gst_basesink_change_state):
13248 * gst/base/gstbasesink.h:
13249 * gst/elements/Makefile.am:
13250 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13251 (gst_fakesink_class_init), (gst_fakesink_init),
13252 (gst_fakesink_set_property), (gst_fakesink_get_property),
13253 (gst_fakesink_get_times), (gst_fakesink_event),
13254 (gst_fakesink_preroll), (gst_fakesink_render),
13255 (gst_fakesink_change_state):
13256 * gst/elements/gstfakesink.h:
13257 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13258 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13259 * gst/gstelement.c: (gst_element_add_pad),
13260 (gst_element_get_state_func), (gst_element_abort_state),
13261 (gst_element_commit_state), (gst_element_lost_state),
13262 (gst_element_set_state), (gst_element_pads_activate):
13263 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13264 * gst/gstpipeline.c: (gst_pipeline_send_event),
13265 (gst_pipeline_change_state):
13266 Added state change code.
13267 Added/updated docs.
13268 Added sink base class, make fakesink extend the base class.
13269 Small cleanups in GstPipeline.
13271 2005-03-26 David Schleef <ds@schleef.org>
13273 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
13274 is broken and should be implemented in a different library.
13275 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13276 * gst/gst.h: remove gstcpu.h
13277 * gst/gstcpu.c: remove
13278 * gst/gstcpu.h: remove
13279 * gst/Makefile.am.future: Remove this file. It's ancient.
13281 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13283 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13284 (gst_bin_send_event):
13285 Add default event/set_manager handlers. The set_manager handler
13286 takes care that the manager is distributed over kids that were
13287 already in the bin before the manager was set. The event handler
13288 is a utility virtual function that sends the event over all sinks,
13289 so that gst_element_send_event (bin, event); has the expected
13291 * gst/gstpad.c: (gst_pad_event_default):
13292 Re-install default event handling for discontinuities, so that
13293 seeking works without requiring hacks in applications or extra
13295 * gst/gstpipeline.c: (gst_pipeline_class_init),
13296 (gst_pipeline_send_event):
13297 Half hack, half utility: set a pipeline to PAUSED for seek events,
13298 since that is the only way we can guarantee a/v sync. Means that
13299 you can do gst_element_seek (pipeline, method, pos); on a pipeline
13300 and it "just works".
13302 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13304 * gst/gstpipeline.c: (gst_pipeline_use_clock):
13305 Lock/unlock mismatch.
13307 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
13309 * docs/faq/gst-uninstalled:
13310 add gst-plugins-base
13311 * docs/gst/Makefile.am:
13312 don't error out until docs are fixed
13313 * docs/gst/gstreamer.types:
13316 2005-03-22 Wim Taymans <wim@fluendo.com>
13318 * check/Makefile.am:
13319 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13320 * gst/gststructure.c: (gst_structure_set_valist),
13321 (gst_structure_copy_conditional):
13322 Activated more tests.
13323 Added message test.
13324 Added G_TYPE_POINTER to GstStructure.
13327 2005-03-22 Wim Taymans <wim@fluendo.com>
13329 * docs/design/part-TODO.txt:
13330 * docs/design/part-events.txt:
13331 * docs/design/part-gstbin.txt:
13332 * docs/design/part-gstbus.txt:
13333 * docs/design/part-gstpipeline.txt:
13334 * docs/design/part-messages.txt:
13336 * gst/gstmessage.c:
13339 2005-03-21 Wim Taymans <wim@fluendo.com>
13341 * gst/gstbus.c: (gst_bus_post):
13342 Fix copy-and-paste error.
13344 2005-03-21 Wim Taymans <wim@fluendo.com>
13346 * check/Makefile.am:
13348 * gst/elements/Makefile.am:
13349 * gst/elements/gstelements.c:
13350 * gst/elements/gstfakesink.c: (gst_fakesink_init),
13351 (gst_fakesink_event), (gst_fakesink_chain):
13352 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13353 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13354 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13355 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13356 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13357 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13358 (gst_fakesrc_loop), (gst_fakesrc_activate),
13359 (gst_fakesrc_change_state):
13360 * gst/elements/gstfakesrc.h:
13361 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13362 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13363 (gst_filesrc_open_file), (gst_filesrc_loop),
13364 (gst_filesrc_activate), (gst_filesrc_change_state),
13365 (filesrc_find_peek), (filesrc_find_suggest),
13366 (gst_filesrc_type_find):
13367 * gst/elements/gstidentity.c: (gst_identity_finalize),
13368 (gst_identity_class_init), (gst_identity_init),
13369 (gst_identity_proxy_getcaps), (identity_queue_push),
13370 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13371 (gst_identity_getrange), (gst_identity_chain),
13372 (gst_identity_sink_loop), (gst_identity_src_loop),
13373 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13374 (gst_identity_set_property), (gst_identity_get_property),
13375 (gst_identity_change_state):
13376 * gst/elements/gstidentity.h:
13377 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13378 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13379 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13380 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13381 (gst_tee_sink_activate):
13382 * gst/elements/gsttee.h:
13383 * gst/gst.c: (gst_register_core_elements), (init_post):
13385 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13386 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13387 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13388 (gst_bin_change_state):
13390 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13391 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13392 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13393 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13394 (gst_bus_set_sync_handler), (gst_bus_create_watch),
13395 (bus_watch_callback), (bus_watch_destroy),
13396 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13397 (poll_timeout), (gst_bus_poll):
13401 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13402 (gst_element_post_message), (gst_element_message_full),
13403 (gst_element_get_state_func), (gst_element_get_state),
13404 (gst_element_abort_state), (gst_element_commit_state),
13405 (gst_element_lost_state), (gst_element_set_state),
13406 (gst_element_pads_activate), (gst_element_change_state),
13407 (gst_element_dispose), (gst_element_set_manager_func),
13408 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13409 (gst_element_set_manager), (gst_element_get_manager),
13410 (gst_element_set_bus), (gst_element_get_bus),
13411 (gst_element_set_scheduler), (gst_element_get_scheduler):
13412 * gst/gstelement.h:
13413 * gst/gstevent.c: (gst_event_new_segment_seek),
13414 (gst_event_new_flush):
13416 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13417 (_gst_message_free), (gst_message_get_type), (gst_message_new),
13418 (gst_message_new_eos), (gst_message_new_error),
13419 (gst_message_new_warning), (gst_message_new_tag),
13420 (gst_message_new_state_changed), (gst_message_new_application),
13421 (gst_message_get_structure), (gst_message_parse_tag),
13422 (gst_message_parse_state_changed), (gst_message_parse_error),
13423 (gst_message_parse_warning):
13424 * gst/gstmessage.h:
13425 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13426 (gst_real_pad_set_property), (gst_pad_set_active),
13427 (gst_pad_is_active), (gst_pad_set_blocked_async),
13428 (gst_pad_set_blocked), (gst_pad_is_blocked),
13429 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13430 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13431 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13432 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13433 (gst_pad_link_filtered), (gst_pad_relink_filtered),
13434 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13435 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13436 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13437 (gst_pad_set_caps), (gst_pad_configure_sink),
13438 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13439 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13440 (gst_real_pad_dispose), (gst_real_pad_finalize),
13441 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13442 (gst_pad_event_default_dispatch), (gst_pad_event_default),
13443 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13445 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13446 (pipeline_bus_handler), (gst_pipeline_change_state),
13447 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13448 * gst/gstpipeline.h:
13450 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13451 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13452 (gst_queue_link_src), (gst_queue_bufferalloc),
13453 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13454 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13455 (gst_queue_loop), (gst_queue_handle_src_event),
13456 (gst_queue_handle_src_query), (gst_queue_src_activate),
13457 (gst_queue_change_state):
13459 * gst/gstscheduler.c: (gst_scheduler_init),
13460 (gst_scheduler_dispose), (gst_scheduler_create_task),
13461 (gst_scheduler_factory_create):
13462 * gst/gstscheduler.h:
13463 * gst/gststructure.c: (gst_structure_get_type),
13464 (gst_structure_copy_conditional):
13465 * gst/gststructure.h:
13466 * gst/gsttaginterface.h:
13467 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13468 (gst_task_init), (gst_task_dispose), (gst_task_create),
13469 (gst_task_get_state), (gst_task_start), (gst_task_stop),
13475 * gst/schedulers/Makefile.am:
13476 * gst/schedulers/cothreads_compat.h:
13477 * gst/schedulers/entryscheduler.c:
13478 * gst/schedulers/faircothreads.c:
13479 * gst/schedulers/faircothreads.h:
13480 * gst/schedulers/fairscheduler.c:
13481 * gst/schedulers/gstbasicscheduler.c:
13482 * gst/schedulers/gstoptimalscheduler.c:
13483 * gst/schedulers/gthread-cothreads.h:
13484 * gst/schedulers/threadscheduler.c:
13485 (gst_thread_scheduler_task_get_type),
13486 (gst_thread_scheduler_task_class_init),
13487 (gst_thread_scheduler_task_init),
13488 (gst_thread_scheduler_task_start),
13489 (gst_thread_scheduler_task_stop),
13490 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13491 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13492 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13493 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13495 * libs/gst/Makefile.am:
13496 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13497 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13498 (gst_file_pad_parent_set):
13499 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13500 (gst_dp_event_from_packet):
13501 * tests/complexity.c: (main):
13502 * tests/mass_elements.c: (main):
13503 * testsuite/states/locked.c: (message_received), (main):
13504 * testsuite/states/parent.c: (main):
13505 * tools/gst-inspect.c: (print_element_flag_info),
13506 (print_implementation_info), (print_pad_info):
13507 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13509 * tools/gst-md5sum.c: (event_loop), (main):
13510 * tools/gst-typefind.c: (main):
13511 * tools/gst-xmlinspect.c: (print_element_info):
13513 Added GstBus for mainloop integration.
13514 Added GstMessage for sending notifications on the bus.
13515 Added GstTask as an abstraction for pipeline entry points.
13517 Removed Schedulers.
13518 Simplified GstQueue for multithreaded core.
13519 Made _link threadsafe, removed old capsnego.
13520 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13521 Added pad blocking functions.
13522 Reworked scheduling functions in GstPad to prepare for
13523 scheduling updates soon.
13524 Moved events out of data stream.
13525 Simplified GstEvent types.
13526 Added return values to push/pull.
13527 Removed clocking from GstElement.
13528 Added prototypes for state change function for next merge.
13529 Removed iterate from bins and state change management.
13530 Fixed some elements, disabled others for now.
13531 Fixed -inspect and -launch.
13532 Added check for GstBus.
13534 2005-03-10 Wim Taymans <wim@fluendo.com>
13536 * docs/design/part-MT-refcounting.txt:
13537 * docs/design/part-clocks.txt:
13538 * docs/design/part-gstelement.txt:
13539 * docs/design/part-gstobject.txt:
13540 * docs/design/part-standards.txt:
13541 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13542 (gst_bin_remove_func), (gst_bin_remove):
13546 * testsuite/clock/clock1.c: (main):
13547 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13549 * testsuite/dlopen/loadgst.c: (do_test):
13550 * testsuite/refcounting/bin.c: (add_remove_test1),
13551 (add_remove_test2), (main):
13552 * testsuite/refcounting/element.c: (main):
13553 * testsuite/refcounting/element_pad.c: (main):
13554 * testsuite/refcounting/pad.c: (main):
13555 * tools/gst-launch.c: (sigint_handler_sighandler):
13556 * tools/gst-typefind.c: (main):
13558 Added doc about clock.
13559 removed gst_bin_iterate_recurse_up(), marked methods
13561 Fix more testsuites.
13563 2005-03-09 Wim Taymans <wim@fluendo.com>
13565 * gst/gstpad.c: (gst_pad_get_direction),
13566 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13567 (gst_pad_collect_valist):
13568 * testsuite/bins/interface.c: (main):
13569 * testsuite/caps/audioscale.c: (test_caps):
13570 * testsuite/caps/caps.c: (test1), (test2), (test3):
13571 * testsuite/caps/deserialize.c: (main):
13572 * testsuite/caps/enumcaps.c: (main):
13573 * testsuite/caps/filtercaps.c: (main):
13574 * testsuite/caps/intersect2.c: (main):
13575 * testsuite/caps/random.c: (main):
13576 * testsuite/caps/renegotiate.c: (my_fixate), (main):
13577 * testsuite/caps/sets.c: (check_caps):
13578 * testsuite/caps/simplify.c: (check_caps), (main):
13579 * testsuite/caps/subtract.c: (check_caps):
13580 Fix _pad_get_direction wrt ghostpads.
13581 Fix caps testsuite.
13583 2005-03-09 Wim Taymans <wim@fluendo.com>
13585 * check/Makefile.am:
13586 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13587 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13588 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13589 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13590 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13591 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13592 (gst_bin_remove), (gst_bin_iterate_recurse_up),
13593 (bin_element_is_sink), (gst_bin_iterate_sinks),
13594 (gst_bin_iterate_all_by_interface):
13596 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13597 (gst_element_change_state), (gst_element_dispose),
13598 (gst_element_finalize), (gst_element_set_loop_function):
13599 * gst/gstelement.h:
13600 * gst/gstiterator.c: (find_custom_fold_func):
13601 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13602 (gst_pad_collectv), (gst_pad_collect_valist),
13603 (gst_pad_template_new):
13604 * gst/gstpipeline.c: (gst_pipeline_class_init),
13605 (gst_pipeline_dispose), (gst_pipeline_set_property),
13606 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13607 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13608 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13610 * gst/schedulers/entryscheduler.c:
13611 * gst/schedulers/gstbasicscheduler.c:
13612 (gst_basic_scheduler_cothreaded_chain),
13613 (gst_basic_scheduler_chain_add_element):
13614 * testsuite/bins/interface.c: (main):
13616 Added GstSystemClock test.
13617 Implemented clock distribution code in GstBin.
13618 Implemented iterate sinks method for future use.
13619 Rearranged gstelement.h
13620 Fix GstIterator comparison bug.
13621 Moved some code to GstPipeline, mostly clocking related.
13623 2005-03-09 Wim Taymans <wim@fluendo.com>
13626 * gst/gst_private.h:
13627 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13628 (gst_bin_remove_func), (gst_bin_remove),
13629 (gst_bin_get_by_name_recurse_up):
13630 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13631 (gst_clock_id_compare_func), (gst_clock_id_wait),
13632 (gst_clock_id_wait_async), (gst_clock_init),
13633 (gst_clock_adjust_unlocked), (gst_clock_get_time):
13634 * gst/gstelement.h:
13635 * gst/gstinfo.c: (_gst_debug_init):
13637 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13638 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13640 Bump version number, we're now 0.9.0
13641 Add future debugging category.
13642 Fix NULL _unref() in _get_by_name_recurse_up
13643 Rearrange gstpad.h.
13646 2005-03-08 Wim Taymans <wim@fluendo.com>
13648 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13649 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13650 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13651 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13652 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13653 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13654 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13655 * gst/elements/gstidentity.c: (gst_identity_class_init):
13656 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13657 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13658 * gst/elements/gstshaper.c: (gst_shaper_class_init):
13659 * gst/elements/gststatistics.c: (gst_statistics_class_init):
13660 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13662 * gst/gstelement.c: (gst_element_class_init),
13663 (gst_element_base_class_init), (gst_element_init),
13664 (gst_element_get_random_pad), (gst_element_wait_state_change),
13665 (gst_element_change_state), (gst_element_dispose),
13666 (gst_element_finalize), (gst_element_set_loop_function):
13667 * gst/gstelement.h:
13668 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13669 * gst/gstthread.c: (gst_thread_class_init),
13670 (gst_thread_release_children_locks), (gst_thread_change_state):
13671 * gst/schedulers/gstbasicscheduler.c:
13672 (gst_basic_scheduler_loopfunc_wrapper),
13673 (gst_basic_scheduler_chain_wrapper),
13674 (gst_basic_scheduler_src_wrapper),
13675 (gst_basic_scheduler_remove_element):
13676 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13677 Remove threadsafe properties. Fix elements because GObject
13678 complains when installing a property before declaring a
13679 set/get_property handler.
13680 Rearrange gstelement.h file, use STATE macros for state locks.
13681 Free mutexes in the finalize method instead of dispose.
13683 2005-03-08 Wim Taymans <wim@fluendo.com>
13685 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13686 * gst/gstthread.c: (gst_thread_release_children_locks):
13687 Added parentage check.
13688 Fix build og GstThread again.
13690 2005-03-08 Wim Taymans <wim@fluendo.com>
13692 * docs/design/part-MT-refcounting.txt:
13693 * docs/design/part-conventions.txt:
13694 * docs/design/part-gstobject.txt:
13695 * docs/design/part-relations.txt:
13696 * docs/design/part-standards.txt:
13697 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13698 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13699 (gst_bin_get_by_name), (gst_bin_get_by_interface),
13700 (gst_bin_iterate_all_by_interface):
13703 * gst/gstelement.c: (gst_element_class_init),
13704 (gst_element_change_state), (gst_element_set_loop_function):
13705 * gst/gstelement.h:
13706 * gst/gstiterator.c:
13707 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13708 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13709 (gst_object_dispatch_properties_changed), (gst_object_set_name),
13710 (gst_object_set_parent), (gst_object_unparent),
13711 (gst_object_check_uniqueness):
13713 Docs updates, clean up some headers.
13715 2005-03-07 Wim Taymans <wim@fluendo.com>
13717 * check/.cvsignore:
13718 * check/Makefile.am:
13719 * check/gst-libs/.cvsignore:
13720 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13721 * check/gst/.cvsignore:
13722 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13723 (START_TEST), (gstbus_suite), (main):
13724 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13725 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13726 (gst_data_suite), (main):
13727 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13728 (add_fold_func), (gstiterator_suite), (main):
13729 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13730 (thread_name_object), (thread_name_object_default),
13731 (gst_object_name_compare), (gst_object_suite), (main):
13732 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13733 (gst_pad_suite), (main):
13734 * check/gstcheck.c: (gst_check_log_message_func),
13735 (gst_check_log_critical_func), (gst_check_init):
13736 * check/gstcheck.h:
13737 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13738 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13741 2005-03-07 Wim Taymans <wim@fluendo.com>
13743 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13744 (gst_list_iterator_next), (gst_list_iterator_resync),
13745 (gst_list_iterator_free), (gst_iterator_new_list),
13746 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13747 (gst_iterator_free), (gst_iterator_push), (filter_next),
13748 (filter_resync), (filter_uninit), (filter_free),
13749 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13750 (gst_iterator_foreach), (find_custom_fold_func),
13751 (gst_iterator_find_custom):
13752 * gst/gstiterator.h:
13753 Added missing files.
13755 2005-03-07 Wim Taymans <wim@fluendo.com>
13759 * docs/design/part-MT-refcounting.txt:
13760 * docs/design/part-conventions.txt:
13761 * docs/design/part-gstobject.txt:
13762 * docs/design/part-relations.txt:
13763 * examples/mixer/mixer.c: (main):
13764 * examples/thread/thread.c: (eos), (main):
13766 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13767 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13768 (gst_spider_plug_from_srcpad):
13769 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13770 (gst_spider_identity_change_state),
13771 (gst_spider_identity_sink_loop_type_finding):
13772 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13773 * gst/elements/gstidentity.c: (gst_identity_init):
13774 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13775 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13776 * gst/elements/gsttypefindelement.c: (free_entry):
13779 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13780 (gst_bin_set_clock_func), (gst_bin_auto_clock),
13781 (gst_bin_set_index), (gst_bin_set_element_sched),
13782 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13783 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13784 (gst_bin_iterate_elements), (iterate_child_recurse),
13785 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13786 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13787 (compare_interface), (gst_bin_get_by_interface),
13788 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13790 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13791 (gst_buffer_default_free), (gst_buffer_default_copy),
13792 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13793 (gst_buffer_create_sub):
13795 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13796 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13797 (gst_caps_unref), (gst_static_caps_get),
13798 (gst_caps_remove_and_get_structure), (gst_caps_append),
13799 (gst_caps_append_structure), (gst_caps_remove_structure),
13800 (gst_caps_copy_nth), (gst_caps_set_simple),
13801 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13802 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13803 (gst_caps_structure_intersect_field), (gst_caps_intersect),
13804 (gst_caps_structure_subtract_field), (gst_caps_subtract),
13805 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13806 (gst_caps_structure_figure_out_union),
13807 (gst_caps_switch_structures), (gst_caps_do_simplify),
13808 (gst_caps_replace), (gst_caps_from_string),
13809 (gst_caps_copy_conditional):
13811 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13812 (_gst_clock_id_free), (gst_clock_id_unref),
13813 (gst_clock_id_compare_func), (gst_clock_id_wait),
13814 (gst_clock_id_wait_async), (gst_clock_class_init),
13815 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13816 (gst_clock_get_time), (gst_clock_set_time_adjust),
13817 (gst_clock_set_property), (gst_clock_get_property):
13820 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13821 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13823 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13824 (gst_element_requires_clock), (gst_element_provides_clock),
13825 (gst_element_set_clock), (gst_element_clock_wait),
13826 (gst_element_wait), (gst_element_set_time_delay),
13827 (gst_element_is_indexable), (gst_element_add_pad),
13828 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13829 (pad_compare_name), (gst_element_get_static_pad),
13830 (gst_element_request_pad), (gst_element_get_request_pad),
13831 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13832 (gst_element_class_get_pad_template_list),
13833 (gst_element_class_get_pad_template), (gst_element_error_func),
13834 (gst_element_get_random_pad), (gst_element_get_event_masks),
13835 (gst_element_send_event), (gst_element_seek),
13836 (gst_element_get_query_types), (gst_element_query),
13837 (gst_element_get_formats), (gst_element_convert),
13838 (gst_element_is_locked_state), (gst_element_set_locked_state),
13839 (gst_element_sync_state_with_parent), (gst_element_change_state),
13840 (gst_element_finalize), (gst_element_yield),
13841 (gst_element_interrupt), (gst_element_set_scheduler),
13842 (gst_element_get_scheduler), (gst_element_set_loop_function):
13843 * gst/gstelement.h:
13845 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13846 (gst_format_get_by_nick), (gst_format_get_details),
13847 (gst_format_iterate_definitions):
13849 * gst/gstindex.c: (gst_index_gtype_resolver):
13852 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13853 (gst_mem_chunk_free):
13854 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13855 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13856 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13857 (gst_object_dispatch_properties_changed),
13858 (gst_object_set_name_default), (gst_object_set_name),
13859 (gst_object_get_name), (gst_object_set_name_prefix),
13860 (gst_object_get_name_prefix), (gst_object_set_parent),
13861 (gst_object_get_parent), (gst_object_unparent),
13862 (gst_object_check_uniqueness), (gst_object_save_thyself),
13863 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13864 (gst_object_set_property), (gst_object_get_property),
13865 (gst_object_get_path_string):
13867 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13868 (gst_real_pad_init), (gst_real_pad_get_property),
13869 (gst_pad_custom_new), (gst_pad_get_direction),
13870 (gst_pad_set_active), (gst_pad_is_active),
13871 (gst_pad_set_event_function), (gst_pad_is_linked),
13872 (gst_pad_link_free), (gst_pad_link_intersect),
13873 (gst_pad_link_fixate), (gst_pad_set_caps),
13874 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13875 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13876 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13877 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13878 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13879 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13880 (gst_pad_realize), (gst_pad_get_allowed_caps),
13881 (gst_real_pad_dispose), (gst_real_pad_finalize),
13882 (gst_pad_collectv), (gst_pad_collect_valist),
13883 (gst_pad_template_dispose), (gst_pad_template_new),
13884 (gst_pad_get_internal_links):
13886 * gst/gstpipeline.c: (gst_pipeline_dispose),
13887 (gst_pipeline_change_state):
13888 * gst/gstpipeline.h:
13890 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13891 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13892 * gst/gstpluginfeature.h:
13893 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13894 * gst/gstquery.c: (_gst_query_type_initialize),
13895 (gst_query_type_register), (gst_query_type_get_by_nick),
13896 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13898 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13899 * gst/gstscheduler.c: (gst_scheduler_add_element),
13900 (gst_scheduler_factory_create):
13901 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13902 (gst_structure_free), (gst_structure_set_name),
13903 (gst_structure_id_set_value), (gst_structure_set_value),
13904 (gst_structure_set_valist), (gst_structure_remove_field),
13905 (gst_structure_remove_fields),
13906 (gst_structure_remove_fields_valist),
13907 (gst_structure_remove_all_fields), (gst_structure_foreach),
13908 (gst_structure_map_in_place),
13909 (gst_caps_structure_fixate_field_nearest_int),
13910 (gst_caps_structure_fixate_field_nearest_double):
13911 * gst/gststructure.h:
13912 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13913 (gst_system_clock_init), (gst_system_clock_dispose),
13914 (gst_system_clock_async_thread),
13915 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13916 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13917 * gst/gstsystemclock.h:
13918 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13919 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13920 * gst/gsttaginterface.c:
13921 * gst/gstthread.c: (gst_thread_dispose),
13922 (gst_thread_release_children_locks), (gst_thread_change_state),
13923 (gst_thread_main_loop):
13924 * gst/gsttrashstack.h:
13925 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13927 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13928 (gst_element_request_pad), (gst_element_get_pad_from_template),
13929 (gst_element_request_compatible_pad),
13930 (gst_element_get_compatible_pad_filtered),
13931 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13932 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13933 (gst_element_link_many), (gst_element_link),
13934 (gst_element_link_pads), (gst_element_unlink_pads),
13935 (gst_element_unlink_many), (gst_element_unlink),
13936 (gst_pad_can_link_filtered), (gst_pad_can_link),
13937 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13938 (gst_object_default_error), (gst_bin_add_many),
13939 (gst_bin_remove_many), (gst_element_populate_std_props),
13940 (gst_element_class_install_std_props), (gst_buffer_merge),
13941 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13942 (link_fold_func), (gst_pad_proxy_setcaps):
13944 * gst/gstvalue.c: (gst_value_deserialize_string):
13945 * gst/parse/grammar.y:
13946 * gst/schedulers/gstbasicscheduler.c:
13947 (gst_basic_scheduler_cothreaded_chain),
13948 (gst_basic_scheduler_chain_recursive_add),
13949 (gst_basic_scheduler_pad_link):
13950 * gst/schedulers/gstoptimalscheduler.c:
13951 (get_group_schedule_function),
13952 (gst_opt_scheduler_state_transition),
13953 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13954 * libs/gst/bytestream/bytestream.c:
13955 * libs/gst/dataprotocol/dataprotocol.c:
13956 (gst_dp_header_from_buffer):
13959 * tests/threadstate/threadstate2.c: (eos):
13960 * tools/gst-compprep.c: (main):
13961 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13962 (print_pad_info), (print_children_info):
13963 * tools/gst-launch.c: (idle_func), (main):
13964 * tools/gst-md5sum.c: (idle_func), (main):
13965 * tools/gst-xmlinspect.c: (print_element_info):
13966 First THREADED backport attempt, focusing on adding locks and
13967 making sure the API is threadsafe. Needs more work. More docs
13970 2005-02-24 Andy Wingo <wingo@pobox.com>
13972 * tests/bench-complexity.scm:
13973 * tests/complexity.gnuplot: New files, good for running complexity
13976 * tests/Makefile.am:
13977 * tests/complexity.c: New test, sets up N elements, at each level
13978 teeing into M streams per element. Eeeenteresting.
13980 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13981 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13982 running bench-mass_elements.scm.
13984 * tests/bench-mass_elements.scm: New script, runs mass_elements
13985 for various numbers of identities, outputting the results to a
13986 file. Requires guile 1.6. Just for testing.
13988 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13990 * gst/schedulers/fairscheduler.c:
13991 compile with debug disabled
13993 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13996 hunting season on 0.9 is now OPEN