1 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
4 Improve documentation for gst_value_union().
7 Change return value for union, intersect and subtract functions
10 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
12 * gst/gstvalue.c: (gst_value_serialize_any_list),
13 (gst_value_transform_any_list_string),
14 (gst_value_deserialize_list), (gst_value_deserialize_array),
15 (gst_value_set_int_range), (gst_value_deserialize_int_range),
16 (gst_value_set_double_range), (gst_value_deserialize_double_range),
17 (gst_value_set_fraction_range_full),
18 (gst_value_deserialize_fraction_range),
19 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20 (gst_value_deserialize_boolean),
21 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
22 (gst_value_serialize_float), (gst_value_deserialize_float),
23 (gst_string_wrap), (gst_value_deserialize_string),
24 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
25 (gst_value_union_int_range_int_range),
26 (gst_value_intersect_int_range_int_range),
27 (gst_value_intersect_double_range_double_range),
28 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
29 (gst_value_subtract_int_range_int_range),
30 (gst_value_subtract_double_double_range),
31 (gst_value_subtract_double_range_double_range),
32 (gst_value_deserialize_fraction):
34 Use gint, gdouble and gchar in our API instead of int, double and
35 char (and make usage in gstvalue.c more consistent).
37 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
40 * libs/gst/controller/Makefile.am:
41 * libs/gst/dataprotocol/Makefile.am:
42 fix up Makefile.am and remove GST_ENABLE_NEW
44 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
48 * gst/base/Makefile.am:
49 * gst/check/Makefile.am:
50 * gst/elements/Makefile.am:
51 * gst/net/Makefile.am:
52 update LDFLAGS use some more
54 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
56 * common/m4/gst-doc.m4:
59 2005-11-26 Edward Hervey <edward@fluendo.com>
61 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
62 This shouldn't issue a g_warning since it returns NULL if it
63 couldn't find the plugin, and all functions using this behave
64 properly on a NULL return. Switching to a GST_WARNING.
66 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
68 * gst/gstbin.c: (gst_bin_handle_message_func):
69 Don't leak clock messages.
71 2005-11-25 Wim Taymans <wim@fluendo.com>
73 * gst/gstutils.c: (gst_util_uint64_scale_int64),
74 (gst_util_uint64_scale_int):
75 Optimisations, remove unneeded vars.
77 2005-11-25 Wim Taymans <wim@fluendo.com>
79 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
80 Added more checks for the high precision uint64 cases.
82 * gst/gstutils.c: (gst_util_uint64_scale_int64),
83 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
84 Implement high precission (guint64 * guint64) / guint64.
86 2005-11-24 Wim Taymans <wim@fluendo.com>
88 * gst/base/gstbasesrc.c: (gst_base_src_query):
89 Fix wrong percentage query.
91 * gst/gstutils.c: (gst_util_uint64_scale),
92 (gst_util_uint64_scale_int):
93 Add some more common cases that can be handled
94 efficiently to _scale.
96 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
98 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
99 (gst_mini_object_suite):
100 don't use check calls from threads; check probably isn't
101 threadsafe and using a lock to make it threadsafe would
102 defeat the purpose of this check
103 * gst/check/gstcheck.c:
104 * gst/check/gstcheck.h:
105 use GST_DEBUG some more
107 2005-11-24 Wim Taymans <wim@fluendo.com>
109 * gst/gstutils.c: (gst_util_uint64_scale),
110 (gst_util_uint64_scale_int):
111 Chain trivial case to _scale_int.
113 2005-11-24 Wim Taymans <wim@fluendo.com>
115 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
116 Added test for scaling.
121 * gst/gstutils.c: (gst_util_uint64_scale_int):
122 Implemented high precision scaling code.
124 2005-11-24 Stefan Kost <ensonic@users.sf.net>
127 do not crash on pad==NULL
129 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
131 Patch by: Stefan Kost
133 * common/gtk-doc.mak:
134 * docs/gst/Makefile.am:
135 * docs/libs/Makefile.am:
136 Fix distcheck issues for the libraries docs build
139 2005-11-24 Michael Smith <msmith@fluendo.com>
141 * docs/manual/basics-helloworld.xml:
142 Fix bug #315027: memory leak in example code in docs.
144 2005-11-24 Michael Smith <msmith@fluendo.com>
146 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
147 Unlock the PREROLL_LOCK in a failure case.
149 2005-11-24 Wim Taymans <wim@fluendo.com>
151 * docs/gst/gstreamer-sections.txt:
152 * gst/base/gstadapter.h:
153 * gst/base/gstbasesink.h:
154 * gst/base/gstbasesrc.h:
155 * gst/base/gstbasetransform.h:
156 * gst/base/gstpushsrc.h:
157 * gst/elements/gstfakesink.h:
158 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
159 * gst/elements/gstfakesrc.h:
160 * gst/elements/gstfilesink.h:
161 * gst/elements/gstfilesrc.h:
164 * gst/gstbuffer.c: (_gst_buffer_copy):
167 * gst/gstchildproxy.c:
170 * gst/gstelementfactory.c:
171 * gst/gstelementfactory.h:
175 * gst/gstinterface.h:
176 * gst/gstminiobject.c:
177 * gst/gstminiobject.h:
180 * gst/gstpadtemplate.h:
182 * gst/gstpluginfeature.h:
187 * gst/gsttagsetter.c:
188 * gst/gsttagsetter.h:
194 * gst/net/gstnetclientclock.c:
195 * gst/net/gstnetclientclock.h:
196 * gst/net/gstnettimepacket.c:
197 * gst/net/gstnettimeprovider.c:
198 * gst/net/gstnettimeprovider.h:
201 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
203 * configure.ac: back to HEAD
205 === release 0.9.6 ===
207 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
210 releasing 0.9.6, "Always On Time"
212 2005-11-23 Wim Taymans <wim@fluendo.com>
214 * docs/gst/gstreamer-sections.txt:
216 * gst/gsttagsetter.c:
218 * gst/net/gstnetclientclock.c:
219 * gst/net/gstnettimepacket.h:
222 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
224 * docs/faq/using.xml:
225 * docs/libs/tmpl/gstcontrol.sgml:
226 * docs/manual/advanced-dparams.xml:
227 * docs/manual/appendix-checklist.xml:
228 * docs/manual/basics-elements.xml:
229 * docs/pwg/other-source.xml:
230 * docs/random/moving-plugins:
232 * tools/gst-launch.1.in:
233 remove mentions of sinesrc
235 2005-11-23 Michael Smith <msmith@fluendo.com>
237 * docs/gst/gstreamer-sections.txt:
238 Update for new API and API changes.
240 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
242 Documentation typo fix.
243 * gst/net/gstnettimepacket.c:
244 Documentation fixes for arguments.
246 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
248 * gst/gststructure.c: (gst_structure_get_fraction),
249 (gst_structure_parse_value),
250 (gst_structure_fixate_field_nearest_fraction):
251 * gst/gststructure.h:
252 * gst/gstutils.c: (gst_util_uint64_scale_int):
254 * scripts/update-funcnames:
256 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
257 Make gst_structure_fixate_field_nearest_fraction take a numerator
258 and denominator argument instead of a GValue
259 add gst_structure_get_fraction helper function.
261 2005-11-23 Wim Taymans <wim@fluendo.com>
263 * docs/design/part-TODO.txt:
266 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
267 * gst/net/gstnetclientclock.h:
268 Use parent fields for timeout and window_size.
270 2005-11-23 Andy Wingo <wingo@pobox.com>
272 * check/net/gstnetclientclock.c (test_functioning): Adjust to
273 rate_num/rate_denom change.
275 * gst/net/gstnetclientclock.c
276 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
277 OBJECT_LOCK. Don't call add_observation with the lock.
279 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
281 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
283 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
284 deal with rate as a fraction whose numerator and denominator are
286 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
287 master; the other fields are protected by the SLAVE_LOCK.
288 (do_linear_regression): Note that this must be called with the
290 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
291 OBJECT_LOCK. Call set_calibration instead of touching the
293 (gst_clock_set_property, gst_clock_get_property): Protect
294 master/slave parameters with the SLAVE_LOCK.
296 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
297 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
298 note that all of the instance variables that add_observation and
299 the set_master functions use are protected by that lock and not
301 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
303 * gst/gstclock.c (gst_clock_add_observation): No longer requires
304 the caller to take the object lock.
306 2005-11-23 Wim Taymans <wim@fluendo.com>
308 * gst/gsterror.c: (_gst_core_errors_init):
310 Add error for clock stuff.
312 * gst/gstpipeline.c: (gst_pipeline_change_state),
313 (gst_pipeline_set_clock):
314 Post clock error when clock cannot be used in a pipeline.
316 2005-11-23 Stefan Kost <ensonic@users.sf.net>
318 * docs/gst/gstreamer-sections.txt:
319 make two symbols from gstinfo private for the docs
320 * gst/base/gstcollectpads.h:
322 fix doc typos, update docs
324 2005-11-22 Wim Taymans <wim@fluendo.com>
326 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
327 (gst_base_sink_wait), (gst_base_sink_do_sync),
328 (gst_base_sink_handle_event):
329 * gst/base/gstbasesink.h:
330 No need to store the clock, the parent element class already
333 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
334 Updates for clock_set returning a gboolean
336 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
337 (gst_clock_id_wait_async), (gst_clock_class_init),
338 (gst_clock_init), (gst_clock_finalize),
339 (gst_clock_get_internal_time), (gst_clock_get_time),
340 (gst_clock_slave_callback), (gst_clock_set_master),
341 (gst_clock_get_master), (do_linear_regression),
342 (gst_clock_add_observation), (gst_clock_set_property),
343 (gst_clock_get_property):
345 Implement master/slave. When setting a clock as a slave, a
346 periodic timeout is scheduled to sample master and slave times.
347 Then the slave clock is recalibrated to match offset and rate
349 Update logging a bit.
350 Add flag so that a clock can state that is cannot be slaved to
353 * gst/gstelement.c: (gst_element_set_clock):
355 The set clock returns a gboolean for when an element cannot
356 deal with the selected clock in the pipeline.
358 * gst/gstpipeline.c: (gst_pipeline_change_state),
359 (gst_pipeline_set_clock):
361 Handle the case where the selected clock cannot be set on
364 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
365 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
366 (gst_net_client_clock_set_property),
367 (gst_net_client_clock_get_property),
368 (gst_net_client_clock_observe_times):
369 * gst/net/gstnetclientclock.h:
370 Use regression code in GstClock parent, remove duplicated
373 2005-11-22 Michael Smith <msmith@fluendo.com>
375 * gst/gstutils.c: (gst_util_clock_time_scale):
377 * docs/gst/gstreamer-sections.txt:
378 Rename method to have extra underscore.
380 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
382 * gst/elements/Makefile.am:
383 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
384 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
385 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
386 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
387 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
388 * gst/elements/gstfakesrc.h:
389 * gst/gstqueue.c: (queue_leaky_get_type):
390 correctly fix GEnumValues so that nick is the short lowercase
392 * tools/gst-inspect.c: (print_element_properties_info):
393 also show the nick, since it's useful to use from parse_launch
397 2005-11-22 Michael Smith <msmith@fluendo.com>
399 * gst/gstutils.c: (gst_util_clocktime_scale):
401 * docs/gst/gstreamer-sections.txt:
402 Add util method for scaling a clocktime by a fraction. Useful
403 implementation is left as an exercise for the reader.
405 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
407 * gst/gstvalue.c: (gst_value_collect_fraction_range):
408 If needed, allocate storage in the destination value during
411 2005-11-22 Edward Hervey <edward@fluendo.com>
413 * docs/gst/gstreamer-sections.txt:
418 * gst/gstutils.c: (gst_util_set_object_arg):
419 * tools/gst-compprep.c: (main):
420 * tools/gst-inspect.c: (print_element_properties_info):
421 Removed GstURI, closes bug #321061
423 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
425 * check/gst/gststructure.c: (GST_START_TEST):
426 * gst/gststructure.c: (gst_structure_parse_value):
427 Oops, broke automatic string type parsing.
428 Add a test to catch it in future.
430 2005-11-22 Andy Wingo <wingo@pobox.com>
432 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
433 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
434 Actually rename the function implementations. Grr.
436 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
438 * check/gst/capslist.h:
440 * check/gst/gststructure.c: (GST_START_TEST),
441 (gst_structure_suite):
442 Test automatic value type detection in gst_structure_from_string.
443 * gst/gststructure.c: (gst_structure_parse_value):
444 Add fraction as a type we try and guess automatically in
445 caps/structure strings.
447 2005-11-22 Andy Wingo <wingo@pobox.com>
449 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
451 * gst/gsttagsetter.h:
452 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
453 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
454 (gst_tag_setter_add_tag_valist)
455 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
456 _add_values, _add_valist, and _add_valist_values. Since this is an
457 interface the function suffixes should be more explicit so
458 language binding don't end up with element.add_valist ->
459 gst_tag_setter_add_valist, for example. Fixes #322069.
461 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
463 * check/gst/gstcaps.c: (GST_START_TEST):
464 Extend caps string tests to check that a caps to string
465 conversion is reversible and produces the same caps.
467 * gst/gststructure.c: (gst_structure_value_get_generic_type):
468 Output "fraction" as the generic type fraction range, so caps
469 serialisation and deserialisation works.
470 * check/gst/capslist.h:
471 * gst/gstvalue.c: (gst_value_deserialize_fraction):
472 Support 'MIN' and 'MAX' for deserialising fractions.
474 2005-11-22 Andy Wingo <wingo@pobox.com>
476 * gst/gstevent.h (gst_event_new_new_segment)
477 (gst_event_parse_new_segment, gst_event_new_buffer_size)
478 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
479 Renamed from *_newsegment, *_buffersize, *_notarget.
481 * scripts/update-funcnames: New script, performs the changes
484 2005-11-22 Wim Taymans <wim@fluendo.com>
486 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
487 Make sure the GstFlowReturn is returned.
489 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
490 (gst_bus_add_signal_watch):
492 add gst_bus_add_signal_watch_full.
494 * gst/gstplugin.c: (gst_plugin_load_file):
497 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
499 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
500 Block the fakesrc srcpad when we send an event, to avoid
501 contention on the stream_lock causing random test failures.
503 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
505 * check/gst/gstvalue.c: (GST_START_TEST):
506 * gst/gstvalue.c: (gst_value_fraction_subtract):
509 2005-11-22 Stefan Kost <ensonic@users.sf.net>
512 include "gstchildproxy.h"
513 * gst/gstchildproxy.h:
514 * libs/gst/controller/gstcontroller.h:
515 use G_GNUC_NULL_TERMINATED
517 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
519 * check/gst/capslist.h:
520 * check/gst/gstcaps.c: (GST_START_TEST):
521 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
522 * gst/gststructure.c: (gst_structure_parse_range),
523 (gst_structure_fixate_field_nearest_fraction):
524 * gst/gststructure.h:
525 * gst/gstvalue.c: (gst_value_init_fraction_range),
526 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
527 (gst_value_collect_fraction_range),
528 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
529 (gst_value_set_fraction_range_full),
530 (gst_value_get_fraction_range_min),
531 (gst_value_get_fraction_range_max),
532 (gst_value_serialize_fraction_range),
533 (gst_value_transform_fraction_range_string),
534 (gst_value_compare_fraction_range),
535 (gst_value_deserialize_fraction_range),
536 (gst_value_intersect_fraction_fraction_range),
537 (gst_value_intersect_fraction_range_fraction_range),
538 (gst_value_subtract_fraction_fraction_range),
539 (gst_value_subtract_fraction_range_fraction),
540 (gst_value_subtract_fraction_range_fraction_range),
541 (gst_value_collect_fraction), (gst_value_fraction_multiply),
542 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
543 (gst_value_transform_string_fraction), (_gst_value_initialize):
545 Implement fraction ranges and extend GstFraction to support
546 arithmetic subtraction, as well as deserialization from integer
547 strings such as "100"
548 Add a testsuite as for int and double range set operations
550 2005-11-21 Andy Wingo <wingo@pobox.com>
554 * gst/gststructure.h: Add glib-compat.h.
556 2005-11-21 Wim Taymans <wim@fluendo.com>
558 * gst/gstbin.c: (gst_bin_change_state_func):
561 2005-11-21 Wim Taymans <wim@fluendo.com>
564 And add a nice define too.
566 2005-11-21 Wim Taymans <wim@fluendo.com>
568 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
569 (gst_segment_new), (gst_segment_free), (gst_segment_init),
570 (gst_segment_set_duration), (gst_segment_set_last_stop),
571 (gst_segment_set_seek), (gst_segment_set_newsegment),
572 (gst_segment_to_stream_time), (gst_segment_to_running_time),
575 Make binding friendly.
577 2005-11-21 Andy Wingo <wingo@pobox.com>
579 * gst/gsttagsetter.h:
581 * gst/gststructure.h:
583 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
586 * gst/gsterror.c (_gst_core_errors_init):
587 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
590 * gst/Makefile.am (gst_headers): Add glib-compat.h.
591 (noinst_HEADERS): noinst the -private.
593 2005-11-21 Michael Smith <msmith@fluendo.com>
597 Remove unimplemented declarations for which we can see no sensible
600 2005-11-21 Andy Wingo <wingo@pobox.com>
602 * gst/gst.h: Include glib-compat.h.
604 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
606 * gst/glib-compat.c: Include the public and the private header.
608 * gst/glib-compat-private.h: Copied here from glib-compat.h.
612 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
614 * check/gst/gstevent.c (create_custom_events): Check that
615 FLUSH_STOP is serialized.
617 * check/elements/identity.c (event_func):
618 * check/elements/fakesrc.c (event_func): No stream lock, the core
621 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
622 stream lock taking, yay.
624 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
625 ensure that core takes the stream lock.
627 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
630 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
631 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
632 it already. For the flush start we do take it though so we get the
633 right preroll state change messages.
635 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
636 the stream lock here, the core does it for us.
638 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
640 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
641 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
642 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
643 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
644 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
645 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
647 * gst/gstpad.c: Update for stream lock name change.
649 * gst/base/gstbasesink.c: Update for preroll lock name change.
651 2005-11-21 Wim Taymans <wim@fluendo.com>
653 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
654 (gst_clock_get_master):
656 * gst/gstsystemclock.c: (gst_system_clock_init):
657 Convert Clock flags to object flags.
658 Added methods to manage master/slave clocks.
660 2005-11-21 Wim Taymans <wim@fluendo.com>
662 * check/gst/gstsegment.c: (GST_START_TEST):
663 * docs/design/part-TODO.txt:
664 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
665 (gst_base_sink_event), (gst_base_sink_do_sync),
666 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
667 (gst_base_sink_query), (gst_base_sink_change_state):
668 * gst/base/gstbasesink.h:
669 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
670 (gst_base_src_default_newsegment),
671 (gst_base_src_configure_segment), (gst_base_src_do_seek),
672 (gst_base_src_get_range), (gst_base_src_loop),
673 (gst_base_src_change_state):
674 * gst/base/gstbasesrc.h:
675 * gst/base/gstbasetransform.c:
676 (gst_base_transform_prepare_output_buf),
677 (gst_base_transform_event), (gst_base_transform_change_state):
678 * gst/base/gstbasetransform.h:
679 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
680 (gst_collect_pads_event):
681 * gst/base/gstcollectpads.h:
682 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
683 (gst_fake_src_create):
684 * gst/elements/gstfakesrc.h:
685 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
686 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
687 (gst_segment_set_last_stop), (gst_segment_set_seek),
688 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
689 (gst_segment_to_running_time), (gst_segment_clip):
691 More segment updates, replace code in plugins with segment
694 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
696 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
697 Don't ignore sscanf results
699 2005-11-21 Andy Wingo <wingo@pobox.com>
701 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
704 * *.c: Ran scripts/update-macros. Oh yes.
706 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
707 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
710 * scripts/update-macros: New script. Run it on your files to
711 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
714 2005-11-21 Stefan Kost <ensonic@users.sf.net>
716 * docs/gst/Makefile.am:
717 * docs/gst/gstreamer-docs.sgml:
718 * docs/gst/gstreamer-sections.txt:
719 * docs/gst/gstreamer.types:
721 more docs fixes, add new api to the docs
723 2005-11-21 Andy Wingo <wingo@pobox.com>
725 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
726 state_broadcast call.
728 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
730 2005-11-21 Julien MOUTTE <julien@moutte.net>
732 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
733 function calls for arrays.
735 2005-11-21 Stefan Kost <ensonic@users.sf.net>
737 * docs/random/ensonic/media-device-daemon.txt:
738 wild idea, can this be done?
739 * docs/gst/gstreamer-sections.txt:
744 * gst/gstpluginfeature.c:
748 doc fixes and additions
750 2005-11-21 Andy Wingo <wingo@pobox.com>
752 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
753 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
754 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
755 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
756 private to the basesrc implementation.
758 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
759 behalf of event function if necessary. It should no longer be
760 necessary to take the stream lock in pad's event functions. Fixes
763 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
764 * docs/gst/gstreamer-sections.txt:
765 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
766 (gst_structure_fixate_field_nearest_double),
767 (gst_structure_fixate_field_boolean):
768 * gst/gststructure.h:
769 * win32/common/libgstreamer.def:
770 * win32/gstreamer.def:
772 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
775 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
777 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
778 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
779 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
780 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
781 (gst_fdsrc_uri_handler_init):
782 * gst/elements/gstfdsrc.h:
783 Port fd:// URI handler from 0.8 to fdsrc
785 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
787 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
788 (gst_value_serialize_fourcc):
790 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
791 consistent with our other format defines (#320324).
793 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
795 * gst/gstvalue.c: (gst_value_is_fixed):
796 Revert previous commit. Value lists are by definition
797 not fixed, as they are a list of possible values.
799 2005-11-21 Andy Wingo <wingo@pobox.com>
801 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
802 during the stable series if we need it. Fixes #319178.
804 * gst/gstevent.c (gst_event_new_filler): Removed.
806 * check/gst/gstevent.c: Update comment about filler events.
808 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
810 * gst/gstvalue.c: (gst_value_is_fixed):
811 Should handle both value arrays and value lists.
813 2005-11-21 Andy Wingo <wingo@pobox.com>
815 patch by: Alessandro Dessina <alessandro nnva org>
817 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
818 functions to access arrays. Fixes #321962.
820 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
822 * docs/gst/gstreamer.types:
823 gst_collectpads_get_type => gst_collect_pads_get_type.
825 * gst/base/gstbasetransform.c:
826 Remove unused SIGNAL_HANDOFF enum.
828 2005-11-21 Andy Wingo <wingo@pobox.com>
830 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
831 the event type (upstream, downstream, serialized). Renamed
832 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
833 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
834 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
836 * gst/gstevent.c: Update for new CUSTOM event names.
838 * check/gst/gstevent.c: Update check for new CUSTOM event names.
841 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
844 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
846 * docs/gst/gstreamer-sections.txt:
847 * win32/common/libgstbase.def:
848 * win32/libgstbase.def:
849 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
850 (gst_collect_pads_class_init), (gst_collect_pads_init),
851 (gst_collect_pads_finalize), (gst_collect_pads_new),
852 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
853 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
854 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
855 (gst_collect_pads_start), (gst_collect_pads_stop),
856 (gst_collect_pads_peek), (gst_collect_pads_pop),
857 (gst_collect_pads_available), (gst_collect_pads_read),
858 (gst_collect_pads_flush), (gst_collect_pads_event),
859 (gst_collect_pads_chain):
860 * gst/base/gstcollectpads.h:
861 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
862 unimplemented functions as unimplemented. Add padding to
863 GstCollectData. (#320766, #320423)
865 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
868 Improve docs for DURATION message (usage of duration parameter)
871 2005-11-20 Wim Taymans <wim@fluendo.com>
874 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
878 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
879 (gst_segment_set_seek), (gst_segment_set_newsegment),
880 (gst_segment_to_stream_time), (gst_segment_to_running_time),
883 Added segment helper structure and methods. Not fully implemented
887 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
889 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
890 Add a deserialisation test for fractions
891 * examples/metadata/read-metadata.c: (message_loop),
892 (make_pipeline), (main):
893 Fix up metadata reading sample.
894 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
896 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
897 Don't try and fixate empty caps
899 Wrap in G_BEGIN_DECLS/G_END_DECLS
900 * gst/gstvalue.c: (gst_value_collect_fraction),
901 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
902 (gst_value_transform_string_fraction),
903 (gst_value_compare_fraction):
904 Add some extra guards to ensure that we don't end up
905 with an invalid denominator of 0 in a gstfraction and
906 that fractions always get reduced.
908 2005-11-20 Wim Taymans <wim@fluendo.com>
910 * docs/gst/gstreamer-sections.txt:
921 2005-11-20 Wim Taymans <wim@fluendo.com>
923 * docs/design/part-TODO.txt:
925 Make a proper enum of the flag.
927 2005-11-19 Wim Taymans <wim@fluendo.com>
929 * docs/design/part-TODO.txt:
930 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
931 (gst_format_to_quark), (gst_format_register):
933 * gst/gstquery.c: (_gst_query_initialize),
934 (gst_query_type_get_name), (gst_query_type_to_quark),
935 (gst_query_type_register):
937 Add type to quark and type to string conversions.
939 2005-11-19 Andy Wingo <wingo@pobox.com>
941 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
944 2005-11-19 Wim Taymans <wim@fluendo.com>
946 * docs/design/part-TODO.txt:
947 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
948 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
949 (gst_bin_handle_message_func):
951 Make message handling overridable.
953 2005-11-19 Andy Wingo <wingo@pobox.com>
955 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
958 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
960 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
961 is a GstClockTime. Fixes #321710.
963 * gst/gstclock.h (GstClock): Remove offset property. Add
964 internal_calibration and external_calibration. Fix padding. Pad
965 also by GstClockTime so we don't run into problems.
967 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
968 (gst_clock_get_rate_offset): Remove.
969 (gst_clock_set_time_adjust): Remove. Fixes #321712.
972 * gst/gstutils.c (g_static_rec_cond_wait)
973 (g_static_rec_cond_timed_wait): Removed, no longer needed.
975 * gst/gstbin.c: Remove terrible continue_state prototype.
977 * gst/gstelement.h (gst_element_continue_state): Make public.
980 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
981 by continue_state. Fixes #319389.
983 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
984 Really fixes #168438. However I don't see anywhere where the
985 filter function is called... stupid GStreamer...
987 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
988 don't have a dispose function, so it won't get called when the
989 object is unreffed, but oh well!
991 * gst/gstindex.c (gst_index_set_filter_full): New API function,
992 allows a destroy function to be set so user_data can be freed.
994 (gst_index_set_filter): Call gst_index_set_filter_full.
996 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
998 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
999 string should produce an error, given the lack of a way to
1000 represent NULL strings. Fixes #165650.
1003 * gst/gstvalue.c (gst_value_array_append_value)
1004 (gst_value_array_prepend_value, gst_value_array_get_size)
1005 (gst_value_array_get_value): New API, copied from
1006 gst_value_list_*, only operates on arrays.
1007 (gst_value_list_append_value, gst_value_list_prepend_value)
1008 (gst_value_list_concat, gst_value_list_get_size)
1009 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1011 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1012 init_list, because it works on both.
1013 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1014 (gst_value_copy_list_or_array): Renamed from copy_list.
1015 (gst_value_free_list_or_array): Renamed from free_list.
1016 (gst_value_collect_list_or_array): Renamed from collect_list.
1017 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1018 (gst_value_list_or_array_peek_pointer): Renamed from
1020 (_gst_value_array_value_table, _gst_value_list_value_table):
1021 Update value table functions.
1022 (gst_value_compare_list_or_array): Renamed from compare_list.
1024 * gsttaglist.h: Whoops, foreach function returns void. Also fix
1028 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1029 GstTagList*. Fixes #143472.
1031 * gst/gststructure.h: Clarify what the foreach/map functions can
1032 or can't do to their arguments.
1034 2005-11-18 Wim Taymans <wim@fluendo.com>
1036 * gst/gstclock.c: (gst_clock_set_calibration),
1037 (gst_clock_get_calibration):
1039 Calibration can be set with internal time equal to current
1042 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
1048 2005-11-18 Andy Wingo <wingo@pobox.com>
1051 * pkgconfig/gstreamer-net.pc.in:
1052 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1053 * pkgconfig/Makefile.am: Add net pkgconfig files.
1055 2005-11-18 Stefan Kost <ensonic@users.sf.net>
1058 * gst/gstghostpad.c:
1064 2005-11-18 Andy Wingo <wingo@pobox.com>
1066 * gst/net/gstnetclientclock.c: Turn off debugging.
1068 * check/net/gstnetclientclock.c (test_functioning): Assert that the
1069 times connverge somewhat. Can't make a real test.
1071 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1072 integer arithmetic. Return the minimum of the domain, which can be
1073 set as "internal" for gst_clock_set_calibration.
1074 (gst_net_client_clock_observe_times): Call _set_calibration.
1075 (gst_net_client_clock_new): Call _set_calibration instead of
1078 * check/net/gstnetclientclock.c (test_functioning): Use the right
1082 * gst/gstclock.c (gst_clock_get_calibration)
1083 (gst_clock_set_calibration): New functions, obsolete the ones I
1084 added yesterday. Doh. Precision issues mean we have to extrapolate
1085 from a point in the more recent past than 1970.
1086 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1088 (gst_clock_adjust_unlocked): Use the right calibration data.
1090 2005-11-18 Edward Hervey <edward@fluendo.com>
1092 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1093 Also reset the ->current_* values in READY->PAUSED
1095 2005-11-18 Andy Wingo <wingo@pobox.com>
1097 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1098 Whoops, check the right fd. Also add some debugging.
1099 (gst_net_client_clock_observe_times): Adjust for int64 offset.
1100 (do_linear_regression): Add a crapload of debugging. Subtract off
1101 the minimum values from the input series to discard unneeded bits.
1102 Use only int arithmetic. There is still double arithmetic when
1103 calculating the intercept that needs fixing. Return boolean to
1104 indicate success; FALSE would mean the domain or range is too
1105 great. Still needs fixes.
1107 2005-11-18 Wim Taymans <wim@fluendo.com>
1109 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1110 For the current position in stream time, we need to subtract
1113 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1114 Release lock before calling the callback function of async
1117 2005-11-18 Andy Wingo <wingo@pobox.com>
1119 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1120 Port goes all the way to MAXUINT16.
1122 * gst/net/gstnettimeprovider.c: Make the port range the same as
1123 for the kernel: 0 assigns, otherwise ports are less than
1126 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1129 * check/net/gstnetclientclock.c (test_functioning): Add the start
1132 2005-11-18 Wim Taymans <wim@fluendo.com>
1134 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1135 (gst_bin_remove_func), (bin_bus_handler):
1137 Removing a clock provider from a bin, triggers a clock lost message
1138 so that a new clock will be selected.
1139 Adding a clock to a bin triggers a clock provider message.
1140 Make sure we reselect a clock when we received a clock lost message.
1141 Keep a reference to the element that provided the clock.
1143 2005-11-18 Andy Wingo <wingo@pobox.com>
1145 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1146 the clock initially so it produces values around the base time.
1147 (gst_net_client_clock_class_init): Typo fix.
1148 (gst_net_client_clock_thread): Add note on when the socket gets
1151 2005-11-17 Wim Taymans <wim@fluendo.com>
1153 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1154 Free remote and local time arrays.
1156 2005-11-17 Wim Taymans <wim@fluendo.com>
1158 * gst/net/gstnetclientclock.c: (do_linear_regression),
1159 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1160 Fix compilation, uninitialized vars and a forgotten continue.
1162 2005-11-17 Andy Wingo <wingo@pobox.com>
1164 * check/Makefile.am (check_PROGRAMS):
1165 * check/net/gstnetclientclock.c: Add a most minimal test for the
1166 net client clock. More to come later.
1169 * gst/net/Makefile.am: Add netclientclock.
1171 * gst/net/gstnetclientclock.h:
1172 * gst/net/gstnetclientclock.c: New files, implement an untested
1173 GstClock that takes its time from a network time provider.
1174 Implements the algorithm in network-clock.scm.
1176 * tests/network-clock.scm (*window-size*): Rename from
1178 * tests/network-clock.scm (network-time):
1179 * tests/network-clock-utils.scm (q-push): Update callers.
1181 2005-11-17 Wim Taymans <wim@fluendo.com>
1183 * gst/gstbin.c: (gst_bin_provide_clock_func),
1184 (gst_bin_sort_iterator_new):
1185 And unref the child too..
1187 2005-11-17 Wim Taymans <wim@fluendo.com>
1189 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1190 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1191 Refactor the sort iterator so it can be used while holding the
1193 Make clock selection select a clock closest to the source.
1195 2005-11-17 Michael Smith <msmith@fluendo.com>
1197 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1198 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1200 Anonymous structs are a gcc (and some other compilers) extension, so
1201 don't use them. Since this is only for ABI-compatibility, and our
1202 API/ABI freeze is over in a few days, this whole thing will only
1203 last a few days, so don't bother trying to think up a meaningful
1204 name for the struct.
1206 2005-11-17 Andy Wingo <wingo@pobox.com>
1208 * gst/gstclock.h (GstClock): Add rate and offset properties,
1209 preserving ABI stability. Add rate/offset accessors. Will file bug
1210 for the freeze break.
1212 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1213 and offset, trying to keep precision and avoiding
1215 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1216 functions. Make gst_clock_set_time_adjust obsolete.
1217 (gst_clock_set_time_adjust): Note that this function is obsolete.
1220 * gst/base/gstbasetransform.h: Make the ABI-stability hack
1221 greppable by using GST_PADDING-1+1.
1223 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
1225 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1227 * gst/gstmessage.c: (gst_message_parse_clock_lost):
1228 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1230 * gst/gstpadtemplate.h:
1231 * gst/gstpluginfeature.h:
1232 Don't use c++ style comments in headers (#321638).
1234 2005-11-16 Andy Wingo <wingo@pobox.com>
1236 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1239 * check/net/gstnettimeprovider.c: Check to see that the time
1240 provider actually provides times. Works, yo!
1242 2005-11-16 Wim Taymans <wim@fluendo.com>
1244 * check/Makefile.am:
1247 * check/elements/fakesrc.c: (GST_START_TEST):
1248 Set element to NULL before disposing it.
1250 2005-11-16 Andy Wingo <wingo@pobox.com>
1252 * gst/net/Makefile.am:
1254 * gst/net/gstnettimeprovider.c:
1255 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1256 provider, include it from gstnet.h, and add it to the build.
1258 * gst/net/gstnettimepacket.h:
1259 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1260 sending and receiving.
1262 2005-11-16 Wim Taymans <wim@fluendo.com>
1264 * check/Makefile.am:
1265 Enable valgrind check.
1267 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1268 (gst_fake_src_alloc_buffer):
1271 2005-11-16 Wim Taymans <wim@fluendo.com>
1273 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1274 Call parent finalize too.
1276 2005-11-16 Wim Taymans <wim@fluendo.com>
1278 * check/Makefile.am:
1279 Enable valgrind check that should work fine now.
1281 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1282 * gst/gstqueue.c: (gst_queue_init):
1283 Fix memleaks in pad allocation.
1285 2005-11-16 Andy Wingo <wingo@pobox.com>
1287 * gst/net/Makefile.am:
1288 * gst/net/gstnet.h: New part of core to hold network elements and
1289 objects. Put in core because it exposes API that applications want
1290 to use. The library is named libgstnet-tempname right now because
1291 of the existing libgstnet in gst-plugins-base. Solution is
1292 probably to rename the one in plugins-base; will file a bug for
1295 * gst/net/gstnettimeprovider.c:
1296 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1297 get_time call over the network.
1300 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1302 * check/Makefile.am:
1303 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1304 get additions shortly.
1306 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1308 * gst/gstpad.c: (gst_pad_new_from_static_template):
1310 add gst_pad_new_from_static_template functions
1311 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1312 (gst_check_setup_sink_pad):
1313 * gst/elements/gsttee.c: (gst_tee_init):
1316 2005-11-16 Wim Taymans <wim@fluendo.com>
1318 * gst/gstpad.c: (gst_pad_pause_task):
1319 Removed warning, it's not really an error either.
1321 2005-11-16 Wim Taymans <wim@fluendo.com>
1323 * gst/base/gstbasetransform.c:
1324 (gst_base_transform_prepare_output_buf),
1325 (gst_base_transform_event):
1326 Check if the caps are NULL, this can happen if the element
1327 is shutting down and the pad caps are set to NULL.
1329 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1331 * gst/elements/gsttee.c: (gst_tee_init):
1332 fix pad template leak in tee
1334 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1336 * gst/glib-compat.c: (g_value_dup_gst_object):
1337 * gst/glib-compat.h:
1338 * gst/gstpad.c: (gst_pad_set_property):
1339 use gst_object_ref when setting the pad template; this will
1340 trigger the pad template leaks on GLib 2.6 and the slaves
1342 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1344 * gst/glib-compat.c: (gst_flags_get_first_value):
1345 * gst/glib-compat.h:
1346 * gst/gstregistryxml.c:
1347 remove functions copied from GLib 2.6
1349 2005-11-16 Michael Smith <msmith@fluendo.com>
1352 Don't link against VALGRIND_LIBS. That was always the wrong thing to
1353 do, but only breaks with newer valgrind versions. We're not a
1354 valgrind tool, we have no link-time dependencies on libcoregrind.
1356 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1358 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1363 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
1365 * gst/base/gstbasesrc.c: (gst_base_src_init):
1366 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1367 * gst/gstqueue.c: (gst_queue_init):
1368 * gst/gstregistryxml.c: (load_feature):
1369 Revert all these unrefs, they don't even pass make check !
1371 2005-11-15 Johan Dahlin <johan@gnome.org>
1373 * gst/base/gstbasesrc.c: (gst_base_src_init):
1374 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1375 * gst/gstqueue.c: (gst_queue_init):
1376 Free pad templates, fixes a couple of leaks.
1378 2005-11-15 Daniel Fischer <dan at f3c dot com>
1380 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1382 * gst/gstpad.c: (gst_pad_get_property):
1383 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1384 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1387 2005-11-15 Wim Taymans <wim@fluendo.com>
1392 2005-11-15 Andy Wingo <wingo@pobox.com>
1394 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1396 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1397 using GST_CLOCK_TIME_NONE to disable base time management.
1398 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1399 time if it was NONE before.
1400 (gst_pipeline_change_state): Only munge the base time if
1401 stream_time != GST_CLOCK_TIME_NONE.
1403 * check/gst/gstpipeline.c (test_base_time): Punt around the
1404 problem of the probe not being called, because that's not the
1405 issue I'm looking at. Add a check that setting stream_time to NONE
1406 disables base time management.
1408 2005-11-15 Wim Taymans <wim@fluendo.com>
1410 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1411 segment_stop == -1 at startup.
1413 * gst/base/gstbasetransform.c: (gst_base_transform_event),
1414 (gst_base_transform_change_state):
1415 Init segment values at start.
1417 2005-11-15 Wim Taymans <wim@fluendo.com>
1419 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1420 0 segment values are 0 in any format.
1422 * gst/base/gstbasetransform.c: (gst_base_transform_event):
1423 * gst/base/gstbasetransform.h:
1424 Parse newsegment correctly in basetransform
1426 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1427 Sync to clock using updated segment values.
1429 2005-11-15 Andy Wingo <wingo@pobox.com>
1431 * check/gst/gstpipeline.c (test_base_time): Add check that the
1432 base time and stream time are reset correctly.
1434 2005-11-15 Wim Taymans <wim@fluendo.com>
1436 * docs/design/part-TODO.txt:
1437 Some more TODO items.
1439 2005-11-15 Andy Wingo <wingo@pobox.com>
1441 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1442 error if the user selected "no clock" as the clocking method.
1444 * check/gst/gstpipeline.c (test_base_time): New test for buffer
1445 timestamps with live capture.
1447 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1448 is 0 but we are a live source, timestamp the buffers using the
1451 2005-11-14 Stefan Kost <ensonic@users.sf.net>
1453 * docs/gst/gstreamer-sections.txt:
1455 * gst/gstghostpad.c:
1460 2005-11-14 Wim Taymans <wim@fluendo.com>
1463 add suppressions from Wim's Debian machine
1465 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
1468 add suppressions from Andy's AMD64 Ubuntu machine
1470 2005-11-14 Andy Wingo <wingo@pobox.com>
1472 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1473 STATE_LOCK not necessary. Fixes #311489.
1475 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1478 * gst/gstindex.c (gst_index_add_object): Note in the docs that
1479 this function is not implemented.
1481 2005-11-14 Julien MOUTTE <julien@moutte.net>
1483 * gst/base/gstbasetransform.c:
1484 (gst_base_transform_prepare_output_buf):
1485 Ref the source pad caps while we need them.
1488 2005-11-11 Wim Taymans <wim@fluendo.com>
1490 * docs/gst/gstreamer-sections.txt:
1491 Added some docs for GstCollectData.
1493 * gst/base/gstadapter.c:
1494 Some small code example fix.
1496 * gst/base/gstcollectpads.c:
1497 * gst/base/gstcollectpads.h:
1500 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
1502 * configure.ac: back to HEAD
1504 === release 0.9.5 ===
1506 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
1509 releasing 0.9.5, "Bike Lunch Day"
1511 2005-11-11 Wim Taymans <wim@fluendo.com>
1513 * gst/gstbuffer.c: (_gst_buffer_copy):
1516 * gst/gstcaps.c: (gst_caps_is_equal):
1518 Make _is_equal fast in the trivial cases.
1520 * gst/gstminiobject.c:
1521 * gst/gstminiobject.h:
1522 More docs. Spifify .h file.
1527 2005-11-11 Wim Taymans <wim@fluendo.com>
1529 * gst/base/gstbasetransform.c:
1530 (gst_base_transform_prepare_output_buf),
1531 (gst_base_transform_handle_buffer):
1533 If we're processing a buffer and need to allocate an output
1534 buffer, we cannot accept a format change. If we did get a
1535 format change, we have to alloc a buffer ourselves of the
1538 2005-11-11 Wim Taymans <wim@fluendo.com>
1540 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1541 While checking the flag for reentrancy in the gstcaps function
1542 is nice to detect recursive invocations, it also makes it
1543 impossible to call getcaps from multiple threads, which must be
1544 possible. So, checking for recursive calls has to go.
1546 2005-11-11 Michael Smith <msmith@fluendo.com>
1548 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1549 Don't sync on buffers that fall partially outside our current
1550 segment. Prevents an assertion failure/abort playing some files.
1552 2005-11-10 Andy Wingo <wingo@pobox.com>
1554 * check/gst/gstbin.c (test_message_state_changed_children): Style
1557 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1558 gst_bus_poll with the signal watch. Ensures that poll and a signal
1559 watch see the same messages.
1561 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1562 a poll and a watch at the same time get the same messages.
1564 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
1566 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1567 * gst/gstcaps.c: (gst_caps_intersect):
1568 Don't call gst_caps_do_simplify - it doesn't respect order of caps
1569 and it's not needed.
1571 2005-11-10 Wim Taymans <wim@fluendo.com>
1573 * docs/design/part-TODO.txt:
1576 2005-11-10 Wim Taymans <wim@fluendo.com>
1578 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1579 * gst/base/gstbasesrc.c: (gst_base_src_wait),
1580 (gst_base_src_do_sync), (gst_base_src_get_range):
1581 Implement clock sync in base class.
1583 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
1585 patch by: Tim-Philipp Müller <tim at centricular dot net>
1587 * gst/gststructure.c: (gst_structure_parse_field),
1588 (gst_structure_from_string):
1589 Forward-port a 0.8 patch to handle escaped spaces in structure string,
1590 so that gst_parse_launch() can deal with spaces in filtered link
1591 caps (fixes #164479)
1592 * check/gst/capslist.h:
1593 * check/gst/gststructure.c: (GST_START_TEST):
1594 add unit tests for this change
1596 2005-11-10 Wim Taymans <wim@fluendo.com>
1598 * docs/gst/gstreamer-sections.txt:
1601 Fix docs, move some STATE macros to private.
1603 2005-11-10 Wim Taymans <wim@fluendo.com>
1605 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1606 Added check for bug #317341
1610 Some more spiffifying.
1612 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1613 Call peer linkfunction if we are a source pad. Totally fixes
1617 Update docs, source pads should call the peer linkfunction
1618 so they can atomically perform the pad link.
1620 2005-11-09 Wim Taymans <wim@fluendo.com>
1624 Uber-spiffy-spiffify some more.
1626 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
1628 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1629 * gst/elements/gstfilesink.c: (gst_file_sink_init):
1630 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1631 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1632 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1633 * gst/gstpad.c: (gst_pad_init):
1634 Use GST_DEBUG_FUNCPTR() more extensively.
1636 2005-11-09 Wim Taymans <wim@fluendo.com>
1638 * gst/gstobject.c: (gst_object_class_init):
1640 Documentation fixes.
1642 2005-11-09 Edward Hervey <edward@fluendo.com>
1644 * gst/gsttypefindfactory.c:
1647 2005-11-09 Edward Hervey <edward@fluendo.com>
1649 * gst/base/gsttypefindhelper.c:
1650 * gst/gsttypefind.c:
1651 * gst/gsttypefind.h:
1654 2005-11-09 Wim Taymans <wim@fluendo.com>
1656 * gst/gstiterator.c:
1663 2005-11-09 Wim Taymans <wim@fluendo.com>
1669 2005-11-09 Wim Taymans <wim@fluendo.com>
1671 * docs/gst/gstreamer-sections.txt:
1672 Moved the message async delivery private lock and cond
1673 to the private section.
1679 2005-11-09 Edward Hervey <edward@fluendo.com>
1681 * docs/gst/gstreamer-sections.txt:
1684 Document GstURIHandler
1686 2005-11-09 Wim Taymans <wim@fluendo.com>
1688 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1689 (gst_iterator_find_custom):
1690 * gst/gstiterator.h:
1693 2005-11-09 Wim Taymans <wim@fluendo.com>
1696 Document another field.
1698 * gst/gststructure.c:
1699 * gst/gststructure.h:
1702 2005-11-09 Wim Taymans <wim@fluendo.com>
1707 2005-11-09 Wim Taymans <wim@fluendo.com>
1709 * docs/gst/gstreamer-sections.txt:
1710 Added some new macros.
1717 2005-11-09 Wim Taymans <wim@fluendo.com>
1719 * docs/design/part-TODO.txt:
1720 Some more items for the TODO
1726 2005-11-09 Andy Wingo <wingo@pobox.com>
1728 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1729 to work on something else now tho...
1731 * gst/base/gstadapter.c: More adapter docs.
1733 * gst/elements/gstfilesink.c (gst_file_sink_start)
1734 (gst_file_sink_stop): New functions, replace the state change
1736 (gst_file_sink_class_init): Hook up the start and stop functions.
1737 (gst_file_sink_base_init): Don't set the state change handler any
1738 more. It was a bit ugly too, being set from here...
1739 (gst_file_sink_get_property, gst_file_sink_set_property):
1741 (gst_file_sink_set_location): More robust check that doesn't call
1744 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
1746 * gst/base/gstbasetransform.c: (gst_base_transform_event):
1747 Hold STREAM_LOCK while pushing newsegment or tag events as well.
1749 2005-11-08 Wim Taymans <wim@fluendo.com>
1751 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1752 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1753 (gst_base_sink_chain), (gst_base_sink_change_state):
1754 * gst/base/gstbasesink.h:
1755 * gst/base/gstbasesrc.h:
1758 Avoid excessive typechecking in macros.
1760 * gst/gstminiobject.c: (gst_mini_object_get_type),
1761 (gst_mini_object_init), (gst_mini_object_new),
1762 (gst_mini_object_free):
1763 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1764 (gst_object_finalize):
1765 Remove cruft code, optimize alloc_trace.
1767 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
1769 * docs/faq/gst-uninstalled:
1770 fix up PS1 for systems that try to reset it
1772 2005-11-07 Wim Taymans <wim@fluendo.com>
1774 * gst/base/gstbasesrc.c: (gst_base_src_init),
1775 (gst_base_src_get_range):
1776 Set the segment_end to -1 initially. Fixed typefind.
1778 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
1780 * gst/base/gstadapter.c:
1781 Debug category should be 'adapter', not 'GstAdapter'.
1783 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1784 (gst_collectpads_class_init), (gst_collectpads_init),
1785 (gst_collectpads_peek), (gst_collectpads_pop),
1786 (gst_collectpads_event), (gst_collectpads_chain):
1787 Add debug category and some debugging output. Use boilerplate
1788 macros. Remove some extraneous words from docs.
1790 2005-11-05 Andy Wingo <wingo@pobox.com>
1792 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1795 2005-11-04 Stefan Kost <ensonic@users.sf.net>
1797 * docs/gst/gstreamer-sections.txt:
1800 * gst/gstminiobject.h:
1805 2005-11-04 Wim Taymans <wim@fluendo.com>
1807 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1808 Small update to stop at the configured segment_end
1811 2005-11-04 Stefan Kost <ensonic@users.sf.net>
1813 * gst/gstregistry.c:
1814 * gst/gstregistry.h:
1817 2005-11-04 Edward Hervey <edward@fluendo.com>
1819 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1820 Check if we are doing a segment seek and have arrived at the
1821 end of that segment.
1823 2005-11-04 Wim Taymans <wim@fluendo.com>
1825 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1826 Don't leak a mutex unlock in case of an error.
1831 2005-11-04 Wim Taymans <wim@fluendo.com>
1833 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1835 Get the context to wake up only once.
1837 2005-11-03 Wim Taymans <wim@fluendo.com>
1839 * check/states/sinks.c: (GST_START_TEST):
1840 Uncomment fixed check.
1842 * docs/design/part-TODO.txt:
1845 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1846 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1847 (gst_base_sink_get_position):
1848 If we are going to PLAYING, post the right pending state
1849 when we post the intermediate paused message.
1851 * gst/gstelement.c: (gst_element_continue_state),
1852 (gst_element_set_state_func), (gst_element_change_state):
1853 Don't post state changes that were between the same state
1856 2005-11-03 Stefan Kost <ensonic@users.sf.net>
1858 * docs/gst/gstreamer-sections.txt:
1861 * gst/gstminiobject.h:
1864 more docs and doc style fixes
1866 2005-11-03 Stefan Kost <ensonic@users.sf.net>
1868 * docs/gst/gstreamer-sections.txt:
1870 * gst/gstminiobject.c:
1873 2005-11-03 Andy Wingo <wingo@pobox.com>
1875 * check/states/sinks.c (test_livesrc_sink): Add checks that the
1876 state-changed messages actually have the right order and the right
1879 2005-11-03 Wim Taymans <wim@fluendo.com>
1881 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1882 Added some more checks. Specifically the case where NO_PREROLL
1883 elements are in the pipeline.
1885 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1886 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1887 (gst_base_sink_get_position):
1888 Post READY->PAUSED state change messages too.
1889 Fix bug where VOID was posted as pending state...
1891 * gst/gstbin.c: (gst_bin_recalc_state):
1892 use _element_continue_state() to continue the state change.
1894 * gst/gstelement.c: (gst_element_continue_state),
1895 (gst_element_commit_state), (gst_element_set_state_func),
1896 (gst_element_change_state), (gst_element_change_state_func):
1897 Lots of state change cleanups, assign the STATE_RETURN in
1898 a new continue_state() function that also propagates the
1899 last return value from a state change to the app.
1900 Update some debug statements with proper category.
1902 2005-11-03 Wim Taymans <wim@fluendo.com>
1904 * docs/design/part-events.txt:
1905 * docs/design/part-gstpipeline.txt:
1906 * docs/design/part-messages.txt:
1907 * docs/design/part-overview.txt:
1908 * docs/design/part-seeking.txt:
1909 * docs/design/part-states.txt:
1910 * docs/design/part-trickmodes.txt:
1911 * docs/manual/advanced-position.xml:
1915 People think !! is ugly, this looks better.
1917 * gst/gstpad.c: (gst_pad_set_blocked_async):
1918 Remove !! since it's fixed elsewhere now.
1920 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
1922 * gst/gstminiobject.h:
1924 Add !! to _FLAG_IS_SET macros to make the result boolean.
1926 2005-11-03 Edward Hervey <edward@fluendo.com>
1928 * gst/gstpad.c: (gst_pad_set_blocked_async):
1929 comparing a flag and a gboolean rarely returns coherent results...
1930 Added two characters (!!) to make that work correctly.
1932 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
1934 * gst/gstbus.c: (gst_bus_class_init):
1937 * gst/gstqueue.c: (gst_queue_loop):
1938 Don't assume a miniobject that isn't a buffer is an
1939 event (it could be that there is a refcounting
1940 problem somewhere and the pointer is stale and
1941 refers to an already destroyed miniobject).
1943 2005-11-03 Julien MOUTTE <julien@moutte.net>
1945 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1947 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
1949 * docs/manual/advanced-position.xml:
1950 Update seek example and explanations to current 0.9 API.
1952 * gst/elements/gsttypefindelement.c:
1953 (gst_type_find_element_activate):
1954 Remove FIXME comment now that the found caps
1957 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
1959 * gst/gstregistryxml.c: (load_feature):
1960 Add another GST_STR_NULL instance
1962 2005-11-02 Edward Hervey <edward@fluendo.com>
1964 * gst/gstpad.c: (handle_pad_block):
1965 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1967 2005-11-02 Wim Taymans <wim@fluendo.com>
1972 * gst/gstelement.c: (gst_element_commit_state):
1973 Remove unused value.
1975 * gst/gstiterator.c:
1976 Mention that the returned element is reffed in the docs.
1978 2005-11-02 Wim Taymans <wim@fluendo.com>
1980 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1981 (gst_pad_push), (gst_pad_push_event):
1982 Unlock blocked pads when they are flushed.
1984 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
1987 * docs/gst/gstreamer-sections.txt:
1990 * gst/gstregistry.c: (gst_registry_scan_path_level):
1991 fix for a nasty little missed situation where an installed plug-in
1992 which was in the cache did not get overridden by an uninstalled one
1993 which was earlier in the plugin path because the newly created plugin
1994 for the uninstalled one (not in the registry) didn't get its
1995 ->registered set to TRUE
1997 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
1999 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2000 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2001 (gst_collectpads_is_active), (gst_collectpads_collect),
2002 (gst_collectpads_collect_range), (gst_collectpads_start),
2003 (gst_collectpads_stop), (gst_collectpads_peek),
2004 (gst_collectpads_pop), (gst_collectpads_available),
2005 (gst_collectpads_read), (gst_collectpads_flush):
2006 Guard public API with assertions.
2009 Fix docs for gst_pad_set_link_function().
2011 2005-11-02 Johan Dahlin <johan@gnome.org>
2013 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
2014 Unref found_caps after we used it.
2016 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
2018 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2019 Don't try to ref NULL.
2021 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
2023 * win32/common/config.h.in:
2024 provide a GST_FUNCTION that just gives a string for now
2026 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
2028 * win32/common/gstenumtypes.c: (register_gst_object_flags),
2029 (gst_object_flags_get_type), (register_gst_bin_flags),
2030 (gst_bin_flags_get_type), (register_gst_buffer_flag),
2031 (gst_buffer_flag_get_type), (register_gst_bus_flags),
2032 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2033 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2034 (gst_clock_return_get_type), (register_gst_clock_entry_type),
2035 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2036 (gst_clock_flags_get_type), (register_gst_state),
2037 (gst_state_get_type), (register_gst_state_change_return),
2038 (gst_state_change_return_get_type), (register_gst_state_change),
2039 (gst_state_change_get_type), (register_gst_element_flags),
2040 (gst_element_flags_get_type), (register_gst_core_error),
2041 (gst_core_error_get_type), (register_gst_library_error),
2042 (gst_library_error_get_type), (register_gst_resource_error),
2043 (gst_resource_error_get_type), (register_gst_stream_error),
2044 (gst_stream_error_get_type), (register_gst_event_type),
2045 (gst_event_type_get_type), (register_gst_seek_type),
2046 (gst_seek_type_get_type), (register_gst_seek_flags),
2047 (gst_seek_flags_get_type), (register_gst_format),
2048 (gst_format_get_type), (register_gst_index_certainty),
2049 (gst_index_certainty_get_type), (register_gst_index_entry_type),
2050 (gst_index_entry_type_get_type),
2051 (register_gst_index_lookup_method),
2052 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2053 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2054 (gst_index_resolver_method_get_type), (register_gst_index_flags),
2055 (gst_index_flags_get_type), (register_gst_debug_level),
2056 (gst_debug_level_get_type), (register_gst_debug_color_flags),
2057 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2058 (gst_iterator_result_get_type), (register_gst_iterator_item),
2059 (gst_iterator_item_get_type), (register_gst_message_type),
2060 (gst_message_type_get_type), (register_gst_mini_object_flags),
2061 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2062 (gst_pad_link_return_get_type), (register_gst_flow_return),
2063 (gst_flow_return_get_type), (register_gst_activate_mode),
2064 (gst_activate_mode_get_type), (register_gst_pad_direction),
2065 (gst_pad_direction_get_type), (register_gst_pad_flags),
2066 (gst_pad_flags_get_type), (register_gst_pad_presence),
2067 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2068 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2069 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2070 (gst_plugin_error_get_type), (register_gst_plugin_flags),
2071 (gst_plugin_flags_get_type), (register_gst_rank),
2072 (gst_rank_get_type), (register_gst_query_type),
2073 (gst_query_type_get_type), (register_gst_tag_merge_mode),
2074 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2075 (gst_tag_flag_get_type), (register_gst_task_state),
2076 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2077 (gst_alloc_trace_flags_get_type),
2078 (register_gst_type_find_probability),
2079 (gst_type_find_probability_get_type), (register_gst_uri_type),
2080 (gst_uri_type_get_type), (register_gst_parse_error),
2081 (gst_parse_error_get_type):
2082 * win32/common/gstversion.h:
2085 2005-11-01 Luca Ognibene <luogni@tin.it>
2088 fix docs. popt is dead, long live GOption.
2090 2005-10-31 Wim Taymans <wim@fluendo.com>
2095 2005-10-31 Andy Wingo <wingo@pobox.com>
2099 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2101 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2102 need to serialize property notifications on GLib 2.8. GLib 2.6 has
2103 the possibility of deadlocks here if code calling notify() or
2104 set() has a lock that can be taken in another notify handler (ABBA
2105 with class lock and e.g. python GIL state lock).
2107 2005-10-28 Julien MOUTTE <julien@moutte.net>
2109 * gst/gstbus.c: Doc updates.
2111 2005-10-28 Wim Taymans <wim@fluendo.com>
2113 * docs/design/part-TODO.txt:
2114 * gst/gstiterator.c:
2115 * gst/gstsystemclock.c:
2116 * gst/gstsystemclock.h:
2119 2005-10-28 Edward Hervey <edward@fluendo.com>
2121 * docs/gst/gstreamer-docs.sgml:
2122 * docs/gst/gstreamer-sections.txt:
2123 the GstURIType documentation page is private, it only defines GstURIType
2124 which should be defined in the GstURIHandler page
2126 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
2128 * gst/gstbin.c: (gst_bin_class_init):
2131 Documentation updates.
2133 2005-10-28 Wim Taymans <wim@fluendo.com>
2135 * docs/gst/gstreamer-sections.txt:
2138 Documented the clocks.
2140 2005-10-28 Stefan Kost <ensonic@users.sf.net>
2142 * docs/gst/gstreamer-sections.txt:
2143 move some macros to private sections
2144 * gst/gstminiobject.c:
2145 * gst/gstminiobject.h:
2146 add descriptions provided by ds and some more
2148 mark macro as to be removed
2150 2005-10-28 Wim Taymans <wim@fluendo.com>
2152 * docs/design/part-TODO.txt:
2153 Add an item to TODO.
2155 * gst/gstiterator.c: (gst_iterator_fold),
2156 (gst_iterator_find_custom):
2157 * gst/gstiterator.h:
2160 2005-10-28 Wim Taymans <wim@fluendo.com>
2162 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2163 (gst_base_transform_init):
2166 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2167 An EOS event marks the queue as completely filled.
2169 2005-10-27 Wim Taymans <wim@fluendo.com>
2171 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2172 (gst_base_sink_do_sync), (gst_base_sink_get_position):
2173 Some more debugging.
2175 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2176 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2177 (gst_base_transform_event), (gst_base_transform_getrange),
2178 (gst_base_transform_chain):
2179 * gst/base/gstbasetransform.h:
2181 Protect transform and concurrent buffer alloc with a new lock.
2182 Try not to break ABI/API.
2184 2005-10-27 Wim Taymans <wim@fluendo.com>
2186 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2187 (gst_base_src_init), (gst_base_src_query),
2188 (gst_base_src_default_newsegment),
2189 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2190 (gst_base_src_send_event), (gst_base_src_event_handler),
2191 (gst_base_src_pad_get_range), (gst_base_src_loop),
2192 (gst_base_src_unlock), (gst_base_src_default_negotiate),
2193 (gst_base_src_start), (gst_base_src_deactivate),
2194 (gst_base_src_activate_push), (gst_base_src_change_state):
2195 Move some stuff around and cleanup things.
2197 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
2199 * gst/base/gstbasesrc.c: (gst_base_src_query):
2200 Add missing break statements.
2202 2005-10-27 Wim Taymans <wim@fluendo.com>
2204 * check/gst/gstbin.c: (GST_START_TEST):
2205 An extra refcount is taken in basesrc.
2207 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2208 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2209 (gst_base_src_loop):
2210 Small cleanups, check for flushing after being unlocked from the
2211 LIVE_LOCK. take refcounts correctly (not yet everywhere).
2212 Don't send out EOS when going to READY.
2214 2005-10-27 Wim Taymans <wim@fluendo.com>
2216 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2217 (gst_base_sink_get_position):
2220 * gst/gstbin.c: (message_check), (bin_replace_message),
2221 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2222 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2223 (bin_query_duration_init), (bin_query_duration_fold),
2224 (bin_query_duration_done), (bin_query_generic_fold),
2226 * tools/gst-launch.c: (main):
2229 2005-10-26 Stefan Kost <ensonic@users.sf.net>
2231 * examples/controller/audio-example.c: (main):
2232 * examples/queue/queue.c: (event_loop):
2233 * gst/base/gstbasetransform.h:
2234 * gst/gstelement.c: (gst_element_send_event):
2236 * gst/gstpad.c: (gst_pad_send_event):
2239 changing log priority in error situations
2241 2005-10-25 Wim Taymans <wim@fluendo.com>
2243 * gst/gstbin.c: (message_check), (bin_replace_message),
2244 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2245 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2246 (bin_query_duration_init), (bin_query_duration_fold),
2247 (bin_query_duration_done), (bin_query_generic_fold),
2249 Some doc and debug updates.
2250 Cache previously requested query DURATION for speed. invalidate
2251 cached duration if element posts a DURATION message.
2253 2005-10-25 Wim Taymans <wim@fluendo.com>
2255 * docs/design/part-TODO.txt:
2258 * gst/gstbin.c: (message_check), (bin_replace_message),
2259 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2260 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2261 (bin_query_duration_init), (bin_query_duration_fold),
2262 (bin_query_duration_done), (bin_query_generic_fold),
2264 Handle SEGMENT_START/DONE messages correctly.
2265 More evolved query algorithm that handles duration queries
2268 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2269 (gst_element_get_state_func), (gst_element_abort_state),
2270 (gst_element_commit_state), (gst_element_lost_state):
2271 Some more debugging.
2276 2005-10-25 Wim Taymans <wim@fluendo.com>
2278 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2279 Don't use invalid stream_time.
2281 * gst/gstevent.c: (gst_event_new_newsegment):
2282 stream_time in newsegment cannot be undefined.
2284 2005-10-24 Wim Taymans <wim@fluendo.com>
2289 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2291 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2293 2005-10-24 Stefan Kost <ensonic@users.sf.net>
2295 * docs/libs/tmpl/gstdparam.sgml:
2296 * docs/libs/tmpl/gstdplinint.sgml:
2297 * docs/libs/tmpl/gstdpman.sgml:
2298 * docs/libs/tmpl/gstdpsmooth.sgml:
2299 * docs/libs/tmpl/gstunitconvert.sgml:
2302 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
2307 === release 0.9.4 ===
2309 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
2312 releasing 0.9.4, "Tyrannosaurus Rex"
2314 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
2316 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2317 (gst_file_sink_get_current_offset):
2318 Use fseeko() and ftello() if available. When falling back on
2319 lseek() to get the current offset, fflush() first to make sure
2320 everything is up-to-date and we get the right offset.
2322 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
2324 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2325 * gst/base/gstbasesrc.c: (gst_base_src_loop):
2326 * gst/gsterror.c: (_gst_stream_errors_init):
2328 * gst/gstqueue.c: (gst_queue_loop):
2330 remove prematurely added error category and clean up the instances
2332 2005-10-21 Wim Taymans <wim@fluendo.com>
2334 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2335 (gst_base_sink_get_position), (gst_base_sink_query),
2336 (gst_base_sink_change_state):
2337 Simply set the right flag when going to playing, that's all
2338 we need to do instead of calling a function inside the object
2339 lock (that could take the lock as well and deadlock)
2341 2005-10-21 Wim Taymans <wim@fluendo.com>
2343 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2344 (gst_base_src_loop):
2345 Don't warn, the peer element knows what to do best when
2346 the seek failed, it might try something else.
2348 2005-10-21 Wim Taymans <wim@fluendo.com>
2350 * gst/base/gstbasesrc.c: (gst_base_src_init),
2351 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2354 2005-10-21 Wim Taymans <wim@fluendo.com>
2356 * docs/design/part-segments.txt:
2359 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2360 Correctly set caps, even on the subbufer.
2362 2005-10-21 Wim Taymans <wim@fluendo.com>
2364 * docs/gst/gstreamer-docs.sgml:
2365 * docs/gst/gstreamer-sections.txt:
2372 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2376 And 2% more doc coverage.
2378 2005-10-21 Andy Wingo <wingo@pobox.com>
2380 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2383 2005-10-20 Wim Taymans <wim@fluendo.com>
2385 * gst/gsterror.c: (gst_error_get_message):
2388 * gst/gststructure.c:
2393 2005-10-20 Wim Taymans <wim@fluendo.com>
2398 Another 1% more coverage.
2400 2005-10-20 Wim Taymans <wim@fluendo.com>
2402 * docs/gst/gstreamer-sections.txt:
2403 * gst/gstelement.c: (gst_element_get_state_func),
2404 (gst_element_abort_state), (gst_element_commit_state),
2405 (gst_element_lost_state):
2407 * gst/gstquery.c: (gst_query_set_position),
2408 (gst_query_parse_position), (gst_query_set_duration),
2409 (gst_query_parse_duration), (gst_query_new_convert):
2411 Yay! 1% more docs coverage.
2413 2005-10-20 Wim Taymans <wim@fluendo.com>
2416 * gst/gstquery.c: (gst_query_set_position),
2417 (gst_query_parse_position), (gst_query_set_duration),
2418 (gst_query_parse_duration), (gst_query_new_convert):
2420 * gst/gstutils.c: (gst_element_query_convert):
2422 Docs and consistency fixes.
2424 2005-10-20 Wim Taymans <wim@fluendo.com>
2430 2005-10-20 Wim Taymans <wim@fluendo.com>
2432 * gst/gstbin.c: (message_check), (bin_replace_message),
2433 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2434 (update_degree), (gst_bin_sort_iterator_next),
2435 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2436 Reworked the message handling a bit, cache the messages instead of
2437 only the senders. alows us to do more in the future.
2439 2005-10-20 Wim Taymans <wim@fluendo.com>
2441 * docs/design/part-TODO.txt:
2444 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2445 (gst_base_sink_query):
2446 Don't use clock time to report position when in EOS.
2448 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
2450 * tools/gst-inspect.c: (print_interfaces),
2451 (print_element_properties_info), (print_element_info):
2452 Fix interface output with gst-inspect -a; don't print
2453 newlines after double/float properties.
2455 2005-10-20 Wim Taymans <wim@fluendo.com>
2457 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2458 (gst_base_sink_query):
2459 Speed up current position calculation.
2461 * gst/base/gstbasesrc.c: (gst_base_src_query),
2462 (gst_base_src_default_newsegment):
2463 Correctly set stream position in newsegment.
2465 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2466 (update_degree), (gst_bin_sort_iterator_next),
2467 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2468 * gst/gstmessage.c: (gst_message_new_custom):
2469 Clean up debugging info
2471 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2472 (gst_queue_loop), (gst_queue_handle_src_query):
2475 2005-10-19 Wim Taymans <wim@fluendo.com>
2477 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2478 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2479 Fix query handling again.
2481 2005-10-19 Wim Taymans <wim@fluendo.com>
2483 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2484 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2485 * gst/base/gstbasesrc.c: (gst_base_src_query):
2486 * gst/elements/gstfilesink.c: (gst_file_sink_query):
2487 * gst/elements/gsttypefindelement.c:
2488 (gst_type_find_handle_src_query), (find_element_get_length),
2489 (gst_type_find_element_activate):
2492 * gst/gstquery.c: (gst_query_new_position),
2493 (gst_query_set_position), (gst_query_parse_position),
2494 (gst_query_new_duration), (gst_query_set_duration),
2495 (gst_query_parse_duration), (gst_query_set_segment),
2496 (gst_query_parse_segment):
2498 Bundling query position/duration is not a good idea since duration
2499 does not change much and we don't want to recalculate it for every
2500 position query, so they are separated again..
2501 Base value in segment query is not needed.
2503 * gst/gstqueue.c: (gst_queue_handle_src_query):
2504 * gst/gstutils.c: (gst_element_query_position),
2505 (gst_element_query_duration), (gst_pad_query_position),
2506 (gst_pad_query_duration):
2508 Updates for query API change.
2509 Added some docs here and there.
2511 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
2513 * check/gst/gstbin.c: (GST_START_TEST):
2514 * check/gst/gstghostpad.c: (GST_START_TEST):
2515 * check/pipelines/cleanup.c: (GST_START_TEST):
2516 wait on thread to die so we can check refcount correctly
2518 2005-10-18 Wim Taymans <wim@fluendo.com>
2520 * check/pipelines/stress.c: (GST_START_TEST):
2521 Make check a little more time consuming.
2523 2005-10-18 Wim Taymans <wim@fluendo.com>
2525 * check/Makefile.am:
2526 * check/pipelines/stress.c: (GST_START_TEST),
2527 (simple_launch_lines_suite), (main):
2528 Small state change torture test.
2530 * docs/design/part-states.txt:
2531 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2532 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2533 (gst_base_sink_change_state):
2534 Never take state lock from streaming thread, clean up ugly
2535 hacks. Unfortunatly core does not yet support nice ways to
2538 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2540 Start state recalc if a STATE_DIRTY message is posted, but only
2541 on the toplevel bin.
2543 * gst/gstelement.c: (gst_element_sync_state_with_parent),
2544 (gst_element_get_state_func), (gst_element_abort_state),
2545 (gst_element_commit_state), (gst_element_lost_state),
2546 (gst_element_set_state_func), (gst_element_change_state):
2548 State variables are now protected with the LOCK, the state
2549 lock is only used to serialize _set_state().
2551 2005-10-18 Wim Taymans <wim@fluendo.com>
2553 * check/gst/gstbin.c: (GST_START_TEST):
2554 * check/gst/gstmessage.c: (GST_START_TEST):
2555 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2556 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2558 * gst/gstelement.c: (gst_element_abort_state),
2559 (gst_element_commit_state), (gst_element_lost_state):
2560 * gst/gstmessage.c: (gst_message_new_state_changed),
2561 (gst_message_new_state_dirty), (gst_message_new_segment_start),
2562 (gst_message_new_segment_done), (gst_message_new_duration),
2563 (gst_message_parse_state_changed),
2564 (gst_message_parse_segment_start),
2565 (gst_message_parse_segment_done), (gst_message_parse_duration):
2567 * tools/gst-launch.c: (event_loop):
2568 Seriously, this is better than a previous commit as we only need
2569 to notify the fact that an element changed state in a streaming
2570 thread, marking the state of the parents dirty, hence the
2571 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2574 2005-10-18 Wim Taymans <wim@fluendo.com>
2576 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2577 (gst_bin_recalc_func):
2578 * gst/gstelement.c: (gst_element_set_clock),
2579 (gst_element_abort_state), (gst_element_lost_state):
2580 Cleanups, prepare for state change fixes.
2582 2005-10-18 Wim Taymans <wim@fluendo.com>
2585 * gst/gstelement.c: (gst_element_class_init),
2586 (gst_element_set_state), (gst_element_set_state_func):
2588 Pending ABI changes.
2589 GThreadPool in GstBinClass to monitor async state changes.
2590 state_cookie in GstElement to detect concurrent gst/set state.
2591 set_state is now virtual too in case a very complicated element
2592 has to be constructed.
2594 2005-10-18 Wim Taymans <wim@fluendo.com>
2596 * check/gst/gstbin.c: (GST_START_TEST):
2597 * check/gst/gstmessage.c: (GST_START_TEST):
2598 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2599 * gst/gstbin.c: (bin_bus_handler):
2600 * gst/gstelement.c: (gst_element_commit_state),
2601 (gst_element_lost_state):
2602 * gst/gstmessage.c: (gst_message_new_state_changed),
2603 (gst_message_new_segment_start), (gst_message_new_segment_done),
2604 (gst_message_new_duration), (gst_message_parse_state_changed),
2605 (gst_message_parse_segment_start),
2606 (gst_message_parse_segment_done), (gst_message_parse_duration):
2608 * tools/gst-launch.c: (event_loop):
2609 Make messages future proof.
2610 state-change gets a flag if it was a message comming from the
2612 segment-start/stop can also be specified in other formats.
2613 A message to notify an app that a pipeline changed playback
2615 Also fix a GstMessage leak in -launch
2617 2005-10-18 Andy Wingo <wingo@pobox.com>
2619 * gst/gstelement.c (gst_element_dispose): More helpful message.
2621 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
2623 reviewed by: <delete if not using a buddy>
2625 * common/gtk-doc.mak:
2627 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
2629 * gst/gstregistry.c: (gst_registry_scan_path_level):
2630 unref a plug-in we get that was already initialized
2632 2005-10-18 Stefan Kost <ensonic@users.sf.net>
2634 * docs/gst/gstreamer-sections.txt:
2635 * docs/libs/gstreamer-libs-sections.txt:
2640 2005-10-17 Andy Wingo <wingo@pobox.com>
2642 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2645 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2647 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2649 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2650 (gst_element_get_state_func): Better debug message.
2651 (gst_element_commit_state): s/INFO/DEBUG/.
2652 (gst_element_lost_state, gst_element_change_state):
2654 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2655 (gst_message_new_custom): s/INFO/LOG/.
2657 2005-10-17 Michael Smith <msmith@fluendo.com>
2659 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2660 Check if end time is valid using end time, not start time.
2662 2005-10-17 Stefan Kost <ensonic@users.sf.net>
2664 * check/gst-libs/controller.c: (GST_START_TEST),
2665 (gst_controller_suite):
2666 * libs/gst/controller/gstcontroller.c:
2667 (gst_controlled_property_set_interpolation_mode):
2668 * libs/gst/controller/gstcontroller.h:
2669 * libs/gst/controller/gstinterpolation.c:
2670 * testsuite/controller/.cvsignore:
2671 * testsuite/controller/Makefile.am:
2672 * testsuite/controller/interpolator.c:
2673 merge controller testsuites
2675 remove mem-chunk from docs
2677 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
2679 * gst/gstmemchunk.c:
2680 * gst/gstmemchunk.h:
2681 * gst/gsttrashstack.c:
2682 * gst/gsttrashstack.h:
2683 out. get out. you're fired. to the Attic !
2685 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
2687 * gst/gstcaps.c: (gst_caps_intersect):
2688 fix signedness issues in a (hopefully) correct way
2689 * gst/gstelement.c: (gst_element_pads_activate):
2691 * gst/gstobject.c: (gst_object_set_parent):
2694 2005-10-17 Julien MOUTTE <julien@moutte.net>
2696 * gst/gstvalue.h: Fix prototypes.
2698 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2700 * docs/gst/gstreamer-sections.txt:
2701 * gst/gst.c: (gst_version_string):
2703 * gst/gstversion.h.in:
2704 * win32/common/libgstreamer.def:
2705 add gst_version_string ()
2707 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2711 * gst/gst.c: (init_post):
2712 * win32/common/config.h.in:
2714 * gst/gstcaps.c: (gst_caps_intersect):
2715 use gint64, the range could be bigger than a guint
2717 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2720 document potential problem in 2038
2722 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2724 * gst/gstcaps.c: (gst_caps_intersect):
2725 Fix guint j diving under 0
2727 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2730 * win32/common/config.h:
2731 * win32/common/config.h.in:
2732 check for process.h, declares getpid() on Windows
2734 include process.h if we have it
2735 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2736 * gst/gstmemchunk.h:
2737 fix signedness issues
2738 * win32/common/libgstreamer.def:
2741 2005-10-16 Julien MOUTTE <julien@moutte.net>
2743 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2744 fix. Because of unsigned ints, caps intersection was going nuts and
2745 trying to access structures with G_MAXUINT index. That fixes
2746 videotestsrc ! ffmpegcolorspace ! fakesink
2747 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2750 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2753 use the gettext macro
2754 * gst/elements/gstelements.c:
2756 * gst/indexers/gstindexers.c:
2757 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2758 * win32/common/config.h:
2760 * win32/common/config.h.in:
2761 add the template to generate config.h
2762 * win32/common/gstenumtypes.c:
2763 * win32/common/gstversion.h:
2766 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
2768 * gst/gst.c: (gst_version):
2769 * gst/gstversion.h.in:
2772 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
2775 Oops, add missing closing bracket.
2777 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2780 use common m4's for argument checking
2782 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
2784 * docs/gst/gstreamer-sections.txt:
2786 Add GST_EVENT_TYPE_NAME() macro.
2788 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2791 * gst/gstpluginfeature.c:
2793 privatize more symbols
2795 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2798 add srcdir, builddir includes to GST_ALL_CFLAGS, since
2799 everything that uses GStreamer API should have the includes
2801 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2803 * docs/gst/gstreamer-sections.txt:
2804 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2806 give each value a _get_type, removes the DATA exports
2808 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2812 remove _gst_registry_auto_load, not used anymore
2813 * gst/gstbin.c: (gst_bin_get_type):
2815 * gst/gstelement.c: (gst_element_get_type):
2817 * gst/gstobject.c: (gst_object_get_type):
2819 * gst/gstpad.c: (gst_pad_get_type):
2821 make _get_type functions similar, fixes data export from library
2823 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2826 correctly make conditionals
2827 * gst/elements/Makefile.am:
2828 * gst/elements/gstelements.c:
2829 fix typo causing fdsrc not to build
2831 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2833 * testsuite/Makefile.am:
2834 * testsuite/bytestream/.cvsignore:
2835 * testsuite/bytestream/Makefile.am:
2836 * testsuite/bytestream/filepadsink.c:
2837 * testsuite/bytestream/gstbstest.c:
2838 * testsuite/bytestream/test1.c:
2839 * testsuite/bytestream/testfile1:
2840 * testsuite/caps/normalisation.c:
2841 * testsuite/caps/random.c: (main):
2842 * testsuite/cleanup/.cvsignore:
2843 * testsuite/cleanup/Makefile.am:
2844 * testsuite/cleanup/cleanup1.c:
2845 * testsuite/cleanup/cleanup2.c:
2846 * testsuite/cleanup/cleanup3.c:
2847 * testsuite/cleanup/cleanup4.c:
2848 * testsuite/cleanup/cleanup5.c:
2849 * testsuite/controller/interpolator.c:
2850 * testsuite/debug/printf_extension.c: (main):
2851 * testsuite/elements/tee.c:
2852 * testsuite/negotiation/.cvsignore:
2853 * testsuite/negotiation/Makefile.am:
2854 * testsuite/negotiation/pad_link.c:
2855 * testsuite/pad/Makefile.am:
2856 * testsuite/pad/chainnopull.c:
2857 * testsuite/pad/getnopush.c:
2858 * testsuite/pad/link.c:
2859 * testsuite/refcounting/sched.c: (create_pipeline):
2860 * testsuite/registry/Makefile.am:
2861 * testsuite/registry/gst-print-formats.c:
2862 * testsuite/schedulers/.cvsignore:
2863 * testsuite/schedulers/142183-2.c:
2864 * testsuite/schedulers/142183.c:
2865 * testsuite/schedulers/143777-2.c:
2866 * testsuite/schedulers/143777.c:
2867 * testsuite/schedulers/147713.c:
2868 * testsuite/schedulers/147819.c:
2869 * testsuite/schedulers/147894-2.c:
2870 * testsuite/schedulers/147894.c:
2871 * testsuite/schedulers/Makefile.am:
2872 * testsuite/schedulers/group_link.c:
2873 * testsuite/schedulers/queue_link.c:
2874 * testsuite/schedulers/relink.c:
2875 * testsuite/schedulers/unlink.c:
2876 * testsuite/schedulers/unref.c:
2877 * testsuite/schedulers/useless_iteration.c:
2878 * testsuite/states/bin.c:
2879 clean out/remove some stuff from the testsuite directories
2881 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2884 check for some headers
2885 * gst/elements/Makefile.am:
2886 * gst/elements/gstelements.c:
2887 don't compile fdsrc without sys/socket.h
2888 * gst/indexers/Makefile.am:
2889 * gst/indexers/gstindexers.c: (plugin_init):
2890 don't compile fileindex without mmap
2892 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
2899 * check/Makefile.am:
2900 * docs/gst/Makefile.am:
2901 * examples/helloworld/Makefile.am:
2903 * gst/base/Makefile.am:
2904 * gst/check/Makefile.am:
2905 * gst/elements/Makefile.am:
2906 * gst/indexers/Makefile.am:
2907 * gst/parse/Makefile.am:
2908 * libs/gst/controller/Makefile.am:
2909 * libs/gst/dataprotocol/Makefile.am:
2910 * examples/helloworld/helloworld.c: (event_loop):
2911 compile fixes, though it's not being compiled currently
2913 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
2915 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2916 Add some simple tests for the new taglist date API.
2918 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
2920 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2921 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2922 Beautify 'last-message' output: print 'none' for buffer timestamps
2923 and durations if none is set; improve alignment with next messages.
2925 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
2927 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2928 * gst/gstpluginfeature.h:
2929 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2930 * gst/gstregistry.h:
2931 * docs/gst/gstreamer-sections.txt:
2932 Add new API to check plugin feature version requirements.
2934 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2935 Some basic tests for the above.
2937 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
2939 * gst/gststructure.c: (gst_structure_to_string):
2940 guard against NULL printf - happens when for example
2941 a message structure with GstClock gets serialized
2943 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
2945 * gst/base/gstcollectpads.c: (gst_collectpads_event):
2946 Fix presumable copy'n'pasto.
2948 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
2950 * gst/elements/gstfakesrc.h:
2951 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2952 * gst/elements/gsttypefindelement.c:
2954 * gst/elements/gstfilesink.c: (gst_file_sink_render):
2955 I wonder if this could actually write +2GB files before
2957 2005-10-13 Andy Wingo <wingo@pobox.com>
2959 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2960 Fix Timmeke Waymans bug.
2961 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2962 string of the proper length to gst_caps_from_string. There's a
2963 potential for, before this fix, that this could cause someone
2964 connecting over the network to cause a segfault if the payload is
2967 2005-10-13 Stefan Kost <ensonic@users.sf.net>
2969 * docs/design/draft-push-pull.txt:
2970 * docs/design/part-overview.txt:
2971 * docs/random/TODO-pre-0.9:
2972 * docs/random/old/ChangeLog.gstreamer:
2973 * gst/base/gstpushsrc.c:
2977 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
2979 * gst/glib-compat.c: (gst_flags_get_first_value):
2980 * gst/glib-compat.h:
2981 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2982 (gst_value_compare_double), (gst_value_serialize_flags):
2983 GLib 2.6 g_flags_get_first_value has a bug that triggers an
2986 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
2988 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2989 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2991 * tools/gst-launch.c: (event_loop):
2992 print out clock nicely
2994 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
2996 * docs/gst/gstreamer-sections.txt:
2998 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2999 (gst_tag_list_get_date_index):
3000 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3001 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3003 2005-10-13 Julien MOUTTE <julien@moutte.net>
3005 * gst/base/gstcollectpads.c: (gst_collectpads_event),
3006 (gst_collectpads_chain):
3007 * gst/base/gstcollectpads.h: Handle newsegment and store informations
3010 2005-10-13 Stefan Kost <ensonic@users.sf.net>
3012 * docs/gst/gstreamer-sections.txt:
3015 * tools/gst-inspect.c: (main):
3016 * tools/gst-launch.c: (main):
3017 * tools/gst-run.c: (main):
3018 * tools/gst-xmlinspect.c: (main):
3019 fix GOption context leaks
3022 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3026 * win32/common/config.h:
3028 * win32/vs6/grammar.dsp:
3029 * win32/vs6/libgstelements.dsp:
3030 * win32/vs6/libgstreamer.dsp:
3033 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3035 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3036 * gst/base/gstbasesrc.c: (gst_base_src_query):
3037 fix more guint64<->gdouble conversions
3039 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3042 add win32-update target
3043 * win32/common/gstconfig.h:
3044 * win32/common/gstenumtypes.c:
3045 * win32/common/gstenumtypes.h:
3046 * win32/common/gstversion.h:
3047 add files that visual studio can't generate
3049 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3052 add a win32-update target
3055 2005-10-12 Wim Taymans <wim@fluendo.com>
3057 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3058 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3059 * gst/gstelement.c: (gst_element_commit_state),
3060 (gst_element_set_state):
3061 Protect flags with proper lock.
3062 unref provided cached clock in dispose.
3064 2005-10-12 Stefan Kost <ensonic@users.sf.net>
3067 * gst/gstminiobject.h:
3069 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3070 removed unused flags from miniobject
3073 2005-10-12 Wim Taymans <wim@fluendo.com>
3075 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3076 (gst_file_sink_event), (gst_file_sink_render):
3077 Flush before seeking.
3079 2005-10-12 Andy Wingo <wingo@pobox.com>
3081 * gst/gst.c (gst_init_check): Ignore unknown options, as has
3082 always been the case.
3084 2005-10-12 Stefan Kost <ensonic@users.sf.net>
3086 * check/gst/gstbin.c: (GST_START_TEST):
3087 * docs/gst/gstreamer-sections.txt:
3088 * gst/base/gstbasesink.c: (gst_base_sink_init):
3089 * gst/base/gstbasesrc.c: (gst_base_src_init),
3090 (gst_base_src_get_range), (gst_base_src_check_get_range),
3091 (gst_base_src_start), (gst_base_src_stop):
3092 * gst/base/gstbasesrc.h:
3093 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3094 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3095 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3099 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3101 * gst/gstelement.c: (gst_element_is_locked_state),
3102 (gst_element_set_locked_state), (gst_element_commit_state),
3103 (gst_element_set_state):
3105 * gst/gstindex.c: (gst_index_init):
3107 * gst/gstminiobject.h:
3108 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3109 (gst_object_set_parent):
3111 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3112 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3114 * gst/gstpadtemplate.h:
3115 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3116 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3117 * gst/gstpipeline.h:
3118 * gst/indexers/gstfileindex.c: (gst_file_index_load),
3119 (gst_file_index_commit):
3120 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3121 * testsuite/pad/link.c: (gst_test_src_init),
3122 (gst_test_filter_init), (gst_test_sink_init):
3123 * testsuite/states/locked.c: (main):
3124 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3125 moved bitshift from macro to enum definition
3127 2005-10-12 Wim Taymans <wim@fluendo.com>
3129 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3130 * gst/elements/gstfilesink.c: (gst_file_sink_event),
3131 (gst_file_sink_render):
3132 Some more debugging info.
3134 2005-10-12 Wim Taymans <wim@fluendo.com>
3136 * docs/design/part-states.txt:
3137 * tools/gst-launch.c: (main):
3139 Revert non-intentional change.
3141 2005-10-12 Wim Taymans <wim@fluendo.com>
3143 * check/gst/gstbin.c: (GST_START_TEST):
3144 * check/gst/gstelement.c: (GST_START_TEST):
3145 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3146 * check/gst/gstghostpad.c: (GST_START_TEST):
3147 * check/gst/gstpipeline.c: (GST_START_TEST):
3148 * check/pipelines/simple_launch_lines.c: (run_pipeline):
3149 * check/states/sinks.c: (GST_START_TEST):
3150 * gst/elements/gsttypefindelement.c: (stop_typefinding):
3151 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3152 (gst_bin_remove_func), (gst_bin_get_state_func),
3153 (gst_bin_recalc_state), (gst_bin_change_state_func),
3155 * gst/gstelement.c: (gst_element_get_state_func),
3156 (gst_element_get_state), (gst_element_abort_state),
3157 (gst_element_commit_state), (gst_element_set_state),
3158 (gst_element_change_state), (gst_element_change_state_func):
3160 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3161 (gst_pipeline_provide_clock_func):
3162 * gst/gstutils.c: (gst_element_link_pads_filtered):
3163 * tools/gst-launch.c: (main):
3164 * tools/gst-typefind.c: (main):
3165 Use GstClockTime in _get_state() instead of GTimeVal.
3166 Remove old code in gstutils.c
3168 2005-10-12 Andy Wingo <wingo@pobox.com>
3170 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3173 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3174 there is no task. Shouldn't affect any code, as nothing in our
3175 plugins checks this return value.
3176 (gst_pad_stop_task): Also take the stream lock if the pad has no
3179 2005-10-12 Wim Taymans <wim@fluendo.com>
3181 * gst/gstpad.c: (pre_activate), (post_activate),
3182 (gst_pad_activate_pull), (gst_pad_activate_push):
3183 Cleanup activation code. Reset old state if
3186 2005-10-12 Wim Taymans <wim@fluendo.com>
3188 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3189 (gst_base_sink_change_state):
3190 No need to prerol after receiving EOS.
3192 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3193 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3194 * gst/elements/gstidentity.c: (gst_identity_event):
3195 Print events more verbosely.
3197 2005-10-12 Wim Taymans <wim@fluendo.com>
3199 * check/Makefile.am:
3200 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3201 * check/states/sinks2.c:
3202 Moved sinks2 testcode in sinks check.
3204 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3205 (gst_bin_remove_func), (gst_bin_recalc_state),
3206 (gst_bin_change_state_func), (bin_bus_handler):
3207 Fix potential race condition when _get_state() iterated over an
3208 ASYNC element right before it posted a state completion.
3211 Do proper cast here.
3213 * gst/gstevent.c: (gst_event_new_newsegment),
3214 (gst_event_parse_newsegment):
3215 A playback rate of 0.0 is not allowed.
3217 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3219 * win32/common/config.h:
3220 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3221 (_trewinddir), (_ttelldir), (_tseekdir):
3222 * win32/common/dirent.h:
3223 * win32/common/gtchar.h:
3224 * win32/common/libgstbase.def:
3225 * win32/common/libgstreamer.def:
3226 * win32/vs6/grammar.dsp:
3227 * win32/vs6/gst_inspect.dsp:
3228 * win32/vs6/gst_launch.dsp:
3229 * win32/vs6/gstreamer.dsw:
3230 * win32/vs6/libgstbase.dsp:
3231 * win32/vs6/libgstelements.dsp:
3232 * win32/vs6/libgstreamer.dsp:
3233 Visual Studio 6 project files, and a new common directory.
3236 2005-10-11 Wim Taymans <wim@fluendo.com>
3238 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3239 (gst_base_sink_do_sync), (gst_base_sink_query),
3240 (gst_base_sink_change_state):
3241 * gst/base/gstbasesink.h:
3242 Correctly parse newsegment info.
3244 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3246 * gst/gst.c: (init_post):
3247 split plugin paths correctly
3249 2005-10-11 Wim Taymans <wim@fluendo.com>
3251 * check/gst/gstevent.c: (GST_START_TEST):
3252 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3253 (gst_base_sink_change_state):
3254 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3255 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3256 * gst/elements/gstfilesink.c: (gst_file_sink_event):
3257 * gst/gstevent.c: (gst_event_new_newsegment),
3258 (gst_event_parse_newsegment):
3260 Added extra flag to newsegment for future API freeze.
3261 Updated check and base elements.
3263 2005-10-11 Julien MOUTTE <julien@moutte.net>
3265 * gst/base/gstcollectpads.c: (gst_collectpads_init),
3266 (gst_collectpads_add_pad), (gst_collectpads_pop),
3267 (gst_collectpads_event), (gst_collectpads_chain):
3268 * gst/base/gstcollectpads.h: Handle EOS correctly.
3270 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3272 * tools/gst-launch.c: (main):
3273 more null protecting
3275 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3277 * gst/gst-i18n-lib.h:
3278 check for ENABLE_NLS, not GETTEXT_PACKAGE
3279 * gst/gstregistry.c: (gst_registry_add_plugin),
3280 (gst_registry_scan_path_level),
3281 (_gst_registry_remove_cache_plugins):
3282 protect possibly NULL strings
3283 * gst/parse/types.h:
3284 config.h already included before
3285 * tools/gst-inspect.c: (main):
3286 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3287 check for ENABLE_NLS, not GETTEXT_PACKAGE
3288 * tools/gst-launch.c: (main):
3289 check for ENABLE_NLS, not GETTEXT_PACKAGE
3291 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3294 if we don't have glib, fail before testing 2.8
3295 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3296 fix a leak, should fix plugins-base testsuite
3298 2005-10-11 Andy Wingo <wingo@pobox.com>
3300 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3301 take the mode we're going to as an arg. Go head and set the mode
3302 and flushing flags now, so that if the activate function starts a
3303 thread all the flags will be in the right state.
3304 (post_activate): Renamed also. Just handle making sure streaming
3305 finishes for the deactivation case, and setting the deactivated
3307 (gst_pad_set_active): Complain loudly if deactivation fails.
3308 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3309 (gst_pad_activate_push): Adapt to pre/post_activate changes,
3310 remove the terrible hack.
3312 2005-10-11 Wim Taymans <wim@fluendo.com>
3314 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3315 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3316 (gst_bin_recalc_state), (gst_bin_change_state_func),
3317 (gst_bin_dispose), (bin_bus_handler):
3319 Prepare to make current EOS message queue more generic.
3322 * gst/gstevent.c: (gst_event_new_newsegment),
3323 (gst_event_parse_newsegment):
3325 Rename base to stream_time.
3330 2005-10-11 Wim Taymans <wim@fluendo.com>
3332 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3333 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3334 (gst_bin_change_state_func), (bin_bus_handler):
3336 Work on proper clock selection.
3338 2005-10-11 Edward Hervey <edward@fluendo.com>
3340 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
3341 * libs/gst/controller/gstcontroller.h:
3342 Added GList* version of _remove_properties() in order to be able to wrap
3345 2005-10-11 Wim Taymans <wim@fluendo.com>
3347 * docs/design/part-states.txt:
3350 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3351 (gst_bin_change_state_func), (bin_bus_handler):
3352 Doc updates. Don't distribute the same clock over and over again.
3358 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3359 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3360 (gst_pad_send_event):
3362 Make probe emission threadsafe again.
3363 Register quarks and move _get_name() from utils.
3366 * gst/gstpipeline.c: (gst_pipeline_class_init),
3367 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3368 Only redistribute the clock of it changed.
3370 * gst/gstsystemclock.h:
3375 Moved the _flow_get_name() to GstPad.
3377 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3379 * check/gst-libs/gdp.c: (GST_START_TEST):
3380 * check/gst/gstcaps.c: (GST_START_TEST):
3381 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3382 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3383 (gst_dp_packet_from_caps):
3384 fix more valgrind warnings before turning up the heat
3386 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3388 * gst/parse/grammar.y:
3389 some cleanup before the hacking
3391 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
3393 * gst/base/gstbasesrc.c: (gst_base_src_query):
3395 * gst/gstutils.c: (gst_guint64_to_gdouble),
3396 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3398 externalize, basesrc uses it
3399 obviously the implementation needs testing
3401 2005-10-10 Wim Taymans <wim@fluendo.com>
3403 * tests/sched/Makefile.am:
3404 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3405 (make_pipeline3), (make_pipeline4), (print_elem), (main):
3407 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
3409 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3410 apparently converting from guint64 to double is not implemented
3413 2005-10-10 Wim Taymans <wim@fluendo.com>
3415 * check/Makefile.am:
3416 * check/generic/states.c: (GST_START_TEST):
3417 * check/gst/gstbin.c: (GST_START_TEST):
3418 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3419 * check/states/sinks.c: (GST_START_TEST):
3420 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3422 Check fixes, use API as stated in design docs, remove hacks.
3424 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3425 (gst_base_sink_change_state):
3426 Catch stopping our task while we're shutting down.
3428 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3429 (gst_bin_remove_func), (gst_bin_get_state_func),
3430 (gst_bin_recalc_state), (gst_bin_change_state_func),
3433 * gst/gstelement.c: (gst_element_init),
3434 (gst_element_get_state_func), (gst_element_abort_state),
3435 (gst_element_commit_state), (gst_element_lost_state),
3436 (gst_element_set_state), (gst_element_change_state),
3437 (gst_element_change_state_func):
3439 New state change algorithm (see #318116)
3441 * gst/gstpipeline.c: (gst_pipeline_class_init),
3442 (gst_pipeline_init), (gst_pipeline_set_property),
3443 (gst_pipeline_get_property), (do_pipeline_seek),
3444 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3445 * gst/gstpipeline.h:
3446 Remove crude state change hacks.
3451 * tools/gst-launch.c: (main):
3452 Fixes for state change. Needs some more work to fully use the
3455 2005-10-10 Andy Wingo <wingo@pobox.com>
3457 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3459 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3460 this flag, but it's not even in GLib 2.6. Odd. Hack around the
3463 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
3465 * gst/gstiterator.c: (gst_iterator_new):
3466 Fix my previous commit: GTypes passed to gst_iterator_new()
3467 can be fundamental types.
3469 2005-10-10 Wim Taymans <wim@fluendo.com>
3471 * gst/gstelement.c: (gst_element_iterate_pad_list),
3472 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3473 (gst_element_iterate_sink_pads):
3474 Use src/sink pads lists for the respective iterators instead
3477 2005-10-10 Andy Wingo <wingo@pobox.com>
3479 Merged in popt removal + GOption addition patch from Ronald, bug
3482 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3483 GstElement macros around, remove popt-related symbols, add goption
3486 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3488 * docs/gst/Makefile.am:
3489 * docs/libs/Makefile.am: No POPT_CFLAGS.
3491 * examples/manual/Makefile.am:
3492 * docs/manual/basics-init.xml: Doc updates with an example.
3494 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3495 (gst_init), (parse_one_option), (parse_goption_arg):
3496 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3497 bit of hand merging and debugging to get the GOption stuff working
3500 * tests/Makefile.am:
3501 * tools/Makefile.am:
3502 * tools/gst-inspect.c: (main):
3503 * tools/gst-launch.c: (main):
3504 * tools/gst-run.c: (main):
3505 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3507 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
3509 * gst/gstiterator.c: (gst_iterator_new):
3510 Add assertions to make sure passed GType is likely to really
3511 be a GType (as the compiler won't catch it if the size and
3512 GType arguments get mixed up, see #318447).
3514 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
3516 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3518 * gst/gstbin.c: (gst_bin_iterate_sorted):
3519 Pass GType and size arguments to gst_iterator_new() in the right
3520 order (maybe we should make _new() take the GType as first argument
3521 just like _new_list()?) (#318447).
3524 2005-10-10 Wim Taymans <wim@fluendo.com>
3526 * gst/gstelement.c: (gst_element_finalize):
3527 And free the GStaticRecMutex too
3529 2005-10-10 Andy Wingo <wingo@pobox.com>
3531 * gst/gstelement.c (gst_element_init, gst_element_finalize):
3532 Allocate and free the mutex properly.
3534 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3536 (GstElement): The state_lock is now recursive. Rebuild your
3537 plugins, suckers. Old macros adapted.
3539 * docs/gst/gstreamer-sections.txt: Doc updates.
3542 * gst/gstutils.c (g_static_rec_cond_timed_wait)
3543 (g_static_rec_cond_wait): Ported from state changes patch, while
3544 we wait on bug #317802 to be solved in a well-distributed GLib.
3546 * gst/gstelement.c (gst_element_change_state_func): Renamed from
3547 gst_element_change_state, variable name changes.
3548 (gst_element_change_state): Split out of gst_element_set_state in
3549 preparation for the state change merge. Doesn't pay attention to
3550 the 'transition' argument.
3551 (gst_element_set_state): Updates, hopefully purely cosmetic.
3552 (gst_element_sync_state_with_parent): MT-safety. Ported from the
3554 (gst_element_get_state_func): Renamed from get_state, cosmetic
3557 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
3559 * gst/elements/gstelements.c:
3560 * win32/GStreamer.vcproj:
3562 * win32/dirent.c: (_tseekdir):
3563 * win32/gst-inspect.vcproj:
3564 * win32/gst-launch.vcproj:
3565 * win32/gstconfig.h:
3566 * win32/gstelements.vcproj:
3567 * win32/gstenumtypes.c: (gst_object_flags_get_type):
3568 * win32/gstreamer.def:
3570 updates for the win32 build (patch from Sebastien Moutte)
3572 2005-10-10 Andy Wingo <wingo@pobox.com>
3574 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3575 gst_bin_get_state, cleaned up (but no logic changes).
3576 (bin_element_is_sink): Comment updates.
3577 (sink_iterator_filter): Remove needless cast.
3578 (gst_bin_iterate_sinks): Doc update.
3579 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3580 cleaned up (but no logic changes).
3582 * check/states/sinks.c (test_src_sink): Cleanups from the state
3584 (test_livesrc_sink): Sync on the state.
3586 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3587 the state change patch.
3589 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3592 * check/gst/gstbin.c: Merge in some style fixes and additional
3593 checks from Wim's state change patch.
3595 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
3597 * gst/base/gsttypefindhelper.c: (helper_find_peek),
3598 (gst_type_find_helper):
3599 Check whether we have the requested data already in our list of
3600 cached buffers before pulling a new buffer; also make the buffer
3601 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3603 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
3608 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3609 don't use long long, it's not portable. Replacing with
3610 gint64 seems to work; let's hope no skeletons fall out of the closet.
3612 2005-10-10 Andy Wingo <wingo@pobox.com>
3614 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3616 2005-10-09 Stefan Kost <ensonic@users.sf.net>
3618 * docs/gst/gstreamer-sections.txt:
3623 * gst/gstmessage.c: (gst_message_parse_state_changed):
3626 more docs, fix compilation
3628 2005-10-09 Philippe Khalaf <burger@speedy.org>
3630 Fixed a few forgotten variables on previous commit
3632 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
3634 * gst/base/gsttypefindhelper.c: (helper_find_peek):
3635 Fix evil typefind crasher: getrange() might return a short
3636 buffer at the end of a file, but gst_type_find_peek() must
3637 either return the full data as requested or NULL, but
3638 never a short buffer.
3640 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
3642 * gst/gstmessage.c: (gst_message_new_state_changed),
3643 (gst_message_parse_state_changed):
3645 don't use "new", it's a C++ keyword
3647 2005-10-08 Wim Taymans <wim@fluendo.com>
3649 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3650 * gst/gstelement.c: (gst_element_post_message):
3651 * gst/gstpipeline.c: (gst_pipeline_change_state):
3652 Small docs and debug updates.
3654 2005-10-08 Stefan Kost <ensonic@users.sf.net>
3656 * docs/gst/gstreamer-sections.txt:
3657 * gst/gstelementfactory.c:
3662 2005-10-08 Wim Taymans <wim@fluendo.com>
3664 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3665 (gst_bin_dispose), (bin_bus_handler):
3666 Fix typos, add comments.
3667 Clear EOS list when going to PAUSED from any direction and do it
3668 in a threadsafe way.
3669 Get base time in a threadsafe way too.
3670 Fix confusing debug in the change_state function.
3671 Various other small cleanups.
3673 * gst/gstelement.c: (gst_element_post_message):
3674 Fix very verbose bus posting code.
3676 * gst/gstpipeline.c: (gst_pipeline_class_init),
3677 (gst_pipeline_set_property), (gst_pipeline_get_property),
3678 (gst_pipeline_change_state):
3679 Small ARG_ -> PROP_ cleanup
3681 2005-10-08 Wim Taymans <wim@fluendo.com>
3683 * gst/gstbin.c: (is_eos), (bin_bus_handler):
3684 Do a less CPU demanding EOS check because we can.
3686 2005-10-08 Wim Taymans <wim@fluendo.com>
3688 * libs/gst/dataprotocol/dataprotocol.c:
3689 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3690 (gst_dp_packet_from_event):
3691 * libs/gst/dataprotocol/dataprotocol.h:
3692 * libs/gst/dataprotocol/dp-private.h:
3693 It's about time we bump the version number.
3694 Since event types don't fit in the guint8 anymore describing
3695 the payload type, make payload type 16 bits wide.
3697 2005-10-08 Wim Taymans <wim@fluendo.com>
3699 * docs/design/part-TODO.txt:
3700 * docs/design/part-clocks.txt:
3701 * docs/design/part-events.txt:
3702 * docs/design/part-gstbin.txt:
3703 * docs/design/part-gstelement.txt:
3704 * docs/design/part-gstpipeline.txt:
3705 * docs/design/part-live-source.txt:
3706 * docs/design/part-messages.txt:
3707 * docs/design/part-overview.txt:
3708 * docs/design/part-states.txt:
3711 2005-10-08 Wim Taymans <wim@fluendo.com>
3715 Fix event quark registration.
3716 Add some space between events so we can insert them in the
3719 2005-10-08 Wim Taymans <wim@fluendo.com>
3721 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3722 (gst_base_sink_handle_buffer):
3729 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3730 (gst_queue_set_property), (gst_queue_get_property):
3732 Remove old unused properties.
3734 2005-10-08 Stefan Kost <ensonic@users.sf.net>
3735 * docs/gst/gstreamer-sections.txt:
3738 * gst/gstminiobject.c:
3739 * gst/gstminiobject.h:
3743 lots of new docs and doc fixes
3745 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
3747 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3749 * gst/gstregistry.c: (gst_registry_lookup_locked),
3750 (gst_registry_scan_path_level):
3751 * gst/gstregistryxml.c: (load_plugin):
3752 Only ever load one plugin for a given plugin basename.
3753 This ensures correct overriding of GST_PLUGIN_PATH over
3754 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3755 system installed plugins.
3757 2005-10-08 Wim Taymans <wim@fluendo.com>
3759 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3760 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3761 Prepare for doing QOS.
3763 2005-10-08 Wim Taymans <wim@fluendo.com>
3765 * check/gst/gstbin.c: (GST_START_TEST):
3766 * check/pipelines/cleanup.c: (GST_START_TEST):
3767 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3768 Allow new clock message too.
3770 2005-10-08 Wim Taymans <wim@fluendo.com>
3772 * gst/gstmessage.c: (gst_message_new_error),
3773 (gst_message_new_warning), (gst_message_new_tag),
3774 (gst_message_new_state_changed), (gst_message_new_clock_provide),
3775 (gst_message_new_clock_lost), (gst_message_new_new_clock),
3776 (gst_message_new_segment_start), (gst_message_new_segment_done),
3777 (gst_message_parse_state_changed),
3778 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3779 (gst_message_parse_new_clock):
3781 Also carry the clock in question.
3783 2005-10-08 Wim Taymans <wim@fluendo.com>
3785 * gst/gstmessage.c: (gst_message_new_custom),
3786 (gst_message_new_eos), (gst_message_new_error),
3787 (gst_message_new_warning), (gst_message_new_tag),
3788 (gst_message_new_state_changed), (gst_message_new_clock_provide),
3789 (gst_message_new_new_clock), (gst_message_new_segment_start),
3790 (gst_message_new_segment_done), (gst_message_parse_state_changed),
3791 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3794 Added clock related messages.
3796 * gst/gstpipeline.c: (gst_pipeline_change_state):
3797 Post message when the clock changed.
3799 * tools/gst-launch.c: (event_loop):
3802 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
3804 * tools/gst-inspect.c: (print_element_properties_info):
3805 Can't pass NULL strings to g_print() on windows.
3807 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
3810 * docs/gst/Makefile.am:
3811 * docs/gst/gstreamer-docs.sgml:
3812 * docs/gst/running.xml:
3813 * docs/version.entities.in:
3814 add a chapter on running GStreamer.
3815 document GST_DEBUG and GST_PLUGIN* env vars
3817 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
3822 remove PLUGINS_BUILDDIR stuff
3823 * gst/gst.c: (init_post):
3824 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3826 remove, it was condescending and not needed
3828 2005-10-08 Wim Taymans <wim@fluendo.com>
3830 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3831 (gst_base_sink_handle_object), (gst_base_sink_event),
3832 (gst_base_sink_wait), (gst_base_sink_handle_event),
3833 (gst_base_sink_change_state):
3834 * gst/base/gstbasesink.h:
3835 Repost EOS message while going to PLAYING if still EOS.
3836 Make sure that when receiving a FLUSH_START we don't attempt
3837 to sync on the clock anymore.
3839 2005-10-08 Wim Taymans <wim@fluendo.com>
3841 * tools/gst-launch.c: (event_loop):
3842 Better message printout.
3844 2005-10-08 Wim Taymans <wim@fluendo.com>
3846 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3847 (gst_bin_child_proxy_get_children_count):
3848 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3849 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3850 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3851 (gst_child_proxy_set_valist):
3852 * gst/parse/grammar.y:
3853 Make ChildProxy threadsafe and fix mem leaks.
3855 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
3857 * gst/gst.c: (init_post):
3858 debug the GST_PLUGIN_ env vars
3860 2005-10-08 Wim Taymans <wim@fluendo.com>
3862 * check/gst/gstbin.c: (GST_START_TEST):
3863 * check/gst/gstmessage.c: (GST_START_TEST):
3864 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3865 * gst/gstelement.c: (gst_element_commit_state),
3866 (gst_element_lost_state):
3867 * gst/gstmessage.c: (gst_message_new_state_changed),
3868 (gst_message_parse_state_changed):
3870 * tools/gst-launch.c: (event_loop):
3871 Added extra field to STATE_CHANGE message with the pending
3872 state, which will be different from the new state soon.
3874 2005-10-08 Wim Taymans <wim@fluendo.com>
3876 * gst/gstbus.c: (gst_bus_pop):
3878 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3879 Small cleanups and doc updates.
3881 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
3883 * gst/gst.c: (init_pre):
3884 * gst/gstbin.c: (gst_bin_add_func):
3885 log distributing clocks and base time
3886 * gst/gstregistry.c: (gst_registry_add_plugin),
3887 (gst_registry_scan_path_level), (gst_registry_scan_path):
3888 clean up the debugging output a little
3889 * gst/gstutils.c: (gst_element_state_get_name):
3890 warn about a memleak (I've actually seen this be used, though
3891 it was probably a bug)
3893 2005-10-07 Wim Taymans <wim@fluendo.com>
3895 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3896 (gst_base_src_init), (gst_base_src_default_newsegment),
3897 (gst_base_src_newsegment), (gst_base_src_do_seek),
3898 (gst_base_src_loop), (gst_base_src_start):
3899 * gst/base/gstbasesrc.h:
3900 Make the newsegment event customizable by subclasses.
3902 2005-10-07 Wim Taymans <wim@fluendo.com>
3904 * gst/gstevent.c: (gst_event_new_buffersize),
3905 (gst_event_parse_buffersize):
3907 New event for future idea.
3909 2005-10-07 Andy Wingo <wingo@pobox.com>
3911 * gst/gstelement.c (gst_element_post_message): Doc update.
3913 * docs/gst/gstreamer-sections.txt: Update.
3915 * gst/gstmessage.c (gst_message_new_application): Made into a
3916 function like honest API calls.
3917 (gst_message_new_element): New message type.
3919 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3921 * check/elements/fakesrc.c (test_no_preroll): New check, checks
3922 that setting a live fakesrc to PAUSED returns NO_PREROLL both
3925 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3926 NO_PREROLL from gst_element_change_state to fall through.
3928 2005-10-07 Wim Taymans <wim@fluendo.com>
3930 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3931 (gst_ghost_pad_do_activate_push):
3932 Activating a ghostpad with no internal pad in push mode
3935 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
3938 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3939 Fixes compilation on Windows.
3941 2005-10-07 Michael Smith <msmith@fluendo.com>
3943 * tools/gst-inspect.c:
3944 Print out feature and plugin count at the end when printing out
3947 2005-10-04 Michael Smith <msmith@fluendo.com>
3949 * gst/gsterror.c: (_gst_stream_errors_init):
3950 Add another error string used in a few existing plugins.
3953 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3954 * tools/gst-inspect.c: (print_element_info):
3955 When a feature disappears from a plugin (and the feature exists in
3956 the cached registry file), things went horribly wrong. This isn't a
3957 complete fix, we should actually be removing the 'missing' features
3958 from the features list when we load the actual plugin. That's not
3961 2005-10-04 Johan Dahlin <johan@gnome.org>
3963 * check/gst/gstiterator.c: (GST_START_TEST):
3964 * gst/gstbin.c: (gst_bin_iterate_elements),
3965 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3966 * gst/gstelement.c: (gst_element_iterate_pads):
3967 * gst/gstformat.c: (gst_format_iterate_definitions):
3968 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3969 (gst_iterator_new_list), (gst_iterator_filter):
3970 * gst/gstiterator.h:
3971 * gst/gstquery.c: (gst_query_type_iterate_definitions):
3972 Add a GType to GstIterator, update callsites and tests.
3974 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
3976 * gst/gstpad.c: (gst_pad_event_default_dispatch):
3977 give events a chance to be handled by event probes when the pad
3980 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
3982 * gst/gstevent.c: (gst_event_type_get_name),
3983 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3985 add string representations for event types
3987 2005-10-06 Wim Taymans <wim@fluendo.com>
3989 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3990 Don't use NULL pointers.
3992 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
3994 * gst/gst_private.h:
3998 * gst/gstpluginfeature.c:
3999 widen the debug category in output to fit the biggest one we have
4000 add a bus category and use it
4001 play with the colors
4002 fix up some categories
4004 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
4006 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4007 add push activation of sink ghost pads.
4008 Andye, please verify
4010 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
4012 * gst/gstutils.c: (gst_element_link_pads):
4013 fix a bug in the case where neither element has a pad
4014 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4015 add a test for that case
4017 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
4019 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4020 emit have-data before checking for peers. This allows
4021 for probe handlers to connect elements. This helps autopluggers.
4022 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4024 add six checks, linked/unlinked with no/true/false probe
4026 2005-10-04 Wim Taymans <wim@fluendo.com>
4028 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4029 (gst_fake_sink_event), (gst_fake_sink_preroll),
4030 (gst_fake_sink_render), (gst_fake_sink_change_state):
4031 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4032 (gst_fake_src_get_property), (gst_fake_src_create),
4033 (gst_fake_src_stop):
4034 * gst/elements/gstidentity.c: (gst_identity_stop):
4035 Protect last_message with lock.
4037 2005-10-04 Edward Hervey <edward@fluendo.com>
4040 Added precision in the comments for GST_FORMAT_DEFAULT
4042 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
4044 * tools/gst-launch.c: (main):
4045 Don't try to run erroneous pipelines.
4047 2005-10-04 Julien MOUTTE <julien@moutte.net>
4049 * gst/gstbus.c: We don't need this header.
4051 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
4056 === release 0.9.3 ===
4058 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
4062 Releasing 0.9.3, "Unregistered"
4064 2005-10-03 Andy Wingo <wingo@pobox.com>
4066 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4067 whereby calling a pad's activatepush() function can start a thread
4068 that starts to push or pull before the pad gets the FLUSHING flag
4069 unset. Hack around it by holding the stream lock until the flag is
4070 set. Need to replace this with a proper solution. Together with
4071 the ghost pad fixes, this fixes mp3 playing/tagreading.
4073 * docs/design/part-gstghostpad.txt: Add a note about activation of
4074 proxy pads outside of ghost pads.
4076 * gst/gstghostpad.c: Implement the ghost pad activation design.
4078 2005-10-02 Andy Wingo <wingo@pobox.com>
4080 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4081 It is volatile, after all.
4083 * docs/design/part-gstghostpad.txt: Flesh out activation with
4086 * gst/base/gstbasesrc.c (gst_base_src_init): Use
4089 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
4092 Fix (unused) AM_CONDITIONAL tests.
4094 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
4096 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4098 * gst/gstutils.c: (gst_pad_query_convert):
4099 Add assertion that makes sure src_val is >=0, just like
4100 gst_query_new_convert() has. (#315895)
4102 2005-09-30 Edward Hervey <edward@fluendo.com>
4104 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4105 Let's not iterate pads we're not interested in, it avoids getting
4106 sky-high refcounts on sinkpad.
4108 2005-09-30 Wim Taymans <wim@fluendo.com>
4110 * gst/gstelement.c: (gst_element_set_state),
4111 (gst_element_change_state):
4112 Small tweak, element in ASYNC remains ASYNC.
4114 2005-09-30 Wim Taymans <wim@fluendo.com>
4116 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4117 Only error is an error.
4119 * gst/gstbin.c: (gst_bin_change_state):
4122 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4123 Also call pad_block in pad alloc.
4125 * gst/gstutils.c: (gst_flow_get_name):
4128 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4130 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4131 (gst_base_src_get_range):
4132 Fix documentation typos. Add some more debug info.
4134 2005-09-29 David Schleef <ds@schleef.org>
4136 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4137 more end-user friendly.
4138 * tools/gst-inspect.c: (main): Check if command-line argument is
4139 a file and attempt to load that file as a plugin.
4141 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4143 * check/gst/gstbin.c:
4144 * check/states/sinks.c:
4145 fix tests for the new warning
4146 * check/gst/gstpipeline.c:
4147 add a test for pipeline and bus interaction
4149 elements should be NULL if they get disposed; add a warning if not
4151 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4154 for 2.6 refcounting, make debug log more correct by printing
4155 the actual refcounts at the time of swap (Wim)
4157 2005-09-29 Andy Wingo <wingo@pobox.com>
4159 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4160 removes signal watches previously added via
4161 gst_bus_add_signal_watch.
4162 (gst_bus_add_signal_watch): Don't return the source id, just store
4163 it on the bus if there wasn't an id already.
4165 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4166 add_signal_watch and remove_signal_watch.
4168 2005-09-29 Edward Hervey <edward@fluendo.com>
4170 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4171 Better if we actually iterate the list :)
4173 2005-09-29 Wim Taymans <wim@fluendo.com>
4175 * check/gst/gstbin.c: (GST_START_TEST):
4176 Change for new bus API.
4178 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4179 (send_messages), (GST_START_TEST), (gstbus_suite):
4180 Change for new bus signal API.
4182 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4183 (gst_bus_source_prepare), (gst_bus_source_check),
4184 (gst_bus_create_watch), (gst_bus_add_watch_full),
4185 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4186 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4188 Remove support for multiple GSources operating on different
4189 message types as it is too complex and unneeded when using
4191 Added support for receiving signals from the bus.
4193 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4195 * docs/libs/tmpl/gstdataprotocol.sgml:
4196 * docs/manual/advanced-dataaccess.xml:
4197 * gst/elements/gstcapsfilter.c:
4199 rename filter-caps to caps property
4201 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4203 * gst/gstvalue.c: (gst_value_deserialize_fraction):
4204 More robust fraction string parsing.
4206 * docs/pwg/appendix-porting.xml:
4207 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4209 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4211 * gst/gstcaps.c: (gst_caps_do_simplify):
4212 Thou shalt not free a structure and then continue using it
4213 in the next loop iteration.
4215 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4217 Add test case for caps simplification.
4219 2005-09-29 Wim Taymans <wim@fluendo.com>
4221 * check/gst/gstbin.c: (GST_START_TEST):
4224 2005-09-29 Wim Taymans <wim@fluendo.com>
4226 * check/gst/gstbin.c: (GST_START_TEST):
4229 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4230 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4231 (find_element), (gst_bin_sort_iterator_next),
4232 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4233 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4234 (gst_bin_change_state), (gst_bin_dispose):
4235 A bin does not have a bus, it gets the bus from the parent.
4237 * gst/gstelement.c: (gst_element_requires_clock),
4238 (gst_element_provides_clock), (gst_element_is_indexable),
4239 (gst_element_is_locked_state), (gst_element_change_state),
4240 (gst_element_set_bus_func):
4243 * gst/gstpipeline.c: (gst_pipeline_class_init),
4244 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4245 The pipeline provides a bus.
4247 2005-09-28 Johan Dahlin <johan@gnome.org>
4249 * gst/gstmessage.c (gst_message_parse_state_changed): Use
4250 gst_structure_get_enum instead of gst_structure_get_int
4252 * gst/gststructure.c (gst_structure_get_enum): Impl.
4254 * gst/gststructure.h (gst_structure_get_enum): Add
4256 * docs/gst/gstreamer-sections.txt: Ditto
4258 * gst/gstmessage.c (gst_message_new_state_changed): Use
4259 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4260 which does introspection.
4261 Reviewed by Christian Schaller
4263 2005-09-28 Stefan Kost <ensonic@users.sf.net>
4265 * gst/gstinfo.c: (gst_debug_log_default):
4266 don't do dummy g_strdup()s
4267 * libs/gst/controller/gstcontroller.c:
4268 (on_object_controlled_property_changed),
4269 (gst_controlled_property_new), (gst_controller_new_valist),
4270 (gst_controller_new_list),
4271 (gst_controller_remove_properties_valist), (gst_controller_set),
4272 (gst_controller_get), (gst_controller_sync_values),
4273 (gst_controller_get_value_array), (_gst_controller_class_init),
4274 (gst_controller_get_type):
4275 * libs/gst/controller/gstcontroller.h:
4276 * libs/gst/controller/gstinterpolation.c:
4277 (gst_controlled_property_find_timed_value_node):
4278 convert // to /**/ comments
4280 2005-09-28 Wim Taymans <wim@fluendo.com>
4282 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4283 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4284 (gst_bus_sync_signal_handler):
4286 Added async-message and sync-message signals to the bus.
4287 Added helper BusFunc to emit signals for all posted messages.
4289 * gst/gstmessage.c: (gst_message_type_get_name),
4290 (gst_message_type_to_quark), (gst_message_get_type):
4292 Register quarks for message names.
4294 2005-09-28 Stefan Kost <ensonic@users.sf.net>
4296 * docs/libs/gstreamer-libs-sections.txt:
4297 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4298 (gst_controller_new_list):
4299 * libs/gst/controller/gstcontroller.h:
4300 added another constructor for language bindings
4302 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
4304 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4308 * gst/gstinfo.c: (_gst_debug_init):
4309 slightly more readable color for refcount debugging
4311 2005-09-28 Wim Taymans <wim@fluendo.com>
4313 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4314 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4315 (find_element), (gst_bin_sort_iterator_next),
4316 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4317 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4318 (gst_bin_change_state), (gst_bin_dispose):
4319 Small doc fixes. get_clock -> provide_clock.
4321 * gst/gstelement.c: (gst_element_class_init),
4322 (gst_element_provides_clock), (gst_element_provide_clock),
4323 (gst_element_get_clock), (gst_element_commit_state),
4324 (gst_element_lost_state):
4326 Make get/set_clock() symetric. Add provide_clock vmethod since
4327 that is actually what this function does.
4329 * gst/gstpipeline.c: (gst_pipeline_class_init),
4330 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4331 (gst_pipeline_get_clock):
4332 get_clock -> provide_clock.
4334 2005-09-28 Andy Wingo <wingo@pobox.com>
4336 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4337 lieu of real docs...
4339 * gst/elements/gstfdsrc.c: Cleaned up a bit.
4341 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
4343 * gst/elements/gstcapsfilter.c:
4344 * gst/elements/gstfakesink.c:
4345 * gst/elements/gstfakesrc.c:
4346 * gst/elements/gstfdsink.c:
4347 * gst/elements/gstfdsrc.c:
4348 * gst/elements/gstfilesink.c:
4349 * gst/elements/gstfilesrc.c:
4350 * gst/elements/gstidentity.c:
4351 * gst/elements/gsttee.c:
4352 * gst/elements/gsttypefindelement.c:
4353 Make element details static.
4355 2005-09-28 Wim Taymans <wim@fluendo.com>
4357 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4358 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4359 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4360 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4361 (gst_bin_change_state), (gst_bin_dispose):
4362 Some documentation updates.
4363 Clean up dispose handlers.
4365 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4366 * gst/gstpad.c: (gst_pad_dispose):
4367 Clean up dispose handler.
4369 * gst/gstpipeline.c: (gst_pipeline_change_state):
4370 Removed spurious UNLOCK.
4372 2005-09-27 Stefan Kost <ensonic@users.sf.net>
4374 * docs/gst/gstreamer-sections.txt:
4375 * gst/base/gstbasesrc.h:
4380 * gst/gstpipeline.c:
4381 * gst/gstpipeline.h:
4384 added two new functions to the docs
4385 documents all undocumented GstXXXFlags
4386 completed some incomplete docs
4388 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
4390 * gst/gstbin.c: (gst_bin_dispose):
4391 * gst/gstelement.c: (gst_element_dispose):
4392 remove now useless and leaky resurrection code in dispose
4393 * gst/base/gstbasesrc.c: (gst_base_src_init):
4394 * gst/gstelementfactory.c: (gst_element_factory_create):
4395 * gst/gstobject.c: (gst_object_set_parent):
4398 2005-09-27 Wim Taymans <wim@fluendo.com>
4400 * docs/design/part-TODO.txt:
4403 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4404 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4405 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4406 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4407 (gst_bin_change_state):
4409 Remove element variable, we keep element info in the iterator now.
4411 2005-09-27 Andy Wingo <wingo@pobox.com>
4413 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4416 2005-09-27 Wim Taymans <wim@fluendo.com>
4418 * check/gst/gstbin.c: (GST_START_TEST):
4419 Enable check that works now.
4421 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4422 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4423 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4424 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4425 (gst_bin_change_state):
4427 Redid the state change algorithm using a topological sort algo.
4428 Handles all cases correctly.
4429 Exposed iterator for state change order.
4432 Temp storage for state changes. Need to get rid of this soon.
4434 2005-09-27 Wim Taymans <wim@fluendo.com>
4436 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4437 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4438 (link_fold_func), (gst_pad_proxy_setcaps):
4439 Leak fixes, the fold functions need to unref the passed object and
4440 _get_parent_*() returns ref to parent.
4442 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
4444 * check/gst/gstbuffer.c: (test_make_writable):
4445 Plug leak in test case and fix 'make check-valgrind'
4447 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
4449 * gst/gstbuffer.c: (gst_subbuffer_init):
4450 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4451 works correctly in all circumstances (we could have just copied
4452 the parent buffer's readonly flag, but conceptually it seems
4453 cleaner to mark all subbuffers as read-only). (based on patch
4454 by Alessandro Decina, #314710).
4456 * check/gst/gstbuffer.c: (create_read_only_buffer),
4457 (test_make_writable), (test_subbuffer_make_writable),
4459 Add some tests for gst_buffer_make_writable().
4461 2005-09-27 Wim Taymans <wim@fluendo.com>
4463 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4464 use gst_object_has_ancestor().
4466 * gst/gstobject.c: (gst_object_has_ancestor):
4468 gst_object_has_ancestor() copied from gstbin.c as it is a
4471 * tests/instantiate/create.c: (create_all_elements):
4472 * tests/lat.c: (handoff_src), (handoff_sink):
4473 * tests/sched/runxml.c: (main):
4474 * tests/seeking/seeking1.c: (main):
4475 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4477 Fix compilation of some tests.
4479 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
4482 Remove comment. GST_TYPE_G_ERROR is here to stay,
4483 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4486 2005-09-26 Wim Taymans <wim@fluendo.com>
4488 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4489 Added check that shows error in state change order.
4491 2005-09-26 Wim Taymans <wim@fluendo.com>
4493 * gst/gstbin.c: (gst_bin_change_state):
4494 Make state change function use 3 queues again, we were
4495 adding elements in the wrong order.
4497 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4500 * gst/gstpad.c: (gst_pad_dispose):
4501 Added some debug info first.
4503 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
4505 * docs/design/draft-push-pull.txt:
4506 * docs/design/part-events.txt:
4507 * docs/design/part-overview.txt:
4508 * docs/design/part-scheduling.txt:
4509 Replace all _pull_region() with _pull_range()
4511 2005-09-26 Andy Wingo <wingo@pobox.com>
4513 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4515 * check/gst-libs/controller.c: Update for controller api change.
4518 * tests/Makefile.am:
4519 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4520 over by GLib bug 118439.
4522 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4523 routines to a function.
4525 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4527 * libs/gst/controller/gsthelper.c:
4528 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4529 (gst_object_sync_values): Renamed from sink_values. Ugh.
4531 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4533 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4534 Renamed from controller_key, as it is exported.
4536 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4538 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
4543 * gst/gstpadtemplate.h:
4546 * gst/gstqueryutils.c:
4547 * gst/gstqueryutils.h:
4548 remove queryutils headers after moving the two used functions
4549 to gstquery. also fixes build problem for gstsiddec
4551 2005-09-26 Michael Smith <msmith@fluendo.com>
4553 * tools/gst-launch.1.in:
4554 Correct documentation in manpage of debug syntax
4556 2005-09-26 Wim Taymans <wim@fluendo.com>
4558 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4559 (gst_base_src_is_seekable), (gst_base_src_change_state):
4560 Some more debugging info.
4562 2005-09-25 Stefan Kost <ensonic@users.sf.net>
4564 * docs/gst/gstreamer-sections.txt:
4565 * gst/base/gstbasetransform.h:
4569 2005-09-25 Stefan Kost <ensonic@users.sf.net>
4571 * docs/gst/.cvsignore:
4572 * docs/gst/tmpl/.cvsignore:
4573 * docs/gst/tmpl/gstpipeline.sgml:
4574 * docs/gst/tmpl/gstplugin.sgml:
4575 * gst/gstpipeline.c:
4578 inlined the last two docs files
4579 removed the tmpl directory from cvs (no more conflicts here!)
4581 2005-09-25 Stefan Kost <ensonic@users.sf.net>
4583 * docs/gst/gstreamer-sections.txt:
4584 * docs/gst/tmpl/.cvsignore:
4585 * docs/gst/tmpl/gstpad.sgml:
4586 * docs/gst/tmpl/gstpadtemplate.sgml:
4588 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4589 (gst_pad_finalize), (gst_pad_set_pad_template):
4591 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4592 (gst_pad_template_class_init), (gst_pad_template_init),
4593 (gst_pad_template_dispose), (name_is_valid),
4594 (gst_static_pad_template_get), (gst_pad_template_new),
4595 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4596 (gst_pad_template_pad_created):
4597 * gst/gstpadtemplate.h:
4598 inlined two more docs
4599 factored gstpadtemplate out of gstpad
4601 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
4603 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4604 (test_children_state_change_order_semi_sink):
4605 Fix test case: we can't rely on a fixed state change order when
4606 going from READY => PAUSED because the sink might commit its
4607 new state first when the first buffer created by the source
4608 reaches the sink before the source has finished its change state.
4609 (Test case still fails at times, see #316856, comment 5 onwards)
4611 2005-09-24 Wim Taymans <wim@fluendo.com>
4613 * docs/design/part-events.txt:
4614 * docs/design/part-gstbus.txt:
4615 * docs/design/part-gstpipeline.txt:
4616 * docs/design/part-messages.txt:
4617 * docs/design/part-overview.txt:
4618 * docs/design/part-segments.txt:
4625 * gst/gstiterator.c:
4626 Various documentation updates.
4628 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
4631 Well, that's embarassing. Luckily we weren't using
4632 GST_CLOCK_DIFF anywhere.
4634 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
4636 * common/gtk-doc.mak:
4637 don't fail on building XML, FC4 slave shows a bunch of doc
4638 missing bits that I don't get
4640 * gst/gstpipeline.c:
4641 * gst/gststructure.c:
4644 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
4646 * docs/design/part-gstbin.txt:
4647 * docs/design/part-gstbus.txt:
4649 Add blurb about how the bus goes into flushing mode and
4650 drops all messages when its bin goes from READY into NULL
4653 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
4655 * docs/gst/gstreamer-sections.txt:
4656 * gst/gststructure.c: (gst_structure_get_clock_time):
4657 * gst/gststructure.h:
4658 add a method to get a GstClockTime out of a structure
4660 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
4662 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4663 (test_children_state_change_order_semi_sink), (gst_bin_suite):
4664 Added test to check state change order in bins (can still be made
4665 to fail here under heavy disk load; bails out with 'Push on pad
4666 fakesink:sink0, but it was not activated in push mode').
4668 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4669 Fix state change order when there is only a semi sink (#316856)
4671 * gst/gstbus.c: (gst_bus_class_init):
4672 Use _class_peek_parent(), not _class_ref(); fix docs to say
4673 'default main context' instead of 'mainloop' where that is
4676 * gst/gstelement.c: (gst_element_commit_state),
4677 (gst_element_set_state):
4678 Fix typos in debug messages
4680 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
4683 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4684 * gst/gstpluginfeature.c:
4687 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4688 change an assert into an error until it gets fixed properly
4690 2005-09-23 Stefan Kost <ensonic@users.sf.net>
4692 * docs/gst/gstreamer-sections.txt:
4693 * docs/gst/tmpl/.cvsignore:
4694 * docs/gst/tmpl/gstelement.sgml:
4695 * docs/gst/tmpl/gstinfo.sgml:
4696 * docs/gst/tmpl/gstobject.sgml:
4701 * gst/gstobject.c: (gst_object_class_init):
4703 inlined 3 more biiiig doc files and added some missing docs on the fly
4705 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
4707 * check/gst/.cvsignore:
4708 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4709 * gst/gstregistryxml.c: (load_plugin),
4710 (gst_registry_xml_save_plugin):
4711 put back source in registry. add checks for find_plugin.
4712 * testsuite/states/bin.c: (assert_state), (empty_bin),
4713 (test_adding_one_element), (main):
4714 * testsuite/states/locked.c: (main):
4715 some compile/run fixes
4717 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
4719 * check/gst/gstvalue.c: (GST_START_TEST):
4720 fix leaks in the test itself
4722 2005-09-22 Wim Taymans <wim@fluendo.com>
4724 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4725 (gst_base_sink_send_event), (gst_base_sink_peer_query),
4726 (gst_base_sink_query):
4727 Prepare for more accurate position reporting and query
4730 * gst/gstelement.c: (gst_element_send_event),
4731 (gst_element_set_state):
4734 2005-09-22 Wim Taymans <wim@fluendo.com>
4736 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4737 (gst_query_parse_segment):
4740 Add segment query for future use.
4742 2005-09-22 Wim Taymans <wim@fluendo.com>
4744 * gst/gstbin.c: (gst_bin_add_func):
4745 Some more debug info.
4747 * gst/gstelement.c: (gst_element_send_event):
4751 Don't know how flags got broken.
4756 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
4758 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4759 Add simplistic test suite for GST_TYPE_DATE serialisation and
4762 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
4764 * docs/gst/gstreamer-sections.txt:
4765 * gst/gststructure.c: (gst_structure_set_valist),
4766 (gst_structure_get_date):
4767 * gst/gststructure.h:
4768 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4769 (gst_date_copy), (gst_value_compare_date),
4770 (gst_value_serialize_date), (gst_value_deserialize_date),
4771 (gst_value_transform_date_string),
4772 (gst_value_transform_string_date), (_gst_value_initialize):
4774 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4775 bunch of utility functions along with a hack that checks that
4776 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4777 is required. Part of the grand scheme in #170777.
4779 2005-09-22 Andy Wingo <wingo@pobox.com>
4781 * gst/gstconfig.h.in: Psych out gtk-doc.
4783 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4785 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4787 * tools/gst-inspect.c (print_element_list): Plug some
4788 inconsequential leaks.
4790 * gst/gstregistry.c (gst_registry_get_default): Doc.
4792 * check/gst/gstplugin.c:
4793 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4794 * gst/gstelementfactory.c (gst_element_factory_create):
4795 * gst/gstindexfactory.c (gst_index_factory_create): Update for
4798 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4799 (gst_plugin_feature_load): Doc, don't eat refs.
4801 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4802 (gst_plugin_list_free): Doc.
4803 (gst_plugin_load_file): Doc updates.
4805 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4806 accessors returning refcounted objects, return a ref.
4808 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4809 accessor for caps. IDEMPOTENCE. Oh yes.
4811 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
4813 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4815 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4816 (_gst_debug_register_funcptr):
4817 Add mutex to serialise access to the hash table with
4818 the function pointer => function name string mapping;
4819 make that hash table static scope (#316809).
4821 * gst/registries/.cvsignore:
4822 Remove left-over file.
4824 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
4826 * docs/pwg/appendix-porting.xml:
4827 And something about newsegment events and caps-on-buffers to
4828 the porting guide (feel free to improve).
4830 2005-09-21 Andy Wingo <wingo@pobox.com>
4832 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4833 data and event probes on the same pad.
4834 (test_buffer_probe_once): Test that removing probes from within
4835 the probe functions works.
4837 2005-09-21 Andy Wingo <wingo@pobox.com>
4839 * check/gst/gstutils.c: New file.
4840 (test_buffer_probe_n_times): A simple buffer probe test. More to
4843 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4844 have-data::buffer, not have-data.
4845 (gst_pad_add_event_probe): Likewise for have-data::event.
4846 (gst_pad_add_data_probe): More docs. The part about 'resolving the
4847 peer' isn't quite right yet though.
4848 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
4849 (gst_pad_remove_data_probe): Change to take the guint handler_id
4850 as their arg, not the function+data, which is more glib-like.
4852 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4853 the signal emission to indicate if the data is a buffer or an
4855 (gst_pad_get_type): Initialize buffer and event quarks.
4856 (gst_pad_class_init): have-data is now a detailed signal, yes it
4859 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
4861 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4862 * gst/gstutils.c: (gst_util_set_value_from_string),
4863 (gst_util_set_object_arg):
4864 Don't put functional code in g_return_if_fail() or
4865 g_return_val_if_fail() statements, otherwise things will
4866 break when G_DISABLE_CHECKS is defined during compilation.
4868 2005-09-21 Stefan Kost <ensonic@users.sf.net>
4870 * docs/gst/tmpl/.cvsignore:
4871 * docs/gst/tmpl/gstvalue.sgml:
4874 inlied another one and added some obvious docs
4876 2005-09-21 Wim Taymans <wim@fluendo.com>
4878 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4879 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4880 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4881 (gst_fdsrc_get_property), (gst_fdsrc_create):
4882 * gst/elements/gstfdsrc.h:
4883 Properly implement fdsrc. Removed signal and timeout,
4884 better implemented somewhere else.
4886 2005-09-21 Stefan Kost <ensonic@users.sf.net>
4888 * docs/gst/tmpl/.cvsignore:
4889 * docs/gst/tmpl/gstimplementsinterface.sgml:
4890 * gst/gstinterface.c:
4893 2005-09-21 Stefan Kost <ensonic@users.sf.net>
4895 * docs/gst/gstreamer-sections.txt:
4896 * docs/gst/tmpl/.cvsignore:
4897 * docs/gst/tmpl/gstenumtypes.sgml:
4898 remove obsolete doc file
4900 2005-09-21 David Schleef <ds@schleef.org>
4902 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4903 little beer, fix a little leak.
4905 2005-09-21 Stefan Kost <ensonic@users.sf.net>
4907 * docs/gst/gstreamer-docs.sgml:
4908 * docs/gst/gstreamer-sections.txt:
4909 * docs/gst/tmpl/.cvsignore:
4914 * gst/gstindex.c: (gst_index_class_init):
4916 * gst/gstindexfactory.c: (gst_index_factory_get_type),
4917 (gst_index_factory_class_init), (gst_index_factory_init),
4918 (gst_index_factory_finalize), (gst_index_factory_new),
4919 (gst_index_factory_destroy), (gst_index_factory_find),
4920 (gst_index_factory_create), (gst_index_factory_make):
4921 * gst/gstindexfactory.h:
4922 * gst/gstpluginfeature.c:
4923 * gst/gstpluginfeature.h:
4924 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4925 more docs inlined, splitted gstindex.{c,h}
4927 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
4929 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4932 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
4934 * gst/elements/gstfilesink.c: (gst_file_sink_init):
4935 Set sync to FALSE by default.
4937 2005-09-20 Wim Taymans <wim@fluendo.com>
4939 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4940 (gst_base_sink_init):
4941 Make sync property settable from subclass.
4943 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4944 (gst_fake_sink_change_state):
4945 Set sync to FALSE by default.
4947 2005-09-20 Wim Taymans <wim@fluendo.com>
4949 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4950 * tools/gst-launch.c: (main):
4951 The timeout handler should have lower priority than the source
4952 so we don't timeout before popping a message with 0 timeout.
4953 Dump error messages after failed state change.
4955 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
4957 * tools/gst-inspect.c: (print_element_properties_info):
4960 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
4962 * check/gst/gstevent.c:
4963 * gst/elements/gstfakesink.c:
4964 * gst/elements/gstfakesink.h:
4965 remove the sync property from fakesink.
4966 has the side effect of setting sync TRUE
4967 for fakesink, which is a change. Anyone who knows how
4968 to fix this nicely in a GObject-y way, feel free.
4970 2005-09-20 Stefan Kost <ensonic@users.sf.net>
4972 * docs/gst/gstreamer-docs.sgml:
4973 remove probe refsection
4975 2005-09-20 Stefan Kost <ensonic@users.sf.net>
4977 * check/Makefile.am:
4978 disable valgrinding the controller test again
4979 * docs/gst/gstreamer-sections.txt:
4980 update for api-changes
4982 2005-09-20 Wim Taymans <wim@fluendo.com>
4984 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4985 (gst_base_sink_set_property), (gst_base_sink_get_property),
4986 (gst_base_sink_do_sync):
4987 * gst/base/gstbasesink.h:
4988 Added sync property to basesink to disable clock sync.
4990 2005-09-20 Andy Wingo <wingo@pobox.com>
4992 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4993 eating the caller's refcount.
4995 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
4996 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4999 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5000 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5001 of GLib 2.8 public, so we can know which refcount to check in
5004 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5005 (gst_object_init): Only set the gst refcount if we're going ahead
5006 with the refcount hack.
5008 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5010 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5011 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5012 more leaks plumbed, added more debug-logging
5016 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5019 remove include of gstmemchunk.h
5021 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5023 * gst/gstclock.c: (_gst_clock_id_free):
5024 Commit from the Political Party For More Atomic CVS Commits,
5025 so that people don't waste too much of their day fishing
5026 out obvious leaks out of massive commits.
5027 Oh, and fix a pretty damn obvious leak in the memchunk
5030 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5032 * check/Makefile.am:
5033 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5034 plug mem-leak, re-add to valgrindable tests
5036 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5039 unbreak the build for those who have chronic arthritis
5040 and typing "make check" is just too taxing on the hands
5042 2005-09-20 Andy Wingo <wingo@pobox.com>
5044 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5045 really want it out, you should fix plugins at the same time.
5047 2005-09-19 Stefan Kost <ensonic@users.sf.net>
5050 * docs/gst/gstreamer-sections.txt:
5052 added missing symbols to api docs
5053 disable ref-count hack if we have glib >= 2.8
5055 2005-09-19 David Schleef <ds@schleef.org>
5057 * docs/gst/Makefile.am: Ignore a few more internal headers
5058 * docs/gst/gstreamer-docs.sgml: Remove old sections
5059 * docs/gst/gstreamer-sections.txt: Remove old sections
5060 * docs/gst/tmpl/gstobject.sgml: update
5061 * docs/gst/tmpl/gstplugin.sgml: update
5062 * docs/gst/tmpl/gstpluginfeature.sgml: update
5063 * docs/random/ds/0.9-suggested-changes: update.
5064 * gst/Makefile.am: remove memchunk and trashstack, since they're
5066 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5067 * gst/gst.h: don't include some headers
5068 * gst/gstchildproxy.c: add gstmarshal.h
5069 * gst/gstclock.c: Don't use memchunks
5070 * gst/gstminiobject.c: Add some docs
5071 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5072 * gst/gstobject.h: same
5073 * gst/gstplugin.c: include gstmacros.h
5074 * gst/gstplugin.h: don't include gstmacros.h, since it's private
5075 * gst/gstquery.c: don't use memchunks
5076 * gst/gstregistry.c: rename gst_registry_deinit()
5077 * gst/gstregistry.h: same
5079 2005-09-19 David Schleef <ds@schleef.org>
5081 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5082 * docs/libs/gstreamer-libs-sections.txt:
5083 * docs/libs/tmpl/gstgetbits.sgml:
5084 * docs/libs/tmpl/gstputbits.sgml:
5086 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
5088 * win32/gstenumtypes.c:
5089 * win32/gstenumtypes.h:
5092 2005-09-19 Wim Taymans <wim@fluendo.com>
5094 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5095 Automatically PAUSE and RESUME a pipeline when a flushing seek
5098 2005-09-19 Andy Wingo <wingo@pobox.com>
5100 * gst/gstregistry.h: Spacing fixen.
5102 2005-09-19 Wim Taymans <wim@fluendo.com>
5104 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5105 Handle state change failure more correctly.
5107 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5109 * check/Makefile.am:
5110 * check/pipelines/cleanup.c: (run_pipeline):
5111 * check/pipelines/simple_launch_lines.c: (run_pipeline),
5113 enable cleanup again after fixing the leak
5115 some more info on docs
5117 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5119 * check/Makefile.am:
5120 re-enable tests now that leaks are plugged
5122 * check/gst/gstbin.c:
5123 * check/gst/gstpipeline.c:
5124 add some more tests while fixing leaks
5126 make sure binaries are uptodate when valgrinding/gdbing
5128 * gst/gstelementfactory.c:
5129 remove a ref too many, and add a FIXME for when we get
5130 round to disposing of classes
5132 fix the refcounting when loading a plugin from a file and
5133 the code pretends that the pointer is the same even though
5134 of course it can change
5135 * gst/gstpluginfeature.c:
5136 unref plugins marked cached (a bit confusing as a name)
5137 as the docs state should be done
5138 various doc additions to explain refcounting
5139 * gst/gstregistry.c:
5140 * gst/gstregistryxml.c:
5143 2005-09-19 Wim Taymans <wim@fluendo.com>
5145 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5146 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5147 (send_messages), (GST_START_TEST), (gstbus_suite):
5148 * check/gst/gstpipeline.c: (GST_START_TEST):
5149 * check/pipelines/cleanup.c: (run_pipeline):
5150 * check/pipelines/simple_launch_lines.c: (run_pipeline),
5152 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5153 (gst_bus_source_check), (gst_bus_source_dispatch),
5154 (gst_bus_create_watch), (gst_bus_add_watch_full),
5155 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5157 * tools/gst-launch.c: (event_loop):
5158 * tools/gst-md5sum.c: (event_loop):
5159 GstBusHandler -> GstBusFunc, return value has the same meaning as
5160 any other GSource (FALSE == remove source).
5161 _add_watch() and _add_watch_full() now take a MessageType mask to
5162 only handle specific types of messages.
5163 _poll() returns the GstMessage instead of the message type to avoid
5165 _have_pending() takes a MessageType mask now too.
5166 Added testsuite for multiple bus watches.
5167 Fix testsuites and applications for new bus API.
5169 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5171 * check/Makefile.am:
5172 mark a bunch of the tests as to fix until we fix them
5174 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5177 use GST_PLUGIN settings for valgrind tests as well, so we're
5178 valgrinding the correct thing
5179 * gst/gst.c: (init_post):
5182 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5184 * gst/gst.c: (init_post), (gst_deinit):
5185 * gst/gstelementfactory.c: (gst_element_factory_class_init),
5186 (gst_element_factory_finalize), (gst_element_factory_cleanup):
5187 * gst/gstindex.c: (gst_index_factory_class_init),
5188 (gst_index_factory_finalize):
5189 * gst/gstobject.c: (gst_object_dispose):
5190 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5191 (gst_plugin_load_file), (gst_plugin_desc_free):
5192 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5193 (gst_plugin_feature_finalize):
5194 * gst/gstregistry.c: (gst_registry_class_init),
5195 (gst_registry_init), (gst_registry_finalize),
5196 (gst_registry_get_default), (gst_registry_deinit):
5197 * gst/gstregistry.h:
5198 * gst/gstregistryxml.c: (load_feature), (load_plugin):
5199 various cleanups and memleak plugging. make valgrind is happy now.
5201 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5204 add a check-valgrind target
5206 2005-09-18 David Schleef <ds@schleef.org>
5208 * tools/gst-inspect.c: Revert the GOption code.
5210 2005-09-17 David Schleef <ds@schleef.org>
5212 * check/Makefile.am: Fix environment variables.
5213 * check/gst/gstplugin.c: Fix for API changes.
5214 * tools/gst-inspect.c: Fix for API changes.
5215 * tools/gst-xmlinspect.c: Fix for API changes.
5216 * gst/gstelementfactory.c:
5219 * gst/gstpluginfeature.c:
5220 * gst/gstpluginfeature.h:
5221 * gst/gstregistry.c:
5222 * gst/gstregistry.h:
5223 * gst/gstregistryxml.c:
5224 * gst/gsttypefind.c:
5225 * gst/gsttypefindfactory.c:
5226 * gst/indexers/gstfileindex.c:
5227 * gst/indexers/gstmemindex.c:
5228 * gst/schedulers/Makefile.am:
5229 Change registry to keep track of both plugins and features,
5230 removing the feature tracking from plugins themselves.
5232 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
5234 * check/Makefile.am:
5235 * tools/gst-register.1.in:
5238 2005-09-15 David Schleef <ds@schleef.org>
5240 * check/gst/gstplugin.c:
5241 * gst/gstelementfactory.c:
5243 * gst/gstpluginfeature.c:
5244 * gst/gstregistry.c:
5245 Getting tired of debugging. Disabled all the unreffing of
5246 plugins and features, which fixes the segfaults, but of
5247 course leaks like crazy. At least playbin works.
5249 2005-09-15 David Schleef <ds@schleef.org>
5251 * check/gst/gstplugin.c: (register_check_elements),
5252 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5254 * gst/elements/gsttypefindelement.c: Fix refcounting.
5255 * gst/gsttypefind.c:
5256 * gst/gsttypefindfactory.c:
5257 * gst/gsttypefindfactory.h:
5259 2005-09-15 David Schleef <ds@schleef.org>
5261 * gst/gstindex.c: get refcounting correct.
5262 * gst/gstregistry.c: Handle the case where a feature/plugin is
5265 2005-09-15 David Schleef <ds@schleef.org>
5267 * check/Makefile.am:
5268 * check/gst/gstplugin.c: Add test
5269 * gst/gstplugin.c: Fix problems noticed by testsuite
5271 * gst/gstregistry.c:
5272 * gst/gstregistry.h:
5274 2005-09-15 David Schleef <ds@schleef.org>
5276 * gst/gstplugin.c: Implement semi-decent recounting and locking
5277 in plugins and plugin features.
5279 * gst/gstpluginfeature.c:
5280 * gst/gstpluginfeature.h:
5281 * gst/gstregistry.c:
5283 2005-09-15 Michael Smith <msmith@fluendo.com>
5285 * gst/gstregistry.c: (gst_registry_get_feature_list):
5286 Implement this. Makes oggdemux work; decodebin still broken.
5288 2005-09-14 David Schleef <ds@schleef.org>
5290 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5292 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5293 * gst/check/Makefile.am:
5294 * libs/gst/controller/Makefile.am:
5295 * libs/gst/dataprotocol/Makefile.am:
5297 2005-09-14 David Schleef <ds@schleef.org>
5299 * configure.ac: Remove getbits library. Nothing uses it, and
5300 it should be in something like liboil if someone did want
5302 * libs/gst/Makefile.am:
5303 * libs/gst/getbits/Makefile.am:
5304 * libs/gst/getbits/gbtest.c:
5305 * libs/gst/getbits/getbits.c:
5306 * libs/gst/getbits/getbits.h:
5307 * libs/gst/getbits/gstgetbits_generic.c:
5308 * libs/gst/getbits/gstgetbits_i386.s:
5309 * libs/gst/getbits/gstgetbits_inl.h:
5311 2005-09-14 David Schleef <ds@schleef.org>
5313 * gst/Makefile.am: Dist glib-compat.h
5315 2005-09-14 David Schleef <ds@schleef.org>
5317 * configure.ac: Remove gst/registries, since it's no longer used.
5318 * gst/registries/Makefile.am:
5319 * gst/registries/gstlibxmlregistry.c:
5320 * gst/registries/gstlibxmlregistry.h:
5321 * gst/registries/gstxmlregistry.c:
5322 * gst/registries/gstxmlregistry.h:
5323 * gst/registries/registrytest.c:
5325 2005-09-14 David Schleef <ds@schleef.org>
5327 * gst/glib-compat.h:
5328 * gst/gstregistryxml.c:
5329 Convergence is near. Seriously.
5331 2005-09-14 David Schleef <ds@schleef.org>
5333 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5334 * gst/glib-compat.h:
5335 Attempt #4 to appease the buildbots.
5337 2005-09-14 David Schleef <ds@schleef.org>
5339 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5342 2005-09-14 David Schleef <ds@schleef.org>
5344 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5347 2005-09-14 David Schleef <ds@schleef.org>
5349 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5352 2005-09-14 David Schleef <ds@schleef.org>
5354 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5355 * gst/glib-compat.h: Add some functions that are in newer versions
5356 of glib than we care to require.
5357 * gst/gstregistryxml.c: Use them.
5359 2005-09-14 David Schleef <ds@schleef.org>
5361 * po/POTFILES.in: remove gst-register.c
5363 2005-09-14 David Schleef <ds@schleef.org>
5365 * docs/gst/gstreamer-docs.sgml:
5366 * docs/gst/gstreamer-sections.txt:
5367 * docs/gst/gstreamer.types:
5368 * docs/gst/tmpl/gstelement.sgml:
5369 * docs/gst/tmpl/gstplugin.sgml:
5370 * docs/gst/tmpl/gstpluginfeature.sgml:
5371 Documentation updates for registry changes.
5373 2005-09-14 David Schleef <ds@schleef.org>
5375 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5376 because we don't require glib-2.8.
5378 2005-09-14 David Schleef <ds@schleef.org>
5380 * gst/gstregistryxml.c: Added. Essentially moved out of the
5381 registries directory.
5383 2005-09-14 David Schleef <ds@schleef.org>
5385 * check/Makefile.am:
5386 * check/generic/states.c:
5390 * gst/gst_private.h:
5391 * gst/gstelementfactory.c:
5396 * gst/gstpluginfeature.c:
5397 * gst/gstpluginfeature.h:
5398 * gst/gstregistry.c:
5399 * gst/gstregistry.h:
5400 * gst/gstregistrypool.c: remove
5401 * gst/gstregistrypool.h: remove
5402 * gst/gsttypefind.c:
5403 * gst/gsttypefindfactory.c:
5405 * tools/Makefile.am:
5406 * tools/gst-compprep.c:
5407 * tools/gst-inspect.c:
5408 * tools/gst-register.c: remove
5409 * tools/gst-xmlinspect.c:
5410 Registry rewrite. Changes registry from being a file created
5411 by a tool into a simple cache file created automatically by
5412 libgstreamer. Removed gst-register (because it's no longer
5413 needed). Remove registry pools, because we only have one
5414 registry implementation (XML). Fix up other subsystems as
5417 2005-09-13 Michael Smith <msmith@fluendo.com>
5419 * gst/gstconfig.h.in:
5420 Don't Use windows linking attributes for MinGW. Fixes #316157
5422 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
5424 * gst/gstutils.c: (set_state_async_thread_func),
5425 (gst_element_set_state_async):
5426 Apparently people think it's better if this function doesn't
5427 try to set the state to whatever state was asked for on the first
5428 call to this function for any object. Seriously.
5430 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
5432 * check/gst/gstpipeline.c: (GST_START_TEST):
5433 * docs/gst/gstreamer-sections.txt:
5434 * gst/gstutils.c: (set_state_async_thread_func),
5435 (gst_element_set_state_async):
5437 add a "gst_element_set_state_async" method that
5438 sets the state and starts a thread to make sure the state
5439 change completes as best as it can
5441 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
5443 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5444 codify design+behaviour in testsuite after discussion
5446 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
5448 * docs/gst/tmpl/gstelement.sgml:
5449 * docs/manual/appendix-quotes.xml:
5451 * gst/gstelement.c: (gst_element_set_state):
5454 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
5456 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5457 (gst_base_transform_prepare_output_buf),
5458 (gst_base_transform_handle_buffer):
5459 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5460 (gst_capsfilter_prepare_buf):
5461 Remove the requirement for sub-classes to call the parent
5462 implementation of prepare_output_buffer with a wrapper function.
5465 * gst/gsttagsetter.h:
5468 2005-09-11 Stefan Kost <ensonic@users.sf.net>
5470 * docs/gst/gstreamer-sections.txt:
5473 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
5475 * docs/gst/gstreamer-sections.txt:
5476 * docs/gst/tmpl/gstelement.sgml:
5477 * docs/gst/tmpl/gstplugin.sgml:
5478 * gst/gstminiobject.c:
5480 docs now stop throwing warnings
5482 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
5484 * docs/gst/gstreamer-sections.txt:
5485 * docs/gst/gstreamer.types:
5486 * docs/gst/tmpl/gstpad.sgml:
5487 * docs/gst/tmpl/gsttypes.sgml:
5488 * gst/base/gstadapter.h:
5489 * gst/base/gstbasesink.h:
5490 * gst/base/gstbasesrc.h:
5500 * gst/gststructure.c:
5501 * gst/registries/gstlibxmlregistry.h:
5502 various documentation fixes
5504 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
5506 * docs/gst/gstreamer-sections.txt:
5507 * docs/gst/tmpl/gstvalue.sgml:
5508 rearrange gstvalue section
5509 * gst/gstutils.c: (gst_element_state_get_name):
5511 * gst/gstvalue.c: (_gst_value_initialize):
5515 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
5517 * check/gst-libs/controller.c:
5519 * gst/base/gstbasetransform.c:
5520 (gst_base_transform_default_prepare_buf),
5521 (gst_base_transform_handle_buffer):
5522 * gst/base/gstbasetransform.h:
5523 Some more basetransform changes and fixes to enable sub-classes
5524 that modify buffer metadata only.
5525 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5526 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5527 (gst_capsfilter_prepare_buf):
5528 If the output pad has fixed allowed caps and input buffers
5529 don't have any, set the fixed caps on outgoing buffers.
5531 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
5532 * check/elements/identity.c: (GST_START_TEST):
5533 Make the error a little clearer when the test fails because
5534 identity made a copy of the buffer.
5535 * docs/gst/gstreamer-sections.txt:
5536 New symbols in gstbasetransform.h
5537 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5538 (gst_base_transform_init), (gst_base_transform_transform_size),
5539 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5540 (gst_base_transform_default_prepare_buf),
5541 (gst_base_transform_get_unit_size),
5542 (gst_base_transform_buffer_alloc),
5543 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5544 (gst_base_transform_change_state),
5545 (gst_base_transform_set_passthrough),
5546 (gst_base_transform_set_in_place),
5547 (gst_base_transform_is_in_place):
5548 * gst/base/gstbasetransform.h:
5549 Change BaseTransform to separate in_place operate from same_caps
5550 output. in_place implies that the element can perform the transform
5551 on incoming buffers in-place, even if the caps on the output are
5553 Sub-class elements can now implement special buffer allocation
5554 methods for outgoing buffers if they wish to.
5555 Big documentation addition.
5556 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5557 * gst/elements/gstelements.c:
5558 Changes for basetransform modifications.
5559 * gst/elements/Makefile.am:
5560 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5561 Compile fix. Extra debug output.
5563 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
5565 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5567 add tests for valid pad naming
5568 * gst/check/gstcheck.c: (gst_check_log_message_func),
5569 (gst_check_log_critical_func):
5571 remove printing of code, it is fragile when the code contains
5572 % and the line number is enough info
5573 * gst/check/gstcheck.h:
5574 * gst/gstpad.c: (gst_pad_template_new):
5577 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
5580 say what CHECK flags we use
5581 * docs/libs/gstreamer-libs.types:
5582 * libs/gst/controller/Makefile.am:
5583 * libs/gst/controller/gst-controller.c:
5584 * libs/gst/controller/gst-controller.h:
5585 * libs/gst/controller/gst-helper.c:
5586 * libs/gst/controller/gst-interpolation.c:
5587 * libs/gst/controller/gstcontroller.c:
5588 * libs/gst/controller/gsthelper.c:
5589 * libs/gst/controller/gstinterpolation.c:
5590 * tools/gst-inspect.c: (print_plugin_info):
5591 we don't use dashes in header names
5593 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
5595 * check/Makefile.am:
5596 * check/gst/.cvsignore:
5597 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5598 (gst_pipeline_suite), (main):
5599 adding a test for pipelines and state changes
5600 * gst/gstutils.c: (get_state_func):
5602 * gstreamer.spec.in:
5605 2005-09-08 Michael Smith <msmith@fluendo.com>
5607 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5608 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5609 (gst_file_src_is_seekable), (gst_file_src_get_size),
5610 (gst_file_src_start):
5611 * gst/elements/gstfilesrc.h:
5612 Various fixes for unseekable, unmmapable, and non-normal files, so
5613 that fallback to read() rather than mmap() works.
5614 * gst/gstevent.c: (gst_event_new_newsegment):
5615 Allow newsegment events with segment_start == segment_end, as will
5616 correctly happen if you use filesrc on a zero-size file, for
5619 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
5621 * gst/gstplugin.c: (gst_plugin_load_file):
5622 Call g_module_close when we don't load the module
5624 * gst/registries/gstlibxmlregistry.c:
5625 (gst_xml_registry_get_property):
5626 Port leak fix from 0.8
5628 2005-09-07 Stefan Kost <ensonic@users.sf.net>
5630 * docs/gst/gstreamer-docs.sgml:
5631 * docs/gst/tmpl/.cvsignore:
5632 * docs/gst/tmpl/gsttrace.sgml:
5633 * docs/gst/tmpl/gsttrashstack.sgml:
5642 * gst/gsttaginterface.c:
5643 * gst/gsttaginterface.h:
5646 * gst/gsttagsetter.c:
5647 * gst/gsttagsetter.h:
5650 * gst/gsttrashstack.c:
5651 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5652 inlined docs for gsttrace, gsttrashstack
5654 2005-09-07 Stefan Kost <ensonic@users.sf.net>
5657 * gst/elements/gstbufferstore.h:
5658 * gst/elements/gsttypefindelement.c:
5659 * gst/elements/gsttypefindelement.h:
5661 * gst/gsttypefind.c:
5662 * gst/gsttypefind.h:
5663 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5664 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5665 (gst_type_find_factory_dispose),
5666 (gst_type_find_factory_unload_thyself),
5667 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5668 (gst_type_find_factory_get_caps),
5669 (gst_type_find_factory_get_extensions),
5670 (gst_type_find_factory_call_function):
5671 * gst/gsttypefindfactory.h:
5672 * gst/registries/gstlibxmlregistry.c:
5673 * gst/registries/gstxmlregistry.c:
5674 splitted gsttypefind into gsttypefind, gsttypefindfactory
5676 2005-09-07 Andy Wingo <wingo@pobox.com>
5678 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5679 condition whereby the pad's task function is entered before the
5680 pad_mode variable was set.
5682 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
5684 * gst/gstpad.c: (gst_pad_alloc_buffer):
5685 Catch misbehaving pad_alloc functions that don't
5686 set up caps and do it for them.
5688 2005-09-07 Stefan Kost <ensonic@users.sf.net>
5690 * check/pipelines/simple_launch_lines.c: (run_pipeline):
5692 * docs/gst/tmpl/.cvsignore:
5693 * docs/gst/tmpl/gstmemchunk.sgml:
5694 * docs/gst/tmpl/gstparse.sgml:
5695 * docs/gst/tmpl/gsttaglist.sgml:
5696 * docs/gst/tmpl/gsttagsetter.sgml:
5697 * docs/gst/tmpl/gsttypefind.sgml:
5698 * docs/gst/tmpl/gsttypefindfactory.sgml:
5699 * gst/gstmemchunk.c:
5702 * gst/gsttaginterface.c:
5703 * gst/gsttypefind.c:
5704 * gst/gsttypefind.h:
5707 === release 0.9.2 ===
5709 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
5714 releasing 0.9.2, "South"
5716 2005-09-05 Andy Wingo <wingo@pobox.com>
5718 * gst/registries/gstxmlregistry.h:
5719 * gst/registries/gstxmlregistry.c: Um... resurrect...
5721 * gst/registries/gstxmlregistry.h:
5722 * gst/registries/gstxmlregistry.c: and update to newer API.
5723 Incidentally they should be a bit faster now that they don't have
5726 2005-09-05 Andy Wingo <wingo@pobox.com>
5728 * gst/registries/gstxmlregistry.h:
5729 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5730 replaced by the libxml registry a while back
5732 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
5734 * docs/gst/tmpl/gstplugin.sgml:
5735 * gst/elements/gstelements.c:
5737 * gst/gstplugin.c: (gst_plugin_register_func),
5738 (gst_plugin_desc_copy), (gst_plugin_desc_free),
5739 (gst_plugin_get_source):
5741 * gst/registries/gstlibxmlregistry.c: (load_plugin),
5742 (gst_xml_registry_save_plugin):
5743 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5744 (gst_xml_registry_save_plugin):
5745 * tools/gst-inspect.c: (print_plugin_info):
5746 add a "source" plugin description field, to represent the source
5747 module this plugin is a part of. By default GST_PLUGIN_DEFINE
5748 will set it to PACKAGE, which is automake's idea of the name of
5751 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
5757 * docs/faq/Makefile.am:
5758 * docs/gst/tmpl/gstelement.sgml:
5759 * docs/gst/tmpl/gsttypes.sgml:
5760 * docs/htmlinstall.mak:
5761 * docs/manual/Makefile.am:
5762 * docs/pwg/Makefile.am:
5763 reorganize doc build a little
5764 split out docbook and gtk-doc stuff
5765 have two separate --enable's and enable them through autogen
5766 but disable by default in configure (to be similar to other
5768 * gstreamer.spec.in:
5769 clean up docs install
5789 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
5791 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5794 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5795 (gst_fake_sink_change_state):
5796 Make state change function thread-safe.
5798 * gst/gstpad.c: (gst_pad_alloc_buffer):
5799 Set offset on generic buffer allocated by fallback.
5801 2005-09-03 Stefan Kost <ensonic@users.sf.net>
5803 * docs/gst/gstreamer-sections.txt:
5804 * docs/gst/tmpl/gstelement.sgml:
5806 * libs/gst/controller/gst-controller.c:
5807 (gst_controlled_property_set_interpolation_mode),
5808 (gst_controlled_property_new),
5809 (gst_controller_find_controlled_property):
5810 run the wingo-magic script against the docs
5812 2005-09-02 Stefan Kost <ensonic@users.sf.net>
5814 * docs/gst/gstreamer-docs.sgml:
5815 * docs/gst/gstreamer-sections.txt:
5816 * docs/gst/tmpl/.cvsignore:
5817 * docs/gst/tmpl/gstelementdetails.sgml:
5818 * docs/gst/tmpl/gstelementfactory.sgml:
5821 * gst/gstelementfactory.c:
5822 * gst/gstelementfactory.h:
5823 merged elementdetails docs into elementfactory docs
5826 2005-09-02 Andy Wingo <wingo@pobox.com>
5828 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5829 consider this enum an enum and not a flags.
5831 2005-09-02 Stefan Kost <ensonic@users.sf.net>
5833 * docs/gst/gstreamer-docs.sgml:
5834 * docs/gst/tmpl/.cvsignore:
5835 * docs/gst/tmpl/gstghostpad.sgml:
5836 * docs/gst/tmpl/gstiterator.sgml:
5837 * docs/gst/tmpl/gstmacros.sgml:
5838 * docs/gst/tmpl/gstrealpad.sgml:
5839 * docs/gst/tmpl/gstregistry.sgml:
5840 * docs/gst/tmpl/gstregistrypool.sgml:
5841 * docs/gst/tmpl/gststructure.sgml:
5842 * docs/gst/tmpl/gstsystemclock.sgml:
5843 * docs/gst/tmpl/gsttrace.sgml:
5844 * gst/gstghostpad.c:
5846 * gst/gstmemchunk.c:
5847 * gst/gstmemchunk.h:
5849 * gst/gstregistry.c:
5850 * gst/gstregistrypool.c:
5851 * gst/gststructure.c:
5852 * gst/gstsystemclock.c:
5855 2005-09-02 Andy Wingo <wingo@pobox.com>
5857 * gst/gstelement.h (GstState): Renamed from GstElementState,
5858 changed to be a normal enum instead of flags.
5859 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5860 munged to be GST_STATE_CHANGE_*.
5861 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5862 work with the new state representation.
5863 (GstStateChange): New enumeration of possible state transitions.
5864 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5865 (GstElementClass::change_state): Pass the GstStateChange along as
5866 an argument. Helps language bindings, so they don't have to use
5867 tricky lock-needing macros like GST_STATE_CHANGE ().
5869 * scripts/update-states (file): New script. Run it on a file to
5870 update it for state naming and API changes. Updates files in
5873 * All files updated for the new API.
5875 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
5877 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5878 * gst/gstutils.c: (gst_util_set_value_from_string),
5879 (gst_util_set_object_arg):
5880 fix a bunch of unchecked return values
5881 * tools/gst-complete.c: (main):
5882 * gstreamer.spec.in:
5885 2005-09-01 Wim Taymans <wim@fluendo.com>
5887 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5888 (gst_base_sink_event), (gst_base_sink_do_sync),
5889 (gst_base_sink_handle_event):
5890 * gst/base/gstbasesink.h:
5891 Handle newsegments more correctly.
5896 * gst/gstevent.c: (gst_event_new_newsegment):
5897 A newsegment cannot have a start_time of -1
5899 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
5901 * win32/gstenumtypes.c:
5902 * win32/gstenumtypes.h:
5905 2005-08-31 Stefan Kost <ensonic@users.sf.net>
5907 * libs/gst/controller/gst-controller.c:
5908 (gst_controlled_property_set_interpolation_mode),
5909 (gst_controlled_property_new):
5912 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
5914 * docs/faq/gst-uninstalled:
5919 * gst/gstutils.c: (gst_element_link_filtered):
5921 add gst_element_link_filtered
5923 2005-08-31 Stefan Kost <ensonic@users.sf.net>
5925 * docs/gst/gstreamer-docs.sgml:
5926 * docs/gst/gstreamer-sections.txt:
5927 * docs/gst/tmpl/.cvsignore:
5928 * docs/gst/tmpl/gsterror.sgml:
5929 * docs/gst/tmpl/gstfilter.sgml:
5930 * docs/gst/tmpl/gsturihandler.sgml:
5931 * docs/gst/tmpl/gsturitype.sgml:
5932 * docs/gst/tmpl/gstutils.sgml:
5933 * docs/gst/tmpl/gstxml.sgml:
5941 inlined more docs, fixed double id-ref
5943 2005-08-31 Wim Taymans <wim@fluendo.com>
5945 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5946 (gst_base_transform_handle_buffer):
5947 Passthrough elements don't need the caps as they don't care.
5949 2005-08-31 Wim Taymans <wim@fluendo.com>
5951 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5952 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5953 Don't leak refcounts on buffers.
5955 2005-08-31 Wim Taymans <wim@fluendo.com>
5957 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5958 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5959 (gst_base_transform_chain), (gst_base_transform_change_state):
5960 * gst/base/gstbasetransform.h:
5961 Handle the case where we are not negotiated more gracefully.
5963 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
5965 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5966 (gst_file_src_map_region):
5967 Set READONLY flag on mmap'ed buffers, otherwise
5968 gst_buffer_make_writable() won't work properly (#314708).
5970 2005-08-31 Wim Taymans <wim@fluendo.com>
5972 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5973 passthrough elements can even do inplace on non writable
5974 buffers (as they don't touch them).
5976 2005-08-31 Stefan Kost <ensonic@users.sf.net>
5978 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5979 (gst_test_mono_source_set_property),
5980 (gst_test_mono_source_class_init), (GST_START_TEST),
5981 (gst_controller_suite):
5982 more tests (hehe I have the most)
5984 describe popping messages whenusing mulltiple sources
5985 * libs/gst/controller/gst-controller.c:
5986 (gst_controlled_property_set_interpolation_mode),
5987 (gst_controlled_property_new):
5988 * libs/gst/controller/gst-controller.h:
5989 * libs/gst/controller/gst-interpolation.c:
5990 implement boolean properties
5992 2005-08-31 Wim Taymans <wim@fluendo.com>
5994 * gst/gstminiobject.c: (gst_mini_object_ref):
5995 Cannot assert that the refcount has to be positive
5996 since a disposed object can be resurrected.
5998 2005-08-31 Wim Taymans <wim@fluendo.com>
6000 * gst/gstpad.c: (gst_pad_init):
6001 Revert change, need to first fix badly behaving
6004 2005-08-30 Wim Taymans <wim@fluendo.com>
6006 * check/elements/fakesrc.c: (setup_fakesrc):
6007 * check/elements/identity.c: (setup_identity):
6008 Activate pads before using them.
6010 2005-08-30 Wim Taymans <wim@fluendo.com>
6012 * gst/base/gstadapter.c: (gst_adapter_flush):
6013 Flushing out 0 bytes is ok for this function.
6015 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6016 no newsegment gives a warning and sets the start/stop to
6019 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6020 (gst_base_transform_set_passthrough):
6023 * gst/gstminiobject.c: (gst_mini_object_ref):
6024 Check refcount here too.
6026 * gst/gstpad.c: (gst_pad_init):
6027 Pads are initially flushing and refusing data.
6029 * gst/gstutils.c: (gst_element_link_pads_filtered):
6030 When adding a capsfilter element make sure it has the
6031 same state as the parent bin.
6033 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6035 * docs/gst/tmpl/.cvsignore:
6036 * docs/gst/tmpl/gstformat.sgml:
6037 * docs/gst/tmpl/gstversion.sgml:
6041 * gst/gstversion.h.in:
6042 more docs and two more inlined
6044 2005-08-30 Wim Taymans <wim@fluendo.com>
6046 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6047 Don't sync to clock.
6049 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6051 * docs/gst/gstreamer-sections.txt:
6052 ultral33t func10ns deserve to appear in the docs actually
6053 * docs/gst/tmpl/.cvsignore:
6054 * docs/gst/tmpl/gstcompat.sgml:
6055 * docs/gst/tmpl/gstconfig.sgml:
6056 * gst/check/gstcheck.c:
6058 * gst/gstconfig.h.in:
6061 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6063 * docs/gst/tmpl/.cvsignore:
6064 * docs/gst/tmpl/gstquery.sgml:
6065 * docs/gst/tmpl/gstutils.sgml:
6068 inlined and extended docs
6070 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6072 * check/gst-libs/controller.c: (GST_START_TEST),
6073 (gst_controller_suite):
6075 * docs/gst/tmpl/gstutils.sgml:
6076 * docs/libs/gstreamer-libs-sections.txt:
6077 * docs/libs/tmpl/gstdataprotocol.sgml:
6079 * examples/controller/audio-example.c: (main):
6080 controller example works now
6083 * tools/gst-inspect.c: (print_element_properties_info):
6084 show param spec flags
6086 2005-08-29 Andy Wingo <wingo@pobox.com>
6088 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6090 2005-08-28 Andy Wingo <wingo@pobox.com>
6092 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6093 as having two arguments instead of just one. Allows superclasses
6094 to access information on subclasses -- see the terrible for() loop
6095 in gtype.c:g_type_create_instance for the reason why. All callers
6098 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6100 * docs/design/part-messages.txt:
6102 * docs/gst/tmpl/.cvsignore:
6103 * docs/gst/tmpl/gstcaps.sgml:
6104 * docs/gst/tmpl/gstclock.sgml:
6111 added descriptions for bus and message
6112 inline caps and clock docs
6114 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6120 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6122 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6125 2005-08-26 Andy Wingo <wingo@pobox.com>
6127 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6128 element_set_state's return val.
6129 (test_2_elements): Add test that's been disabled for months.
6131 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6132 can-activate-pull properties.
6134 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6135 can-activate-pull properties. Implement is_seekable so fakesrc can
6136 operate in pull mode.
6138 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6140 (gst_base_sink_activate, gst_base_sink_activate_pull)
6141 (gst_base_sink_activate_push): Make activation mode choosing work.
6143 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6144 is right. Make pull mode work. Post an eos before pausing in pull
6146 (gst_base_sink_change_state): Pay attention to the core's
6147 change_state() return val.
6149 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6150 has-getrange properties. Cleanups.
6152 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6153 has_getrange and replace with can_activate_pull and
6156 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6157 locking comments. Remove has_loop, has_chain and replace with
6158 can_activate_pull and can_activate_push.
6160 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
6163 * examples/Makefile.am:
6164 * examples/metadata/Makefile.am:
6165 * examples/metadata/read-metadata.c: (message_loop),
6166 (have_pad_handler), (make_pipeline), (print_tag), (main):
6167 Add metadata reading example that loops over a list of filenames,
6168 dumping any tags found.
6170 * gst/gstbus.c: (gst_bus_dispose):
6171 * gst/gstelement.c: (gst_element_dispose):
6172 Release a few potentially-held references in dispose.
6174 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6176 * docs/gst/tmpl/gstminiobject.sgml:
6177 do *not* add tmpl/*.sgml files to CVS!
6179 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6181 * libs/gst/bytestream/.cvsignore:
6182 * libs/gst/bytestream/Makefile.am:
6183 * libs/gst/bytestream/adapter.c:
6184 * libs/gst/bytestream/adapter.h:
6185 * libs/gst/bytestream/bytestream.c:
6186 * libs/gst/bytestream/bytestream.h:
6187 * libs/gst/bytestream/filepad.c:
6188 * libs/gst/bytestream/filepad.h:
6189 removing obsolete files
6191 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6193 * docs/gst/gstreamer-docs.sgml:
6194 * docs/libs/gstreamer-libs-docs.sgml:
6195 disabed additional index entries again, as this makes docs-gen just
6196 slow and they aren't useful yet
6197 * docs/libs/gstreamer-libs-sections.txt:
6198 little -section.txt cleanup for libs
6200 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
6202 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6203 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6204 fix up some debugging
6205 (gst_base_transform_get_unit_size),
6206 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6207 (gst_base_transform_handle_buffer):
6208 * gst/base/gstbasetransform.h:
6209 handle and store timed NEWSEGMENT events so that subclasses that
6210 calculate time by counting samples have a segment_start time they
6211 need to add to their timestamps - see audioresample
6213 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6216 removed ';' from the end of macro defs
6217 * docs/gst/gstreamer-docs.sgml:
6218 * docs/gst/gstreamer-sections.txt:
6219 * docs/gst/tmpl/.cvsignore:
6221 * gst/gstelement.c: (gst_element_class_init),
6222 (gst_element_set_state), (activate_pads),
6223 (gst_element_save_thyself):
6224 * gst/gstevent.c: (gst_event_new_newsegment):
6226 * gst/gstiterator.c:
6227 * gst/gstiterator.h:
6230 * gst/gstutils.c: (gst_pad_query_convert):
6232 fixed parameter name mismatches between source, header and docs
6233 added some more docs, resolved the last batch of unused elements in
6234 docs (now someone needs to doc them)
6236 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
6238 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6239 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6240 don't walk through the plugins backwards. Where is all this
6241 reversed logic coming from ?
6243 2005-08-25 Wim Taymans <wim@fluendo.com>
6245 * gst/base/gstbasetransform.c: (gst_base_transform_init),
6246 (gst_base_transform_transform_size),
6247 (gst_base_transform_configure_caps),
6248 (gst_base_transform_get_unit_size),
6249 (gst_base_transform_buffer_alloc),
6250 (gst_base_transform_change_state):
6251 * gst/base/gstbasetransform.h:
6252 Cache caps unit_size.
6253 Make sure we cannot negotiate up and downstream at the
6256 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
6258 * gst/gst.c: (init_pre), (init_post):
6259 register the installed plugin path after the env var
6260 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6261 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6262 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6263 directories, so the tests can prefer uninstalled over installed
6265 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
6267 * gst/base/gstbasetransform.h:
6272 2005-08-25 Wim Taymans <wim@fluendo.com>
6274 * gst/gstbin.c: (bin_bus_handler):
6275 Be a bit more conservative about the posted message.
6277 * gst/gstbus.c: (gst_bus_post):
6278 Some cleanups, warn wrong return values.
6280 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
6282 * check/gst/gstbin.c: (GST_START_TEST):
6283 * gst/gstbin.c: (bin_bus_handler):
6284 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6285 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6286 (gst_message_new_warning), (gst_message_new_tag),
6287 (gst_message_new_state_changed), (gst_message_new_segment_start),
6288 (gst_message_new_segment_done), (gst_message_new_custom):
6290 * tools/gst-launch.c: (event_loop):
6291 * tools/gst-md5sum.c: (event_loop):
6292 Revert unpopular change for GST_MESSAGE_SRC to GObject.
6294 2005-08-25 Wim Taymans <wim@fluendo.com>
6296 * check/generic/states.c: (GST_START_TEST):
6297 Cleanup can be done at the end.
6299 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6300 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6301 (gst_task_get_state), (gst_task_start), (gst_task_pause):
6302 Oh boy.. Thanks for finding this, Thomas.
6304 2005-08-25 Stefan Kost <ensonic@users.sf.net>
6306 * docs/gst/gstreamer.types:
6309 2005-08-25 Stefan Kost <ensonic@users.sf.net>
6311 * docs/gst/gstreamer-docs.sgml:
6312 * docs/gst/gstreamer-sections.txt:
6313 * docs/gst/tmpl/.cvsignore:
6315 * gst/gstiterator.c:
6317 * gst/registries/gstxmlregistry.h:
6318 added missing classes and symbols (123 more to go)
6319 removed removed symbols from section file
6320 fixed many doc-comments
6322 2005-08-24 Wim Taymans <wim@fluendo.com>
6324 * check/generic/states.c: (GST_START_TEST):
6325 Make sure all tasks are stopped.
6327 * check/gst/gstbin.c: (GST_START_TEST):
6328 Unref after usage for proper valgrinding.
6330 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6331 Really wait for the task to stop before destroying the
6334 * gst/gstqueue.c: (gst_queue_sink_activate_push),
6335 (gst_queue_src_activate_push):
6336 Small cleanups. Don't stop the task when we did not start
6339 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6340 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6341 (gst_task_get_state), (gst_task_start), (gst_task_pause),
6344 Protect the stream lock with the object lock.
6345 Disallow setting the stream lock when running.
6346 Add cleanup_all to wait for the threadpool to finish.
6347 Remove code to autoallocate a mutex if none was provided.
6348 Add _join() to wait for a task to stop.
6349 Protect the thread pool with a global lock.
6351 2005-08-24 Wim Taymans <wim@fluendo.com>
6353 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6354 (gst_base_sink_get_times), (gst_base_sink_do_sync),
6355 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6356 * gst/base/gstbasesink.h:
6357 Handle newsegment events correctly.
6358 Drop buffers out of the segment range.
6360 2005-08-22 Andy Wingo <wingo@pobox.com>
6362 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6363 macro, implements an interface and gstimplementsinterface for a
6366 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
6368 * check/Makefile.am:
6369 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6370 add a test that does a bunch of state changes on elements
6371 needs some fixing for valgrind
6372 * check/states/sinks.c: (gst_object_suite):
6375 add prototype for gst_caps_is_equal_fixed
6377 * gst/gstregistrypool.c:
6380 2005-08-24 Andy Wingo <wingo@pobox.com>
6382 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6383 convert a negative value. Doesn't make much sense. Mostly this is
6384 here to force callers to ensure -1 maps to -1.
6386 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6388 * docs/pwg/advanced-types.xml:
6389 Well done to Michael for catching my deliberate introduction
6390 of this spelling mistake.
6391 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6393 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6394 unlink pads before removing the element from the bin.
6396 2005-08-24 Andy Wingo <wingo@pobox.com>
6398 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6399 the same thing as GST_DEBUG=*:4.
6400 (parse_debug_level, parse_debug_category): New helper parsers.
6402 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
6404 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6405 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6406 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6407 (gst_base_transform_buffer_alloc),
6408 (gst_base_transform_handle_buffer):
6409 use gboolean return values and pointers to size so we can use the
6410 full GST_BUFFER_SIZE range (guint) for buffer sizes
6411 use GstPadDirection for transform_caps
6412 * gst/base/gstbasetransform.h:
6413 rename get_size to get_unit_size since that's what it is
6414 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6415 use GstPadDirection for transform_caps
6416 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6418 cleanup and debugging
6420 2005-08-24 Stefan Kost <ensonic@users.sf.net>
6422 * gst/gstelement.c: (gst_element_class_init),
6423 (gst_element_set_state), (activate_pads),
6424 (gst_element_save_thyself):
6425 * tools/gst-compprep.c: (main):
6426 * tools/gst-inspect.c: (print_element_properties_info):
6427 * tools/gst-xmlinspect.c: (print_element_properties):
6428 Fixed long standing mem-leak
6430 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6432 * check/gst/gstbin.c: (GST_START_TEST):
6433 * gst/gstbin.c: (bin_bus_handler):
6434 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6435 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6436 (gst_message_new_warning), (gst_message_new_tag),
6437 (gst_message_new_state_changed), (gst_message_new_segment_start),
6438 (gst_message_new_segment_done), (gst_message_new_custom):
6440 * tools/gst-launch.c: (event_loop):
6441 * tools/gst-md5sum.c: (event_loop):
6442 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6443 that applications can sensibly post custom messages with references
6444 to their own objects.
6446 2005-08-24 Andy Wingo <wingo@pobox.com>
6448 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6451 2005-08-24 Wim Taymans <wim@fluendo.com>
6453 * gst/base/gstbasetransform.c: (gst_base_transform_init),
6454 (gst_base_transform_transform_caps),
6455 (gst_base_transform_transform_size),
6456 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6457 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6458 (gst_base_transform_handle_buffer):
6459 * gst/base/gstbasetransform.h:
6460 Many fixes and new features added by Thomas. Can now also do
6461 transforms with variable sizes and a custom fixate_caps function.
6463 2005-08-24 Wim Taymans <wim@fluendo.com>
6465 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6469 Cast to ClockTime before formatting to time.
6474 2005-08-24 Stefan Kost <ensonic@users.sf.net>
6476 * check/gst-libs/controller.c: (GST_START_TEST),
6477 (gst_controller_suite):
6478 * docs/gst/tmpl/gstcaps.sgml:
6479 * docs/gst/tmpl/gstghostpad.sgml:
6480 * docs/gst/tmpl/gstquery.sgml:
6481 * docs/gst/tmpl/gstutils.sgml:
6482 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6483 (gst_object_sink_values), (gst_object_get_value_arrays),
6484 (gst_object_get_value_array):
6485 gracefully handle helper method calls to objects that are not beeing
6486 controlled, added test case for that
6488 2005-08-23 Wim Taymans <wim@fluendo.com>
6490 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6491 (gst_event_new_newsegment), (gst_event_parse_newsegment),
6492 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6493 (gst_event_parse_qos), (gst_event_new_seek),
6494 (gst_event_parse_seek):
6496 Some more debugging output and doc cleanups.
6498 * gst/gstqueue.c: (gst_queue_handle_sink_event):
6499 Fix possible deadlock.
6501 2005-08-23 Stefan Kost <ensonic@users.sf.net>
6503 * docs/gst/gstreamer-docs.sgml:
6504 * docs/gst/gstreamer-sections.txt:
6505 * docs/gst/gstreamer.types:
6506 * docs/gst/tmpl/.cvsignore:
6511 added 100 symbols from gstreamer-unused.txt to the right sections
6512 fixed more broken comments
6513 added GstBus to docs
6515 2005-08-23 Stefan Kost <ensonic@users.sf.net>
6517 * docs/gst/gstreamer-sections.txt:
6518 * docs/gst/tmpl/.cvsignore:
6519 * docs/gst/tmpl/gstbin.sgml:
6520 * docs/gst/tmpl/gstbuffer.sgml:
6521 * gst/base/gstbasesrc.c:
6522 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6525 * tools/gst-launch.1.in:
6526 inlined more doc comments, added missing comments and fixed comments
6529 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
6531 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6535 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6537 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6538 * gst/gststructure.h:
6539 add a fixate function for booleans; add a FIXME that these func
6540 names should probably be gst_structure_fixate_*
6542 2005-08-23 Stefan Kost <ensonic@users.sf.net>
6544 * docs/gst/gstreamer-docs.sgml:
6545 * docs/gst/gstreamer-sections.txt:
6547 * gst/gstbin.c: (gst_bin_get_type),
6548 (gst_bin_child_proxy_get_child_by_index),
6549 (gst_bin_child_proxy_get_children_count),
6550 (gst_bin_child_proxy_init):
6551 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6552 (gst_child_proxy_get_child_by_index),
6553 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6554 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6555 (gst_child_proxy_get), (gst_child_proxy_set_property),
6556 (gst_child_proxy_set_valist), (gst_child_proxy_set),
6557 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6558 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6559 * gst/gstchildproxy.h:
6560 * gst/parse/grammar.y:
6561 * tools/gst-inspect.c: (print_interfaces),
6562 (print_element_properties_info), (print_element_info):
6563 ported gstchildproxy over from 0.8
6564 ported gst-inspect fixes and enhancements over from 0.8
6566 2005-08-22 Wim Taymans <wim@fluendo.com>
6568 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6569 (gst_base_transform_handle_buffer):
6570 Also call the transform function if we have ANY caps.
6572 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6575 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
6577 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6578 Don't pretend to handle seek events if the source is not seekable
6580 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
6582 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6583 Remove extra parameter to debug output
6585 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6586 (gst_base_src_do_seek), (gst_base_src_activate_push):
6587 Fix seek event handling.
6589 * gst/gstpipeline.c: (gst_pipeline_change_state):
6590 * gst/gstqueue.c: (gst_queue_handle_sink_event),
6591 (gst_queue_src_activate_push):
6592 Don't start the src pad task on FLUSH_STOP if the pad
6596 2005-08-22 Wim Taymans <wim@fluendo.com>
6598 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6599 Added check for gst_static_caps_get() refcounting.
6601 2005-08-22 Wim Taymans <wim@fluendo.com>
6603 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6604 Make _static_caps_get() refcounting sane.
6606 * gst/gstelement.c: (gst_element_set_state):
6607 Add g_return_val_if_fail() to protect against segfaults.
6609 2005-08-22 Stefan Kost <ensonic@users.sf.net>
6611 * docs/gst/tmpl/gstevent.sgml:
6614 inlined remaining docs, added missing doc comments
6616 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
6618 * check/gst/gstbin.c: (GST_START_TEST):
6619 since we don't know when preroll is done, use refcount range
6621 * gst/check/gstcheck.h:
6622 add macro for checking refcount range
6624 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
6626 * check/Makefile.am:
6627 clean up environment for when registry gets built versus
6628 when actual tests are run; valgrind seems to not report
6629 leaks if GST_PLUGIN_PATH is set to some specific values
6630 * check/gst/gstbin.c: (GST_START_TEST):
6631 add more refcounting checks; maybe this exposes a
6634 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6635 * gst/check/gstcheck.h:
6636 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6637 (gst_bin_change_state):
6638 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6639 add/fix debugging/whitespace
6641 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
6643 * check/gst/gstevent.c: (event_probe), (test_event),
6645 Er, don't call gst_bin_watch_for_state_change you idiot.
6647 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
6649 * check/Makefile.am:
6650 Use CHECK_CFLAGS and CHECK_LIBS
6651 * check/gst/gstevent.c: (event_probe), (test_event),
6654 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6655 (gst_base_src_start), (gst_base_src_stop),
6656 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6657 (gst_base_src_change_state):
6658 Sprinkle gst_base_src_stop liberally around error paths to fix
6659 problems reusing a source after failed state changes.
6660 * gst/base/gsttypefindhelper.c: (helper_find_peek),
6661 (helper_find_suggest), (gst_type_find_helper):
6662 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6664 * docs/gst/tmpl/gstevent.sgml:
6665 Migrate part of the docs from the SGML file. Wait for ensonic to
6666 tell me how I did it wrong ;)
6667 * tools/gst-typefind.c: (main):
6668 Extra robustness to state changes between files.
6670 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
6672 * check/Makefile.am:
6673 don't valgrind the controller test - it's leaking - Stefan, HELP
6674 * gst/check/gstcheck.c: (gst_check_message_error),
6675 (gst_check_chain_func), (gst_check_setup_element),
6676 (gst_check_teardown_element), (gst_check_setup_src_pad),
6677 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6678 (gst_check_teardown_sink_pad):
6679 * gst/check/gstcheck.h:
6680 add a bunch of methods to set up elements, and src and sink pads
6681 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6682 * check/elements/identity.c: (setup_identity), (cleanup_identity),
6687 whitespace/doc fixes
6689 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
6692 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6693 be handled by the application and not always printed as well
6695 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
6697 * check/Makefile.am:
6699 * gst/check/gstcheck.c: (gst_check_message_error):
6700 * gst/check/gstcheck.h:
6701 add a fail_unless_equals_int
6702 add fail_unless for error messages
6704 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
6706 * check/Makefile.am:
6708 * common/Makefile.am:
6711 factor out some of the common stuff so we can use it
6713 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
6715 * check/Makefile.am:
6716 * check/gst/gstiterator.c: (GST_START_TEST):
6717 * check/gst/gstsystemclock.c: (GST_START_TEST),
6718 (gst_systemclock_suite):
6719 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6723 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
6725 * check/elements/.cvsignore:
6726 * check/elements/gstfakesrc.c:
6727 rename to name of element
6728 * check/elements/identity.c: (chain_func), (event_func),
6729 (setup_identity), (cleanup_identity), (GST_START_TEST),
6730 (identity_suite), (main):
6731 add a test for identity
6732 * check/Makefile.am:
6733 * pkgconfig/Makefile.am:
6734 * pkgconfig/gstreamer-check.pc.in:
6735 * pkgconfig/gstreamer-check-uninstalled.pc.in:
6739 move the check stuff to a library that gets installed
6740 * check/gst-libs/controller.c: (GST_START_TEST):
6741 * check/gst-libs/gdp.c:
6742 * check/gst/gst.c: (GST_START_TEST):
6743 * check/gst/gstbin.c:
6744 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6745 * check/gst/gstbus.c:
6746 * check/gst/gstcaps.c: (GST_START_TEST):
6747 * check/gst/gstelement.c:
6748 * check/gst/gstghostpad.c:
6749 * check/gst/gstiterator.c:
6750 * check/gst/gstmessage.c:
6751 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6752 * check/gst/gstobject.c:
6753 * check/gst/gstpad.c: (GST_START_TEST):
6754 * check/gst/gststructure.c: (GST_START_TEST):
6755 * check/gst/gstsystemclock.c: (GST_START_TEST),
6756 (gst_systemclock_suite):
6757 * check/gst/gsttag.c: (gst_tag_suite):
6758 * check/gst/gstvalue.c:
6759 * check/pipelines/cleanup.c:
6760 * check/pipelines/simple_launch_lines.c:
6761 * check/states/sinks.c:
6762 change include statement
6764 * docs/gst/gstreamer-sections.txt:
6765 * docs/gst/tmpl/gstpad.sgml:
6766 document more pad stuff
6767 * gst/gstminiobject.c: (gst_mini_object_ref),
6768 (gst_mini_object_unref):
6771 2005-08-19 Stefan Kost <ensonic@users.sf.net>
6773 * docs/gst/tmpl/gst.sgml:
6775 eliminate another tmpl file, fix spelling in the long-description
6777 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
6779 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6780 (test_event), (timediff), (gstevents_suite):
6781 Should fix build on 64-bit arch's
6783 2005-08-18 Andy Wingo <wingo@pobox.com>
6785 Make sure that when a pipeline goes to PLAYING, that data has
6786 actually hit the sink.
6788 * check/states/sinks.c (test_sink): A sink that doesn't get any
6789 data shouldn't return SUCCESS for going to either PLAYING or
6790 PAUSED. Test also the return values on the way back down.
6792 * gst/gstelement.c (gst_element_set_state): When changing the
6793 state of an element currently changing state asynchronously, go to
6794 lost-state after commiting the pending state. Makes future calls
6795 to get_state continue to return ASYNC.
6797 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6798 ASYNC when going to PLAYING if we still don't have preroll, as can
6799 happen with live sources.
6801 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
6803 * docs/pwg/advanced-types.xml:
6804 Hack long paragraph into 2 chunks as a workaround for buggy
6805 jadetex version in sid and breezy that loops infinitely and
6808 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
6810 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6811 (test_event), (timediff), (gstevents_suite):
6812 Provide more error margin in clock measurements to allow for
6813 g_get_current_time inaccuracies.
6815 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
6817 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6818 (test_event), (timediff), (gstevents_suite):
6819 Fix error message output so I might be able to tell why the
6820 test works here but fails on the build farm.
6822 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
6824 * check/Makefile.am:
6825 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6826 (test_event), (timediff), (gstevents_suite), (main):
6829 * docs/design/part-seeking.txt:
6832 * docs/gst/tmpl/gstevent.sgml:
6833 * docs/gst/tmpl/gstfakesrc.sgml:
6836 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6837 Treat a buffer-without-newsegment the same as a receiving
6838 a newsegment not in time format, and disable syncing to the clock
6841 * gst/gstbus.c: (gst_bus_set_sync_handler):
6842 Assert if anyone tries to replace the existing sync_handler for bus,
6843 as only the owner should be setting it.
6846 Have a fixed set of custom event enums with events identified by
6847 their structure name (as in 0.8), rather than a free-for-all
6848 allowing collisions between enum values from different plugins.
6850 * gst/gstpad.c: (gst_pad_class_init):
6853 * gst/gstqueue.c: (gst_queue_handle_sink_event):
6854 Handle out-of-band downstream events from the sending thread.
6856 2005-08-17 Andy Wingo <wingo@pobox.com>
6858 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6859 play-timeout==0 to mean no timeout at all. In that case, don't
6860 bother with a get_state or a warning, just return directly, even
6863 * gst/base/gstbasetransform.c: Debug changes.
6866 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6867 ensure bins post state change messages. A bit of a hack but I can't
6868 think of a way to avoid it.
6870 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6872 2005-08-16 Andy Wingo <wingo@pobox.com>
6874 * gst/base/gstadapter.h:
6875 * gst/base/gstadapter.c (gst_adapter_take): New function, like
6876 peek() but you own the data. Not terribly efficient atm.
6878 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6880 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6881 (gst_element_found_tags):
6883 Add two utility functions for tag handling.
6885 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6887 * docs/manual/advanced-dataaccess.xml:
6888 * docs/manual/basics-helloworld.xml:
6889 Fix docs to use _bin_add() before _link(), which fixes the examples
6890 with recent core versions (reported by Madhan Raj M
6891 <raj_madan@rediffmail.com>, #313199).
6893 2005-08-16 Wim Taymans <wim@fluendo.com>
6895 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6896 Added subtract checks.
6898 * docs/design/part-events.txt:
6899 Some more docs about newsegment
6901 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6904 * gst/gstcaps.c: (gst_caps_to_string):
6905 Add comments, cleanups.
6907 * gst/gstelement.c: (gst_element_save_thyself):
6910 * gst/gstvalue.c: (gst_value_collect_int_range),
6911 (gst_string_unwrap), (gst_value_union_int_int_range),
6912 (gst_value_union_int_range_int_range),
6913 (gst_value_intersect_int_int_range),
6914 (gst_value_intersect_int_range_int_range),
6915 (gst_value_intersect_double_double_range),
6916 (gst_value_intersect_double_range_double_range),
6917 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6918 (gst_value_subtract_int_range_int),
6919 (gst_value_subtract_double_range_double),
6920 (gst_value_subtract_double_range_double_range),
6921 (gst_value_subtract_from_list), (gst_value_subtract_list),
6922 (gst_value_can_compare), (gst_value_compare_fraction):
6923 Cleanups, add comments, remove unneeded asserts.
6925 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
6927 * tools/gst-launch.c: (event_loop):
6928 don't convert NULL structures to strings
6930 2005-08-15 Stefan Kost <ensonic@users.sf.net>
6932 * docs/gst/gstreamer-sections.txt:
6933 made some defines private
6934 * docs/gst/tmpl/gstconfig.sgml:
6935 * docs/gst/tmpl/gstqueue.sgml:
6936 * docs/gst/tmpl/gsttaglist.sgml:
6937 * docs/gst/tmpl/gsttypes.sgml:
6938 * docs/gst/tmpl/gstutils.sgml:
6939 * docs/pwg/appendix-porting.xml:
6940 * gst/base/gstbasesink.h:
6941 * gst/base/gstbasesrc.c:
6942 * gst/base/gstbasesrc.h:
6943 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6944 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6945 * gst/gstelement.c: (gst_element_class_init):
6946 * gst/gstpad.c: (gst_pad_class_init):
6947 * gst/gstqueue.c: (gst_queue_class_init):
6948 * gst/gstxml.c: (gst_xml_class_init):
6949 documented all undocumented signal inline
6950 * libs/gst/controller/gst-controller.h:
6953 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6955 * docs/pwg/appendix-porting.xml:
6956 Document _set_link_function -> _set_setcaps_function.
6958 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
6960 * check/Makefile.am:
6961 add a .check target for running the check
6962 * check/gst-libs/controller.c: (GST_START_TEST):
6964 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6965 complete checks for gstbuffer; would be nice if I could get the
6966 gcov stuff to work so I can see if I actually completed gstbuffer.c
6968 add ASSERT_BUFFER_REFCOUNT
6970 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
6972 * docs/gst/gstreamer-sections.txt:
6973 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6975 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6976 spew out a warning if a tag that is already registered
6977 is re-registered, unless it is re-registered with a
6978 different type (#308438).
6980 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
6982 * docs/pwg/appendix-porting.xml:
6983 * docs/pwg/building-state.xml:
6984 Add some paragraphs about state changes in 0.9 to the PWG
6985 and the porting guide, in particular about the new meaning
6986 of GST_STATE_PAUSED and how to write state change functions
6987 with concurrent access by multiple threads in mind.
6989 2005-08-11 Stefan Kost <ensonic@users.sf.net>
6991 * docs/gst/gstreamer-docs.sgml:
6992 * docs/libs/gstreamer-libs-docs.sgml:
6993 added deprecation and since indexes
6994 * libs/gst/controller/gst-controller.c:
6995 * libs/gst/controller/gst-helper.c:
6999 2005-08-11 Wim Taymans <wim@fluendo.com>
7001 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7002 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7003 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7004 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7005 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7006 (gst_ghost_pad_set_target):
7007 Actually implement (re)setting the target on a ghostpad
7008 as described in the docs.
7010 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
7012 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7013 Check whether GST_DEBUG_NO_COLOR environment variable is
7014 set and disable coloured debug output if that is the case.
7016 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
7018 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7019 (gst_type_find_helper):
7020 The memory returned by gst_type_find_peek() needs to
7021 stay valid until the end of a typefind function, and
7022 typefind functions may keep results from different
7023 offsets around, so we can't just unref the buffer from
7024 the previous _peek(), but have to save all buffers
7025 returned by _peek() until typefinding is done and only
7028 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
7030 * docs/gst/gstreamer-sections.txt:
7032 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7034 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7036 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7037 Fix a pretty good memleak.
7039 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
7041 * gst/gstiterator.h:
7042 Fix wrong include and 'make distcheck'.
7044 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7046 * gst/gstbin.c: (bin_bus_handler):
7047 Use gst_element_post_message() instead.
7049 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
7051 * gst/base/gstadapter.h:
7052 * gst/base/gstbasesink.h:
7053 * gst/base/gstbasesrc.h:
7054 * gst/base/gstbasetransform.h:
7055 * gst/base/gstcollectpads.h:
7056 * gst/base/gstpushsrc.h:
7057 * gst/gstiterator.h:
7058 Add padding to our base elements' class and instance structs and
7059 to GstIterator (you will need to rebuild all plugins and apps!)
7061 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7063 * gst/gstbin.c: (bin_bus_handler):
7064 Make default message forwarding from child->bus to bin->bus
7065 threadsafe and make it not emit warnings if the parent has no bus.
7067 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7069 * gst/gstelement.c: (activate_pads):
7070 On paused->ready, set pad->caps to NULL, as is the documented
7071 behaviour in this state change. Fixes playback of series of
7072 media files when visualization is enabled in Totem.
7074 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7076 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7077 Allow NULL as filter-caps (which means "any").
7079 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7081 * docs/libs/gstreamer-libs-sections.txt:
7082 * libs/gst/controller/gst-controller.c:
7083 * libs/gst/controller/gst-controller.h:
7084 * libs/gst/controller/gst-helper.c:
7085 adding more entries to the docs and fix small doc-bugs
7087 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7089 * docs/gst/gstreamer-docs.sgml:
7090 * docs/gst/gstreamer-sections.txt:
7091 * docs/gst/gstreamer.types:
7092 * docs/gst/tmpl/gstbasesink.sgml:
7093 * docs/gst/tmpl/gstbasesrc.sgml:
7094 * docs/gst/tmpl/gstbasetransform.sgml:
7095 * docs/gst/tmpl/gstfakesrc.sgml:
7096 * gst/base/gstcollectpads.c:
7097 * gst/base/gstcollectpads.h:
7098 * libs/gst/controller/gst-controller.c:
7099 * libs/gst/controller/gst-controller.h:
7100 * libs/gst/controller/gst-helper.c:
7101 * libs/gst/controller/gst-interpolation.c:
7102 * libs/gst/controller/lib.c:
7103 added long/short desc for controller docs
7104 added collectpads base class docs
7105 added correct includes to base-class docs
7107 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7109 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7110 (gst_test_mono_source_set_property),
7111 (gst_test_mono_source_class_init), (GST_START_TEST),
7112 (gst_controller_suite):
7113 * docs/gst/gstreamer-docs.sgml:
7114 * docs/gst/gstreamer-sections.txt:
7115 * docs/gst/gstreamer.types:
7116 * docs/libs/gstreamer-libs-docs.sgml:
7117 * docs/libs/gstreamer-libs-sections.txt:
7118 * gst/base/gstadapter.c:
7119 * libs/gst/controller/gst-controller.c:
7120 (gst_controlled_property_new), (gst_controlled_property_free),
7121 (gst_controller_new_valist),
7122 (gst_controller_remove_properties_valist),
7123 (gst_controller_sink_values), (_gst_controller_finalize):
7124 * libs/gst/controller/gst-controller.h:
7125 * libs/gst/controller/gst-helper.c:
7126 (gst_object_control_properties), (gst_object_uncontrol_properties),
7127 (gst_object_get_controller), (gst_object_set_controller),
7128 (gst_object_sink_values), (gst_object_get_value_arrays),
7129 (gst_object_get_value_array):
7130 more tests (and fixes) for the controller
7131 more docs for the controller
7132 integrated companies docs for the adapter
7134 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
7136 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7137 (GST_START_TEST), (fakesrc_suite):
7138 add tests for sizetype
7140 2005-08-04 Andy Wingo <wingo@pobox.com>
7142 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7143 fixes buffer_alloc proxying among other things.
7145 * gst/base/gstbasetransform.c:
7146 * gst/base/gstbasetransform.h:
7147 Revert patch to gstbasetransform from 7-28 removing
7150 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7151 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7152 Semantics changed, should return not the size of the output buffer
7153 but the byte size of a buffer with a given caps.
7155 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7157 (gst_base_transform_configure_caps): Don't set out_size here: (in,
7158 out) are not the pad caps until setcaps finishes.
7159 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7160 not-in-place case as well. Deal with changing from in-place to
7161 not-in-place within calling pad_alloc_buffer. Still a bit
7162 concerned about the overhead here...
7164 2005-08-03 Andy Wingo <wingo@pobox.com>
7166 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7167 fixating is an error.
7169 2005-08-04 Edward Hervey <edward@fluendo.com>
7171 * gst/base/gstadapter.h:
7172 Added gst_adapter_get_type() to the header
7174 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7176 * check/Makefile.am:
7177 * check/gst-libs/controller.c:
7178 * libs/gst/controller/gst-controller.c:
7179 (gst_controller_new_valist):
7180 added check test suite for the controller
7181 * gst/base/gstpushsrc.c:
7184 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7186 * docs/gst/Makefile.am:
7187 * docs/gst/gstreamer-docs.sgml:
7188 * docs/gst/gstreamer-sections.txt:
7189 * docs/gst/gstreamer.types:
7190 * docs/gst/tmpl/gstfakesrc.sgml:
7192 * gst/base/gstbasesink.c:
7193 * gst/base/gstbasesink.h:
7194 * gst/base/gstbasesrc.c:
7195 * gst/base/gstbasesrc.h:
7196 * gst/base/gstbasetransform.c:
7197 * gst/base/gstpushsrc.c:
7198 * gst/base/gstpushsrc.h:
7199 add short/long description docs to base classes
7200 add pushsrc to the docs
7201 remove consolidated doc fragments
7203 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7206 * docs/libs/Makefile.am:
7207 * docs/libs/gstreamer-libs-docs.sgml:
7208 * docs/libs/gstreamer-libs-sections.txt:
7209 * docs/libs/gstreamer-libs.types:
7210 * examples/Makefile.am:
7211 * examples/controller/.cvsignore:
7212 * examples/controller/Makefile.am:
7213 * examples/controller/audio-example.c: (main):
7214 * libs/gst/Makefile.am:
7215 * libs/gst/controller/.cvsignore:
7216 * libs/gst/controller/Makefile.am:
7217 * libs/gst/controller/gst-controller.c:
7218 (on_object_controlled_property_changed), (gst_timed_value_compare),
7219 (gst_timed_value_find),
7220 (gst_controlled_property_set_interpolation_mode),
7221 (gst_controlled_property_new), (gst_controlled_property_free),
7222 (gst_controller_find_controlled_property),
7223 (gst_controller_new_valist), (gst_controller_new),
7224 (gst_controller_remove_properties_valist),
7225 (gst_controller_remove_properties), (gst_controller_set),
7226 (gst_controller_set_from_list), (gst_controller_unset),
7227 (gst_controller_get), (gst_controller_get_all),
7228 (gst_controller_sink_values), (gst_controller_get_value_arrays),
7229 (gst_controller_get_value_array),
7230 (gst_controller_set_interpolation_mode),
7231 (_gst_controller_finalize), (_gst_controller_init),
7232 (_gst_controller_class_init), (gst_controller_get_type):
7233 * libs/gst/controller/gst-controller.h:
7234 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7235 (g_object_uncontrol_properties), (g_object_get_controller),
7236 (g_object_set_controller), (g_object_sink_values),
7237 (g_object_get_value_arrays), (g_object_get_value_array):
7238 * libs/gst/controller/gst-interpolation.c:
7239 (gst_controlled_property_find_timed_value_node),
7240 (interpolate_none_get), (interpolate_trigger_get),
7241 (interpolate_trigger_get_value_array):
7242 * libs/gst/controller/lib.c: (gst_controller_init):
7243 * pkgconfig/Makefile.am:
7244 * pkgconfig/gstreamer-control-uninstalled.pc.in:
7245 * pkgconfig/gstreamer-control.pc.in:
7246 * testsuite/Makefile.am:
7247 * testsuite/controller/.cvsignore:
7248 * testsuite/controller/Makefile.am:
7249 * testsuite/controller/interpolator.c: (main):
7250 added controller code
7251 removed dparam pc files
7253 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
7254 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7255 (gst_collectpads_stop):
7256 Broadcast the condition when shutting down, to make sure we wake all
7257 threads up. Shut down pads on finalize, for safety.
7259 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
7260 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7261 (gst_base_transform_handle_buffer),
7262 (gst_base_transform_change_state):
7263 Handle PAUSED->READY->PAUSED transition after negotiation
7265 * gst/gstmessage.c: (gst_message_init):
7266 Extra piece of debug for new messages.
7268 2005-08-01 Stefan Kost <ensonic@users.sf.net>
7271 * docs/gst/tmpl/gstbasesrc.sgml:
7272 * docs/gst/tmpl/gstelement.sgml:
7273 * docs/gst/tmpl/gstevent.sgml:
7274 * docs/gst/tmpl/gstfakesrc.sgml:
7275 * docs/gst/tmpl/gstformat.sgml:
7276 * docs/gst/tmpl/gstghostpad.sgml:
7277 * docs/gst/tmpl/gstpad.sgml:
7278 * docs/gst/tmpl/gstquery.sgml:
7279 * docs/gst/tmpl/gststructure.sgml:
7280 * docs/gst/tmpl/gsttaglist.sgml:
7281 * docs/gst/tmpl/gstvalue.sgml:
7282 * docs/libs/gstreamer-libs-docs.sgml:
7283 * docs/libs/gstreamer-libs-sections.txt:
7284 * docs/libs/gstreamer-libs.types:
7285 * libs/gst/Makefile.am:
7286 * libs/gst/control/.cvsignore:
7287 * libs/gst/control/Makefile.am:
7288 * libs/gst/control/control.c:
7289 * libs/gst/control/control.h:
7290 * libs/gst/control/dparam.c:
7291 * libs/gst/control/dparam.h:
7292 * libs/gst/control/dparam_smooth.c:
7293 * libs/gst/control/dparam_smooth.h:
7294 * libs/gst/control/dparamcommon.h:
7295 * libs/gst/control/dparammanager.c:
7296 * libs/gst/control/dparammanager.h:
7297 * libs/gst/control/dplinearinterp.c:
7298 * libs/gst/control/dplinearinterp.h:
7299 * libs/gst/control/unitconvert.c:
7300 * libs/gst/control/unitconvert.h:
7301 * testsuite/Makefile.am:
7302 * testsuite/dynparams/.cvsignore:
7303 * testsuite/dynparams/Makefile.am:
7304 * testsuite/dynparams/dparamstest.c:
7305 * tools/Makefile.am:
7306 * tools/gst-inspect.c: (print_element_info), (main):
7307 * tools/gst-xmlinspect.c: (print_element_info), (main):
7308 deactivate and remove dparams (libgstcontrol)
7310 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
7312 * gst/elements/gsttypefindelement.c:
7313 (gst_type_find_element_have_type), (gst_type_find_element_init),
7314 (stop_typefinding), (gst_type_find_element_handle_event),
7315 (gst_type_find_element_chain), (gst_type_find_element_getrange):
7316 * gst/elements/gsttypefindelement.h:
7317 Set caps on all outgoing buffers, not just the first one.
7319 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
7321 * gst/elements/gsttypefindelement.c:
7322 (gst_type_find_element_have_type),
7323 (gst_type_find_element_check_set_buffer_caps),
7324 (gst_type_find_element_init), (stop_typefinding),
7325 (gst_type_find_element_handle_event),
7326 (gst_type_find_element_chain), (gst_type_find_element_getrange):
7327 * gst/elements/gsttypefindelement.h:
7328 Set caps on first outgoing buffer when we've found the type.
7330 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
7332 * docs/gst/gstreamer-docs.sgml:
7333 * docs/gst/gstreamer-sections.txt:
7334 * docs/gst/tmpl/gstscheduler.sgml:
7335 * docs/gst/tmpl/gstschedulerfactory.sgml:
7336 Remove some old cruft from docs.
7338 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
7341 Fix inline docs for GstPadLinkReturn.
7343 * gst/gststructure.c: (gst_structure_has_name):
7344 * gst/gststructure.h:
7345 * docs/gst/gstreamer-sections.txt:
7346 New API: gst_structure_has_name().
7348 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
7351 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7352 and _LARGEFILE_SOURCE in config.h as required. Do not
7353 export those flags in our .pc files any longer (#142209).
7355 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7357 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7358 (gst_file_sink_do_seek), (gst_file_sink_event),
7359 (gst_file_sink_get_current_offset), (gst_file_sink_render):
7360 Redo seek/tell calls with large file support in mind; add some
7361 debugging messages; add log message that tells us when large
7362 file support is unavailable or not enabled for some reason.
7364 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7365 Add log message that tells us when large file support
7366 is unavailable or not enabled for some reason.
7368 2005-07-29 Wim Taymans <wim@fluendo.com>
7370 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7371 Added test for removing an element with ghostpad from a bin.
7372 Fixed test as current implementation does the right thing.
7374 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7375 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7376 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7377 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7378 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7379 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7380 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7381 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7382 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7383 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7384 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7385 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7386 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7387 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7388 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7389 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7390 * gst/gstghostpad.h:
7391 Clean up ghostpads, remove properties for internal stuff.
7394 Prepare for switching targets, not all use cases work yet.
7396 2005-07-29 Wim Taymans <wim@fluendo.com>
7398 * docs/design/part-gstghostpad.txt:
7401 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7402 (gst_bin_remove_func):
7403 Unlinking pads while holding the bin LOCK is not a good
7406 * gst/gstpad.c: (gst_pad_class_init),
7407 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7408 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7409 No prob setting template after creating the pad.
7411 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
7413 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7414 (gst_bus_peek), (gst_bus_source_dispatch),
7415 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7416 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7417 gst_bus_poll may be called from other threads. Handle
7418 this nicely by not making poll_data disappear off the
7419 stack once gst_bus_poll returns.
7420 gst_bus_peek now increments the refcount on the returned
7423 2005-07-29 Wim Taymans <wim@fluendo.com>
7425 * docs/design/part-gstghostpad.txt:
7426 Overview of current GhostPad datastructures and use
7427 cases for changing the target.
7429 2005-07-28 Wim Taymans <wim@fluendo.com>
7431 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7432 Added checks for hierarchy consistency whan adding linked
7435 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7436 Added check to test element scheduling without bin/pipeline.
7438 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7439 First add elements to bin, then link.
7441 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7442 (gst_bin_remove_func):
7443 Unlink pads from elements added/removed from bin to maintain
7444 hierarchy consistency.
7446 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7448 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7449 (gst_base_transform_handle_buffer):
7450 * gst/base/gstbasetransform.h:
7451 Remove broken delay_configure (fixes renegotiation of software
7452 scaling pipelines); remove some leftover printf()s.
7454 2005-07-28 Wim Taymans <wim@fluendo.com>
7456 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7457 Added some more tests for wrong hierarchy
7459 * docs/design/part-overview.txt:
7462 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7465 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7466 (gst_element_dispose):
7469 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7470 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7471 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7472 (gst_pad_set_caps), (gst_pad_send_event):
7473 Check for correct hierarchy when linking pads. Moving to
7474 strict requirement for ghostpads when linking elements in
7478 Clean ups. Added WRONG_HIERARCHY return value.
7480 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7482 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7483 Better debug if no transform is possible.
7485 2005-07-27 Wim Taymans <wim@fluendo.com>
7487 * docs/random/wtay/network-transp:
7490 2005-07-27 Wim Taymans <wim@fluendo.com>
7492 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7493 (gst_dp_event_from_packet):
7494 Fix serialization of seek events.
7496 2005-07-27 Wim Taymans <wim@fluendo.com>
7498 * check/gst-libs/gdp.c: (GST_START_TEST):
7499 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7500 Fix compilation and fix event serialization.
7502 2005-07-27 Wim Taymans <wim@fluendo.com>
7505 * docs/design/part-TODO.txt:
7506 * docs/design/part-events.txt:
7509 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7510 (gst_base_sink_event), (gst_base_sink_do_sync),
7511 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7512 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7513 (gst_base_src_do_seek), (gst_base_src_event_handler),
7514 (gst_base_src_loop):
7515 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7516 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7517 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7518 (gst_base_transform_event), (gst_base_transform_handle_buffer),
7519 (gst_base_transform_set_passthrough),
7520 (gst_base_transform_is_passthrough):
7521 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7522 * gst/elements/gstfilesink.c: (gst_file_sink_event):
7528 * gst/gstelement.c: (gst_element_seek):
7530 Update gst_element_seek.
7532 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7533 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7534 (gst_event_new_flush_start), (gst_event_new_flush_stop),
7535 (gst_event_new_eos), (gst_event_new_newsegment),
7536 (gst_event_parse_newsegment), (gst_event_new_tag),
7537 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7538 (gst_event_parse_qos), (gst_event_new_seek),
7539 (gst_event_parse_seek), (gst_event_new_navigation):
7541 Make GstEvent use GstStructure. Add parsing code, make sure the
7542 API is sufficiently generic.
7543 Mark possible directions of events and serialization.
7545 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7546 (_gst_message_copy), (gst_message_new_segment_start),
7547 (gst_message_new_segment_done), (gst_message_new_custom),
7548 (gst_message_parse_segment_start),
7549 (gst_message_parse_segment_done):
7552 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7553 (gst_pad_set_caps), (gst_pad_send_event):
7554 Update for new events.
7555 Catch events sent in wrong directions.
7557 * gst/gstqueue.c: (gst_queue_link_src),
7558 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7559 (gst_queue_handle_src_query):
7564 Remove event code from this file.
7566 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7567 (gst_dp_event_from_packet):
7570 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7572 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7573 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7574 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7575 Make debugging actually useful.
7577 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7579 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7580 (gst_pad_fixate_caps):
7581 Implement default fixation once again, so that gst_pad_fixate()
7582 actually does anything at all. This probably needs to be some
7583 sort of a last resort, and use profile-based fixation first, but
7584 since that doesn't exist yet, this is the best we have. Fixes
7585 visualization in Totem.
7587 2005-07-22 Wim Taymans <wim@fluendo.com>
7589 * docs/design/part-events.txt:
7592 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7593 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7594 (gst_base_sink_activate_pull):
7597 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7598 (gst_fake_src_create):
7599 Fix handoff marshall.
7601 * gst/elements/gstidentity.c: (gst_identity_class_init),
7602 (gst_identity_transform_ip):
7603 We're a real inplace element.
7605 * gst/gstbus.c: (gst_bus_post):
7606 Added some comments.
7608 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7609 * tests/muxing/case1.c: (main):
7610 * tests/sched/dynamic-pipeline.c: (main):
7611 * tests/sched/interrupt1.c: (main):
7612 * tests/sched/interrupt2.c: (main):
7613 * tests/sched/interrupt3.c: (main):
7614 * tests/sched/runxml.c: (main):
7615 * tests/sched/sched-stress.c: (main):
7616 * tests/seeking/seeking1.c: (event_received), (main):
7617 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7619 * tests/threadstate/threadstate3.c: (main):
7620 * tests/threadstate/threadstate4.c: (main):
7621 * tests/threadstate/threadstate5.c: (main):
7624 2005-07-21 Wim Taymans <wim@fluendo.com>
7626 * docs/design/part-seeking.txt:
7627 Some small additions.
7629 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7630 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7631 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7632 * gst/base/gstbasesink.h:
7633 discont values are gint64, handle the math correctly.
7635 * gst/base/gstbasesrc.c: (gst_base_src_loop):
7636 Make the basesrc report error if the source pad is not linked.
7638 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7639 (gst_queue_loop), (gst_queue_handle_src_query),
7640 (gst_queue_src_activate_push):
7641 Make queue collect data even if the srcpad is not linked.
7642 Start pushing out data as soon as it is linked.
7644 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7646 Added gst_flow_get_name() to ease error reporting.
7648 2005-07-20 Wim Taymans <wim@fluendo.com>
7650 * gst/gstmessage.c: (gst_message_new_segment_start),
7651 (gst_message_new_segment_done), (gst_message_parse_segment_start),
7652 (gst_message_parse_segment_done):
7654 Added a bunch of messages for advanced seeking.
7656 * gst/parse/grammar.y:
7657 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7658 (gst_dpman_state_changed):
7659 Fix some new-pad -> pad-added signals
7661 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7663 * docs/manual/appendix-porting.xml:
7664 * docs/pwg/appendix-porting.xml:
7665 Document new-pad/state-change signal renames and the FixedList
7668 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7670 * docs/manual/advanced-autoplugging.xml:
7671 * docs/manual/basics-helloworld.xml:
7672 * docs/manual/basics-pads.xml:
7673 * docs/random/ds/0.9-suggested-changes:
7674 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7679 * gst/gststructure.c: (gst_structure_value_get_generic_type),
7680 (gst_structure_parse_array), (gst_structure_parse_value):
7681 * gst/gstvalue.c: (gst_type_is_fixed),
7682 (gst_value_list_prepend_value), (gst_value_list_append_value),
7683 (gst_value_list_get_size), (gst_value_list_get_value),
7684 (gst_value_transform_array_string), (gst_value_serialize_array),
7685 (gst_value_deserialize_array), (gst_value_intersect_array),
7686 (gst_value_is_fixed), (_gst_value_initialize):
7688 GstElement::new-pad -> pad-added, GstElement::state-change ->
7689 state-changed, GstValueFixedList -> GstValueArray, add format and
7690 flags as their own arguments in gst_element_seek() (should improve
7691 "bindeability"), remove function generators since they don't work
7692 under a whole bunch of compilers (they were deprecated already
7695 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7697 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7698 (_gst_debug_register_funcptr):
7700 Fix illegal cast on some platforms (#309253).
7702 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7704 * gst/gstmessage.c: (gst_message_new_custom):
7706 Add _new_custom, make _new_application a macro to _new_custom.
7708 2005-07-20 Wim Taymans <wim@fluendo.com>
7710 * gst/base/gstbasesrc.c: (gst_base_src_init),
7711 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7712 * gst/base/gstbasesrc.h:
7713 Add a gboolean to decide when to push out a discont.
7715 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7716 (gst_queue_loop), (gst_queue_handle_src_query),
7717 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7718 (gst_queue_set_property), (gst_queue_get_property):
7721 * tests/threadstate/threadstate1.c: (main):
7722 Make a thread test compile and run... very silly..
7725 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7727 * docs/manual/appendix-porting.xml:
7728 Mention removal of libgstgconf-0.9.la and existence of gconf
7731 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7733 * docs/pwg/advanced-clock.xml:
7734 * docs/pwg/appendix-porting.xml:
7735 * docs/pwg/intro-preface.xml:
7736 * docs/pwg/other-base.xml:
7737 * docs/pwg/other-manager.xml:
7738 * docs/pwg/other-nton.xml:
7739 * docs/pwg/other-ntoone.xml:
7740 * docs/pwg/other-oneton.xml:
7742 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7743 demuxer), remove n-to-n (was never written), fix some code examples
7744 and links and update the porting section to include all this.
7746 2005-07-19 Wim Taymans <wim@fluendo.com>
7748 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7749 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7750 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7751 (gst_queue_src_activate_push), (gst_queue_change_state),
7752 (gst_queue_get_property):
7754 Propagate GstFlowReturn more intelligently upstream and output
7755 an ERROR/EOS when streaming stopped due to fatal error.
7757 2005-07-19 Wim Taymans <wim@fluendo.com>
7759 * tools/gst-launch.c: (check_intr), (event_loop), (main):
7760 Don't block forever for the state change to complete, the
7761 pipeline already did with a sensible timeout.
7763 2005-07-19 Wim Taymans <wim@fluendo.com>
7765 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7766 Make sure we never call the create function is we
7769 2005-07-19 Andy Wingo <wingo@pobox.com>
7771 * gst/parse/parse.l: Attempt to solve bug #172815.
7773 2005-07-19 Wim Taymans <wim@fluendo.com>
7775 * docs/design/part-clocks.txt:
7776 * docs/design/part-events.txt:
7777 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7779 Only update the seeking values when we are not
7782 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
7784 * gst/base/gstbasesrc.c: (gst_base_src_loop):
7785 Oops, ignore the result of gst_pad_push_event here.
7787 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
7789 * gst/base/gstbasesrc.c: (gst_base_src_loop),
7790 (gst_base_src_activate_push):
7791 Send discont event from the loop function, as pads
7792 aren't activated yet in the activate_push handler.
7794 * gst/gstbin.c: (bin_bus_handler):
7795 Don't leak element name.
7797 2005-07-18 Andy Wingo <wingo@pobox.com>
7799 * configure.ac: Use AS_LIBTOOL_TAGS.
7801 2005-07-18 Wim Taymans <wim@fluendo.com>
7803 * docs/gst/gstreamer.types:
7804 Remove deleted types.
7806 2005-07-18 Wim Taymans <wim@fluendo.com>
7808 * check/elements/gstfakesrc.c: (GST_START_TEST):
7811 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7812 (init_popt_callback):
7814 * gst/gst_private.h:
7815 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7816 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7819 * gst/gstconfig.h.in:
7820 * gst/gstelement.c: (gst_element_class_init),
7821 (gst_element_set_base_time), (gst_element_get_base_time),
7822 (iterator_fold_with_resync), (gst_element_change_state),
7823 (gst_element_dispose), (gst_element_get_bus):
7825 * gst/gstelementfactory.h:
7826 * gst/gsterror.c: (_gst_core_errors_init):
7829 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7831 * gst/gstinfo.c: (_gst_debug_init):
7832 * gst/gstmessage.c: (_gst_message_copy):
7834 * gst/gstminiobject.h:
7837 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7838 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7841 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7842 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7843 (gst_pipeline_get_last_stream_time):
7844 * gst/gstpipeline.h:
7845 * gst/gstpluginfeature.h:
7847 * gst/gstscheduler.c:
7848 * gst/gstscheduler.h:
7849 * gst/gststructure.h:
7850 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7851 (gst_task_finalize), (gst_task_func), (gst_task_create),
7852 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7853 (gst_task_stop), (gst_task_pause):
7855 * gst/gsttypefind.h:
7857 * gst/registries/gstlibxmlregistry.c: (load_feature),
7858 (gst_xml_registry_load), (gst_xml_registry_save_feature):
7859 * gst/registries/gstxmlregistry.c:
7860 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7861 * gst/schedulers/threadscheduler.c:
7862 * libs/gst/control/dparammanager.h:
7863 * tools/gst-inspect.c: (print_element_list),
7864 (print_plugin_features), (print_element_features):
7865 * tools/gst-xmlinspect.c: (print_element_list),
7866 (print_plugin_info), (main):
7867 Removed plugable schedulers.
7868 Removed Scheduler/Manager from elements.
7869 Removed gsttypes.h, rearranged includes.
7870 Removed dependency pad<->element, element<>pipeline, and
7871 various others, fix includes.
7872 implement gst_pad_get_parent() with gst_object_get_parent()
7873 Make GstTask sefcontained.
7874 Fix _get_state() on GstBin, it did not return ASYNC with a 0
7876 Fix endless loop in iterator_fold_with_resync.
7879 2005-07-18 Wim Taymans <wim@fluendo.com>
7885 2005-07-18 Wim Taymans <wim@fluendo.com>
7890 2005-07-18 Wim Taymans <wim@fluendo.com>
7896 2005-07-18 Wim Taymans <wim@fluendo.com>
7898 * docs/design/part-dynamic.txt:
7899 * docs/design/part-events.txt:
7900 * docs/design/part-seeking.txt:
7901 Some more docs in the works.
7903 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7904 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7905 (gst_base_transform_setcaps), (gst_base_transform_get_size),
7906 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7907 (gst_base_transform_handle_buffer),
7908 (gst_base_transform_sink_activate_push),
7909 (gst_base_transform_src_activate_pull),
7910 (gst_base_transform_set_passthrough),
7911 (gst_base_transform_is_passthrough):
7914 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7917 * gst/gstevent.c: (gst_event_finalize):
7920 * gst/gstutils.c: (gst_element_unlink),
7921 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7922 (gst_pad_proxy_setcaps):
7924 Add _get_parent_element() to get a pads parent as an element.
7926 2005-07-18 Wim Taymans <wim@fluendo.com>
7928 * check/gst/gstbin.c: (GST_START_TEST):
7931 2005-07-18 Wim Taymans <wim@fluendo.com>
7933 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7934 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7935 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7936 (gst_base_sink_event), (gst_base_sink_do_sync),
7937 (gst_base_sink_chain), (gst_base_sink_loop),
7938 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7939 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7941 Fix logic for returning ASYNC when not prerolled.
7943 2005-07-18 Wim Taymans <wim@fluendo.com>
7945 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7946 Fix nasty refcount bug.
7948 2005-07-16 Philippe Khalaf <burger@speedy.org>
7950 * gst/elements/gstfdsrc.c:
7951 * gst/elements/gstfdsrc.h:
7952 * gst/elements/gstelements.c:
7953 * gst/elements/Makefile.am:
7954 Ported fdsrc to 0.9.
7956 2005-07-16 Wim Taymans <wim@fluendo.com>
7958 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7959 (gst_base_sink_do_sync):
7962 2005-07-16 Wim Taymans <wim@fluendo.com>
7964 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7965 (gst_base_sink_event), (gst_base_sink_get_times),
7966 (gst_base_sink_do_sync), (gst_base_sink_change_state):
7967 * gst/base/gstbasesink.h:
7968 Store and use discont values when syncing buffers as described
7971 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7972 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7973 (gst_base_src_activate_push):
7974 Push discont event when starting.
7976 * gst/elements/gstidentity.c: (gst_identity_transform):
7979 * gst/gstbin.c: (gst_bin_change_state):
7980 Small cleanups in base_time distribution.
7982 * gst/gstelement.c: (gst_element_set_base_time),
7983 (gst_element_get_base_time), (gst_element_change_state):
7985 Added methods for the base_time of the element.
7988 * gst/gstpipeline.c: (gst_pipeline_send_event),
7989 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7990 (gst_pipeline_get_last_stream_time):
7991 * gst/gstpipeline.h:
7993 Handle seeking as described in design doc, remove stream_time
7995 Cleanups clock and stream_time selection code. Added accessors
7996 for the stream_time.
7999 2005-07-16 Andy Wingo <wingo@pobox.com>
8001 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8004 2005-07-16 Wim Taymans <wim@fluendo.com>
8006 * check/gst/gstbin.c: (GST_START_TEST):
8007 Make elements silent as the deep_notify refs the
8008 parent, which might make the test fail.
8010 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8011 Don't hold the lock for too long.
8013 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
8015 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8016 Don't unref the caps we passed to gst_caps_make_writable() after
8017 passing them. gst_caps_make_writable() will do that for us.
8019 2005-07-15 Andy Wingo <wingo@pobox.com>
8021 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8024 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8025 own marshalling function for the handoff signal. Properly type the
8026 buffer as a buffer. Fixes some warnings. Should do a more general
8028 (gst_identity_class_init): Plug into the right marshaller.
8030 2005-07-15 Wim Taymans <wim@fluendo.com>
8032 * docs/design/part-TODO.txt:
8033 * docs/design/part-clocks.txt:
8034 * docs/design/part-element-sink.txt:
8035 * docs/design/part-events.txt:
8036 * docs/design/part-gstpipeline.txt:
8037 Updated docs, mostly DISCONT related.
8039 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
8041 * docs/pwg/building-pads.xml:
8042 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8044 2005-07-15 Andy Wingo <wingo@pobox.com>
8046 * tools/gst-typefind.c: Update, add copyright block.
8048 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8049 Normalize and truncate caps before fixation.
8052 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8053 discards all but the first structure from its argument.
8055 2005-07-15 Wim Taymans <wim@fluendo.com>
8057 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8058 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8059 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8060 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8061 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8062 (gst_base_transform_chain), (gst_base_transform_change_state),
8063 (gst_base_transform_set_passthrough),
8064 (gst_base_transform_is_passthrough):
8065 * gst/base/gstbasetransform.h:
8066 Make passthrough work using the bufferpools.
8067 Changed API a bit, subclasses have to write into a buffer
8068 provided by the base class.
8069 More debug info in nego functions.
8071 * gst/elements/gstidentity.c: (gst_identity_init),
8072 (gst_identity_transform):
8073 Port to new base class.
8075 2005-07-15 Wim Taymans <wim@fluendo.com>
8077 * gst/gstmessage.c: (gst_message_new_state_changed):
8078 * tools/gst-launch.c: (event_loop), (main):
8079 Totally dump messages in -launch with the -m option.
8080 Fix message name for State messages,
8082 2005-07-14 Wim Taymans <wim@fluendo.com>
8084 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8085 Post error messages on errors.
8087 2005-07-14 Wim Taymans <wim@fluendo.com>
8089 * gst/gstcaps.c: (gst_caps_do_simplify):
8093 Define error for stream stopped.
8095 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8096 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8097 Do proper return values.
8099 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8100 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8101 (gst_pad_get_range):
8102 Better return values.
8105 Reorganise return values, add macro to check for fatal errors.
8107 * gst/gstqueue.c: (gst_queue_chain):
8108 Return proper GstFlowReturn values,
8110 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
8112 * docs/gst/gstreamer-sections.txt:
8113 * docs/gst/gstreamer.types:
8114 * docs/gst/tmpl/gst.sgml:
8115 * docs/gst/tmpl/gstbasesink.sgml:
8116 * docs/gst/tmpl/gstbasesrc.sgml:
8117 * docs/gst/tmpl/gstbasetransform.sgml:
8118 * docs/gst/tmpl/gstbin.sgml:
8119 * docs/gst/tmpl/gstbuffer.sgml:
8120 * docs/gst/tmpl/gstcaps.sgml:
8121 * docs/gst/tmpl/gstclock.sgml:
8122 * docs/gst/tmpl/gstcompat.sgml:
8123 * docs/gst/tmpl/gstconfig.sgml:
8124 * docs/gst/tmpl/gstelement.sgml:
8125 * docs/gst/tmpl/gstelementdetails.sgml:
8126 * docs/gst/tmpl/gstelementfactory.sgml:
8127 * docs/gst/tmpl/gstenumtypes.sgml:
8128 * docs/gst/tmpl/gsterror.sgml:
8129 * docs/gst/tmpl/gstevent.sgml:
8130 * docs/gst/tmpl/gstfakesink.sgml:
8131 * docs/gst/tmpl/gstfakesrc.sgml:
8132 * docs/gst/tmpl/gstfilesink.sgml:
8133 * docs/gst/tmpl/gstfilesrc.sgml:
8134 * docs/gst/tmpl/gstfilter.sgml:
8135 * docs/gst/tmpl/gstformat.sgml:
8136 * docs/gst/tmpl/gstghostpad.sgml:
8137 * docs/gst/tmpl/gstimplementsinterface.sgml:
8138 * docs/gst/tmpl/gstindex.sgml:
8139 * docs/gst/tmpl/gstindexfactory.sgml:
8140 * docs/gst/tmpl/gstinfo.sgml:
8141 * docs/gst/tmpl/gstiterator.sgml:
8142 * docs/gst/tmpl/gstmacros.sgml:
8143 * docs/gst/tmpl/gstmemchunk.sgml:
8144 * docs/gst/tmpl/gstminiobject.sgml:
8145 * docs/gst/tmpl/gstobject.sgml:
8146 * docs/gst/tmpl/gstpad.sgml:
8147 * docs/gst/tmpl/gstpadtemplate.sgml:
8148 * docs/gst/tmpl/gstparse.sgml:
8149 * docs/gst/tmpl/gstpipeline.sgml:
8150 * docs/gst/tmpl/gstplugin.sgml:
8151 * docs/gst/tmpl/gstpluginfeature.sgml:
8152 * docs/gst/tmpl/gstquery.sgml:
8153 * docs/gst/tmpl/gstqueue.sgml:
8154 * docs/gst/tmpl/gstregistry.sgml:
8155 * docs/gst/tmpl/gstregistrypool.sgml:
8156 * docs/gst/tmpl/gstscheduler.sgml:
8157 * docs/gst/tmpl/gstschedulerfactory.sgml:
8158 * docs/gst/tmpl/gststructure.sgml:
8159 * docs/gst/tmpl/gstsystemclock.sgml:
8160 * docs/gst/tmpl/gsttaglist.sgml:
8161 * docs/gst/tmpl/gsttagsetter.sgml:
8162 * docs/gst/tmpl/gsttrace.sgml:
8163 * docs/gst/tmpl/gsttrashstack.sgml:
8164 * docs/gst/tmpl/gsttypefind.sgml:
8165 * docs/gst/tmpl/gsttypefindfactory.sgml:
8166 * docs/gst/tmpl/gsttypes.sgml:
8167 * docs/gst/tmpl/gsturihandler.sgml:
8168 * docs/gst/tmpl/gsturitype.sgml:
8169 * docs/gst/tmpl/gstutils.sgml:
8170 * docs/gst/tmpl/gstvalue.sgml:
8171 * docs/gst/tmpl/gstversion.sgml:
8172 * docs/gst/tmpl/gstxml.sgml:
8173 * docs/libs/tmpl/gstcontrol.sgml:
8174 * docs/libs/tmpl/gstdataprotocol.sgml:
8175 * docs/libs/tmpl/gstdparam.sgml:
8176 * docs/libs/tmpl/gstdplinint.sgml:
8177 * docs/libs/tmpl/gstdpman.sgml:
8178 * docs/libs/tmpl/gstdpsmooth.sgml:
8179 * docs/libs/tmpl/gstgetbits.sgml:
8180 * docs/libs/tmpl/gstunitconvert.sgml:
8181 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8182 (gst_push_src_base_init), (gst_push_src_class_init),
8183 (gst_push_src_init), (gst_push_src_create):
8184 * gst/base/gstpushsrc.h:
8185 * gst/elements/gstelements.c:
8186 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8187 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8188 (gst_fake_sink_init), (gst_fake_sink_set_property),
8189 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8190 (gst_fake_sink_event), (gst_fake_sink_preroll),
8191 (gst_fake_sink_render), (gst_fake_sink_change_state):
8192 * gst/elements/gstfakesink.h:
8193 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8194 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8195 (gst_fake_src_base_init), (gst_fake_src_class_init),
8196 (gst_fake_src_init), (gst_fake_src_event_handler),
8197 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8198 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8199 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8200 (gst_fake_src_create_buffer), (gst_fake_src_create),
8201 (gst_fake_src_start), (gst_fake_src_stop):
8202 * gst/elements/gstfakesrc.h:
8203 * gst/elements/gstfilesink.c: (_do_init),
8204 (gst_file_sink_base_init), (gst_file_sink_class_init),
8205 (gst_file_sink_init), (gst_file_sink_dispose),
8206 (gst_file_sink_set_location), (gst_file_sink_set_property),
8207 (gst_file_sink_get_property), (gst_file_sink_open_file),
8208 (gst_file_sink_close_file), (gst_file_sink_query),
8209 (gst_file_sink_event), (gst_file_sink_render),
8210 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8211 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8212 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8213 * gst/elements/gstfilesink.h:
8214 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8215 (gst_file_src_class_init), (gst_file_src_init),
8216 (gst_file_src_finalize), (gst_file_src_set_location),
8217 (gst_file_src_set_property), (gst_file_src_get_property),
8218 (gst_file_src_map_region), (gst_file_src_map_small_region),
8219 (gst_file_src_create_mmap), (gst_file_src_create_read),
8220 (gst_file_src_create), (gst_file_src_is_seekable),
8221 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8222 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8223 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8224 (gst_file_src_uri_handler_init):
8225 * gst/elements/gstfilesrc.h:
8226 more autistic cleanliness in functions/names/defines
8228 2005-07-13 Andy Wingo <wingo@pobox.com>
8230 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8231 source couldn't negotiate.
8233 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8237 * gst/gstutils.c (gst_element_link_pads_filtered): New old
8238 function. I am channeling Hades. Put your boots on suckers!!!
8240 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
8242 * testsuite/caps/Makefile.am:
8243 * testsuite/caps/value_compare.c:
8244 * testsuite/caps/value_intersect.c:
8245 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8246 move two testsuite apps over to the check dir
8248 2005-07-12 Wim Taymans <wim@fluendo.com>
8250 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8251 Added more debug info in the negotiate process.
8254 Prepare for segment playback.
8256 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8262 * tools/gst-launch.c: (main):
8263 NULL pipeline on errors.
8265 2005-07-12 Andy Wingo <wingo@pobox.com>
8267 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8268 not it comes from a malloc region. Make sure our copy gets freed.
8270 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
8272 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8273 * check/gst/gstmessage.c: (GST_START_TEST):
8274 * check/gst/gststructure.c: (GST_START_TEST),
8275 (gst_structure_suite), (main):
8277 * gst/gstelement.c: (gst_element_message_full):
8278 clean up GError and debug string now that they get copied
8279 * gst/gstmessage.c: (gst_message_new_error),
8280 (gst_message_new_warning), (gst_message_parse_error),
8281 (gst_message_parse_warning):
8282 use GST_TYPE_G_ERROR for structure_new, and take copies of
8283 arguments, so that we don't mess up refcounting
8285 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
8287 * check/Makefile.am:
8288 add per-test valgrind targets
8289 * check/gst-libs/gdp.c: (GST_START_TEST),
8290 (gst_data_protocol_suite), (main):
8293 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
8295 * check/Makefile.am:
8296 instate more valgrindable tests
8297 * check/elements/gstfakesrc.c: (chain_func), (event_func),
8298 (GST_START_TEST), (fakesrc_suite):
8299 * check/gst/gstpad.c: (GST_START_TEST):
8300 * check/gst/gststructure.c: (GST_START_TEST):
8302 * docs/gst/tmpl/gstminiobject.sgml:
8303 * gst/gstpad.c: (gst_pad_finalize):
8304 fix the static mutex leak
8306 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
8308 * check/Makefile.am:
8309 add two more tests for valgrinding
8310 * check/gst/gstvalue.c: (GST_START_TEST):
8311 test refcount of deserialized buffer, found a leak
8312 * docs/gst/gstreamer-docs.sgml:
8313 * docs/gst/gstreamer-sections.txt:
8314 * docs/gst/gstreamer.types:
8315 * docs/gst/tmpl/gstminiobject.sgml:
8316 add miniobject to docs
8317 * gst/gstminiobject.c:
8319 * gst/gstvalue.c: (gst_value_deserialize_buffer),
8320 (gst_string_unwrap):
8321 fix a hard-to-find invalid write for one of the tests
8322 fix a leak for deserialized buffers
8324 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8326 * docs/pwg/advanced-events.xml:
8327 * docs/pwg/advanced-request.xml:
8328 * docs/pwg/advanced-scheduling.xml:
8329 * docs/pwg/appendix-porting.xml:
8330 * docs/pwg/building-boiler.xml:
8331 * docs/pwg/intro-preface.xml:
8332 * docs/pwg/other-ntoone.xml:
8333 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8334 of example code and explanation for pad activation, loop() and
8335 getrange() functions and a bit more. Remove old comments pointing
8337 * examples/pwg/Makefile.am:
8338 Add loop/getrange examples.
8340 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
8343 check for valgrind binary + some fixes
8345 valgrind suppressions for the tests
8346 * check/Makefile.am:
8347 add a valgrind: target that valgrinds the unit tests
8348 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8349 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8350 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8351 * check/gst/gstghostpad.c:
8353 * check/gst/gstdata.c:
8355 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8356 (thread_unref), (gst_mini_object_suite), (main):
8358 * gst/gst.c: (gst_deinit):
8360 add a method to clean up.
8361 * gst/gstsystemclock.c: (gst_system_clock_dispose),
8362 (gst_system_clock_obtain):
8363 allow for disposing the system clock.
8364 * tools/gst-launch.c: (main):
8367 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
8369 * docs/gst/tmpl/gstbasesrc.sgml:
8370 * docs/gst/tmpl/gstfakesrc.sgml:
8371 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8372 (gst_base_src_init), (gst_base_src_set_property),
8373 (gst_base_src_get_property), (gst_base_src_get_range),
8374 (gst_base_src_start):
8375 * gst/base/gstbasesrc.h:
8376 add num-buffers property
8377 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8378 (gst_fakesrc_init), (gst_fakesrc_set_property),
8379 (gst_fakesrc_get_property), (gst_fakesrc_create),
8380 (gst_fakesrc_start):
8381 remove num-buffers property
8383 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
8385 * docs/gst/gstreamer-sections.txt:
8386 * docs/gst/tmpl/gstbasesink.sgml:
8387 * docs/gst/tmpl/gstbasesrc.sgml:
8388 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8389 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8390 (gst_base_sink_finalize), (gst_base_sink_set_clock),
8391 (gst_base_sink_set_property), (gst_base_sink_get_property),
8392 (gst_base_sink_handle_object), (gst_base_sink_event),
8393 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8394 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8395 (gst_base_sink_loop), (gst_base_sink_deactivate),
8396 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8397 (gst_base_sink_change_state):
8398 * gst/base/gstbasesink.h:
8399 * gst/base/gstbasesrc.h:
8400 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8401 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8402 (gst_filesink_init):
8403 more macro splitting
8405 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
8407 * gst/gstelement.c: (gst_element_get_bus):
8409 * tools/gst-launch.c: (check_intr), (event_loop):
8412 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
8414 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8417 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
8419 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8420 (gst_base_src_finalize):
8421 add finalize method and clean up properly
8422 * gst/gstpipeline.c: (gst_pipeline_dispose):
8425 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
8427 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8429 add more things to check
8430 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8434 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
8436 * check/elements/gstfakesrc.c: (chain_func), (event_func),
8437 (GST_START_TEST), (fakesrc_suite):
8438 * check/gst-libs/gdp.c: (GST_START_TEST):
8439 * check/gst/gst.c: (GST_START_TEST):
8440 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8441 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8442 * check/gst/gstbus.c: (GST_START_TEST):
8443 * check/gst/gstcaps.c: (GST_START_TEST):
8444 * check/gst/gstdata.c: (GST_START_TEST):
8445 * check/gst/gstelement.c: (GST_START_TEST):
8446 * check/gst/gstghostpad.c: (GST_START_TEST):
8447 * check/gst/gstiterator.c: (GST_START_TEST):
8448 * check/gst/gstmessage.c: (GST_START_TEST):
8449 * check/gst/gstobject.c: (GST_START_TEST):
8450 * check/gst/gstpad.c: (GST_START_TEST):
8451 * check/gst/gststructure.c: (GST_START_TEST):
8452 * check/gst/gstsystemclock.c: (GST_START_TEST),
8453 (gst_systemclock_suite):
8454 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8455 * check/gst/gstvalue.c: (GST_START_TEST):
8456 * check/pipelines/cleanup.c: (GST_START_TEST):
8457 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8458 * check/states/sinks.c: (GST_START_TEST):
8459 * check/gstcheck.c: (gst_check_init):
8461 add debugging category
8462 use GST_START_TEST now, so we add a debug line
8464 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
8466 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8467 add test for state change message on a bin
8468 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8470 * gst/gstbin.c: (gst_bin_init):
8471 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8472 * gst/gstelement.c: (gst_element_post_message),
8473 (gst_element_set_state):
8474 * gst/gstelementfactory.c: (gst_element_factory_create):
8475 * gst/gstmessage.c: (gst_message_new):
8476 * gst/gstscheduler.c:
8477 various debugging additions and cleanups
8479 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
8481 * check/Makefile.am:
8482 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8484 adding tests for elements
8485 * gst/gstelement.c: (gst_element_dispose):
8487 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
8489 * gst/registries/gstlibxmlregistry.c: (load_feature):
8490 plug more leaks. A simple gst_init() now is leakfree, yay.
8492 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
8494 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8495 (gst_xml_registry_load):
8496 plug another memleak
8498 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
8501 use GST_SET_ERROR_CFLAGS
8503 change to ERROR_CFLAGS
8505 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
8508 make GST_ERROR_CFLAGS overridable and re-enable Werror
8510 add a note about error CFLAGS
8511 * docs/gst/tmpl/gstfakesrc.sgml:
8512 * gst/elements/gstfakesrc.c:
8513 comment out some unused code
8514 * gst/gst.c: (split_and_iterate):
8515 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8519 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
8521 * common/Makefile.am:
8522 * common/gtk-doc.mak:
8523 * docs/gst/Makefile.am:
8524 factor out gtk-doc.mak
8526 2005-07-07 Wim Taymans <wim@fluendo.com>
8528 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8529 (gst_thread_scheduler_dispose):
8530 Unlock the STREAM_LOCK completely.
8532 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
8534 * check/Makefile.am:
8535 * check/elements/.cvsignore:
8536 * check/elements/gstfakesrc.c: (chain_func), (event_func),
8537 (START_TEST), (fakesrc_suite), (main):
8538 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8539 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8540 (gst_fakesrc_create), (gst_fakesrc_start):
8541 * gst/elements/gstfakesrc.h:
8542 adding a first element test
8544 2005-07-07 Andy Wingo <wingo@pobox.com>
8546 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8549 2005-07-07 Wim Taymans <wim@fluendo.com>
8555 2005-07-07 Wim Taymans <wim@fluendo.com>
8557 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8558 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8559 Allow subclasses to implement their own negotiation.
8561 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
8563 * docs/design/part-gstbin.txt:
8564 * docs/design/part-gstpipeline.txt:
8565 Update design notes to reflect the movement of
8566 responsibility for bus handling from GstPipeline to
8569 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
8572 Remove unnecessary queue2/3/4 examples.
8574 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
8576 * examples/Makefile.am:
8577 * examples/helloworld/helloworld.c: (event_loop), (main):
8578 * examples/queue/queue.c: (event_loop), (main):
8579 * examples/queue2/queue2.c: (main):
8580 Update a couple of the examples to work again.
8582 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8583 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8584 Spelling corrections and extra debug.
8586 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8587 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8588 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8590 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8591 (gst_pipeline_change_state):
8592 * gst/gstpipeline.h:
8593 Move the bus handler for children to the GstBin, and create a
8594 separate bus for receiving messages from children to the one the
8595 bus sends 'upwards' on.
8597 2005-07-06 Wim Taymans <wim@fluendo.com>
8600 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8601 (gst_base_sink_handle_object), (gst_base_sink_loop),
8602 (gst_base_sink_change_state):
8603 * gst/base/gstbasesink.h:
8604 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8605 (gst_base_src_init), (gst_base_src_setcaps),
8606 (gst_base_src_getcaps), (gst_base_src_loop),
8607 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8608 (gst_base_src_start), (gst_base_src_change_state):
8609 * gst/base/gstbasesrc.h:
8610 Make basesrc negotiate.
8611 Handle the case where preroll fails in basesink.
8614 2005-07-06 Wim Taymans <wim@fluendo.com>
8616 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8617 Implement the fixate function.
8618 Clean up acceptcaps.
8620 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8622 * docs/pwg/building-filterfactory.xml:
8624 Remove never-written filter-factory chapter; I'll add the various
8625 base classes to part 4 ("other element types") later on.
8627 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8629 * docs/pwg/advanced-negotiation.xml:
8630 * docs/pwg/building-boiler.xml:
8631 * docs/pwg/building-pads.xml:
8633 * examples/pwg/Makefile.am:
8634 Add a chapter on caps negotiation, simplify the original code
8635 samples a bit w.r.t. caps negotiation, add link to the advanced
8636 section. Add a bunch of examples showing different use cases of
8637 different types of caps negotiation. Upstream renegotiation isn't
8638 fully documented yet since nobody knows how that works.
8640 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
8642 * check/gst/gstpad.c:
8644 * gst/gstpad.c: (gst_pad_get_internal_links_default):
8645 if pad has no parent, return NULL as list of internal links
8647 2005-07-05 Andy Wingo <wingo@pobox.com>
8649 * gst/elements/gstfilesrc.c:
8650 * gst/elements/gstfakesrc.c:
8651 * gst/base/gstpushsrc.c:
8652 * gst/base/gstbasesrc.h:
8653 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8655 2005-07-05 Stefan Kost <ensonic@users.sf.net>
8658 better report generation target (lcov needs a patch)
8660 2005-07-05 Andy Wingo <wingo@pobox.com>
8662 * gst/elements, testsuite: Null if we got it...
8664 2005-07-05 Wim Taymans <wim@fluendo.com>
8667 * libs/gst/dataprotocol/Makefile.am:
8668 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8669 * libs/gst/dataprotocol/dataprotocol.h:
8670 * pkgconfig/Makefile.am:
8671 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8672 * pkgconfig/gstreamer-dataprotocol.pc.in:
8673 Ported dataprotol to 0.9.
8674 Added pkgconfig files.
8676 2005-07-05 Andy Wingo <wingo@pobox.com>
8678 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8679 Default to returning TRUE for the case when tranform_caps returns
8680 a fixed caps, like for identity or volume.
8682 * check/gst/gstbus.c (pound_bus_with_messages):
8683 * check/gst/gstmessage.c (START_TEST):
8684 * check/pipelines/simple_launch_lines.c (got_handoff): Application
8687 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8688 logic weaks here: always run transform_caps, trying passthrough
8689 operation only if the original caps intersects with the transform.
8691 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8692 source and sink caps.
8694 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8695 Intersect the peer caps with the pad template before going into
8697 (gst_base_transform_transform_caps): More debugging.
8699 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8702 2005-07-04 Edward Hervey <edward@fluendo.com>
8706 (gst_pad_add_*_probe): now returns the signal id for better wrapping
8709 2005-07-04 Andy Wingo <wingo@pobox.com>
8711 * check/gst/gstpad.c: Only set explicit caps on pads.
8713 2005-07-01 Andy Wingo <wingo@pobox.com>
8715 * tests/network-clock.scm: Commentary update.
8717 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8718 Didn't really make sense, not implementable with basetransform,
8720 (gst_identity_transform): Unref inbuf via make_writable. Feeble
8721 attempt at implementing the sync property, needs an unlock method.
8723 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8724 New func, by default returns the same caps (the identity
8726 (gst_base_transform_getcaps): Uses transform_caps to return
8728 (gst_base_transform_setcaps): Complicated logic to get caps on
8729 both pads, even if they are different, and to call set_caps once
8730 for every time both pads get their caps set.
8731 (gst_base_transform_handle_buffer): Give the ref to the transform
8732 function. Allows in-place modification of the buffer.
8734 * gst/base/gstbasetransform.h (transform_caps): New class method.
8735 Given caps on one side, what can I do on the other.
8736 (set_caps): Take two caps, one for each side of the element.
8739 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8740 caps in place. This is safe because we can check the mutability of
8741 the caps, and a good idea because fixate functions are just called
8742 as a matter of last resort. (Not actually implemented.)
8743 (gst_pad_set_caps): If the caps we're setting is actually the same
8744 as the existing pad caps, just update the pointer without calling
8745 setcaps. Assert that caps is either NULL or fixed, as per the
8748 * gst/gstghostpad.c: Update for fixate changes.
8750 2005-07-02 Andy Wingo <wingo@pobox.com>
8753 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8754 two refcounts makes it immutable, which is enough. Doc more.
8756 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
8758 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8759 Put the mini_object into GValue as a mini_object,
8760 not a gpointer, since that's how we declared
8763 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8765 * examples/pwg/Makefile.am:
8768 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8770 * docs/pwg/building-testapp.xml:
8772 * examples/pwg/Makefile.am:
8775 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8778 * examples/Makefile.am:
8779 * examples/pwg/Makefile.am:
8780 * examples/pwg/extract.pl:
8781 Enable building the PWG examples.
8782 * docs/pwg/advanced-interfaces.xml:
8783 Add URI interface stub.
8784 * docs/pwg/advanced-types.xml:
8785 * docs/pwg/other-autoplugger.xml:
8786 * docs/pwg/appendix-porting.xml:
8788 Add porting guide (mostly stubs), remove autoplugging (see ADM).
8789 * docs/pwg/building-boiler.xml:
8790 * docs/pwg/building-chainfn.xml:
8791 * docs/pwg/building-pads.xml:
8792 * docs/pwg/building-props.xml:
8793 * docs/pwg/building-state.xml:
8794 * docs/pwg/building-testapp.xml:
8795 Update the building-*.xml parts for 0.9 changes. All examples
8796 code blocks compile in examples/pwg/*.
8798 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8800 * docs/manual/advanced-autoplugging.xml:
8801 * docs/manual/appendix-checklist.xml:
8802 * docs/manual/appendix-integration.xml:
8803 * docs/manual/highlevel-components.xml:
8804 Fix playbin/decodebin examples, update docs a bit, mention bus
8805 instead of signals in various places, mention kmplayer and
8806 kaffeine since they have a working GStreamer backend in the KDE
8809 2005-06-30 Wim Taymans <wim@fluendo.com>
8812 * docs/design/draft-ghostpads.txt:
8813 * docs/design/draft-push-pull.txt:
8814 * docs/design/draft-query.txt:
8815 * docs/design/part-TODO.txt:
8816 * docs/design/part-query.txt:
8817 Added CHANGES-0.9 doc, updated status of other docs.
8822 2005-06-30 Wim Taymans <wim@fluendo.com>
8824 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8825 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8826 (gst_base_sink_change_state):
8827 * gst/base/gstbasesink.h:
8828 Some tweaks, only EOS and a buffer complete a preroll.
8830 2005-06-30 Andy Wingo <wingo@pobox.com>
8832 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8833 activate_push down to the internal pad as well.
8835 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
8837 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8839 * gst/gsttaginterface.c:
8840 Some documentation fixes (#307394 and #307397).
8842 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
8844 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8846 * gst/gstvalue.c: (gst_value_intersect_list):
8847 Fix memleak (#309125).
8849 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8851 * docs/manual/advanced-dataaccess.xml:
8852 Fix fakesrc example to compile; doesn't work, bug somewhere...?
8853 * docs/manual/basics-pads.xml:
8854 Add reference for filtered caps to above chapter.
8856 2005-06-30 Wim Taymans <wim@fluendo.com>
8858 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8859 (gst_bin_change_state):
8861 Lame attempt at making the state change function a bit
8864 2005-06-30 Wim Taymans <wim@fluendo.com>
8866 * docs/design/part-clocks.txt:
8867 * docs/design/part-element-sink.txt:
8868 * docs/design/part-events.txt:
8869 * docs/design/part-preroll.txt:
8870 * docs/design/part-states.txt:
8871 Some more tweeks and additions to the docs.
8873 2005-06-30 Wim Taymans <wim@fluendo.com>
8875 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8876 (default_have_data), (gst_pad_class_init), (gst_pad_init),
8877 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8878 (gst_pad_check_pull_range), (gst_pad_get_range),
8879 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8881 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8882 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8883 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8884 (gst_pad_remove_buffer_probe):
8885 Removed atomic operations, use existing LOCK.
8886 Move exception handling out of main code path.
8888 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8890 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8891 (silly_return_true_function), (gst_pad_class_init),
8892 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8893 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8894 (gst_pad_send_event):
8895 Fix accumulator, add default value by using _emitv() instead
8896 of _emit() for signal emission.
8898 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8900 * docs/manual/advanced-dataaccess.xml:
8901 * examples/manual/Makefile.am:
8903 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8906 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
8908 * gst/elements/gstfilesink.c: (gst_filesink_render):
8909 Simplify code so that we don't have to handle short
8910 writes and return GST_FLOW_ERROR if an error occured.
8912 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8914 * docs/gst/gstreamer-docs.sgml:
8917 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8919 * docs/gst/gstreamer-sections.txt:
8920 * docs/gst/tmpl/gstpad.sgml:
8921 * docs/gst/tmpl/gstprobe.sgml:
8923 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8924 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8925 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8926 (gst_pad_push_event), (gst_pad_send_event):
8928 * gst/gstutils.c: (gst_pad_add_data_probe),
8929 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8930 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8931 (gst_pad_remove_buffer_probe):
8933 Remove old probes, add new g-signal-based probes and some utility
8936 2005-06-29 Edward Hervey <edward@fluendo.com>
8938 * gst/gstelementfactory.c:
8941 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8942 the definition to the header file.
8944 2005-06-29 Andy Wingo <wingo@pobox.com>
8946 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8947 plugins from the source directory.
8949 2005-06-29 Wim Taymans <wim@fluendo.com>
8951 * docs/gst/tmpl/gstbuffer.sgml:
8952 * docs/gst/tmpl/gstclock.sgml:
8953 Some fixings for blantently wrong text.
8955 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
8957 * check/Makefile.am:
8958 * gst/gst.c: (add_path_func), (init_pre):
8959 * gst/gstregistry.c: (gst_registry_add_path):
8960 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8961 only scan the GST_PLUGIN_PATH locations, and not add
8964 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
8966 * docs/gst/gstreamer-sections.txt:
8967 * docs/gst/tmpl/gstbasesrc.sgml:
8974 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8976 * docs/manual/advanced-autoplugging.xml:
8977 Fix autoplugging example.
8979 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8981 * docs/manual/advanced-autoplugging.xml:
8982 * docs/manual/mime-world.fig:
8983 Try to get autoplugging working, fix type detection. Fix text
8984 in hello-world image.
8986 2005-06-29 Wim Taymans <wim@fluendo.com>
8988 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8989 (gst_base_sink_change_state):
8993 map SIGNAL and BROADCAST to the right function.
8996 Remove redundant braces.
8998 * gst/gstpad.c: (gst_pad_set_caps):
8999 Don't call setcaps function when reseting caps to NULL.
9001 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9002 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9003 (gst_system_clock_id_unschedule):
9004 Use BROADCAST as this is what we do.
9006 2005-06-29 Wim Taymans <wim@fluendo.com>
9008 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9009 We are actually prerolling before commiting the state
9012 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9014 * docs/manual/advanced-clocks.xml:
9015 * docs/manual/advanced-interfaces.xml:
9016 * docs/manual/advanced-metadata.xml:
9017 * docs/manual/advanced-position.xml:
9018 * docs/manual/advanced-schedulers.xml:
9019 * docs/manual/advanced-threads.xml:
9020 * docs/manual/appendix-porting.xml:
9021 * docs/manual/basics-bins.xml:
9022 * docs/manual/basics-bus.xml:
9023 * docs/manual/basics-elements.xml:
9024 * docs/manual/basics-helloworld.xml:
9025 * docs/manual/basics-pads.xml:
9026 * docs/manual/highlevel-components.xml:
9027 * docs/manual/manual.xml:
9028 * docs/manual/thread.fig:
9029 Update (until threads/scheduling) Application Development Manual;
9030 remove GstThread, add GstBus, add simple porting checklist, add
9031 documentation for tag writing, clocks, make all examples until this
9032 part compile and run.
9033 * examples/manual/Makefile.am:
9034 Update from changes to Application Development Manual; add bus
9035 example, remove thread example.
9037 2005-06-28 Wim Taymans <wim@fluendo.com>
9039 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9040 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9041 (gst_bus_source_dispatch):
9042 Add debugging messages.
9043 Make internal methods static.
9044 Handle the case where the bus is flushed in the handler.
9046 * gst/gstelement.c: (gst_element_get_bus):
9047 Fix refcount in _get_bus();
9049 * gst/gstpipeline.c: (gst_pipeline_change_state),
9050 (gst_pipeline_get_clock_func):
9051 Clock refcounting fixes.
9052 Handle the case where preroll timed out more gracefully.
9054 * gst/gstsystemclock.c: (gst_system_clock_dispose):
9055 Clean up the internal thread in dispose. This is needed
9056 for subclasses that actually get disposed.
9058 * gst/schedulers/threadscheduler.c:
9059 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9060 (gst_thread_scheduler_dispose):
9061 Free thread pool in dispose.
9063 2005-06-28 Andy Wingo <wingo@pobox.com>
9065 * tests/network-clock-utils.scm (debug, print-event): New utils.
9067 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9068 (*packet-loss*): Unified loss probability.
9069 (network-time): Report out-of-band events.
9071 * tests/plot-data: Add support for out-of-band events. Hack it
9072 into this script instead of passing it down the pipe; should fix
9075 2005-06-28 Wim Taymans <wim@fluendo.com>
9077 * docs/gst/gstreamer.types:
9078 * docs/gst/tmpl/gstbasesrc.sgml:
9079 * docs/gst/tmpl/gstpad.sgml:
9082 2005-06-28 Wim Taymans <wim@fluendo.com>
9084 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9085 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9086 (gst_proxy_pad_do_fixatecaps):
9087 Correctly proxy the check_pull_range function.
9089 2005-06-28 Andy Wingo <wingo@pobox.com>
9091 * tests/network-clock.scm: Removed need for slib.
9093 2005-06-28 Wim Taymans <wim@fluendo.com>
9095 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9096 (gst_basesink_preroll_queue_flush):
9097 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9098 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9099 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9100 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9101 (gst_proxy_pad_set_property):
9104 * gst/gstqueue.c: (gst_queue_init):
9105 The deprecated pad loop function is removed now.
9107 2005-06-28 Andy Wingo <wingo@pobox.com>
9109 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9110 New parameters, simulate network packet loss.
9112 * tests/network-clock-utils.scm: Initialize the RNG.
9114 2005-06-28 Wim Taymans <wim@fluendo.com>
9116 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9117 (gst_basesink_event), (gst_basesink_deactivate):
9118 Flushing the preroll queue always needs to unlock the waiters.
9120 2005-06-28 Edward Hervey <edward@fluendo.com>
9122 * gst/gstpipeline.c: (gst_pipeline_send_event):
9123 Wheen a seek was successful on a pipeline, set the stream_time to the
9124 seek offset in order to have a synchronized stream_time.
9126 2005-06-28 Wim Taymans <wim@fluendo.com>
9128 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9129 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9130 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9131 (gst_proxy_pad_do_fixatecaps):
9132 Call wrapper function instead of just calling the function
9133 pointers. This takes care of any locking and whatmore.
9135 2005-06-28 Wim Taymans <wim@fluendo.com>
9137 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9138 (gst_pad_pull_range):
9140 CONNECTED -> LINKED.
9142 2005-06-28 Andy Wingo <wingo@pobox.com>
9144 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9145 source-munging commit!!!
9147 * gst/gstobject.c (gst_object_unref, gst_object_ref)
9148 (gst_object_sink): Take gpointer arguments, not GstObject --
9149 avoids casts. Like GLib.
9151 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9154 2005-06-27 Andy Wingo <wingo@pobox.com>
9156 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9159 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9160 returns a sorted copy of the trace list.
9161 (gst_alloc_trace_print_live): New API, only prints traces with
9162 live objects. Sort the list.
9163 (gst_alloc_trace_print_all): Sort the list.
9164 (gst_alloc_trace_print): Align columns.
9166 * gst/elements/gstttypefindelement.c:
9167 * gst/elements/gsttee.c:
9168 * gst/base/gstbasesrc.c:
9169 * gst/base/gstbasesink.c:
9170 * gst/base/gstbasetransform.c:
9171 * gst/gstqueue.c: Adapt for pad activation changes.
9173 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9175 (gst_pipeline_dispose): Drop ref on sched.
9177 * gst/gstpad.c (gst_pad_init): Set the default activate func.
9178 (gst_pad_activate_default): Push mode by default.
9179 (pre_activate_switch, post_activate_switch): New stubs, things to
9180 do before and after switching activation modes on pads.
9181 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9182 the pad's activate function to choose which mode to activate.
9183 Shortcut on deactivation and call the right function directly.
9184 (gst_pad_activate_pull): New API, (de)activates a pad in pull
9186 (gst_pad_activate_push): New API, same for push mode.
9187 (gst_pad_set_activate_function)
9188 (gst_pad_set_activatepull_function)
9189 (gst_pad_set_activatepush_function): Setters for new API.
9191 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9192 Trace all miniobjects.
9193 (gst_mini_object_make_writable): Unref the arg if we copy, like
9194 gst_caps_make_writable.
9196 * gst/gstmessage.c (_gst_message_initialize): No trace init.
9198 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
9199 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9200 Adapt for new pad API.
9202 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9205 * gst/gstelement.c (gst_element_iterate_src_pads)
9206 (gst_element_iterate_sink_pads): New API functions.
9208 * gst/gstelement.c (iterator_fold_with_resync): New utility,
9209 should fold into gstiterator.c in some form.
9210 (gst_element_pads_activate): Simplified via use of fold and
9211 delegation of decisions to gstpad->activate.
9213 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9216 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9217 class once in init, like gstmessage. Didn't run into this issue
9218 but it seems correct. Don't initialize a trace, gstminiobject does
9221 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9222 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9224 (assert_live_count): New util function, uses alloc traces to check
9227 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9228 To be modified when unlink drops the internal pad.
9230 2005-06-27 Wim Taymans <wim@fluendo.com>
9232 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9233 (gst_bin_change_state):
9234 Cleanup the get_state() function a little, make sure it
9235 iterates the same set of elements.
9236 Added stub iterate_state_order().
9238 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
9240 * docs/gst/gstreamer-docs.sgml:
9241 * docs/gst/gstreamer-sections.txt:
9242 * docs/gst/gstreamer.types:
9243 * docs/gst/tmpl/gstbasesink.sgml:
9244 * docs/gst/tmpl/gstbasesrc.sgml:
9245 * docs/gst/tmpl/gstbasetransform.sgml:
9246 * docs/gst/tmpl/gstelement.sgml:
9247 * docs/gst/tmpl/gstiterator.sgml:
9248 * gst/base/gstbasesrc.c:
9249 * gst/base/gstbasesrc.h:
9250 * gst/base/gstbasetransform.h:
9252 * gst/gstiterator.h:
9253 adding basetransform and iterator docs
9255 2005-06-27 Andy Wingo <wingo@pobox.com>
9257 * docs/design/part-activation.txt: Notes on how activation should
9258 work -- not quite implemented yet.
9260 2005-06-25 Wim Taymans <wim@fluendo.com>
9262 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9263 At least get the chain function correct, needs more
9266 2005-06-25 Wim Taymans <wim@fluendo.com>
9268 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9269 (gst_basesink_handle_object), (gst_basesink_event),
9270 (gst_basesink_do_sync), (gst_basesink_handle_event),
9271 (gst_basesink_change_state):
9273 Right, two problems here: ghostpads don't take locks and
9274 glib _rec_mutex_lock_full() with depth==0 still locks.
9275 Catch illegal locking and g_warn them.
9277 2005-06-25 Wim Taymans <wim@fluendo.com>
9279 * check/states/sinks.c: (START_TEST), (gst_object_suite):
9280 Have to check for completion now...
9282 2005-06-25 Wim Taymans <wim@fluendo.com>
9284 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9285 (gst_basesink_handle_object), (gst_basesink_event),
9286 (gst_basesink_do_sync), (gst_basesink_handle_event),
9287 (gst_basesink_change_state):
9289 Unlock STREAM_LOCK whatever the recursion was.
9291 2005-06-25 Wim Taymans <wim@fluendo.com>
9293 * gst/base/gstbasesink.c: (gst_basesink_set_property),
9294 (gst_basesink_preroll_queue_empty),
9295 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9296 (gst_basesink_event), (gst_basesink_do_sync),
9297 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9298 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9299 (gst_basesink_change_state):
9300 Reworked the base sink, handle event and buffer serialisation
9301 correctly and removed possible deadlock.
9302 Handle EOS correctly.
9304 2005-06-25 Wim Taymans <wim@fluendo.com>
9306 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9307 (gst_pipeline_change_state):
9308 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9309 Allow elements to post EOS in the state change function.
9310 Fix up -launch, make it exit the poll loop when the
9311 pipeline actually changed state.
9312 Fix up warning parsing in -launch.
9314 2005-06-25 Wim Taymans <wim@fluendo.com>
9316 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9317 (gst_tee_sink_activate):
9318 Core takes STREAM_LOCK for us now.
9320 2005-06-25 Wim Taymans <wim@fluendo.com>
9322 * gst/gstelement.c: (gst_element_get_state_func),
9323 (gst_element_set_state):
9325 * gst/gstmessage.c: (gst_message_parse_error),
9326 (gst_message_parse_warning):
9327 Keep track of current target state while performing a state
9328 change so that subclasses can do something interesting.
9329 Fix parsing of warning/error messages when GError is NULL.
9331 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
9333 * docs/gst/Makefile.am:
9334 * docs/gst/gstreamer-docs.sgml:
9335 * docs/gst/gstreamer-sections.txt:
9336 * docs/gst/gstreamer.types:
9337 * docs/gst/tmpl/gstbasesink.sgml:
9338 * docs/gst/tmpl/gstbasesrc.sgml:
9339 * docs/gst/tmpl/gstbin.sgml:
9340 * docs/gst/tmpl/gstcompat.sgml:
9341 * docs/gst/tmpl/gstfakesink.sgml:
9342 * docs/gst/tmpl/gstfakesrc.sgml:
9343 * docs/gst/tmpl/gstfilesink.sgml:
9344 * docs/gst/tmpl/gstfilesrc.sgml:
9345 * docs/gst/tmpl/gstindex.sgml:
9346 * docs/manual/appendix-quotes.xml:
9347 * gst/base/gstbasesrc.h:
9348 * gst/elements/gstfakesrc.h:
9350 start pulling in base classes and elements in our docs
9352 2005-06-24 Stefan Kost <ensonic@users.sf.net>
9354 * docs/gst/Makefile.am:
9355 * docs/libs/Makefile.am:
9356 fixed make distcheck with gtk-doc 1.3
9358 2005-06-23 Wim Taymans <wim@fluendo.com>
9360 * gst/gstelement.c: (gst_element_get_state_func),
9361 (gst_element_set_state), (gst_element_change_state):
9362 When the state did not change, also report NO_PREROLL
9365 2005-06-23 Wim Taymans <wim@fluendo.com>
9367 * gst/gstpad.c: (gst_pad_event_default):
9368 * gst/gstqueue.c: (gst_queue_loop):
9369 No unsafe task pausing please.
9371 2005-06-23 Wim Taymans <wim@fluendo.com>
9373 * gst/schedulers/threadscheduler.c:
9374 (gst_thread_scheduler_task_start),
9375 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9376 Ref the task before pushing it on the threadpool. This
9377 makes sure that we have a ref when the threadfunction is
9380 2005-06-23 Andy Wingo <wingo@pobox.com>
9382 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9383 offset is greater than the file's size.
9385 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
9386 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9387 * gst/gstobject.c (gst_object_class_init): Make the class lock
9388 recursive. Wim won't let me drop deep_notify. Decodebin works
9391 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9392 internal pad, and hacks accordingly. Doesn't do it on the target
9393 pad because we change its caps. Probably catches all cases of
9395 (gst_ghost_pad_set_property): Connect to notify::caps as
9398 * tests/network-clock.scm (plot-simulation): Pipe data to the
9399 elite python skript.
9401 * tests/network-clock-utils.scm (define-parameter): New macro,
9402 defines a parameter that can be set via the command line.
9403 (set-parameter!, parse-parameter-arguments): Command line args
9406 * tests/plot-data: Simple matplotlib-based plotter, takes input on
9409 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
9411 * gst/elements/gsttypefindelement.c:
9412 (gst_type_find_element_handle_event):
9413 Don't restart typefinding on a discont.
9414 * gst/gstelement.c: (gst_element_set_state):
9416 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9417 Allow changing mode of an active pad.
9419 * gst/registries/gstlibxmlregistry.c: (load_feature):
9420 Don't cast a static pad template to a normal pad template.
9422 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
9424 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9425 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9426 remove gst_strtoll completely, since it didn't actually do
9427 anything more than what g_ascii_strtoull already does.
9428 check for range errors when deserializing
9429 do a cast for the unsigned cases; but further fixing needs
9430 a decision on what the interpretation of "(int)" and
9431 deserialization should be for values that fall outside the
9432 type's boundaries (ie, refuse, or interpret as casting)
9434 2005-06-23 Wim Taymans <wim@fluendo.com>
9436 * check/Makefile.am:
9437 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9438 * docs/design/part-live-source.txt:
9439 * docs/design/part-states.txt:
9440 * gst/base/gstbasesrc.c: (gst_basesrc_init),
9441 (gst_basesrc_set_live), (gst_basesrc_is_live),
9442 (gst_basesrc_get_range), (gst_basesrc_activate),
9443 (gst_basesrc_change_state):
9444 * gst/base/gstbasesrc.h:
9445 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9446 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9447 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9448 * gst/gstelement.c: (gst_element_get_state_func),
9449 (gst_element_set_state):
9452 * tools/gst-launch.c: (event_loop), (main):
9453 Added support for live sources and other elements that
9455 Updated design docs, added live-source design doc.
9456 Implemented live source functionality in basesrc
9457 Fix error condition in _bin_get_state()
9458 Implement live source handling in -launch.
9459 Added check for live sources.
9460 Fixed case in GstBin where elements were changed state
9464 2005-06-23 Andy Wingo <wingo@pobox.com>
9466 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9469 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9470 gst_caps_replace takes care of this for us.
9472 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9473 gst_pad_set_caps on the target, not just its setcaps() function.
9475 * tests/network-clock.scm:
9476 * tests/network-clock-utils.scm: A network clock simulator.
9477 Something of an algorithmic testbed before doing something in C.
9479 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
9481 * check/Makefile.am:
9482 * check/gst/capslist.h:
9483 copy over from 0.8, and add two with bitmasks specified with
9485 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9486 add test to parse everything from capslist.h
9487 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9489 add test for structure deserialization
9490 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9491 add tests for deserialization of strings to int types
9492 * gst/gststructure.c: (gst_structure_nth_field_name):
9493 * gst/gststructure.h:
9494 add a way to get the name of a field referenced by index
9495 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9496 instead of checking if the resulting long long lies between
9497 min and max, we check if the long long would fit into
9498 a number of bytes for the final type.
9499 This fixes cases where a string represents 2^32 - 1, which
9500 when cast to int would be the (valid) -1, but is bigger than
9503 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
9505 * gst/parse/grammar.y:
9506 add a log line for type deserialization
9508 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
9510 * check/gst/gstvalue.c: (START_TEST):
9511 * gst/gstvalue.c: (gst_value_deserialize):
9512 return long long, not int, so gint64 deserialization actually
9513 works. Is there any flag that makes the compiler check this ?
9516 2005-06-22 Wim Taymans <wim@fluendo.com>
9519 Added convenience macros for setting buffers in GValue.
9521 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
9523 * check/gst/.cvsignore:
9524 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9525 add a test deserializing int64, and comment part out because
9528 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
9530 * check/Makefile.am:
9531 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9532 * testsuite/Makefile.am:
9533 * testsuite/caps/Makefile.am:
9534 * testsuite/caps/value_serialize.c:
9535 * testsuite/test_gst_init.c:
9536 move a value_serialize test over
9538 2005-06-20 Wim Taymans <wim@fluendo.com>
9543 * gst/gstvalue.c: (gst_value_compare_buffer),
9544 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9545 (gst_value_compare_flags), (gst_value_serialize_flags),
9546 (gst_value_deserialize_flags), (_gst_value_initialize):
9547 Fix serialisation of buffers, they are not boxed types anymore
9549 2005-06-20 Wim Taymans <wim@fluendo.com>
9551 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9552 Testcase to show error in buffer-on-caps serialisation.
9554 2005-06-20 Andy Wingo <wingo@pobox.com>
9556 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9557 will be adding to later.
9559 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9560 if its socks fill with rocks.
9561 (gst_system_clock_obtain): Set the name on object construction.
9562 Avoid double-checked locking.
9564 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
9566 * gst/gsturi.c: (gst_element_make_from_uri):
9567 Fix potential endless loop.
9569 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
9571 * check/Makefile.am:
9573 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9575 move over from testsuite dir and clean up
9578 * testsuite/Makefile.am:
9579 * testsuite/tags/.cvsignore:
9580 * testsuite/tags/Makefile.am:
9581 * testsuite/tags/merge.c:
9582 remove testsuite/tags
9584 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
9586 * docs/gst/gstreamer-sections.txt:
9587 * docs/gst/tmpl/gstenumtypes.sgml:
9588 * win32/gstenumtypes.c:
9589 clean up documentation build a little
9591 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
9594 add macros for checking refcounts on objects and caps
9595 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9596 add some more unit tests
9597 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9598 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9599 fix leaked refcounts (I hope :)) so unittest works
9603 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
9605 * configure.ac: back to HEAD
9607 === release 0.9.1 ===
9609 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
9615 2005-06-17 Andy Wingo <wingo@pobox.com>
9617 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9618 assert; it's always possible that the pad gets deactivated in
9619 between the checks in gstpad.c and the implementation. Rely on
9620 finish_preroll() to return a FLUSHING or similar instead of on the
9623 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9624 clock and post an EOS message if we come out of finish_preroll in
9627 2005-06-16 David Schleef <ds@schleef.org>
9629 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9630 (gst_capsfilter_set_property): Allow NULL as possible value
9631 for filter_caps property, indicating GST_CAPS_ANY.
9633 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
9635 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9637 * gst/schedulers/Makefile.am:
9639 * gstreamer.spec.in:
9642 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
9644 * gstreamer.spec.in:
9647 2005-06-08 Andy Wingo <wingo@pobox.com>
9649 * gst/gstutils.c: RPAD fixes all around.
9650 (gst_element_link_pads): Refcounting fixes.
9652 * tools/gst-inspect.c:
9653 * tools/gst-xmlinspect.c:
9655 * gst/base/gsttypefindhelper.c:
9656 * gst/base/gstbasesink.c:
9657 * gst/gstqueue.c: RPAD fixes.
9659 * gst/gstghostpad.h:
9660 * gst/gstghostpad.c: New ghost pad implementation as full proxy
9661 pads. The tricky thing is they provide both source and sink
9662 interfaces, since they proxy the internal pad for the external
9663 pad, and vice versa. Implement with lower-level ProxyPad objects,
9664 with the interior proxy pad as a child of the exterior ghost pad.
9665 Should write a doc on this.
9667 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9668 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9671 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9672 pads are real pads. No ghost pads in this file. Not documenting
9673 the myriad s/RPAD/PAD/ and REALIZE fixes.
9674 (gst_pad_class_init): Add properties for "direction" and
9675 "template". Both are construct-only, so they can't change during
9676 the life of the pad. Fixes properly deriving from GstPad.
9677 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9678 derived objects, just set properties when creating the objects via
9680 (gst_pad_get_parent): Implement as a function, return NULL if the
9681 parent is not an element.
9682 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9683 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9685 * gst/gstobject.c (gst_object_class_init): Make name a construct
9686 property. Don't set it in the object init.
9688 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9689 with UNKNOWN direction.
9690 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9691 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9692 (gst_element_remove_pad): Remove ghost-pad special cases.
9693 (gst_element_pads_activate): Remove rpad cruft.
9695 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9696 catch the pad's-parent-not-an-element case.
9698 * gst/gst.h: Include gstghostpad.h.
9700 * gst/gst.c (init_post): No more real, ghost pads.
9702 * gst/Makefile.am: Add gstghostpad.[ch].
9704 * check/Makefile.am:
9705 * check/gst/gstbin.c:
9706 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9707 into a bin creates ghost pads, and that the refcounts are right.
9708 Partly moved from gstbin.c.
9710 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
9712 * check/gst-libs/.cvsignore:
9713 * check/gst/.cvsignore:
9714 * check/pipelines/.cvsignore:
9716 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9717 (START_TEST), (cleanup_suite), (main):
9718 add some tests related to cleanup after running pipelines
9720 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
9722 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9723 add a testsuite for GstBuffer
9725 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
9727 * gst/gstminiobject.h:
9728 add defines for accessing the refcount
9730 2005-06-03 Stefan Kost <ensonic@users.sf.net>
9732 * Makefile.am: added support for html unit test coverage reports
9734 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
9736 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9737 Free existing caps if the capsfilter changes. Add a FIXME about
9738 setting those caps on the pads.
9740 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9741 Before adding a ghost pad to a parent bin, check that there isn't
9742 already one for the element on the bin. Prevents infinite recursion
9743 when using decodebin in parse pipelines. Andy says he'll rewrite the
9744 way this works anyway, so ignore the hack.
9746 2005-06-02 Andy Wingo <wingo@pobox.com>
9748 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9749 file size, pass it on to the type find helper.
9751 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9752 segment_start and segment_end properly according to the seek
9753 method. Segment_end is still a bit flaky because offset can be
9754 negative for CUR and END cases, but it takes -1 as an "unset"
9757 2005-06-02 Wim Taymans <wim@fluendo.com>
9759 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9760 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9761 (gst_basesink_activate):
9762 * gst/base/gstbasesink.h:
9763 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9764 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9765 (gst_pad_query), (gst_pad_start_task):
9767 * gst/gstqueue.c: (gst_queue_bufferalloc),
9768 (gst_queue_handle_sink_event), (gst_queue_chain):
9769 Bufferalloc: return GstFlowReturn to more accuratly report
9770 why allocation failed.
9772 2005-06-02 Wim Taymans <wim@fluendo.com>
9774 * gst/gstpipeline.c: (gst_pipeline_send_event):
9775 Take snapshot of state without blocking.
9777 2005-06-02 Wim Taymans <wim@fluendo.com>
9779 * docs/design/part-TODO.txt:
9780 * docs/design/part-caps.txt:
9781 * docs/design/part-clocks.txt:
9782 * docs/design/part-negotiation.txt:
9783 * docs/design/part-preroll.txt:
9786 2005-05-30 Wim Taymans <wim@fluendo.com>
9788 * gst/elements/gstidentity.c: (gst_identity_event),
9789 (gst_identity_transform), (gst_identity_get_property):
9790 Protect last_message property as it is accessed from
9793 2005-05-30 Wim Taymans <wim@fluendo.com>
9795 * gst/gstelement.c: (gst_element_init),
9796 (gst_element_pads_activate), (gst_element_change_state):
9797 Slicker pad activation code.
9799 2005-05-30 Wim Taymans <wim@fluendo.com>
9803 * gst/gstelementfactory.h:
9805 Move elementfactory methods to separate .h file.
9807 2005-05-30 Wim Taymans <wim@fluendo.com>
9809 * docs/design/part-overview.txt:
9810 * gst/gstsystemclock.h:
9811 Small typo fixes, doc updates.
9813 2005-05-30 Wim Taymans <wim@fluendo.com>
9815 * gst/gst.c: (gst_init_get_popt_table), (init_post),
9816 (init_popt_callback):
9817 Remove cpu-opt flag.
9819 2005-05-30 Wim Taymans <wim@fluendo.com>
9821 * gst/gstbuffer.c: (gst_subbuffer_finalize),
9822 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9824 Avoid typechecking in places where not needed.
9825 Added accessor for malloc_data.
9827 2005-05-30 Wim Taymans <wim@fluendo.com>
9829 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9830 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9831 (gst_pad_configure_sink), (gst_pad_configure_src),
9832 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9833 (gst_pad_start_task):
9834 Propagate errors from _set_caps() in configure_src/sink
9835 functions instead of returning TRUE.
9836 FLUSH events can travel up and downstream
9839 2005-05-30 Wim Taymans <wim@fluendo.com>
9841 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9842 (gst_basesink_activate):
9843 Handle EOS in preroll.
9845 2005-05-30 Wim Taymans <wim@fluendo.com>
9847 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9848 (gst_queue_loop), (gst_queue_handle_src_event):
9849 Remove old pieces of code
9850 Flushing the queue in an upstream event is a very bad idea.
9852 2005-05-26 Andy Wingo <wingo@pobox.com>
9854 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9855 gst_value_set_mini_object so as to add a ref on the object (which
9856 will be removed when the value is unset).
9858 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9859 arg type in ::handoff.
9861 * gst/gstelement.c (gst_element_change_state): Also deactivate
9862 pads in READY->NULL, just in case the element didn't make it to
9863 PAUSED. Wingo tested, Wim approved.
9865 2005-05-26 Wim Taymans <wim@fluendo.com>
9867 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9868 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9869 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9870 A flushing pad cannot be used to alloc_buffer from.
9872 2005-05-26 Wim Taymans <wim@fluendo.com>
9874 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9875 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9876 (gst_bus_source_dispatch), (gst_bus_source_finalize),
9877 (gst_bus_create_watch), (gst_bus_add_watch_full):
9879 Implement a real GSource and use g_main_context_wakeup() to
9880 signal new messages instead of the socketpair.
9882 2005-05-25 Wim Taymans <wim@fluendo.com>
9884 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9885 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9886 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9887 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9888 (gst_pad_send_event), (gst_pad_start_task):
9889 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9890 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9891 (gst_queue_sink_activate), (gst_queue_src_activate),
9892 (gst_queue_change_state):
9894 Fix state changes for non sinks. We now change sinks, then elements
9895 with unconnected srcpads, then the rest.
9896 More efficient queue unlocking in flush and state changes.
9897 Set the pad activate mode even if it does not have an activate
9900 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9902 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9903 Don't go in pull mode for non-seekable sources.
9904 * gst/elements/gsttypefindelement.h:
9905 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9906 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9907 (free_entry), (stop_typefinding),
9908 (gst_type_find_element_handle_event), (find_peek),
9909 (gst_type_find_element_chain), (do_pull_typefind),
9910 (gst_type_find_element_change_state):
9911 Allow typefinding (w/o seeking) in push-mode, simplified version
9913 * gst/gstutils.c: (gst_buffer_join):
9915 gst_buffer_join() from 0.8.
9917 2005-05-25 Wim Taymans <wim@fluendo.com>
9919 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9920 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9921 (gst_pad_send_event), (gst_pad_start_task):
9922 Disable attempt at mode switching until it is figured out.
9924 2005-05-25 Wim Taymans <wim@fluendo.com>
9926 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9927 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9928 (gst_basesink_finish_preroll), (gst_basesink_chain),
9929 (gst_basesink_loop), (gst_basesink_activate),
9930 (gst_basesink_change_state):
9931 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9932 (gst_basesrc_get_range), (gst_basesrc_loop),
9933 (gst_basesrc_activate):
9934 * gst/elements/gsttee.c: (gst_tee_sink_activate):
9935 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9936 (gst_real_pad_init), (gst_real_pad_set_property),
9937 (gst_real_pad_get_property), (gst_pad_set_active),
9938 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9939 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9940 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9941 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9942 (gst_pad_event_default_dispatch), (gst_pad_event_default),
9943 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9944 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9945 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9946 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9947 (gst_pad_stop_task):
9949 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9950 (gst_queue_loop), (gst_queue_src_activate):
9951 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9952 (gst_task_get_state):
9954 * gst/schedulers/threadscheduler.c:
9955 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9956 Implement gst_pad_pause/start/stop_task(), take STREAM lock
9958 Remove ACTIVE pad flag, use FLUSHING everywhere
9959 Added _pad_chain(), _pad_get_range() to call chain/getrange
9961 Add locks around IS_FLUSHING when reading.
9962 Take STREAM lock in chain(), get_range() functions so plugins
9963 don't need to take it anymore.
9967 2005-05-25 Wim Taymans <wim@fluendo.com>
9969 * tools/gst-launch.c: (event_loop):
9970 Unref message after using its contents instead of
9973 2005-05-24 Wim Taymans <wim@fluendo.com>
9975 * docs/design/draft-ghostpads.txt:
9976 * docs/design/draft-push-pull.txt:
9977 * docs/design/draft-query.txt:
9978 * docs/design/part-overview.txt:
9979 Docs updates, added general overview doc.
9981 2005-05-21 David Schleef <ds@schleef.org>
9983 * docs/gst/tmpl/old/GstBin.sgml:
9984 * docs/gst/tmpl/old/GstBuffer.sgml:
9985 * docs/gst/tmpl/old/GstCaps.sgml:
9986 * docs/gst/tmpl/old/GstClock.sgml:
9987 * docs/gst/tmpl/old/GstCompat.sgml:
9988 * docs/gst/tmpl/old/GstData.sgml:
9989 * docs/gst/tmpl/old/GstElement.sgml:
9990 * docs/gst/tmpl/old/GstEvent.sgml:
9991 * docs/gst/tmpl/old/GstIndex.sgml:
9992 * docs/gst/tmpl/old/GstStructure.sgml:
9993 * docs/gst/tmpl/old/GstTag.sgml:
9994 * docs/gst/tmpl/old/cothreads.sgml:
9995 * docs/gst/tmpl/old/cothreads_compat.sgml:
9996 * docs/gst/tmpl/old/gettext.sgml:
9997 * docs/gst/tmpl/old/gobject2gtk.sgml:
9998 * docs/gst/tmpl/old/grammar.tab.sgml:
9999 * docs/gst/tmpl/old/gst-i18n-app.sgml:
10000 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10001 * docs/gst/tmpl/old/gst_private.sgml:
10002 * docs/gst/tmpl/old/gstaggregator.sgml:
10003 * docs/gst/tmpl/old/gstarch.sgml:
10004 * docs/gst/tmpl/old/gstatomic_impl.sgml:
10005 * docs/gst/tmpl/old/gstbufferstore.sgml:
10006 * docs/gst/tmpl/old/gstdata_private.sgml:
10007 * docs/gst/tmpl/old/gstdisksink.sgml:
10008 * docs/gst/tmpl/old/gstdisksrc.sgml:
10009 * docs/gst/tmpl/old/gstelementfactory.sgml:
10010 * docs/gst/tmpl/old/gstextratypes.sgml:
10011 * docs/gst/tmpl/old/gstfakesink.sgml:
10012 * docs/gst/tmpl/old/gstfakesrc.sgml:
10013 * docs/gst/tmpl/old/gstfdsink.sgml:
10014 * docs/gst/tmpl/old/gstfdsrc.sgml:
10015 * docs/gst/tmpl/old/gstfilesink.sgml:
10016 * docs/gst/tmpl/old/gstfilesrc.sgml:
10017 * docs/gst/tmpl/old/gsthttpsrc.sgml:
10018 * docs/gst/tmpl/old/gstidentity.sgml:
10019 * docs/gst/tmpl/old/gstindexfactory.sgml:
10020 * docs/gst/tmpl/old/gstmarshal.sgml:
10021 * docs/gst/tmpl/old/gstmd5sink.sgml:
10022 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10023 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10024 * docs/gst/tmpl/old/gstpadtemplate.sgml:
10025 * docs/gst/tmpl/old/gstpipefilter.sgml:
10026 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10027 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10028 * docs/gst/tmpl/old/gstshaper.sgml:
10029 * docs/gst/tmpl/old/gstspider.sgml:
10030 * docs/gst/tmpl/old/gstspideridentity.sgml:
10031 * docs/gst/tmpl/old/gststatistics.sgml:
10032 * docs/gst/tmpl/old/gsttee.sgml:
10033 * docs/gst/tmpl/old/gsttimecache.sgml:
10034 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10035 * docs/gst/tmpl/old/gstxmlregistry.sgml:
10036 * docs/gst/tmpl/old/gthread-cothreads.sgml:
10037 * docs/gst/tmpl/old/types.sgml:
10038 I didn't intend to add these or check them in.
10040 2005-05-19 David Schleef <ds@schleef.org>
10042 * configure.ac: Use -no-common everywhere. In a sane world, it
10043 would be the default in libtool, because without it, you can't
10044 build DLLs on Windows.
10045 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10046 * docs/gst/gstreamer-sections.txt:
10047 * docs/gst/tmpl/gstcpu.sgml:
10048 * docs/gst/tmpl/gstdata.sgml:
10049 * docs/gst/tmpl/gstthread.sgml:
10051 2005-05-19 David Schleef <ds@schleef.org>
10053 * gst/gstminiobject.c: (gst_value_set_mini_object),
10054 (gst_value_take_mini_object), (gst_value_get_mini_object):
10055 * gst/gstminiobject.h: Add GValue set/get functions.
10057 2005-05-19 Wim Taymans <wim@fluendo.com>
10059 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10060 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10061 (gst_subbuffer_init), (gst_buffer_is_span_fast):
10063 * gst/gstbus.c: (gst_bus_post):
10064 * gst/gstelement.c: (gst_element_get_random_pad):
10065 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10066 Make subbufer unref the parent in finalize.
10067 some more debugging info.
10070 2005-05-19 Wim Taymans <wim@fluendo.com>
10072 * gst/base/gstbasesink.c: (gst_basesink_class_init),
10073 (gst_basesink_init), (gst_basesink_finalize),
10074 (gst_basesink_activate), (gst_basesink_change_state):
10075 Don't free preroll queue too early.
10077 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10081 Hi, I'm outdated. Please shoot me.
10083 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10085 * gst/gstpipeline.c: (gst_pipeline_send_event):
10086 Do not access variables after they have been deleted.
10088 2005-05-19 Wim Taymans <wim@fluendo.com>
10090 * tools/gst-inspect.c: (print_plugin_features):
10091 A plugin feature does unfortunatly not use the
10094 2005-05-18 Wim Taymans <wim@fluendo.com>
10096 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10097 Port _span() functions to new subbuffers.
10099 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10101 * gst/gstbin.c: (gst_bin_add_func):
10102 Fix clock settery in bins when adding kids after the clock has
10105 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10107 * gst/elements/gstidentity.c: (gst_identity_class_init):
10108 Workaround until signals support GstMiniObject.
10110 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
10113 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10115 2005-05-18 Wim Taymans <wim@fluendo.com>
10117 * gst/base/Makefile.am:
10118 * gst/base/gstadapter.c: (gst_adapter_base_init),
10119 (gst_adapter_class_init), (gst_adapter_init),
10120 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10121 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10122 (gst_adapter_flush), (gst_adapter_available),
10123 (gst_adapter_available_fast):
10124 * gst/base/gstadapter.h:
10125 Ported and added adapter to the base classes.
10127 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10130 * gst/gstmessage.c:
10131 Make sure the class is reffed/unreffed once before threads can be
10132 used. Fixes #304551.
10134 2005-05-17 Wim Taymans <wim@fluendo.com>
10136 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10137 (gst_basesink_chain_unlocked), (gst_basesink_activate):
10138 * gst/gstminiobject.c: (gst_mini_object_get_type),
10139 (gst_mini_object_free):
10140 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10141 (gst_pad_push), (gst_pad_push_event):
10142 * gst/gstqueue.c: (gst_queue_change_state):
10143 Don't queue buffers in basesink when we are flushing.
10144 Unref buffer when flushing in basesink.
10145 Flush queue when going to READY
10146 Unref buffer when _push() returns an error.
10147 Don't free MiniObject instance when refcount is incremented
10148 in _finalize() so that we can recover objects.
10150 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
10152 * docs/manual/advanced-schedulers.xml:
10153 * docs/manual/appendix-checklist.xml:
10154 * docs/pwg/advanced-clock.xml:
10155 * docs/pwg/advanced-interfaces.xml:
10156 * docs/pwg/advanced-request.xml:
10157 * docs/pwg/advanced-types.xml:
10158 * docs/pwg/intro-preface.xml:
10159 * examples/plugins/example.c: (gst_example_get_type),
10160 (gst_example_class_init), (gst_example_chain),
10161 (gst_example_set_property), (gst_example_get_property),
10162 (gst_example_change_state), (plugin_init):
10163 * examples/plugins/example.h:
10166 2005-05-17 Wim Taymans <wim@fluendo.com>
10168 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10169 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10170 * gst/gstqueue.c: (gst_queue_change_state):
10171 Clear queue when going to READY.
10172 Remove IN_SETCAPS flag too.
10174 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
10176 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10177 Remove implicit cast from gboolean to GstElementStateReturn;
10178 make sure we still return failure in paused => ready case if
10179 the parent class fails to change state and our own stop
10182 2005-05-17 Wim Taymans <wim@fluendo.com>
10184 * tools/gst-launch.c: (event_loop):
10185 Message was unreffed too soon.
10187 2005-05-16 Andy Wingo <wingo@pobox.com>
10189 * gst/gstbin.c (sink_iterator_filter): Err... um...
10191 * check/gst/gstbin.c (test_ghost_pads): New test for the
10192 ghosting-if-elements-not-in-same-bin behavior.
10194 2005-05-16 David Schleef <ds@schleef.org>
10196 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10197 accessing refcount directly.
10199 2005-05-15 David Schleef <ds@schleef.org>
10201 * check/Makefile.am: remove GstData checks
10202 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10203 * gst/Makefile.am: add miniobject, remove data
10204 * gst/gst.h: add miniobject, remove data
10205 * gst/gstdata.c: remove
10206 * gst/gstdata.h: remove
10207 * gst/gstdata_private.h: remove
10208 * gst/gsttypes.h: remove GstEvent and GstMessage
10209 * gst/gstelement.c: (gst_element_post_message): fix for API changes
10210 * gst/gstmarshal.list: change BOXED -> OBJECT
10212 Implement GstMiniObject.
10213 * gst/gstminiobject.c:
10214 * gst/gstminiobject.h:
10216 Modify to be subclasses of GstMiniObject.
10217 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10218 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10219 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10220 (gst_subbuffer_get_type), (gst_subbuffer_init),
10221 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10224 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10225 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10226 (_gst_event_copy), (gst_event_new):
10228 * gst/gstmessage.c: (_gst_message_initialize),
10229 (gst_message_get_type), (gst_message_class_init),
10230 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10231 (gst_message_new), (gst_message_new_error),
10232 (gst_message_new_warning), (gst_message_new_tag),
10233 (gst_message_new_state_changed), (gst_message_new_application):
10234 * gst/gstmessage.h:
10235 * gst/gstprobe.c: (gst_probe_perform),
10236 (gst_probe_dispatcher_dispatch):
10238 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10239 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10240 (_gst_query_copy), (gst_query_new):
10242 Update elements for GstData -> GstMiniObject changes
10244 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10245 (gst_queue_chain), (gst_queue_loop):
10246 * gst/elements/gstbufferstore.c:
10247 (gst_buffer_store_add_buffer_func),
10248 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10249 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10250 (gst_fakesink_render):
10251 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10252 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10253 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10254 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10255 (gst_filesrc_create_read):
10256 * gst/elements/gstidentity.c: (gst_identity_class_init):
10257 * gst/elements/gsttypefindelement.c:
10258 (gst_type_find_element_src_event), (free_entry_buffers),
10259 (gst_type_find_element_handle_event):
10260 * libs/gst/dataprotocol/dataprotocol.c:
10261 (gst_dp_header_from_buffer):
10262 * libs/gst/dataprotocol/dataprotocol.h:
10263 * libs/gst/dataprotocol/dp-private.h:
10265 2005-05-15 David Schleef <ds@schleef.org>
10267 * gst/elements/gstelements.c: Don't include headers that were
10270 2005-05-15 David Schleef <ds@schleef.org>
10272 * gst/elements/Makefile.am: Remove some elements that don't
10273 need to be in the core (or even exist at all).
10274 * gst/elements/gstaggregator.c:
10275 * gst/elements/gstaggregator.h:
10276 * gst/elements/gstmd5sink.c:
10277 * gst/elements/gstmd5sink.h:
10278 * gst/elements/gstmultifilesrc.c:
10279 * gst/elements/gstmultifilesrc.h:
10280 * gst/elements/gstpipefilter.c:
10281 * gst/elements/gstpipefilter.h:
10282 * gst/elements/gstshaper.c:
10283 * gst/elements/gstshaper.h:
10284 * gst/elements/gststatistics.c:
10285 * gst/elements/gststatistics.h:
10286 * po/POTFILES.in: Remove above files.
10288 2005-05-14 Andy Wingo <wingo@pobox.com>
10290 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10291 so as to get the refs right.
10292 (sink_iterator_filter): New function, wraps bin_element_is_sink,
10293 unreffing objects that don't pass the filter.
10295 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10296 gst_element_set_bus.
10297 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10298 normal cases, this will destroy the bus.
10300 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10303 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10306 2005-05-13 Andy Wingo <wingo@pobox.com>
10308 * gst/gstutils.c (gst_element_link_pads): Instead of calling
10309 gst_pad_link, call pad_link_maybe_ghosting,
10310 (pad_link_maybe_ghosting): Links pads, making sure that the
10311 elements being linked are in the same bin.
10312 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10313 Helpers for pad_link_maybe_ghosting.
10315 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
10318 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10320 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
10322 * docs/design/part-element-source.txt:
10325 2005-05-12 Wim Taymans <wim@fluendo.com>
10327 * gst/base/gstbasesink.c: (gst_basesink_init),
10328 (gst_basesink_activate):
10329 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10330 (gst_basesrc_is_seekable):
10331 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10332 (bin_element_is_sink), (gst_bin_change_state):
10333 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10334 * gst/gstelement.h:
10335 Identify sinks by their flag to avoid overly complicated
10337 Do state changes even for elements not reachable from the
10339 BaseSink is a sink now :)
10340 Some more debugging info in the basesrc.
10343 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10345 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10346 Implement _query on a bin, similar to _send_event.
10348 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
10350 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10351 Discont event offset format should be GST_FORMAT_BYTES,
10352 not GST_FORMAT_TIME.
10354 2005-05-12 Wim Taymans <wim@fluendo.com>
10356 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10357 Same fix as Ronald's but without the signal.
10359 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10361 * gst/gstutils.c: (gst_element_query_position):
10362 No, an element is not a pad.
10364 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10366 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10367 (gst_bin_get_state):
10368 If a child is removed from a bin while we remove the child from
10369 the bin and while we're retrieving its state, signal this to the
10370 get_state function so we abort the wait (instead of waiting for
10371 a timeout) and can immediately re-iterate over all other elements.
10373 2005-05-12 Wim Taymans <wim@fluendo.com>
10375 * gst/base/Makefile.am:
10376 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10377 (gst_basesrc_start):
10378 * gst/base/gstbasesrc.h:
10379 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10380 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10381 (gst_pushsrc_init), (gst_pushsrc_create):
10382 * gst/base/gstpushsrc.h:
10383 Added is_seekable to BaseSrc
10384 Added simple PushSrc.
10386 2005-05-11 Wim Taymans <wim@fluendo.com>
10388 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10389 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10390 (gst_element_link_pads), (gst_element_query_position),
10391 (gst_element_query_convert), (intersect_caps_func),
10392 (gst_pad_query_position), (gst_pad_query_convert):
10393 Fix refcounting in utils function.
10394 No point in trying to activate a pad when it's added, it could
10395 be added from the state change function and then we deadlock, the
10396 element has to decide what to do.
10398 2005-05-10 Andy Wingo <wingo@pobox.com>
10400 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10401 *all* the arguments.
10403 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10404 stream lock if it's a FLUSH_DONE; normal flushes don't get the
10405 lock (according to the docs -- if this is wrong change the docs).
10407 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10408 flush messages in the NULL state.
10410 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10411 message immediately and return.
10412 (gst_bus_set_flushing): New function. If a bus is flushing, it
10413 flushes out any queued messages and immediately unrefs new
10414 messages. This is so when an element goes to NULL, all of the
10415 unhandled messages coming from it can be freed, and their
10416 references to the element dropped. In other words: message source
10417 ref considered harmful :P
10419 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10420 we're finished with it.
10422 * gst/gstmessage.c (gst_message_new_state_changed):
10424 2005-05-10 Wim Taymans <wim@fluendo.com>
10426 * gst/gstvalue.c: (gst_value_compare_flags),
10427 (gst_value_serialize_flags), (gst_value_deserialize_flags),
10428 (_gst_value_initialize):
10429 Added flags serialize/deserialize/compare code.
10431 2005-05-09 Andy Wingo <wingo@pobox.com>
10433 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10434 Intersect the peer's caps with our caps.
10436 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10438 * gst/base/gsttypefindhelper.c: (helper_find_peek):
10439 * gst/elements/gsttypefindelement.c: (find_peek):
10440 Handle negative offsets better. Fixes decodebin.
10442 2005-05-09 Wim Taymans <wim@fluendo.com>
10444 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10445 (gst_base_transform_event):
10446 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10447 Implement accept_caps.
10448 Fix silly lock/unlock mismatch in base class.
10450 2005-05-09 Wim Taymans <wim@fluendo.com>
10452 * docs/design/draft-push-pull.txt:
10453 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10454 * gst/elements/gstfilesink.c: (gst_filesink_init),
10455 (gst_filesink_query):
10456 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10457 (gst_type_find_handle_src_query), (find_element_get_length):
10458 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10459 * gst/gstelement.h:
10460 * gst/gstmessage.c:
10461 * gst/gstmessage.h:
10462 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10463 (gst_real_pad_get_caps_unlocked),
10464 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10465 (gst_pad_event_default_dispatch), (gst_pad_event_default),
10466 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10467 (gst_real_pad_dispose), (gst_real_pad_finalize),
10468 (gst_pad_load_and_link), (gst_pad_save_thyself),
10469 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10470 (gst_pad_check_pull_range), (gst_pad_pull_range),
10471 (gst_pad_template_get_type), (gst_pad_template_class_init),
10472 (gst_pad_template_init), (gst_pad_template_dispose),
10473 (name_is_valid), (gst_static_pad_template_get),
10474 (gst_pad_template_new), (gst_static_pad_template_get_caps),
10475 (gst_pad_template_get_caps), (gst_pad_set_element_private),
10476 (gst_pad_get_element_private), (gst_pad_start_task),
10477 (gst_pad_pause_task), (gst_pad_stop_task),
10478 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10479 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10480 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10481 (gst_ghost_pad_new):
10483 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10484 (gst_query_new_position), (gst_query_set_position),
10485 (gst_query_parse_position), (gst_query_new_convert),
10486 (gst_query_set_convert), (gst_query_parse_convert):
10488 * gst/gstqueryutils.c:
10489 * gst/gstqueryutils.h:
10490 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10491 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10492 (gst_queue_handle_src_query):
10493 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10494 (gst_element_query_position), (gst_element_query_convert),
10495 (intersect_caps_func), (gst_pad_query_position),
10496 (gst_pad_query_convert):
10498 * tools/gst-inspect.c: (print_pad_info):
10499 * tools/gst-xmlinspect.c: (print_element_info):
10500 Remove old query functions. Ported old code.
10501 Added position/convert helper functions to gstutils.
10502 Reordered gstpad.c code, grouping relevant things.
10503 Remove gst_message_new(), always need to speficy a specific
10507 2005-05-09 Andy Wingo <wingo@pobox.com>
10509 * gst/gstiterator.h: Add some includes.
10511 * gst/gstqueryutils.h: Include more headers.
10514 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10515 some uses of gst_pad_query.
10517 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10518 NULL out parameters.
10519 (gst_query_new_position): New proc, allocates a new position
10522 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10523 gstqueryutils.c to the build.
10525 * gst/gststructure.c (gst_structure_set_valist): Implement with
10526 the generic G_VALUE_COLLECT.
10528 2005-05-08 Edward Hervey <bilboed@bilboed.com>
10530 * gst/Makefile.am: (gst_headers):
10531 Added gstqueryutils.h to the list of headers to install, that was
10532 a 'nachty' move wingo :)
10534 2005-05-06 Andy Wingo <wingo@pobox.com>
10537 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10538 GstData, init a memchunk.
10539 (standard_definitions): Add a few query types, deprecate a few.
10540 (gst_query_get_type): New proc.
10541 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10543 (gst_query_new_application, gst_query_get_structure): New public
10546 * docs/design/draft-query.txt: Removed LINKS from the query types,
10547 because all the rest can be dispatched to other pads -- seemed
10548 ugly to have a query that couldn't be dispatched. internal_links
10549 is fine as a pad method.
10551 * gst/gstpad.h: Add query2 as a pad method, add the new functions
10552 in gstpad.c, but maintain binary compatibility for the moment.
10553 Will fix before 0.9 is out.
10555 * gst/gstqueryutils.c:
10556 * gst/gstqueryutils.h: New files, implement 3 methods for each
10557 query type: parse_query, parse_response, and set. Probably need an
10560 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10562 * gst/elements/gstfilesink.c (gst_filesink_query2):
10563 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10564 query_types, and formats methods.
10566 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10567 (gst_pad_set_query2_function): New functions.
10568 (gst_real_pad_init): Set query2_default as the default query2
10569 function. Basically just dispatches to internally linked pads.
10573 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10574 without using the atomic operations. Only one thread can possibly
10575 be accessing the data at this point. Changed so as to avoid
10576 gst_atomic operations.
10578 2005-05-06 Wim Taymans <wim@fluendo.com>
10580 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10581 Also set caps if we use the fallback buffer alloc.
10583 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
10585 * docs/gst/Makefile.am:
10586 * docs/gst/gstreamer-docs.sgml:
10587 * docs/gst/gstreamer-sections.txt:
10588 * docs/gst/tmpl/gstatomic.sgml:
10589 * docs/gst/tmpl/gstmemchunk.sgml:
10590 * testsuite/elements/struct_i386.h:
10591 * win32/GStreamer.vcproj:
10593 Purge GstAtomic stuff from docs and win32 makefiles as well
10595 2005-05-06 Wim Taymans <wim@fluendo.com>
10597 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10598 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10599 * gst/gstpad.c: (gst_pad_peer_get_caps):
10600 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10601 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10602 (gst_queue_src_activate), (gst_queue_change_state):
10604 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10605 (intersect_caps_func):
10606 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10607 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10608 Some fixes for the peer_get_caps() change.
10610 2005-05-06 Wim Taymans <wim@fluendo.com>
10612 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10613 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10614 (gst_basesink_activate):
10615 Actually do something with error codes returned from the push
10618 2005-05-06 Wim Taymans <wim@fluendo.com>
10620 * docs/design/part-element-sink.txt:
10621 * docs/design/part-element-source.txt:
10622 * gst/base/gstbasesink.c: (gst_basesink_class_init),
10623 (gst_basesink_event), (gst_basesink_activate):
10624 * gst/base/gstbasesink.h:
10625 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10626 (gst_basesrc_activate):
10627 * gst/base/gstbasesrc.h:
10628 * gst/gstelement.c: (gst_element_pads_activate):
10629 Some more documentation.
10630 Fixed scheduling decision in _pads_activate().
10632 2005-05-05 Andy Wingo <wingo@pobox.com>
10634 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10637 2005-05-05 Wim Taymans <wim@fluendo.com>
10639 * gst/base/Makefile.am:
10640 * gst/base/gstbasesink.h:
10641 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10642 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10643 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10644 (gst_collectpads_class_init), (gst_collectpads_init),
10645 (gst_collectpads_finalize), (gst_collectpads_new),
10646 (gst_collectpads_set_function), (gst_collectpads_add_pad),
10647 (find_pad), (gst_collectpads_remove_pad),
10648 (gst_collectpads_is_active), (gst_collectpads_collect),
10649 (gst_collectpads_collect_range), (gst_collectpads_start),
10650 (gst_collectpads_stop), (gst_collectpads_peek),
10651 (gst_collectpads_pop), (gst_collectpads_available),
10652 (gst_collectpads_read), (gst_collectpads_flush),
10653 (gst_collectpads_chain):
10654 * gst/base/gstcollectpads.h:
10655 * gst/elements/Makefile.am:
10656 * gst/elements/gstelements.c:
10657 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10658 (gst_fakesink_get_times), (gst_fakesink_event),
10659 (gst_fakesink_preroll), (gst_fakesink_render):
10660 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10661 (gst_filesink_init), (gst_filesink_set_location),
10662 (gst_filesink_open_file), (gst_filesink_close_file),
10663 (gst_filesink_pad_query), (gst_filesink_event),
10664 (gst_filesink_render), (gst_filesink_change_state):
10665 * gst/elements/gstfilesink.h:
10666 Added object to help in making collect pad based elements.
10668 Make event function in sink baseclass return gboolean.
10670 2005-05-05 Wim Taymans <wim@fluendo.com>
10672 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10673 (gst_bin_get_by_name):
10675 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10676 (gst_clock_finalize):
10677 * gst/gstdata.c: (gst_data_replace):
10679 * gst/gstelement.c: (gst_element_request_pad),
10680 (gst_element_pads_activate):
10681 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10682 (gst_object_unref):
10683 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10684 (gst_pad_set_checkgetrange_function),
10685 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10686 (gst_pad_check_pull_range), (gst_pad_pull_range),
10687 (gst_static_pad_template_get_caps), (gst_pad_start_task),
10688 (gst_pad_pause_task), (gst_pad_stop_task):
10689 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10690 (gst_element_request_pad), (gst_pad_proxy_getcaps):
10691 Fix name lookup in GstBin.
10692 Added _data_replace() function and _buffer_replace()
10693 Use finalize method to clean up clock.
10694 Fix refcounting on request pads.
10695 Fix pad schedule mode error.
10696 Some more object refcounting debug info,
10699 2005-05-04 Andy Wingo <wingo@pobox.com>
10701 * check/Makefile.am:
10702 * docs/gst/tmpl/gstatomic.sgml:
10703 * docs/gst/tmpl/gstplugin.sgml:
10704 * gst/base/gstbasesink.c: (gst_basesink_activate):
10705 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10706 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10707 (gst_basesrc_query), (gst_basesrc_set_property),
10708 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10709 (gst_basesrc_activate):
10710 * gst/base/gstbasesrc.h:
10711 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10712 (gst_base_transform_src_activate):
10713 * gst/elements/gstelements.c:
10714 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10715 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10716 * gst/elements/gsttee.c: (gst_tee_sink_activate):
10717 * gst/elements/gsttypefindelement.c: (find_element_get_length),
10718 (gst_type_find_element_checkgetrange),
10719 (gst_type_find_element_activate):
10720 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10721 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10722 (gst_caps_load_thyself):
10723 * gst/gstelement.c: (gst_element_pads_activate),
10724 (gst_element_save_thyself), (gst_element_restore_thyself):
10725 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10726 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10728 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10729 (gst_xml_parse_file), (gst_xml_parse_memory),
10730 (gst_xml_get_element), (gst_xml_make_element):
10731 * gst/indexers/gstfileindex.c: (gst_file_index_load),
10732 (_file_index_id_save_xml), (gst_file_index_commit):
10733 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10734 (read_enum), (load_pad_template), (load_feature), (load_plugin),
10736 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10737 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10738 * tools/gst-complete.c: (main):
10739 * tools/gst-compprep.c: (main):
10740 * tools/gst-inspect.c: (print_element_properties_info):
10741 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10742 * tools/gst-xmlinspect.c: (print_element_properties):
10745 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
10747 * gst/gstplugin.c: (gst_plugin_check_module),
10748 (gst_plugin_check_file), (gst_plugin_load_file):
10749 apply patch from #172526 to make register work on MacOSX
10751 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
10753 * docs/gst/tmpl/gstconfig.sgml:
10754 * gst/gstconfig.h.in:
10755 move documentation for some symbols. Add doc for GST_PTR_FORMAT
10756 * testsuite/debug/printf_extension.c: (main):
10757 Do not use GST_PTR_FORMAT on pointers to types with
10758 sizeof < sizeof(gpointer). Fixes test on 64-bit
10759 * testsuite/elements/property.h:
10760 use correct printf format
10762 2005-05-02 Wim Taymans <wim@fluendo.com>
10764 * docs/design/draft-push-pull.txt:
10765 * docs/design/draft-query.txt:
10766 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10767 (gst_basesrc_start):
10768 Added draft for new query API.
10769 Added draft for better selecting scheduling methods.
10770 Make basesrc ignore length if the subclass does not support
10773 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
10776 possible fixes for automake-1.5 - _LIBADD is reserved
10778 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
10780 * docs/faq/Makefile.am:
10781 * docs/manual/Makefile.am:
10782 * docs/manuals.mak:
10783 * docs/pwg/Makefile.am:
10785 possible fixes for automake-1.5
10787 2005-04-28 Wim Taymans <wim@fluendo.com>
10789 * gst/base/gstbasesink.c: (gst_basesink_base_init),
10790 (gst_basesink_pad_getcaps), (gst_basesink_init),
10791 (gst_basesink_do_sync):
10792 * gst/gstclock.c: (gst_clock_entry_new):
10793 * gst/gstevent.c: (gst_event_discont_get_value):
10794 * gst/gstpipeline.c: (pipeline_bus_handler),
10795 (gst_pipeline_change_state):
10796 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10797 Better debugging of clocking info.
10798 Allow NULL values when getting discont values.
10800 2005-04-27 Wim Taymans <wim@fluendo.com>
10802 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10803 * check/gst/gstpad.c: (gst_pad_suite):
10804 Increase timeout for checks.
10806 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10808 * check/Makefile.am:
10809 fix the broken rule for cleanup. Apparently this rule is
10810 only needed on FC2, so maybe this warrants further autotool
10813 2005-04-26 Wim Taymans <wim@fluendo.com>
10815 * gst/gsttrashstack.h:
10816 Ooohh. a nasty one! After having a failed pop() from the stack,
10817 it's possible that the stack is empty. In that case, don't
10818 follow the NULL pointer.
10820 2005-04-25 Wim Taymans <wim@fluendo.com>
10822 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10823 (gst_pad_set_checkgetrange_function),
10824 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10825 (gst_pad_check_pull_range), (gst_pad_pull_range),
10826 (gst_static_pad_template_get_caps), (gst_pad_start_task),
10827 (gst_pad_pause_task), (gst_pad_stop_task):
10828 * gst/gstplugin.c: (gst_plugin_load):
10830 Remove gst_library_load as it does more harm than good with
10831 the new g_module flags.
10832 Revert bogus caps template check in pad linking, pad caps
10833 are important when linking not the template, which is more
10834 general than the current caps.
10836 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10838 * gst/autoplug/.cvsignore:
10839 * gst/autoplug/Makefile.am:
10840 * gst/autoplug/gstsearchfuncs.c:
10841 * gst/autoplug/gstsearchfuncs.h:
10842 * gst/autoplug/gstspider.c:
10843 * gst/autoplug/gstspider.h:
10844 * gst/autoplug/gstspideridentity.c:
10845 * gst/autoplug/gstspideridentity.h:
10846 * gst/autoplug/spidertest.c:
10849 2005-04-25 Wim Taymans <wim@fluendo.com>
10851 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10852 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10853 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10854 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10856 Added stubs for unimplemented functions.
10858 2005-04-24 David Schleef <ds@schleef.org>
10860 * gst/gstpad.h: Disable some unimplemented functions. Wim,
10863 2005-04-24 David Schleef <ds@schleef.org>
10865 Convert everything from GstAtomicInt to g_atomic_int_*, and
10870 * gst/gstatomic_impl.h:
10878 * gst/gstdata_private.h:
10882 * gst/gstmessage.c:
10885 * gst/gststructure.c:
10886 * gst/gststructure.h:
10887 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10890 2005-04-24 David Schleef <ds@schleef.org>
10892 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10893 make the regressions tests work. Remove some code that is no
10895 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10896 Disable warning for pads without templates.
10898 2005-04-24 David Schleef <ds@schleef.org>
10900 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
10901 functions that handle filtered links.
10902 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10904 * gst/gstutils.c: Fix/remove utility functions that handle
10907 * gst/gstvalue.c: Add serialization/deserialization of caps
10908 * gst/parse/grammar.y: Ignore filtered caps when linking. This
10909 requires fixing so that the filter caps notation creates
10910 a capsfilter element and sets the filter_caps property. I
10911 think everyone probably wants to keep the shorthand notation.
10912 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10913 * docs/gst/tmpl/gstpad.sgml:
10915 * gst/elements/gstelements.c: Register capsfilter element.
10916 * gst/Makefile.am: fix spacing
10917 * docs/random/ds/0.9-suggested-changes: random
10919 2005-04-23 David Schleef <ds@schleef.org>
10921 * gst/elements/Makefile.am:
10922 * gst/elements/gstcapsfilter.c: New element that acts like an
10923 identity, but filters caps. Will eventually replace filtered
10924 caps in pad linking.
10925 * gst/gstutils.c: (gst_element_create_all_pads): New function
10926 to create all the ALWAYS pads that are registered with an
10927 element class. This functionality should eventually be
10928 merged in with GstElement initialization.
10930 * testsuite/trigger/README: part of trigger test code that should
10931 have been checked in a long time ago.
10933 2005-04-23 David Schleef <ds@schleef.org>
10935 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
10936 needed with new versions of libtool (nobody will confirm this),
10937 and hard to carry around.
10938 * gst/autoplug/Makefile.am:
10939 * gst/base/Makefile.am:
10940 * gst/elements/Makefile.am:
10941 * gst/indexers/Makefile.am:
10942 * gst/schedulers/Makefile.am:
10943 * libs/gst/bytestream/Makefile.am:
10944 * libs/gst/control/Makefile.am:
10945 * libs/gst/dataprotocol/Makefile.am:
10946 * libs/gst/getbits/Makefile.am:
10948 2005-04-21 Wim Taymans <wim@fluendo.com>
10950 * docs/design/draft-push-pull.txt:
10951 * docs/design/part-MT-refcounting.txt:
10952 * docs/design/part-TODO.txt:
10953 * docs/design/part-caps.txt:
10954 * docs/design/part-events.txt:
10955 * docs/design/part-gstbus.txt:
10956 * docs/design/part-gstpipeline.txt:
10957 * docs/design/part-messages.txt:
10958 * docs/design/part-push-pull.txt:
10959 * docs/design/part-query.txt:
10962 2005-04-21 Wim Taymans <wim@fluendo.com>
10964 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10965 (gst_message_new), (gst_message_new_error),
10966 (gst_message_new_warning), (gst_message_new_tag),
10967 (gst_message_new_state_changed), (gst_message_new_application),
10968 (gst_message_get_structure):
10969 * gst/gstmessage.h:
10970 * gst/gststructure.c: (gst_structure_set_parent_refcount),
10971 (gst_structure_copy_conditional):
10972 Use parent refcount in GstMessage to ensure GstStructure
10974 Cleaned up headers a bit.
10977 2005-04-20 Wim Taymans <wim@fluendo.com>
10979 * gst/base/gstbasesink.c: (gst_basesink_base_init),
10980 (gst_basesink_pad_getcaps), (gst_basesink_init),
10981 (gst_basesink_chain_unlocked):
10982 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10983 (gst_type_find_helper):
10984 * gst/elements/gsttypefindelement.c:
10985 (gst_type_find_element_have_type), (gst_type_find_element_init),
10986 (stop_typefinding), (gst_type_find_element_handle_event),
10987 (find_suggest), (gst_type_find_element_chain),
10988 (gst_type_find_element_checkgetrange),
10989 (gst_type_find_element_getrange), (do_typefind),
10990 (gst_type_find_element_activate):
10991 * gst/gstbuffer.c: (_gst_buffer_sub_free),
10992 (gst_buffer_default_free), (gst_buffer_default_copy),
10993 (gst_buffer_set_caps):
10994 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10995 (gst_caps_replace):
10996 * gst/gstmessage.c: (gst_message_new),
10997 (gst_message_new_state_changed):
10998 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10999 (gst_pad_set_checkgetrange_function),
11000 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11001 (gst_pad_set_caps), (gst_pad_check_pull_range),
11002 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11004 * gst/gsttypefind.c: (gst_type_find_register):
11005 Make gst_caps_replace() work like other _replace() functions.
11006 Use _caps_replace() where possible.
11007 Make sure _message_new() initialises its field.
11008 Add gst_static_pad_template_get_caps()
11011 2005-04-18 Andy Wingo <wingo@pobox.com>
11013 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11014 on the peer, not the pad. I think that was a typo. Pass an extra
11015 arg to see if random access is possible. Activate the pads as
11016 PULL_RANGE if possible.
11018 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11020 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
11021 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11024 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11026 * docs/faq/using.xml:
11027 Add note on gstreamer-properties (#154996).
11029 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11031 * docs/random/bbb/optional-properties:
11032 Some analysis on optional properties.
11034 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11036 * docs/gst/tmpl/gstelementfactory.sgml:
11037 * gst/gstelement.h:
11038 * gst/gstelementfactory.c: (gst_element_factory_init),
11039 (gst_element_factory_cleanup), (gst_element_register),
11040 (__gst_element_factory_add_static_pad_template),
11041 (gst_element_factory_get_static_pad_templates),
11042 (gst_element_factory_can_src_caps),
11043 (gst_element_factory_can_sink_caps):
11044 * gst/registries/Makefile.am:
11045 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11046 (gst_xml_registry_class_init), (gst_xml_registry_init),
11047 (gst_xml_registry_new), (gst_xml_registry_set_property),
11048 (gst_xml_registry_get_property), (get_time), (make_dir),
11049 (gst_xml_registry_get_perms_func),
11050 (plugin_times_older_than_recurse), (plugin_times_older_than),
11051 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11052 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11053 (add_to_char_array), (read_string), (read_uint), (read_enum),
11054 (load_pad_template), (load_feature), (load_plugin), (load_paths),
11055 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11056 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11057 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11058 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11059 (gst_xml_registry_rebuild):
11060 * gst/registries/gstlibxmlregistry.h:
11061 * tools/gst-compprep.c: (main):
11062 * tools/gst-inspect.c: (print_pad_templates_info):
11063 * tools/gst-xmlinspect.c: (print_element_info):
11064 Use libxml2 for registry parsing, use staticpadtemplates in
11065 elementfactories. Makes gst_init() +/- 10x faster.
11067 2005-04-12 Wim Taymans <wim@fluendo.com>
11069 * gst/base/Makefile.am:
11070 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11071 (gst_basesink_pad_getcaps), (gst_basesink_init),
11072 (gst_basesink_event), (gst_basesink_change_state):
11073 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11074 (gst_basesrc_init), (gst_basesrc_query),
11075 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11076 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11077 (gst_basesrc_check_get_range), (gst_basesrc_loop),
11078 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11079 (gst_basesrc_stop), (gst_basesrc_activate),
11080 (gst_basesrc_change_state):
11081 * gst/base/gsttypefindhelper.c: (helper_find_peek),
11082 (helper_find_suggest), (gst_type_find_helper):
11083 * gst/base/gsttypefindhelper.h:
11084 * gst/elements/Makefile.am:
11085 * gst/elements/gstelements.c:
11086 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11087 (gst_fakesink_get_times), (gst_fakesink_event),
11088 (gst_fakesink_preroll), (gst_fakesink_render):
11089 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11090 (gst_fakesrc_init), (gst_fakesrc_event_handler),
11091 (gst_fakesrc_get_property), (gst_fakesrc_create),
11092 (gst_fakesrc_start), (gst_fakesrc_stop):
11093 * gst/elements/gstfakesrc.h:
11094 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11095 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11096 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11097 (gst_filesrc_create_read), (gst_filesrc_create),
11098 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11099 (gst_filesrc_start):
11100 * gst/elements/gsttypefindelement.c:
11101 (gst_type_find_element_have_type), (gst_type_find_element_init),
11102 (start_typefinding), (stop_typefinding), (push_buffer_store),
11103 (gst_type_find_element_handle_event),
11104 (gst_type_find_element_chain),
11105 (gst_type_find_element_checkgetrange),
11106 (gst_type_find_element_getrange), (do_typefind),
11107 (gst_type_find_element_activate),
11108 (gst_type_find_element_change_state):
11109 * gst/elements/gsttypefindelement.h:
11110 * gst/gstpipeline.c: (pipeline_bus_handler):
11111 Added typefind helper.
11112 Small preroll fix in the base sink.
11113 Disable typefind code in basesrc.
11114 Crude port of typefindelement.
11118 2005-04-11 Wim Taymans <wim@fluendo.com>
11120 * check/gst/gstbus.c: (gstbus_suite):
11121 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11122 * check/gstcheck.h:
11123 Fix up the timeout so that the test does not fail.
11125 2005-04-06 Wim Taymans <wim@fluendo.com>
11128 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11129 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11130 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11131 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11132 (gst_basesrc_check_get_range), (gst_basesrc_loop),
11133 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11134 (gst_basesrc_stop), (gst_basesrc_activate),
11135 (gst_basesrc_change_state), (basesrc_find_peek),
11136 (basesrc_find_suggest), (gst_basesrc_type_find):
11137 * gst/base/gstbasesrc.h:
11138 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11139 (gst_filesrc_class_init), (gst_filesrc_init),
11140 (gst_filesrc_finalize), (gst_filesrc_set_location),
11141 (gst_filesrc_set_property), (gst_filesrc_get_property),
11142 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11143 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11144 (gst_filesrc_create_read), (gst_filesrc_create),
11145 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11146 * gst/elements/gstfilesrc.h:
11147 * gst/gstelement.c: (gst_element_get_state_func),
11148 (gst_element_lost_state), (gst_element_pads_activate):
11149 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11150 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11151 (gst_pad_pull_range):
11153 More work on the generic source base class, implement seeking,
11155 Make filesrc extend the base source class.
11156 Added gst_pad_set_checkgetrange_function to GstPad.
11158 2005-04-06 Andy Wingo <wingo@pobox.com>
11160 * pkgconfig/gstreamer-base.pc.in:
11161 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11163 * pkgconfig/Makefile.am:
11164 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11166 2005-04-04 Wim Taymans <wim@fluendo.com>
11168 * gst/base/Makefile.am:
11170 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11171 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11172 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11173 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11174 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11175 (gst_basesrc_base_init), (gst_basesrc_class_init),
11176 (gst_basesrc_init), (gst_basesrc_get_formats),
11177 (gst_basesrc_get_query_types), (gst_basesrc_query),
11178 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11179 (gst_basesrc_set_property), (gst_basesrc_get_property),
11180 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11181 (gst_basesrc_loop), (gst_basesrc_activate),
11182 (gst_basesrc_change_state):
11183 * gst/base/gstbasesrc.h:
11184 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11185 (gst_fakesrc_class_init), (gst_fakesrc_init),
11186 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11187 (gst_fakesrc_get_property), (gst_fakesrc_create):
11188 * gst/elements/gstfakesrc.h:
11189 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11190 (gst_filesrc_open_file), (gst_filesrc_loop),
11191 (gst_filesrc_activate), (filesrc_find_peek),
11192 (gst_filesrc_type_find):
11193 Made base source class, make fakesrc extend it.
11194 Add comments to basesink class.
11195 Some filesrc cleanup.
11197 2005-03-31 David Schleef <ds@schleef.org>
11199 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11200 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11201 expected to link against libgstreamer.
11202 * gst/base/Makefile.am: link against libgstreamer
11203 * gst/elements/Makefile.am: same
11205 2005-03-31 Andy Wingo <wingo@pobox.com>
11207 * tests/instantiate/Makefile.am:
11208 * tests/instantiate/caps.c: Add test to test speed of caps copy
11211 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11212 GMemChunk to be fair.
11214 * gst/gsttrashstack.h: Remove warning about using the fallback
11215 trash stack implementation, it's still faster than malloc.
11217 2005-03-30 Andy Wingo <wingo@pobox.com>
11219 * tests/complexity.c: Add a copyright.
11221 2005-03-31 Wim Taymans <wim@fluendo.com>
11223 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11224 (gst_base_transform_class_init), (gst_base_transform_init),
11225 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11226 (gst_base_transform_get_property),
11227 (gst_base_transform_sink_activate),
11228 (gst_base_transform_src_activate),
11229 (gst_base_transform_change_state):
11230 * gst/base/gstbasetransform.h:
11231 * gst/elements/gstidentity.c: (gst_identity_class_init),
11232 (gst_identity_event), (gst_identity_check_perfect),
11233 (gst_identity_transform), (gst_identity_start),
11234 (gst_identity_stop):
11235 Added start/stop methods to transform base class so subclasses
11236 don't need to deal with state changes even.
11238 2005-03-31 Wim Taymans <wim@fluendo.com>
11240 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11241 (gst_event_new_discontinuous), (gst_event_discont_get_value):
11243 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11244 (gst_pad_pull_range):
11245 Added rate to the discont event to prepare for variable speed
11246 and reverse playback.
11248 2005-03-29 David Schleef <ds@schleef.org>
11251 * testsuite/trigger/Makefile.am:
11252 * testsuite/trigger/trigger.c: A little example program to show
11253 how trigger-based elements can work.
11255 2005-03-29 Wim Taymans <wim@fluendo.com>
11257 * gst/base/Makefile.am:
11259 * gst/base/gstbasesink.c: (gst_basesink_get_type),
11260 (gst_basesink_base_init), (gst_basesink_class_init),
11261 (gst_basesink_pad_getcaps), (gst_basesink_init),
11262 (gst_basesink_activate), (gst_basesink_change_state):
11263 * gst/base/gstbasesink.h:
11264 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11265 (gst_base_transform_base_init), (gst_base_transform_finalize),
11266 (gst_base_transform_class_init), (gst_base_transform_init),
11267 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11268 (gst_base_transform_event), (gst_base_transform_getrange),
11269 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11270 (gst_base_transform_set_property),
11271 (gst_base_transform_get_property),
11272 (gst_base_transform_sink_activate),
11273 (gst_base_transform_src_activate),
11274 (gst_base_transform_change_state):
11275 * gst/base/gstbasetransform.h:
11276 * gst/elements/gstidentity.c: (gst_identity_finalize),
11277 (gst_identity_class_init), (gst_identity_init),
11278 (gst_identity_event), (gst_identity_check_perfect),
11279 (gst_identity_transform), (gst_identity_set_property),
11280 (gst_identity_get_property), (gst_identity_change_state):
11281 * gst/elements/gstidentity.h:
11282 * gst/gstelement.c: (gst_element_get_state_func),
11283 (gst_element_lost_state), (gst_element_pads_activate):
11284 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11285 (gst_pad_check_pull_range), (gst_pad_pull_range):
11287 Simplify pad activation.
11288 Added function to check if pull_range can be performed.
11289 Error out when pulling inactive or flushing pads.
11290 Removed const from refcounted types as it does not make sense.
11291 Simplify pad templates in basesink
11292 Added base class for simple 1-to-1 transforms.
11293 Make identity subclass the base transform.
11295 2005-03-29 Andy Wingo <wingo@pobox.com>
11297 * docs/libs/gstreamer-libs-overrides.txt:
11298 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11299 really don't understand what's going on, but like whatever. I want
11302 * docs/gst/Makefile.am:
11303 * docs/libs/Makefile.am: Dist the overrides files.
11305 * check/Makefile.am (clean-local): Remove .libs directories.
11307 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11308 elements to EXTRA_DIST, so po/ files are happy.
11310 * po/POTFILES.in: Er, remove it here.
11312 * po/POTFILES: Remove gstspider.c.
11314 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11316 * docs/libs/gstreamer-libs-docs.sgml:
11317 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11320 * tests/complexity.c (main): Set the length of the preroll queue
11321 on the sinks to prevent a lockup.
11323 * libs/gst/dataprotocol/Makefile.am:
11324 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11325 the same as the one in check/gst-libs/gdp.c.
11327 * po/, docs/gst/: Commit automatic changes to docs and po files.
11329 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11330 the versioned libgstbase.
11332 * check/Makefile.am: Depend on an unversioned gst-register, seems
11333 to make autoconf happier.
11335 * gst/base/Makefile.am: Make libgstbase a versioned lib.
11337 2005-03-28 Wim Taymans <wim@fluendo.com>
11340 * docs/design/part-gstelement.txt:
11341 * docs/design/part-negotiation.txt:
11342 * docs/design/part-preroll.txt:
11343 * docs/design/part-scheduling.txt:
11344 * docs/design/part-states.txt:
11346 * gst/base/Makefile.am:
11348 * gst/base/gstbasesink.c: (gst_basesink_get_template),
11349 (gst_basesink_base_init), (gst_basesink_class_init),
11350 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11351 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11352 (gst_basesink_set_pad_functions),
11353 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11354 (gst_basesink_set_property), (gst_basesink_get_property),
11355 (gst_base_sink_get_template), (gst_base_sink_get_caps),
11356 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11357 (gst_basesink_preroll_queue_push),
11358 (gst_basesink_preroll_queue_empty),
11359 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11360 (gst_basesink_event), (gst_basesink_get_times),
11361 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11362 (gst_basesink_chain_unlocked), (gst_basesink_chain),
11363 (gst_basesink_loop), (gst_basesink_activate),
11364 (gst_basesink_change_state):
11365 * gst/base/gstbasesink.h:
11366 * gst/elements/Makefile.am:
11367 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11368 (gst_fakesink_class_init), (gst_fakesink_init),
11369 (gst_fakesink_set_property), (gst_fakesink_get_property),
11370 (gst_fakesink_get_times), (gst_fakesink_event),
11371 (gst_fakesink_preroll), (gst_fakesink_render),
11372 (gst_fakesink_change_state):
11373 * gst/elements/gstfakesink.h:
11374 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11375 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11376 * gst/gstelement.c: (gst_element_add_pad),
11377 (gst_element_get_state_func), (gst_element_abort_state),
11378 (gst_element_commit_state), (gst_element_lost_state),
11379 (gst_element_set_state), (gst_element_pads_activate):
11380 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11381 * gst/gstpipeline.c: (gst_pipeline_send_event),
11382 (gst_pipeline_change_state):
11383 Added state change code.
11384 Added/updated docs.
11385 Added sink base class, make fakesink extend the base class.
11386 Small cleanups in GstPipeline.
11388 2005-03-26 David Schleef <ds@schleef.org>
11390 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
11391 is broken and should be implemented in a different library.
11392 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11393 * gst/gst.h: remove gstcpu.h
11394 * gst/gstcpu.c: remove
11395 * gst/gstcpu.h: remove
11396 * gst/Makefile.am.future: Remove this file. It's ancient.
11398 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11400 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11401 (gst_bin_send_event):
11402 Add default event/set_manager handlers. The set_manager handler
11403 takes care that the manager is distributed over kids that were
11404 already in the bin before the manager was set. The event handler
11405 is a utility virtual function that sends the event over all sinks,
11406 so that gst_element_send_event (bin, event); has the expected
11408 * gst/gstpad.c: (gst_pad_event_default):
11409 Re-install default event handling for discontinuities, so that
11410 seeking works without requiring hacks in applications or extra
11412 * gst/gstpipeline.c: (gst_pipeline_class_init),
11413 (gst_pipeline_send_event):
11414 Half hack, half utility: set a pipeline to PAUSED for seek events,
11415 since that is the only way we can guarantee a/v sync. Means that
11416 you can do gst_element_seek (pipeline, method, pos); on a pipeline
11417 and it "just works".
11419 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11421 * gst/gstpipeline.c: (gst_pipeline_use_clock):
11422 Lock/unlock mismatch.
11424 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
11426 * docs/faq/gst-uninstalled:
11427 add gst-plugins-base
11428 * docs/gst/Makefile.am:
11429 don't error out until docs are fixed
11430 * docs/gst/gstreamer.types:
11433 2005-03-22 Wim Taymans <wim@fluendo.com>
11435 * check/Makefile.am:
11436 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11437 * gst/gststructure.c: (gst_structure_set_valist),
11438 (gst_structure_copy_conditional):
11439 Activated more tests.
11440 Added message test.
11441 Added G_TYPE_POINTER to GstStructure.
11444 2005-03-22 Wim Taymans <wim@fluendo.com>
11446 * docs/design/part-TODO.txt:
11447 * docs/design/part-events.txt:
11448 * docs/design/part-gstbin.txt:
11449 * docs/design/part-gstbus.txt:
11450 * docs/design/part-gstpipeline.txt:
11451 * docs/design/part-messages.txt:
11453 * gst/gstmessage.c:
11456 2005-03-21 Wim Taymans <wim@fluendo.com>
11458 * gst/gstbus.c: (gst_bus_post):
11459 Fix copy-and-paste error.
11461 2005-03-21 Wim Taymans <wim@fluendo.com>
11463 * check/Makefile.am:
11465 * gst/elements/Makefile.am:
11466 * gst/elements/gstelements.c:
11467 * gst/elements/gstfakesink.c: (gst_fakesink_init),
11468 (gst_fakesink_event), (gst_fakesink_chain):
11469 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11470 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11471 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11472 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11473 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11474 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11475 (gst_fakesrc_loop), (gst_fakesrc_activate),
11476 (gst_fakesrc_change_state):
11477 * gst/elements/gstfakesrc.h:
11478 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11479 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11480 (gst_filesrc_open_file), (gst_filesrc_loop),
11481 (gst_filesrc_activate), (gst_filesrc_change_state),
11482 (filesrc_find_peek), (filesrc_find_suggest),
11483 (gst_filesrc_type_find):
11484 * gst/elements/gstidentity.c: (gst_identity_finalize),
11485 (gst_identity_class_init), (gst_identity_init),
11486 (gst_identity_proxy_getcaps), (identity_queue_push),
11487 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11488 (gst_identity_getrange), (gst_identity_chain),
11489 (gst_identity_sink_loop), (gst_identity_src_loop),
11490 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11491 (gst_identity_set_property), (gst_identity_get_property),
11492 (gst_identity_change_state):
11493 * gst/elements/gstidentity.h:
11494 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11495 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11496 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11497 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11498 (gst_tee_sink_activate):
11499 * gst/elements/gsttee.h:
11500 * gst/gst.c: (gst_register_core_elements), (init_post):
11502 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11503 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11504 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11505 (gst_bin_change_state):
11507 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11508 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11509 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11510 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11511 (gst_bus_set_sync_handler), (gst_bus_create_watch),
11512 (bus_watch_callback), (bus_watch_destroy),
11513 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11514 (poll_timeout), (gst_bus_poll):
11518 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11519 (gst_element_post_message), (gst_element_message_full),
11520 (gst_element_get_state_func), (gst_element_get_state),
11521 (gst_element_abort_state), (gst_element_commit_state),
11522 (gst_element_lost_state), (gst_element_set_state),
11523 (gst_element_pads_activate), (gst_element_change_state),
11524 (gst_element_dispose), (gst_element_set_manager_func),
11525 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11526 (gst_element_set_manager), (gst_element_get_manager),
11527 (gst_element_set_bus), (gst_element_get_bus),
11528 (gst_element_set_scheduler), (gst_element_get_scheduler):
11529 * gst/gstelement.h:
11530 * gst/gstevent.c: (gst_event_new_segment_seek),
11531 (gst_event_new_flush):
11533 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11534 (_gst_message_free), (gst_message_get_type), (gst_message_new),
11535 (gst_message_new_eos), (gst_message_new_error),
11536 (gst_message_new_warning), (gst_message_new_tag),
11537 (gst_message_new_state_changed), (gst_message_new_application),
11538 (gst_message_get_structure), (gst_message_parse_tag),
11539 (gst_message_parse_state_changed), (gst_message_parse_error),
11540 (gst_message_parse_warning):
11541 * gst/gstmessage.h:
11542 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11543 (gst_real_pad_set_property), (gst_pad_set_active),
11544 (gst_pad_is_active), (gst_pad_set_blocked_async),
11545 (gst_pad_set_blocked), (gst_pad_is_blocked),
11546 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11547 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11548 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11549 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11550 (gst_pad_link_filtered), (gst_pad_relink_filtered),
11551 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11552 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11553 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11554 (gst_pad_set_caps), (gst_pad_configure_sink),
11555 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11556 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11557 (gst_real_pad_dispose), (gst_real_pad_finalize),
11558 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11559 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11560 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11562 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11563 (pipeline_bus_handler), (gst_pipeline_change_state),
11564 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11565 * gst/gstpipeline.h:
11567 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11568 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11569 (gst_queue_link_src), (gst_queue_bufferalloc),
11570 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11571 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11572 (gst_queue_loop), (gst_queue_handle_src_event),
11573 (gst_queue_handle_src_query), (gst_queue_src_activate),
11574 (gst_queue_change_state):
11576 * gst/gstscheduler.c: (gst_scheduler_init),
11577 (gst_scheduler_dispose), (gst_scheduler_create_task),
11578 (gst_scheduler_factory_create):
11579 * gst/gstscheduler.h:
11580 * gst/gststructure.c: (gst_structure_get_type),
11581 (gst_structure_copy_conditional):
11582 * gst/gststructure.h:
11583 * gst/gsttaginterface.h:
11584 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11585 (gst_task_init), (gst_task_dispose), (gst_task_create),
11586 (gst_task_get_state), (gst_task_start), (gst_task_stop),
11592 * gst/schedulers/Makefile.am:
11593 * gst/schedulers/cothreads_compat.h:
11594 * gst/schedulers/entryscheduler.c:
11595 * gst/schedulers/faircothreads.c:
11596 * gst/schedulers/faircothreads.h:
11597 * gst/schedulers/fairscheduler.c:
11598 * gst/schedulers/gstbasicscheduler.c:
11599 * gst/schedulers/gstoptimalscheduler.c:
11600 * gst/schedulers/gthread-cothreads.h:
11601 * gst/schedulers/threadscheduler.c:
11602 (gst_thread_scheduler_task_get_type),
11603 (gst_thread_scheduler_task_class_init),
11604 (gst_thread_scheduler_task_init),
11605 (gst_thread_scheduler_task_start),
11606 (gst_thread_scheduler_task_stop),
11607 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11608 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11609 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11610 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11612 * libs/gst/Makefile.am:
11613 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11614 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11615 (gst_file_pad_parent_set):
11616 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11617 (gst_dp_event_from_packet):
11618 * tests/complexity.c: (main):
11619 * tests/mass_elements.c: (main):
11620 * testsuite/states/locked.c: (message_received), (main):
11621 * testsuite/states/parent.c: (main):
11622 * tools/gst-inspect.c: (print_element_flag_info),
11623 (print_implementation_info), (print_pad_info):
11624 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11626 * tools/gst-md5sum.c: (event_loop), (main):
11627 * tools/gst-typefind.c: (main):
11628 * tools/gst-xmlinspect.c: (print_element_info):
11630 Added GstBus for mainloop integration.
11631 Added GstMessage for sending notifications on the bus.
11632 Added GstTask as an abstraction for pipeline entry points.
11634 Removed Schedulers.
11635 Simplified GstQueue for multithreaded core.
11636 Made _link threadsafe, removed old capsnego.
11637 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11638 Added pad blocking functions.
11639 Reworked scheduling functions in GstPad to prepare for
11640 scheduling updates soon.
11641 Moved events out of data stream.
11642 Simplified GstEvent types.
11643 Added return values to push/pull.
11644 Removed clocking from GstElement.
11645 Added prototypes for state change function for next merge.
11646 Removed iterate from bins and state change management.
11647 Fixed some elements, disabled others for now.
11648 Fixed -inspect and -launch.
11649 Added check for GstBus.
11651 2005-03-10 Wim Taymans <wim@fluendo.com>
11653 * docs/design/part-MT-refcounting.txt:
11654 * docs/design/part-clocks.txt:
11655 * docs/design/part-gstelement.txt:
11656 * docs/design/part-gstobject.txt:
11657 * docs/design/part-standards.txt:
11658 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11659 (gst_bin_remove_func), (gst_bin_remove):
11663 * testsuite/clock/clock1.c: (main):
11664 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11666 * testsuite/dlopen/loadgst.c: (do_test):
11667 * testsuite/refcounting/bin.c: (add_remove_test1),
11668 (add_remove_test2), (main):
11669 * testsuite/refcounting/element.c: (main):
11670 * testsuite/refcounting/element_pad.c: (main):
11671 * testsuite/refcounting/pad.c: (main):
11672 * tools/gst-launch.c: (sigint_handler_sighandler):
11673 * tools/gst-typefind.c: (main):
11675 Added doc about clock.
11676 removed gst_bin_iterate_recurse_up(), marked methods
11678 Fix more testsuites.
11680 2005-03-09 Wim Taymans <wim@fluendo.com>
11682 * gst/gstpad.c: (gst_pad_get_direction),
11683 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11684 (gst_pad_collect_valist):
11685 * testsuite/bins/interface.c: (main):
11686 * testsuite/caps/audioscale.c: (test_caps):
11687 * testsuite/caps/caps.c: (test1), (test2), (test3):
11688 * testsuite/caps/deserialize.c: (main):
11689 * testsuite/caps/enumcaps.c: (main):
11690 * testsuite/caps/filtercaps.c: (main):
11691 * testsuite/caps/intersect2.c: (main):
11692 * testsuite/caps/random.c: (main):
11693 * testsuite/caps/renegotiate.c: (my_fixate), (main):
11694 * testsuite/caps/sets.c: (check_caps):
11695 * testsuite/caps/simplify.c: (check_caps), (main):
11696 * testsuite/caps/subtract.c: (check_caps):
11697 Fix _pad_get_direction wrt ghostpads.
11698 Fix caps testsuite.
11700 2005-03-09 Wim Taymans <wim@fluendo.com>
11702 * check/Makefile.am:
11703 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11704 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11705 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11706 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11707 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11708 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11709 (gst_bin_remove), (gst_bin_iterate_recurse_up),
11710 (bin_element_is_sink), (gst_bin_iterate_sinks),
11711 (gst_bin_iterate_all_by_interface):
11713 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11714 (gst_element_change_state), (gst_element_dispose),
11715 (gst_element_finalize), (gst_element_set_loop_function):
11716 * gst/gstelement.h:
11717 * gst/gstiterator.c: (find_custom_fold_func):
11718 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11719 (gst_pad_collectv), (gst_pad_collect_valist),
11720 (gst_pad_template_new):
11721 * gst/gstpipeline.c: (gst_pipeline_class_init),
11722 (gst_pipeline_dispose), (gst_pipeline_set_property),
11723 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11724 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11725 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11727 * gst/schedulers/entryscheduler.c:
11728 * gst/schedulers/gstbasicscheduler.c:
11729 (gst_basic_scheduler_cothreaded_chain),
11730 (gst_basic_scheduler_chain_add_element):
11731 * testsuite/bins/interface.c: (main):
11733 Added GstSystemClock test.
11734 Implemented clock distribution code in GstBin.
11735 Implemented iterate sinks method for future use.
11736 Rearranged gstelement.h
11737 Fix GstIterator comparison bug.
11738 Moved some code to GstPipeline, mostly clocking related.
11740 2005-03-09 Wim Taymans <wim@fluendo.com>
11743 * gst/gst_private.h:
11744 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11745 (gst_bin_remove_func), (gst_bin_remove),
11746 (gst_bin_get_by_name_recurse_up):
11747 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11748 (gst_clock_id_compare_func), (gst_clock_id_wait),
11749 (gst_clock_id_wait_async), (gst_clock_init),
11750 (gst_clock_adjust_unlocked), (gst_clock_get_time):
11751 * gst/gstelement.h:
11752 * gst/gstinfo.c: (_gst_debug_init):
11754 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11755 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11757 Bump version number, we're now 0.9.0
11758 Add future debugging category.
11759 Fix NULL _unref() in _get_by_name_recurse_up
11760 Rearrange gstpad.h.
11763 2005-03-08 Wim Taymans <wim@fluendo.com>
11765 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11766 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11767 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11768 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11769 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11770 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11771 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11772 * gst/elements/gstidentity.c: (gst_identity_class_init):
11773 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11774 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11775 * gst/elements/gstshaper.c: (gst_shaper_class_init):
11776 * gst/elements/gststatistics.c: (gst_statistics_class_init):
11777 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11779 * gst/gstelement.c: (gst_element_class_init),
11780 (gst_element_base_class_init), (gst_element_init),
11781 (gst_element_get_random_pad), (gst_element_wait_state_change),
11782 (gst_element_change_state), (gst_element_dispose),
11783 (gst_element_finalize), (gst_element_set_loop_function):
11784 * gst/gstelement.h:
11785 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11786 * gst/gstthread.c: (gst_thread_class_init),
11787 (gst_thread_release_children_locks), (gst_thread_change_state):
11788 * gst/schedulers/gstbasicscheduler.c:
11789 (gst_basic_scheduler_loopfunc_wrapper),
11790 (gst_basic_scheduler_chain_wrapper),
11791 (gst_basic_scheduler_src_wrapper),
11792 (gst_basic_scheduler_remove_element):
11793 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11794 Remove threadsafe properties. Fix elements because GObject
11795 complains when installing a property before declaring a
11796 set/get_property handler.
11797 Rearrange gstelement.h file, use STATE macros for state locks.
11798 Free mutexes in the finalize method instead of dispose.
11800 2005-03-08 Wim Taymans <wim@fluendo.com>
11802 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11803 * gst/gstthread.c: (gst_thread_release_children_locks):
11804 Added parentage check.
11805 Fix build og GstThread again.
11807 2005-03-08 Wim Taymans <wim@fluendo.com>
11809 * docs/design/part-MT-refcounting.txt:
11810 * docs/design/part-conventions.txt:
11811 * docs/design/part-gstobject.txt:
11812 * docs/design/part-relations.txt:
11813 * docs/design/part-standards.txt:
11814 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11815 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11816 (gst_bin_get_by_name), (gst_bin_get_by_interface),
11817 (gst_bin_iterate_all_by_interface):
11820 * gst/gstelement.c: (gst_element_class_init),
11821 (gst_element_change_state), (gst_element_set_loop_function):
11822 * gst/gstelement.h:
11823 * gst/gstiterator.c:
11824 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11825 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11826 (gst_object_dispatch_properties_changed), (gst_object_set_name),
11827 (gst_object_set_parent), (gst_object_unparent),
11828 (gst_object_check_uniqueness):
11830 Docs updates, clean up some headers.
11832 2005-03-07 Wim Taymans <wim@fluendo.com>
11834 * check/.cvsignore:
11835 * check/Makefile.am:
11836 * check/gst-libs/.cvsignore:
11837 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11838 * check/gst/.cvsignore:
11839 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11840 (START_TEST), (gstbus_suite), (main):
11841 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11842 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11843 (gst_data_suite), (main):
11844 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11845 (add_fold_func), (gstiterator_suite), (main):
11846 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11847 (thread_name_object), (thread_name_object_default),
11848 (gst_object_name_compare), (gst_object_suite), (main):
11849 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11850 (gst_pad_suite), (main):
11851 * check/gstcheck.c: (gst_check_log_message_func),
11852 (gst_check_log_critical_func), (gst_check_init):
11853 * check/gstcheck.h:
11854 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11855 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11858 2005-03-07 Wim Taymans <wim@fluendo.com>
11860 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11861 (gst_list_iterator_next), (gst_list_iterator_resync),
11862 (gst_list_iterator_free), (gst_iterator_new_list),
11863 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11864 (gst_iterator_free), (gst_iterator_push), (filter_next),
11865 (filter_resync), (filter_uninit), (filter_free),
11866 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11867 (gst_iterator_foreach), (find_custom_fold_func),
11868 (gst_iterator_find_custom):
11869 * gst/gstiterator.h:
11870 Added missing files.
11872 2005-03-07 Wim Taymans <wim@fluendo.com>
11876 * docs/design/part-MT-refcounting.txt:
11877 * docs/design/part-conventions.txt:
11878 * docs/design/part-gstobject.txt:
11879 * docs/design/part-relations.txt:
11880 * examples/mixer/mixer.c: (main):
11881 * examples/thread/thread.c: (eos), (main):
11883 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11884 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11885 (gst_spider_plug_from_srcpad):
11886 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11887 (gst_spider_identity_change_state),
11888 (gst_spider_identity_sink_loop_type_finding):
11889 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11890 * gst/elements/gstidentity.c: (gst_identity_init):
11891 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11892 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11893 * gst/elements/gsttypefindelement.c: (free_entry):
11896 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11897 (gst_bin_set_clock_func), (gst_bin_auto_clock),
11898 (gst_bin_set_index), (gst_bin_set_element_sched),
11899 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11900 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11901 (gst_bin_iterate_elements), (iterate_child_recurse),
11902 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11903 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11904 (compare_interface), (gst_bin_get_by_interface),
11905 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11907 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11908 (gst_buffer_default_free), (gst_buffer_default_copy),
11909 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11910 (gst_buffer_create_sub):
11912 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11913 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11914 (gst_caps_unref), (gst_static_caps_get),
11915 (gst_caps_remove_and_get_structure), (gst_caps_append),
11916 (gst_caps_append_structure), (gst_caps_remove_structure),
11917 (gst_caps_copy_nth), (gst_caps_set_simple),
11918 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11919 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11920 (gst_caps_structure_intersect_field), (gst_caps_intersect),
11921 (gst_caps_structure_subtract_field), (gst_caps_subtract),
11922 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11923 (gst_caps_structure_figure_out_union),
11924 (gst_caps_switch_structures), (gst_caps_do_simplify),
11925 (gst_caps_replace), (gst_caps_from_string),
11926 (gst_caps_copy_conditional):
11928 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11929 (_gst_clock_id_free), (gst_clock_id_unref),
11930 (gst_clock_id_compare_func), (gst_clock_id_wait),
11931 (gst_clock_id_wait_async), (gst_clock_class_init),
11932 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11933 (gst_clock_get_time), (gst_clock_set_time_adjust),
11934 (gst_clock_set_property), (gst_clock_get_property):
11937 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11938 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11940 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11941 (gst_element_requires_clock), (gst_element_provides_clock),
11942 (gst_element_set_clock), (gst_element_clock_wait),
11943 (gst_element_wait), (gst_element_set_time_delay),
11944 (gst_element_is_indexable), (gst_element_add_pad),
11945 (gst_element_add_ghost_pad), (gst_element_remove_pad),
11946 (pad_compare_name), (gst_element_get_static_pad),
11947 (gst_element_request_pad), (gst_element_get_request_pad),
11948 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11949 (gst_element_class_get_pad_template_list),
11950 (gst_element_class_get_pad_template), (gst_element_error_func),
11951 (gst_element_get_random_pad), (gst_element_get_event_masks),
11952 (gst_element_send_event), (gst_element_seek),
11953 (gst_element_get_query_types), (gst_element_query),
11954 (gst_element_get_formats), (gst_element_convert),
11955 (gst_element_is_locked_state), (gst_element_set_locked_state),
11956 (gst_element_sync_state_with_parent), (gst_element_change_state),
11957 (gst_element_finalize), (gst_element_yield),
11958 (gst_element_interrupt), (gst_element_set_scheduler),
11959 (gst_element_get_scheduler), (gst_element_set_loop_function):
11960 * gst/gstelement.h:
11962 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11963 (gst_format_get_by_nick), (gst_format_get_details),
11964 (gst_format_iterate_definitions):
11966 * gst/gstindex.c: (gst_index_gtype_resolver):
11969 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11970 (gst_mem_chunk_free):
11971 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11972 (gst_object_ref), (gst_object_unref), (gst_object_sink),
11973 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11974 (gst_object_dispatch_properties_changed),
11975 (gst_object_set_name_default), (gst_object_set_name),
11976 (gst_object_get_name), (gst_object_set_name_prefix),
11977 (gst_object_get_name_prefix), (gst_object_set_parent),
11978 (gst_object_get_parent), (gst_object_unparent),
11979 (gst_object_check_uniqueness), (gst_object_save_thyself),
11980 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11981 (gst_object_set_property), (gst_object_get_property),
11982 (gst_object_get_path_string):
11984 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11985 (gst_real_pad_init), (gst_real_pad_get_property),
11986 (gst_pad_custom_new), (gst_pad_get_direction),
11987 (gst_pad_set_active), (gst_pad_is_active),
11988 (gst_pad_set_event_function), (gst_pad_is_linked),
11989 (gst_pad_link_free), (gst_pad_link_intersect),
11990 (gst_pad_link_fixate), (gst_pad_set_caps),
11991 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11992 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11993 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11994 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11995 (gst_pad_get_caps), (gst_pad_peer_get_caps),
11996 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11997 (gst_pad_realize), (gst_pad_get_allowed_caps),
11998 (gst_real_pad_dispose), (gst_real_pad_finalize),
11999 (gst_pad_collectv), (gst_pad_collect_valist),
12000 (gst_pad_template_dispose), (gst_pad_template_new),
12001 (gst_pad_get_internal_links):
12003 * gst/gstpipeline.c: (gst_pipeline_dispose),
12004 (gst_pipeline_change_state):
12005 * gst/gstpipeline.h:
12007 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12008 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12009 * gst/gstpluginfeature.h:
12010 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12011 * gst/gstquery.c: (_gst_query_type_initialize),
12012 (gst_query_type_register), (gst_query_type_get_by_nick),
12013 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12015 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12016 * gst/gstscheduler.c: (gst_scheduler_add_element),
12017 (gst_scheduler_factory_create):
12018 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12019 (gst_structure_free), (gst_structure_set_name),
12020 (gst_structure_id_set_value), (gst_structure_set_value),
12021 (gst_structure_set_valist), (gst_structure_remove_field),
12022 (gst_structure_remove_fields),
12023 (gst_structure_remove_fields_valist),
12024 (gst_structure_remove_all_fields), (gst_structure_foreach),
12025 (gst_structure_map_in_place),
12026 (gst_caps_structure_fixate_field_nearest_int),
12027 (gst_caps_structure_fixate_field_nearest_double):
12028 * gst/gststructure.h:
12029 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12030 (gst_system_clock_init), (gst_system_clock_dispose),
12031 (gst_system_clock_async_thread),
12032 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12033 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12034 * gst/gstsystemclock.h:
12035 * gst/gsttag.c: (gst_tag_list_add_value_internal),
12036 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12037 * gst/gsttaginterface.c:
12038 * gst/gstthread.c: (gst_thread_dispose),
12039 (gst_thread_release_children_locks), (gst_thread_change_state),
12040 (gst_thread_main_loop):
12041 * gst/gsttrashstack.h:
12042 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12044 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12045 (gst_element_request_pad), (gst_element_get_pad_from_template),
12046 (gst_element_request_compatible_pad),
12047 (gst_element_get_compatible_pad_filtered),
12048 (gst_element_get_compatible_pad), (gst_element_state_get_name),
12049 (gst_element_link_pads_filtered), (gst_element_link_filtered),
12050 (gst_element_link_many), (gst_element_link),
12051 (gst_element_link_pads), (gst_element_unlink_pads),
12052 (gst_element_unlink_many), (gst_element_unlink),
12053 (gst_pad_can_link_filtered), (gst_pad_can_link),
12054 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12055 (gst_object_default_error), (gst_bin_add_many),
12056 (gst_bin_remove_many), (gst_element_populate_std_props),
12057 (gst_element_class_install_std_props), (gst_buffer_merge),
12058 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12059 (link_fold_func), (gst_pad_proxy_setcaps):
12061 * gst/gstvalue.c: (gst_value_deserialize_string):
12062 * gst/parse/grammar.y:
12063 * gst/schedulers/gstbasicscheduler.c:
12064 (gst_basic_scheduler_cothreaded_chain),
12065 (gst_basic_scheduler_chain_recursive_add),
12066 (gst_basic_scheduler_pad_link):
12067 * gst/schedulers/gstoptimalscheduler.c:
12068 (get_group_schedule_function),
12069 (gst_opt_scheduler_state_transition),
12070 (gst_opt_scheduler_add_element), (element_get_reachables_func):
12071 * libs/gst/bytestream/bytestream.c:
12072 * libs/gst/dataprotocol/dataprotocol.c:
12073 (gst_dp_header_from_buffer):
12076 * tests/threadstate/threadstate2.c: (eos):
12077 * tools/gst-compprep.c: (main):
12078 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12079 (print_pad_info), (print_children_info):
12080 * tools/gst-launch.c: (idle_func), (main):
12081 * tools/gst-md5sum.c: (idle_func), (main):
12082 * tools/gst-xmlinspect.c: (print_element_info):
12083 First THREADED backport attempt, focusing on adding locks and
12084 making sure the API is threadsafe. Needs more work. More docs
12087 2005-02-24 Andy Wingo <wingo@pobox.com>
12089 * tests/bench-complexity.scm:
12090 * tests/complexity.gnuplot: New files, good for running complexity
12093 * tests/Makefile.am:
12094 * tests/complexity.c: New test, sets up N elements, at each level
12095 teeing into M streams per element. Eeeenteresting.
12097 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12098 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12099 running bench-mass_elements.scm.
12101 * tests/bench-mass_elements.scm: New script, runs mass_elements
12102 for various numbers of identities, outputting the results to a
12103 file. Requires guile 1.6. Just for testing.
12105 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
12107 * gst/schedulers/fairscheduler.c:
12108 compile with debug disabled
12110 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
12113 hunting season on 0.9 is now OPEN