1 2009-01-05 Wim Taymans <wim.taymans@collabora.co.uk>
3 * gst/gstbus.c: (gst_bus_wakeup_main_context):
4 The lock order should be maincontext > OBJECT_LOCK so we need to release
5 the object lock when waking up the mainloop to avoid deadlocks.
7 2009-01-05 Wim Taymans <wim.taymans@collabora.co.uk>
9 * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
10 (gst_bin_change_state_func):
11 Use an iterator to set the clock and the index so that we can release
12 the object lock appropriately. Fixes #566393.
14 2009-01-03 Edward Hervey <edward.hervey@collabora.co.uk>
16 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
17 Use the name of the pads instead of a pointer, helps in debugging.
19 2009-01-03 Edward Hervey <edward.hervey@collabora.co.uk>
21 * gst/gstindex.c: (gst_index_get_type):
22 Add a debugging category for GstIndex, first little step in making
25 2009-01-03 Edward Hervey <edward.hervey@collabora.co.uk>
27 * gst/gstelement.c: (gst_element_message_full),
28 (gst_element_pads_activate):
29 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
30 * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
31 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
32 (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
33 (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
34 Assign debug statements to relevant categories instead of the 'default'
35 category so they don't get lost in debugging.
37 2009-01-01 Stefan Kost <ensonic@users.sf.net>
39 * gst/gstdebugutils.c:
40 Add some ideas, how to make the graph smaller.
43 Add a comment from a debug session.
45 * libs/gst/base/gstbasetransform.c:
48 * libs/gst/controller/gstinterpolationcontrolsource.c:
51 * plugins/elements/gstcapsfilter.c:
54 2008-12-27 Tim-Philipp Müller <tim.muller at collabora co uk>
56 * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
57 (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
58 (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
59 (gst_bus_create_watch):
60 Make GstBusSource work with non-default main contexts (#562170).
62 * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
63 (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
64 Add test case for GstBusSource with a non-default main context.
66 * tests/check/libs/.cvsignore:
69 2008-12-27 Tim-Philipp Müller <tim.muller at collabora co uk>
71 * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
73 Wrap multi-line macros in G_STMT_{START|END}.
75 2008-12-20 Sebastian Dröge <sebastian.droege@collabora.co.uk>
77 * docs/gst/gstreamer-sections.txt:
80 * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
81 (gst_query_parse_uri):
83 API: Add URI query type. This is useful to query the URI
84 of a sink/source element and can be used by demuxers that
85 need to get data from other files.
86 This query should go upstream by default.
88 * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
89 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
91 * plugins/elements/gstfilesink.c: (gst_file_sink_query):
92 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
96 2008-12-19 Alessandro Decina <alessandro.decina@collabora.co.uk>
99 * tests/check/gst/gstghostpad.c:
100 Don't forward gst_pad_set_caps() on a source ghostpad to its target.
101 That would cause the ghostpad to emit notify::caps two times (fist
102 from gst_pad_set_caps() and after from on_src_target_notify()).
104 2008-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
106 * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
108 Add some more unit-tests for the ghostpad notify signal, one of which
111 2008-12-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
113 * win32/common/libgstreamer.def:
114 Add gst_tag_setter_reset_tags to the list of exported symbols.
116 2008-12-17 Alessandro Decina <alessandro.decina@collabora.co.uk>
119 * tests/check/gst/gstghostpad.c:
120 In a source ghostpad, when caps are changed in the target pad, the
121 change needs to be reflected in the ghostpad.
124 2008-12-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
126 * gst/gstutils.c: (gst_element_found_tags_for_pad):
127 Add FIXME for 0.11 to set the pad as message source and not
128 the element. Otherwise it's impossible to detect for which
129 pad the tags were found without adding an event probe
130 or something similar to the pad.
132 2008-12-16 Wim Taymans <wim.taymans@collabora.co.uk>
134 * docs/faq/general.xml:
137 2008-12-16 Stefan Kost <ensonic@users.sf.net>
139 * docs/gst/gstreamer-sections.txt:
140 * gst/gsttagsetter.c:
141 * gst/gsttagsetter.h:
142 Rename api added in previous commit and add since tag to docs.
143 API: gst_tag_setter_reset_tags()
145 2008-12-16 Stefan Kost <ensonic@users.sf.net>
147 * docs/gst/gstreamer-sections.txt:
148 * gst/gsttagsetter.c:
149 * gst/gsttagsetter.h:
150 Add function to reset tagsetter for element reuse.
152 2008-12-16 Stefan Kost <ensonic@users.sf.net>
155 Avoid copy of empty taglist.
157 2008-12-16 Stefan Kost <ensonic@users.sf.net>
160 * tests/check/gst/gsttag.c:
161 More complete unit tests. Fix handling of empty taglists (they were
164 2008-12-15 Stefan Kost <ensonic@users.sf.net>
167 * gst/gsttagsetter.c:
168 Update GstTagSetter and GstTagMergeMode documentation. Mention
169 that tags can come from events and from application. Fix example.
171 2008-12-15 Wim Taymans <wim.taymans@collabora.co.uk>
173 * docs/design/part-TODO.txt:
174 Remove the seqnum entry that we implemented in 0.10 already.
175 Add entry about removing the format return value for queries.
177 2008-12-15 Wim Taymans <wim.taymans@collabora.co.uk>
179 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
180 (gst_base_sink_init), (gst_base_sink_set_property),
181 (gst_base_sink_get_property):
182 Expose the render-delay as a property so things like appsink can use it
183 to tweak the synchronisation.
185 2008-12-10 Peter Kjellerstedt <pkj@axis.com>
187 * libs/gst/check/gstcheck.h: Allow check tests to use
188 MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
189 CK_FORK=no to be used with multiple check test that use threads.
191 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
193 * gst/gstutils.c: (gst_element_get_compatible_pad):
194 Fix a caps memory leak introduced by the last change.
196 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
198 * gst/gstutils.c: (gst_element_get_compatible_pad):
199 Check if the caps of the pads are compatible before returning
200 a pad and claiming it is compatible. This, among other things,
201 fixes a bug with gst-launch where an incompatible pad is chosen
202 and linking fails. Fixes bug #544003.
204 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
206 * libs/gst/check/gstcheck.c: (gst_check_init):
207 Revert accidentially commited patch for bug #404631 which
208 tries to print a backtrace if a testcase is terminated by
209 a signal. This code was never activated as the corresponding
210 configure.ac change wasn't committed.
212 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
214 * tests/check/libs/controller.c: (GST_START_TEST):
215 This test should return TRUE now as syncing an uncontrolled
216 object will succeed now (there's nothing to sync).
218 2008-12-09 Stefan Kost <ensonic@users.sf.net>
220 * libs/gst/controller/gstcontroller.c:
221 Aggregate return value for gst_controller_sync_values(). More info in
222 logging. Always set values on first sync-call.
224 * libs/gst/controller/gstcontrolsource.c:
227 * libs/gst/controller/gsthelper.c:
228 Fix return code and comment.
230 2008-12-09 Stefan Kost <ensonic@users.sf.net>
232 * tools/gst-launch.1.in:
233 Fix description of how to specify a type in caps. Fixes #553873.
234 Also ranges and list contain values and not property-assignments.
236 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
238 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
239 Check for changed pads-list before checking the last returned
240 GstFlowReturn because the pad could have been removed and we
241 need to ignore the value in that case.
243 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
245 * libs/gst/base/gstbasetransform.c:
246 (gst_base_transform_prepare_output_buffer),
247 (gst_base_transform_getrange), (gst_base_transform_chain):
248 * libs/gst/base/gstbasetransform.h:
249 Add vmethod that is called before we start the transform and which can
250 be used to configure the transform, such as dynamic properties.
252 2008-12-05 David Schleef <ds@schleef.org>
255 Search for plugins on win32 based on the location of the
256 gstreamer DLL. Fixes #548786
258 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
261 Apparently AC_CONFIG_MACRO_DIR breaks when using more
262 than one macro directory, reverting last change.
264 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
267 Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
270 2008-11-29 Sebastian Dröge <sebastian.droege@collabora.co.uk>
272 Patch by: Cygwin Ports maintainer
273 <yselkowitz at users dot sourceforge dot net>
277 Require gettext 0.17 because older versions don't mix with libtool
278 2.2. At build time an older gettext version will still work.
281 2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
283 Patch by: 이문형 <iwings at gmail dot com>
285 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
286 Adds support for FD_CONNECT event (win32). See #562258.
288 2008-11-24 Stefan Kost <ensonic@users.sf.net>
290 * libs/gst/base/gstbasesink.c:
291 Turn comment into gtk-doc comment.
293 2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
295 * libs/gst/base/gstbasetransform.c:
296 (gst_base_transform_acceptcaps):
297 Revert quick accepcaps attempt, it's not fully equivalent to the old
298 behaviour and thus causes regressions.
300 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
302 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
305 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
307 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
309 * gst/gstregistry.c: (gst_registry_scan_path_level):
310 Reduce the number of stat() calls for every file from three times
311 to one time. Fixes bug #560360.
313 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
315 * libs/gst/base/gstbasetransform.c:
316 (gst_base_transform_acceptcaps):
317 Rename a variable to make the code clearer.
319 2008-11-21 Stefan Kost <ensonic@users.sf.net>
321 * plugins/elements/gstidentity.c:
322 Don't warning on offset==-1. Taken from _check_imperfect_offset().
324 2008-11-21 Michael Smith <msmith@songbirdnest.com>
326 * plugins/elements/gstfilesrc.c:
327 Check for localhost in URI was backwards, fix it. Fixes unit test.
329 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
331 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
332 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
333 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
334 Add beginnings of a more optimized acceptcaps function than the default
337 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
339 * gst/gstpad.c: (gst_pad_accept_caps):
340 Avoid getting the acceptcaps function too early.
342 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
344 * tools/gst-launch.c: (event_loop):
345 Make gst-launch handle LATENCY messages and make it recalculate the
348 2008-11-20 Michael Smith <msmith@songbirdnest.com>
350 * plugins/elements/gstfilesrc.c:
351 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
352 out own slightly incorrect version. Fixes use of some paths on
355 2008-11-20 Michael Smith <msmith@songbirdnest.com>
357 * gst/gstregistrybinary.c:
358 In win32 codepath, if we fail to write the registry, create the
359 directory for it and try again, matching the behaviour in non-win32
362 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
364 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
365 Changing the render delay changes the latency and so we must post a
368 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
372 Add GstQueryType for custom queries instead of having to use the
373 not-so-very-convenient registration infrastructure to register new
376 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
378 Patch by: Andrew Feren <acferen at yahoo dot com>
380 * gst/gstobject.c: (gst_object_default_deep_notify):
381 Unref the GEnumClass after usage again. Fixes bug #561501.
383 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
385 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
386 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
387 (gst_bin_change_state_func):
389 Add do-latency signal with the old default fallback implementation. This
390 allows for custom latency calculations for when the default is not
392 API: GstBin::do-latency signal.
394 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
396 * win32/common/libgstreamer.def:
397 Add new symbols to .def file.
399 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
401 * docs/gst/gstreamer-sections.txt:
402 * gst/gstbin.c: (gst_bin_recalculate_latency),
403 (gst_bin_change_state_func):
405 Add method to recalculate and redistribute the latency on a bin.
406 API: gst_bin_recalculate_latency().
408 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
411 Document the free_func.
413 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
415 * libs/gst/controller/gstinterpolation.c:
416 * libs/gst/controller/gstlfocontrolsource.c:
417 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
418 as it is mapped to a cast on non-win32 platforms.
420 2008-11-17 Stefan Kost <ensonic@users.sf.net>
422 * libs/gst/controller/gstcontroller.c:
423 * libs/gst/controller/gstcontrollerprivate.h:
424 Keep last-value and only call set_property if value has changed. This
425 supresses all the g_object_notifies we would trigger otherwise. It
426 also allows the user to chage the value while there is no controller
429 2008-11-17 Stefan Kost <ensonic@users.sf.net>
432 Don't crash if either of the string GValues is empty.
434 2008-11-17 Andy Wingo <wingo@pobox.com>
436 * tools/gst-inspect.c (print_all_uri_handlers): New function,
437 prints a summary of what URI schemes are supported by what
439 (main): Plumb in support for --uri-handlers or -u, and fix the
440 argc check for -a and -u.
442 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
445 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
446 conversion functions.
448 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
450 * gst/gstbuffer.c: (gst_buffer_finalize):
451 Avoid costly typechecking for trivially correct pointers.
453 * gst/gstpoll.c: (gst_poll_wait):
454 Add some G_LIKELY here and there.
456 * libs/gst/base/gstadapter.c: (gst_adapter_push):
459 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
461 * docs/random/wtay/poll-timeout:
464 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
466 * tests/old/testsuite/caps/intersection.c: (main):
467 * tests/old/testsuite/plugin/loading.c: (main):
468 Remove references to deprecated API g_mem_chunk*.
471 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
473 * tools/gst-inspect.c: (main):
474 Add --plugin option. Fixes #560301.
476 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
478 * docs/random/wtay/poll-timeout:
479 Quick braindump for a possible (not totally verified) atomic case.
481 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
483 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
484 (gst_registry_binary_initialize_magic),
485 (gst_registry_binary_write_cache),
486 (gst_registry_binary_check_magic):
487 * gst/gstregistrybinary.h:
488 Don't write and check a CRC for the binary registry file. It's
489 guaranteed that the registry is completely written (it's first written
490 to a temporary file and then moved) and if the registry was corrupted
491 by some hardware failure we would have bigger problems.
493 Bump binary registry version to 0.10.21.1 for this as it's an
494 incompatible change and to ensure that the registry gets rebuild
497 This saves some milliseconds for reading/writing the registry.
500 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
502 * docs/random/wtay/poll-timeout:
503 Some pseudo code for how we could implement clock timeouts with GstPoll.
505 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
507 * plugins/elements/gstfilesink.c:
508 Update Author string to match others.
510 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
512 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
513 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
514 being fixed and inline the trivial check.
516 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
518 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
519 (gst_caps_merge_structure), (gst_caps_get_structure),
520 (gst_caps_copy_nth), (gst_caps_set_simple),
521 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
522 (gst_caps_is_equal_fixed), (gst_caps_intersect),
523 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
524 (gst_caps_to_string):
525 Callgrind micro optimisations.
526 Avoid array bounds checks and force inline of trivial function.
528 * gst/gstobject.c: (gst_object_set_name_default):
529 -1 is equivalent to letting glib to the strlen but then there is more
530 room for optimisations and it's not our fault.
532 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
533 no need to clear the array, we're cool.
535 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
536 The most common _is_fixed() check is done on fundamental glib base
537 types so we check this first instead of doing a huge amount of
538 useless GST_TYPE_ARRAY calls.
540 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
543 Add a SKIP seek flag for use with advanced trickmodes.
544 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
546 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
548 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
549 No need to memset, we can clear the value ourselves.
551 * gst/gstvalue.c: (gst_type_is_fixed),
552 (gst_value_get_compare_func):
553 Some optimisations from a few callgrind sessions:
554 When checking if a type is fixed, check for trivial fundamental types
555 first before checking types for which we need to get the type followed
556 by the heavy duty type checks, this reduces the amount of
557 g_type_fundamental() calls a lot.
558 When getting the compare function, first check for our registered types.
559 If that fails, do the heavy duty g_type_is_a() checks, reduces the
560 amount of g_type_is_a() considerably.
562 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
564 * docs/design/part-TODO.txt:
565 Mumble something about removing GstXML.
567 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
569 * gst/gstbin.c: (gst_bin_handle_message_func):
570 Get the seqnum before we dispose the message.
572 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
574 * docs/design/part-TODO.txt:
575 Refer to the framestepping document.
577 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
579 * gst/gstbin.c: (bin_handle_async_start),
580 (gst_bin_handle_message_func), (gst_bin_query):
581 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
582 (gst_base_sink_event), (gst_base_sink_change_state):
583 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
584 (gst_base_src_loop), (gst_base_src_change_state):
585 Copy seqnums from events to messages so that they can all be related
588 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
590 * tools/gst-launch.c: (event_loop):
591 Print the message seqnums.
593 2008-11-04 Andy Wingo <wingo@pobox.com>
595 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
597 2008-11-04 Andy Wingo <wingo@pobox.com>
599 Add sequence numbers to events and messages. See #559250.
601 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
605 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
606 events with a new sequence number, and copy it when copying.
607 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
608 an event's sequence number.
611 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
612 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
615 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
617 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
619 * docs/manual/advanced-position.xml:
620 * docs/manual/basics-bins.xml:
621 * docs/manual/basics-bus.xml:
622 * docs/manual/basics-pads.xml:
623 * docs/manual/intro-gstreamer.xml:
624 * docs/manual/intro-preface.xml:
625 Some Application Development Manual fixes thanks to
626 Andrew Feren. Fixes #558459.
628 2008-11-03 Stefan Kost <ensonic@users.sf.net>
630 * gst/gstregistrybinary.c:
631 Don't bother with the GTimer if we don't output the results.
633 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
635 Patch by: David Schleef <ds@schleef.org>
637 * libs/gst/net/Makefile.am:
638 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
640 2008-10-31 Stefan Kost <ensonic@users.sf.net>
642 * gst/gstregistrybinary.c:
643 Oh my, studip, stupid me. Remove double stat() call.
645 2008-10-31 Stefan Kost <ensonic@users.sf.net>
648 Use g_unlink instead of unlink.
650 * gst/gststructure.c:
659 Formatting & whitespaces.
661 2008-10-31 Stefan Kost <ensonic@users.sf.net>
663 * plugins/elements/gstidentity.c:
664 Doc typo. Use return value of parent_class->event.
666 * plugins/elements/gsttypefindelement.c:
667 Chain up at the end for consistency.
669 2008-10-30 Stefan Kost <ensonic@users.sf.net>
672 * docs/gst/gstreamer-docs.sgml:
673 * docs/gst/gstreamer-sections.txt:
674 * docs/gst/running.xml:
675 * docs/libs/gstreamer-libs-docs.sgml:
676 Change to xinclude based build - its faster and easier to maintain.
678 2008-10-30 Stefan Kost <ensonic@users.sf.net>
680 * gst/gstregistrybinary.c:
681 * gst/gstregistryxml.c:
682 Use g_unlink() as none of these are directories.
684 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
686 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
689 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
691 * libs/gst/base/gstbasetransform.c:
692 (gst_base_transform_find_transform), (gst_base_transform_getrange):
693 If we have a fixate function, call it even if we already have fixed caps
694 because the subclass might add some caps. Makes audioconvert add a
695 default channel layout.
697 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
699 * libs/gst/base/gstbasetransform.c:
700 (gst_base_transform_prepare_output_buffer),
701 (gst_base_transform_getrange):
702 Clear the output buffer variable.
703 Cleanups to the error path in the getrange function.
706 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
708 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
709 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
710 Use gst_buffer_try_new_and_alloc() and handle errors instead of
711 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
714 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
716 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
717 Set the last_stop to a more meaningful position when configuring the
718 segment. ie. the start/stop of the segment or clipped against the
719 updated segment boundaries.
721 * tests/check/gst/gstsegment.c: (GST_START_TEST):
722 Add some unit tests for the last_stop.
724 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
726 * libs/gst/base/gstbytereader.c:
727 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
730 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
732 * docs/gst/gstreamer-sections.txt:
734 API: Move float endianness conversion macros from libgstfloatcast
735 to core as it's useful in general, even in core. Fixes bug #555196.
736 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
737 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
738 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
740 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
741 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
742 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
743 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
745 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
747 * docs/libs/gstreamer-libs-sections.txt:
748 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
749 (gst_byte_reader_peek_data):
750 * libs/gst/base/gstbytereader.h:
751 * win32/common/libgstbase.def:
752 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
753 to get a pointer to the data at the current position and have
756 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
759 Fix a bug in the output of the configure script summary
760 when --gst-disable-registry is supplied
762 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
764 * libs/gst/base/gstbitreader.c:
765 * libs/gst/base/gstbytereader.c:
766 Fix the names of 2 functions in the docs strings.
768 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
770 * libs/gst/base/gstbasetransform.c:
771 (gst_base_transform_prepare_output_buffer),
772 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
773 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
774 refcount problems as seen in banshee and maybe also in farsight2.
775 Remove atomic int now that we need to take the lock anyways.
777 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
779 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
780 (gst_base_sink_default_prepare_seek_segment),
781 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
782 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
783 (gst_base_sink_query):
784 Implement more seeking in pull mode.
785 Use pad convert functions to convert position to the requested format.
786 Fix position/duration reporting in pull mode.
787 Implement position and duration reporting in other formats than time.
789 * libs/gst/base/gstbasesink.h:
790 Add member to keep track of when the segment is playing.
792 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
794 * gst/gstpad.c: (gst_pad_configure_src):
795 When we use gst_pad_alloc_buffer() without wanting to set the caps we
796 also don't need to check if the caps are compatible because the caller
797 presumably is going to perform its own custom checks. Fixes some cases
798 where basetransform elements would error out when it was not needed.
800 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
802 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
805 * libs/gst/base/gstbasetransform.c:
806 (gst_base_transform_handle_buffer),
807 (gst_base_transform_reconfigure):
810 * win32/common/libgstbase.def:
813 2008-10-19 Stefan Kost <ensonic@users.sf.net>
815 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
816 Remove duplicated assignment and log a message in failure case.
818 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
820 Patch by: Dig Ge <dig.ge.cn at gmail com>
822 * tests/examples/helloworld/helloworld.c: (main):
823 Fix copy'n'paste bug in hello world example (#556900).
825 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
827 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
828 (gst_base_sink_query):
829 Query the total number of bytes when activating the pad in pull mode.
830 Implement duration query in pull mode by using the installed pad convert
831 function to convert from bytes to the requested format.
833 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
835 * docs/libs/gstreamer-libs-sections.txt:
836 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
837 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
838 (gst_base_sink_event), (gst_base_sink_perform_seek),
839 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
840 (gst_base_sink_send_event), (gst_base_sink_change_state):
841 * libs/gst/base/gstbasesink.h:
842 Add method to commit the state in subclasses.
843 Refactor the flush_start and flush_stop code because we need it for
844 flushing while seeking too.
845 Implement the beginnings of seeking in pull mode.
846 Use the segment last_stop field for the pulling offset.
847 Fix the pause method in pull mode.
848 Configure the segment to BYTES for pull mode.
849 API: GstBaseSink::gst_base_sink_do_preroll()
851 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
853 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
856 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
858 * gst/gstquark.c: (_priv_gst_quarks_initialize):
859 Fix printf format warning.
861 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
863 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
864 Fix flow aggregation of tee. Error out immediately for all flow returns
865 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
866 and return OK if at least one pad is linked.
868 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
869 and otherwise returned the flow return of the last pad, which is wrong.
871 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
872 (GST_START_TEST), (tee_suite):
873 Add unit tests for the flow aggregation.
875 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
877 * docs/design/part-TODO.txt:
878 Remove item from the todo list because it was fixed with the latency
879 state change rewrites.
881 * docs/design/part-seeking.txt:
882 * docs/design/part-segments.txt:
885 * gst/gstevent.c: (gst_event_new_new_segment_full),
886 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
887 (gst_event_parse_buffer_size), (gst_event_new_qos),
888 (gst_event_parse_qos), (gst_event_new_seek),
889 (gst_event_parse_seek), (gst_event_new_latency),
890 (gst_event_parse_latency):
891 Use quarks to construct and parse events.
893 * gst/gstquark.c: (_priv_gst_quarks_initialize):
895 Add some more quarks to the table.
896 Emit a warning when the quark tables are not in sync.
898 * tests/check/gst/gstbus.c: (GST_START_TEST):
901 2008-10-13 Stefan Kost <ensonic@users.sf.net>
903 * plugins/elements/Makefile.am:
904 * plugins/indexers/Makefile.am:
905 Don't install static libs for plugins. Fixes #550851 for core.
907 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
909 * gst/gstbus.c: (gst_bus_source_finalize),
910 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
911 (gst_bus_enable_sync_message_emission),
912 (gst_bus_disable_sync_message_emission),
913 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
914 Fix deadlock, g_source_get_id() cannot be called in finalize.
915 Keep track of the watch source by keeping a pointer to the source object
917 Use the bus lock to protect access to the pointer to the current
920 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
922 Base on Patch by: Olivier Crete <tester at tester dot ca>
924 * gst/gstbus.c: (gst_bus_source_finalize),
925 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
926 Only allow one bus watch to be set at a time. This is necessary
927 because the dispatcher pops the message from the bus and the second
928 watcher will then get NULL or the next message (and the first won't
929 get this next message then, etc). If more than one "watcher" is
930 required signal watches should be used. Fixes bug #526044.
932 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
934 * tools/gst-launch.c:
935 Change the printing of the 'buffering...' output to avoid putting
936 a \r in a translateable string (flagged by the TP).
938 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
941 Clarify that the save_thyself() and restore_thyself() virtual
942 functions of GstObject need to be overriden, not
943 gst_object_(save|restore)_thyself() which is impossible.
946 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
948 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
949 Revert a patch from 21 months ago that broke caps negotiation in pull
950 mode. Basically, having a buffer pass over a pad will trigger the
951 setcaps function when caps change, just like in push mode.
953 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
955 * docs/design/part-negotiation.txt:
956 Update the docs some more.
958 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
959 If we pull a buffer with non-trivial caps, suggest those caps with the
962 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
964 * docs/design/part-TODO.txt:
965 Add another limitation of pad-blocking with segment seeks not pushing
968 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
970 * win32/common/libgstbase.def:
971 * win32/common/libgstreamer.def:
972 Add new symbols to the win32 defs files
974 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
976 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
977 (gst_bin_handle_message_func):
978 The message src can be NULL, don't try to print the object names in that
981 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
982 Add some more debug info.
984 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
987 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
990 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
992 * docs/design/part-negotiation.txt:
995 * docs/libs/gstreamer-libs-sections.txt:
996 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
997 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
998 (gst_base_sink_init), (gst_base_sink_set_blocksize),
999 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
1000 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
1001 (gst_base_sink_loop), (gst_base_sink_pad_activate),
1002 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1003 (gst_base_sink_change_state):
1004 * libs/gst/base/gstbasesink.h:
1005 Add blocksize property and methods to control the amount of data
1007 Negotiate first before activating upstream in pull mode so that they can
1008 negotiate themselves.
1009 When we operate in pull mode, we only accept the caps that we
1011 Make the sink go ASYNC to PAUSED, like all other sinks.
1012 API: GstBaseSink::gst_base_sink_set_blocksize()
1013 API: GstBaseSink::gst_base_sink_get_blocksize()
1014 API: GstBaseSink::blocksize
1016 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1017 (gst_base_src_set_live), (gst_base_src_is_live),
1018 (gst_base_src_set_format), (gst_base_src_query_latency),
1019 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
1020 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
1021 (gst_base_src_set_property), (gst_base_src_get_property):
1022 * libs/gst/base/gstbasesrc.h:
1023 Add typechecking in public API functions.
1024 Add methods to control the blocksize in subclasses.
1025 API: GstBaseSrc::gst_base_src_set_blocksize()
1026 API: GstBaseSrc::gst_base_src_get_blocksize()
1028 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
1030 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
1031 (buffer_probe), (event_probe), (GST_START_TEST):
1032 We now see 3 events go through our pad, since basesink now sends
1033 upstream latency events.
1035 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
1037 * gst/gstpipeline.c: (gst_pipeline_change_state):
1038 Release the object lock before trying to flush the bus.
1040 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
1042 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1043 Forward LATENCY events upstreams so that elements know about the total
1044 pipeline latency. Fixes #555307.
1046 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
1048 * plugins/elements/gstqueue.c:
1049 Allow through queries when we don't know how
1050 to adjust them (not TIME or BYTES), as otherwise it's
1051 not possible to query the current position in order
1052 to seek in other formats at all.
1054 2008-10-08 Andy Wingo <wingo@pobox.com>
1056 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
1058 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
1060 * gst/gstghostpad.c:
1061 * gst/gstghostpad.h:
1062 Unbreak -good build, private is a reserved c++ keyword.
1064 2008-10-08 Andy Wingo <wingo@pobox.com>
1066 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
1067 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
1068 removal: re-add GST_GHOST_PAD_CAST to the header.
1070 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
1071 (GstGhostPadClass): Publically expose these structures so as to
1072 allow easy subclassing from C. Hide the member data behind a
1073 private opaque data pointer.
1075 * gst/gstghostpad.c: Adapt to store instance data in the type
1076 instance's private data region, not in the public struct.
1078 2008-10-08 Andy Wingo <wingo@pobox.com>
1080 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
1081 template via g_object_get(), be sure to unref it.
1083 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
1085 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1087 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1088 If we can't get a cache file don't try to save something to it.
1089 Dereferencing NULL pointers usually isn't a good idea.
1091 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1093 * tests/check/Makefile.am:
1094 * tests/check/gst/gstabi.c:
1095 * tests/check/gst/struct_sparc.h:
1096 * tests/check/libs/libsabi.c:
1097 * tests/check/libs/struct_sparc.h:
1098 Add Sparc ABI checks
1100 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1101 Cast signed integer to unsigned to avoid a compiler warning.
1103 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1105 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1106 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1107 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1108 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1109 (gst_byte_reader_peek_int24_be):
1110 Use new GST_READ_UINT24_(LE|BE) macros.
1112 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1114 * docs/gst/gstreamer-sections.txt:
1116 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1117 as it's too easy to break the ISO C strict aliasing rules with simple
1118 casts to the corresponding type and this would introduce hard to debug
1119 bugs. Fixes bug #545714.
1121 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1123 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1125 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1126 * gst/gstghostpad.c: (gst_ghost_pad_construct):
1127 Add 'Since' bits to gtk-doc chunks for new API.
1129 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
1131 * docs/gst/gstreamer-sections.txt:
1134 2008-10-06 Andy Wingo <wingo@pobox.com>
1136 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1137 that will be called on the malloc_data to free it. Basically a way
1138 to avoid subclassing when all you need is a different free
1139 function, i.e. free() instead of g_free().
1141 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1142 calling the free function.
1143 (gst_buffer_init): Initialize the free function to g_free.
1145 2008-10-06 Andy Wingo <wingo@pobox.com>
1147 * gst/gstghostpad.h:
1148 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1149 finishes the initialization of ghost pad. Useful for language
1150 bindings and subclassers of GstGhostPad. Fixes #539108.
1151 (gst_ghost_pad_new_full): Use the new constructor.
1153 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1155 Base on Patch by: Olivier Crete <tester at tester dot ca>
1157 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1158 (gst_bin_remove_func), (update_degree),
1159 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1160 Keep track of pads that are being linked/unlinked and resync the state
1163 * gst/gstpad.c: (gst_pad_get_direction),
1164 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1165 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1166 (gst_pad_link_prepare), (gst_pad_link),
1167 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1168 (gst_pad_check_pull_range), (gst_pad_get_range),
1169 (gst_pad_pull_range):
1170 Some code cleanups, use macros to check pad direction.
1171 Don't need to take the lock on the pad direction.
1172 Post structure change when pads are linked/unlinked.
1173 Change some checks into _return_if_fail().
1175 * tests/check/gst/gstbin.c:
1176 (test_link_structure_change_state_changed_sync_cb),
1177 (GST_START_TEST), (gst_bin_suite):
1178 Add testcase for pad link/unlinke resync during a state change.
1181 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1183 * docs/gst/gstreamer-sections.txt:
1184 * gst/gstmessage.c: (gst_message_new_structure_change),
1185 (gst_message_parse_structure_change):
1187 Implement STRUCTURE_CHANGED messages. These messages will be used to
1188 signal the parent bin of link/unlink operations that could require a
1189 resync when doing a state change. See ##510354.
1190 API: gst_message_new_structure_change()
1191 API: gst_message_parse_structure_change()
1193 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1197 Add some more quarks for new message. See #510354.
1199 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1201 * docs/libs/gstreamer-libs-docs.sgml:
1202 * docs/libs/gstreamer-libs-sections.txt:
1203 * libs/gst/base/Makefile.am:
1204 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1205 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1206 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1207 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1208 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1209 (gst_bit_reader_skip_to_byte):
1210 * libs/gst/base/gstbitreader.h:
1211 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1212 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1213 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1214 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1215 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1216 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1217 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1218 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1219 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1220 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1221 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1222 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1223 * libs/gst/base/gstbytereader.h:
1224 * tests/check/Makefile.am:
1225 * tests/check/libs/bitreader.c: (GST_START_TEST),
1226 (gst_bit_reader_suite):
1227 * tests/check/libs/bytereader.c: (GST_START_TEST),
1228 (gst_byte_reader_suite):
1229 API: Add bit reader and byte reader classes, including documentation
1230 and an extensive unit test suite. Fixes bug #553554.
1232 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1234 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1235 (gst_base_sink_query):
1236 Improve position reporting while flushing and other intermediate state
1237 changes. Fixes #553874.
1239 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1241 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1243 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1244 Original patch by : Simon Descaries
1245 Fix small refount leak in caps compatibility check.
1248 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1250 * docs/pwg/advanced-request.xml:
1251 Fix 0.8 api usage in example. Fixes #554561
1253 * docs/pwg/appendix-porting.xml:
1254 Change 0.9 to 0.10 here.
1256 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1258 * docs/manual/basics-data.xml:
1259 Change "event-event interaction" to "element-element interaction".
1260 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1263 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
1266 Back to development -> 0.10.21.1
1268 === release 0.10.21 ===
1270 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
1273 releasing 0.10.21, "Take These Things From Me"
1275 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1278 0.10.20.4 pre-release
1280 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1282 * libs/gst/base/gstbasetransform.c:
1283 * plugins/elements/gstcapsfilter.c:
1284 * tests/check/Makefile.am:
1285 * tests/check/elements/.cvsignore:
1286 * tests/check/elements/capsfilter.c:
1287 Fix assertion in basetransform when the subclass chooses not to
1288 allocate a buffer in prepare_buffer(), and make capsfilter error out
1289 cleanly if requested to apply caps that don't completely specify the
1290 buffer. Fixes #551509
1292 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
1294 * libs/gst/base/gstbasetransform.c:
1295 (gst_base_transform_prepare_output_buffer):
1296 Take new caps ref because our old one might have been gone when the
1297 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1299 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1302 Do not probe availability of check unit test library when cross
1303 compiling, as test would not work anyway. Also cleanup verbose output
1304 of the check test. Fixes #551952.
1306 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1308 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1310 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1311 Avoid leaking the parent ref when we fail changing the state of the
1312 element using gst_element_sync_state_with_parent(). Fixes #551978.
1314 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1316 * docs/manual/intro-motivation.xml::
1317 Remove some bits that no longer apply, update others (#551642).
1319 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1322 0.10.20.2 pre-release
1330 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1332 * win32/common/config.h.in:
1333 Add GST_DATADIR, hard-code cpu to x86.
1335 * win32/common/libgstreamer.def:
1338 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1341 Fix Since: markers for new geo tags.
1343 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1346 Fix actual tag name define after renaming from altitude to elevation.
1348 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1350 * gst/gstpad.c: (add_unref_pad_to_list),
1351 (gst_pad_get_internal_links_default):
1352 Add fallback when calling the deprecated function on an element that
1353 implements the new internal_link handler.
1355 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1357 * docs/gst/gstreamer-sections.txt:
1360 Add new tags for geo location and clarify purpose of existing location
1363 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1365 Patch by: Olivier Crete <tester at tester dot ca>
1367 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1368 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1369 Use thread-safe internal links iterator. Fixes #549504.
1371 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1373 Based on patch by: Olivier Crete <tester at tester dot ca>
1375 * docs/gst/gstreamer-sections.txt:
1376 * win32/common/libgstreamer.def:
1377 * gst/gstpad.c: (gst_pad_init),
1378 (gst_pad_set_iterate_internal_links_function),
1379 (int_link_iter_data_free), (iterate_pad),
1380 (gst_pad_iterate_internal_links_default),
1381 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1383 Add threadsafe replacement functions for getting internal links of an
1384 element. Deprecate the old internal links functions.
1385 API:GstPad::gst_pad_set_iterate_internal_links_function()
1386 API:GstPad::GstPadIterIntLinkFunction
1387 API:GstPad::gst_pad_iterate_internal_links()
1388 API:GstPad::gst_pad_iterate_internal_links_default()
1390 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1391 (gst_proxy_pad_init):
1392 Implement threadsafe internal links.
1394 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1395 Unit test for internal links on tee. See #549504.
1397 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1399 * tests/check/Makefile.am:
1400 libs/transform1 test requires libs/test_transform.c
1402 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1404 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1405 Die evil deadlock, die !
1407 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1409 * gst/gstutils.c: (gst_element_get_compatible_pad):
1410 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1411 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1412 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1413 not steal the refcount of the given caps as stated.
1415 REVERT THIS COMMIT ONCE FIXED !
1416 REVERT THIS COMMIT ONCE FIXED !
1417 REVERT THIS COMMIT ONCE FIXED !
1418 REVERT THIS COMMIT ONCE FIXED !
1419 REVERT THIS COMMIT ONCE FIXED !
1420 REVERT THIS COMMIT ONCE FIXED !
1422 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1424 * gst/gstiterator.c:
1425 * gst/gstiterator.h:
1426 After 3 years it's about time to revise the documentation of the
1429 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1431 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1432 Make the internal links function less thread-unsafe and add some
1433 comments, dunno why.
1435 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1437 * gst/gst_private.h:
1438 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1439 build with --disable-gst-debug.
1441 2008-08-28 David Schleef <ds@schleef.org>
1443 * gst/gstpadtemplate.c: Revert last change, since it breaks
1444 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1445 but shouldn't be enabled until we've released fixed versions
1446 of -good and -ffmpeg.
1448 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1451 Put the gst_object_get_name() back in.
1453 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1455 * gst/gstpadtemplate.c:
1456 The old behaviour was that gst_pad_template_new() takes ownership of
1457 the caps. As we now call g_object_new() which calls g_object_set() and
1458 which copies the caps, we have to unref them to not leak them. Fixes
1459 make valgrid for me.
1461 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1464 Don't segfault on input like "tel:+1-123-555-1234".
1466 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1469 Due to popular request also include ObjectType in
1470 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1472 2008-08-26 David Schleef <ds@schleef.org>
1474 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1475 src_val must be positive, because that's not a requirement.
1476 This causes problems with converting negative granulepos
1478 * gst/gstquery.c: Same, gst_query_new_convert().
1480 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1482 * gst/gstclock.c: (gst_clock_add_observation):
1483 Add some more debugging to the clock slaving code.
1485 * win32/common/libgstbase.def:
1486 Add new basetransform method.
1488 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1490 * gst/gstbin.c: (gst_bin_element_set_state):
1491 Take the (recursive) state lock between getting the locked state of an
1492 element and changing the element state. This allows the application to
1493 lock an element's state and then change its state without races.
1495 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1497 * gst/gstbin.c: (gst_bin_element_set_state):
1498 When an element is in the locked state we still want to update the
1499 base_time of the element.
1501 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1503 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1504 Use the result from gst_pad_set_caps() instead of assuming the element
1505 always accepted the caps computed by the default negotiate function.
1507 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1509 * docs/libs/gstreamer-libs-sections.txt:
1510 * libs/gst/base/gstbasetransform.c:
1511 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1512 (gst_base_transform_chain), (gst_base_transform_suggest),
1513 (gst_base_transform_reconfigure):
1514 * libs/gst/base/gstbasetransform.h:
1515 Implement method for reconfiguring basetransform.
1516 API: GstBaseTransform::gst_base_transform_reconfigure()
1518 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1520 patch by: Murray Cumming <murrayc@murrayc.com>
1523 Mention that this is just like gst_buffer_merge() but with extra
1524 unreffing for C coders. Advise language bindings not to wrap it.
1527 Also fix file comment.
1529 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1531 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1533 * plugins/elements/gstfakesink.c:
1534 * plugins/elements/gstfakesrc.c:
1535 Call super::event() when not handling it. Fixes #544855.
1537 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1539 Patch by: Alessandro Decina <alessandro@nnva.org>
1540 * plugins/elements/gstfilesrc.c:
1541 Use 64 bit variants of stat functions on win32, to enable support
1542 of large files there.
1545 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1547 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1548 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1549 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1550 (gst_base_sink_get_position), (gst_base_sink_change_state):
1551 Improve position reporting in the flushing state.
1552 Also report the position when we are not yet prerolled but we
1553 have a newsegment event. Fixes #543444.
1554 Improve the pull-based negotiation code.
1556 * tests/check/elements/fakesink.c: (GST_START_TEST),
1558 Add testcase for position reporting while flushing in PAUSED and
1561 * tests/check/generic/sinks.c: (GST_START_TEST):
1562 Update unit-test, we can now query the position as soon as we receive a
1565 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1567 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1569 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1570 When the subclass event handler releases the PREROLL_LOCK, we could be
1571 in the flushing state and we have to ignore the event. Fixes #548394.
1573 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1575 * tools/gst-launch.1.in:
1576 Document GST_REGISTRY_UPDATE environment variable.
1578 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1580 * libs/gst/base/gstbasetransform.c:
1581 (gst_base_transform_prepare_output_buffer):
1582 If the element is configured in passthrough mode but the
1583 prepare_output_buffer gave us a new output buffer, discard that buffer
1584 and reuse the input buffer.
1586 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1588 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1590 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1591 (gst_tee_request_new_pad), (gst_tee_release_pad),
1592 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1593 * plugins/elements/gsttee.h:
1594 Protect pad_alloc with a new lock so that we can be sure that nothing is
1595 performing a pad_alloc when removing the pad. Fixes #547835.
1597 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1598 (buffer_alloc_harness_teardown), (app_thread_func),
1599 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1600 Added testcase for shutdown race.
1602 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1607 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1609 * libs/gst/base/gstbasetransform.c:
1610 (gst_base_transform_prepare_output_buffer),
1611 (gst_base_transform_buffer_alloc):
1612 Go over the buffer_alloc function again and make sure we always end up
1613 allocating a buffer.
1615 Avoid doing pad alloc when we have a pending suggestion because we
1616 cannot yet deal with changing caps in that case. Fixes #547728
1618 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1620 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1622 * docs/manual/advanced-clocks.xml:
1623 * docs/manual/clocks.png:
1624 * docs/manual/diagrams-clocks.svg:
1625 Add one more image showing different times together with a describing
1626 paragraph. Fixes #547729.
1628 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1630 * win32/common/libgstbase.def:
1633 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1635 * libs/gst/base/gstbasetransform.c:
1636 (gst_base_transform_transform_caps),
1637 (gst_base_transform_prepare_output_buffer),
1638 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1639 Don't overwrite the outsize when calculating the expected size of a new
1640 buffer because we still need it in case we cannot process the new
1642 When converting the size of the new buffer to an upstream size, actually
1643 use the expected size of the buffer, not some other random value.
1644 Use an atomic int to signal that a new upstream caps suggestion is
1646 When we can convert the current buffer to a new format, check if the
1647 buffer size is of the expected size and allocate a new buffer of the
1648 expected size when this is not the case. Fixes #546883.
1650 * tests/check/libs/transform1.c: (GST_START_TEST):
1651 remove ifdeffed code from the unit test.
1653 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1655 * pkgconfig/gstreamer-uninstalled.pc.in:
1656 * pkgconfig/gstreamer.pc.in:
1657 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1658 called gstcontroller-0.10.
1660 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1662 * gst/gstchildproxy.h:
1664 Remove double interface from doc-string.
1666 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1668 * libs/gst/base/gstbasesrc.c:
1669 * libs/gst/base/gstbasetransform.c:
1670 Fix headings in docs and gtk-doc warnings.
1672 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1674 * gst/gstregistrybinary.c:
1675 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1679 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1681 * libs/gst/base/gstbasetransform.c:
1682 (gst_base_transform_buffer_alloc):
1683 Fix a "may be used unitialized" warning.
1685 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1687 * docs/gst/gstreamer-sections.txt:
1689 Document preset-iface vmethods.
1691 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1693 * docs/manual/advanced-interfaces.xml:
1694 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1695 only used to discover devices.
1697 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1699 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1701 * gst/gst.c: (init_pre):
1702 Make sure gettext returns translations in UTF-8 encoding rather
1703 than in the current locale encoding (#546822).
1705 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1707 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1710 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1711 Improve unit test subset tests and add a testcase for the subset failure
1714 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1715 Improve subtraction unit test.
1717 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1719 * plugins/elements/gsttee.c:
1720 Unlock, instead of locking again.
1722 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1725 Clarify the docs a bit more.
1727 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1729 * tests/examples/metadata/read-metadata.c:
1730 Don't leak old taglist.
1732 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1734 Patch by: Olivier Crete <tester at tester dot ca>
1736 * gst/gststructure.c:
1737 (gst_structure_fixate_field_nearest_fraction):
1738 Avoid overflows in fixation code when dealing with MAXINT values, which
1739 v4l2src seems to do.
1742 * tests/check/gst/gststructure.c: (GST_START_TEST):
1743 Make a unit test to check the fix.
1745 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1747 * plugins/elements/gstcapsfilter.c: (copy_func),
1748 (gst_capsfilter_set_property):
1749 Use new caps suggestion feature of basetransform to request a caps
1750 negotiation upstream.
1752 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1754 * docs/libs/gstreamer-libs-sections.txt:
1756 API: GstBaseTransform::gst_base_transform_suggest()
1758 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1759 (gst_base_transform_init), (gst_base_transform_transform_caps),
1760 (gst_base_transform_transform_size),
1761 (gst_base_transform_configure_caps),
1762 (gst_base_transform_can_transform),
1763 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1764 (gst_base_transform_prepare_output_buffer),
1765 (gst_base_transform_buffer_alloc),
1766 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1767 (gst_base_transform_chain), (gst_base_transform_activate),
1768 (gst_base_transform_set_passthrough),
1769 (gst_base_transform_is_passthrough),
1770 (gst_base_transform_set_in_place),
1771 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1772 (gst_base_transform_set_qos_enabled),
1773 (gst_base_transform_is_qos_enabled),
1774 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1775 (gst_base_transform_reconfigure):
1776 * libs/gst/base/gstbasetransform.h:
1777 Rewrite of basetransform to perform negotiation outside of the
1778 buffer_alloc functions. Fixes #545853.
1780 * tests/check/libs/transform1.c: (GST_START_TEST),
1784 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1786 * tests/check/gst/gstpreset.c:
1787 Only run preset tests when $HOME is writable. Preliminary fix for
1790 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1792 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1793 (gst_bin_change_state_func), (bin_handle_async_done),
1794 (gst_bin_handle_message_func):
1795 Fix race for bins that simulate ASYNC state changes by inserting
1796 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1797 pending ASYNC messages even when the bin does not have ASYNC children.
1798 We note detect this behaviour because we will receive an ASYNC message
1799 that is originating from the bin itself.
1800 Fixes races with decodebin2 state changes.
1802 * tests/check/gst/gstbin.c: (GST_START_TEST):
1803 Add some more debug.
1805 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1807 * gst/gsttaglist.c: (_gst_tag_initialize):
1810 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1813 Argh. actually save the text before committing. Now adds
1814 gst_tag_merge_strings_with_comma() to gst_tag_register().
1816 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1820 Do as tim pointed out and actually register the new tag. Also improve
1821 te docs and use gst_tag_merge_strings_with_comma() method to allow
1822 retriving all keywords merged in one list.
1824 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1827 * docs/gst/gstreamer.types:
1828 Revert 'accidential' change of the configure option removal. We still
1829 need to generate the types file in configure --disable-load-save.
1831 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1833 * docs/gst/gstreamer-sections.txt:
1835 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1837 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1839 * gst/gstpadtemplate.c:
1840 (gst_pad_template_class_init), (gst_static_pad_template_get),
1841 (gst_pad_template_new), (gst_pad_template_pad_created),
1842 (gst_pad_template_set_property), (gst_pad_template_get_property):
1843 Add "name-template", "direction", "presence" and "caps" properties,
1844 so that gst_pad_template_new() is just a thin wrapper around
1845 g_object_new(), which is better for bindings. (Fixes: #539772)
1847 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1850 Be more liberal in what URIs we accept.
1851 Do not unescape bits of the URI for no apparent reason before passing to
1852 the element. Fixes #545352.
1854 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1856 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1859 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1861 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1864 * docs/gst/gstreamer-sections.txt:
1865 * docs/gst/gstreamer.types:
1866 * docs/gst/gstreamer.types.in:
1869 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1870 * gst/gstconfig.h.in:
1871 * gst/gstelement.c: (gst_element_get_index):
1872 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1873 (gst_registry_binary_load_feature),
1874 (gst_registry_binary_read_cache):
1875 * gst/gstregistryxml.c: (load_feature),
1876 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1877 * plugins/Makefile.am:
1879 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1880 (print_plugin_features), (print_element_features):
1881 * tools/gst-xmlinspect.c: (print_event_masks),
1882 (print_element_info):
1883 * win32/common/gstconfig.h:
1884 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1886 Disabling the indexers and URI handler code will only reduce the
1887 required amount of memory by a very small amount but on the other hand
1888 requires much more maintaince work. Apart from that many places of
1889 code are broken when disabling them.
1891 Disabling the enum types doesn't reduce the required amount of memory
1892 by more than a few bytes and makes it hard to fix bugs like #539772,
1893 i.e. use the enums as GObject properties.
1895 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1897 * docs/design/part-TODO.txt:
1898 Add some thoughts and problems with upstream renegotiation.
1900 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1902 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1903 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1904 Remove silly redundant debug.
1905 Add some more debug info.
1906 Clarify the docs regarding new caps received from pad_alloc.
1908 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1910 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1911 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1912 Make setting the caps more threadsafe.
1914 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1916 * docs/design/part-element-transform.txt:
1919 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1921 * plugins/elements/gstqueue.c: (gst_queue_init),
1922 (gst_queue_acceptcaps):
1923 Add and use a custom acceptcaps function instead of falling back to the
1924 potentially less optimized default implementation.
1926 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1928 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1929 Only sanity-check the buffer size if requested_caps == buffer_caps
1930 (ie. don't take pad caps into account, they're not relevant here)
1932 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1934 * plugins/elements/gsttee.c:
1935 * plugins/elements/gsttee.h:
1936 Reverting as not everything is clear yet. Needs some general design
1939 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1942 ChangeLog surgery for tee commit.
1944 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1946 * docs/gst/gstreamer-sections.txt:
1947 Cleanup section-file.
1949 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1951 * plugins/elements/gsttee.c:
1952 * plugins/elements/gsttee.h:
1953 Relay tag events in tee. Fixes parts of #474016.
1954 Downgrades 3 reoccurring debugs to log.
1956 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1959 * libs/gst/Makefile.am:
1960 Build the net library if we have winsock2.
1962 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1964 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1966 * docs/manual/advanced-threads.xml:
1967 * docs/manual/diagrams-pipelines.svg:
1968 * docs/manual/hello-world.png:
1969 * docs/manual/linked-elements.png:
1970 * docs/manual/mime-world.png:
1971 * docs/manual/queue.png:
1972 * docs/manual/thread-buffering.png:
1973 * docs/manual/thread-synchronizing.png:
1974 Replace one diagram with two separate ones and updates others.
1977 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1980 Fix link in documentation.
1982 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1985 Fix confusing documentation.
1987 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1989 * libs/gst/base/gstbasesrc.h:
1990 revert the changes to the header file for the ABI.
1992 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1994 * libs/gst/base/gstbasesrc.c:
1995 * libs/gst/base/gstbasesrc.h:
1996 Don't cache the seekable status.
1999 2008-07-24 Rene Stadler <mail@renestadler.de>
2001 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
2002 code to close the pipeline graph. This prevents the program from
2003 printing internal data flow errors.
2005 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2007 * docs/manual/basics-bus.xml:
2008 Correct typo. Fixes bug #544320.
2010 2008-07-22 Michael Smith <msmith@songbirdnest.com>
2013 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
2014 Add check (taken from -base) for winsock, adds WIN32_LIBS
2016 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
2018 Define GST_EXPORTS when building libgstreamer (only used on win32)
2019 * gst/gst_private.h:
2021 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
2022 for symbols that we need to export in both these files.
2024 Include gst_private.h higher up to avoid some compile problems on win32.
2026 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2031 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
2034 Previous commit was wrong NULL caps does not exist
2035 and indicate an error, so also add a FIXME to
2036 gst_caps_is_equal where NULL caps are accepted.
2038 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
2041 Allow passing of NULL to gst_caps_union
2043 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
2045 * gst/gstghostpad.c:
2046 Add in doc that gst_ghost_pad_set_target can accept
2047 NULL to clear target
2049 2008-07-15 Michael Smith <msmith@songbirdnest.com>
2052 * gst/gstregistry.c:
2053 GstRegistryPool doesn't exist; don't refer to it in docs.
2054 Don't refer to functions that don't exist in docs, it's
2057 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2060 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2062 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2064 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
2066 * docs/pwg/building-testapp.xml:
2067 Don't use an undeclared variable in the example program.
2070 2008-07-12 Stefan Kost <ensonic@users.sf.net>
2072 * gst/gstdebugutils.c:
2073 Squeeze ghost-pad links and remove <> from classname labels to save
2074 more horizontal space.
2076 2008-07-11 Stefan Kost <ensonic@users.sf.net>
2078 * gst/gstdebugutils.c:
2079 Give request and sometimes pads a different shpe style. Condense the
2080 graphs a little more.
2082 2008-07-09 Michael Smith <msmith@songbirdnest.com>
2085 Don't require flex and bison if the parser is disabled.
2087 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2089 * libs/gst/controller/gstinterpolationcontrolsource.c:
2090 (_list_find_sorted_custom):
2091 Don't use declarations after statements.
2093 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2095 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2096 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
2097 of the the child-added / -removed signals as GstChildProxy
2098 only supports GstObjects.
2100 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
2102 * gst/gstdebugutils.c:
2105 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2107 Patch by: Alessandro Decina <alessandro at nnva dot org>
2110 Fix "ignored return value" compiler warning with newer glibc.
2112 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2114 * gst/gstchildproxy.c:
2115 Fix copy&paste error in gst_child_proxy_removed() documentation.
2117 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
2119 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2120 Print error debug message if plugin description fields that should
2123 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2124 Don't crash if the string to serialise is NULL (it really should
2125 not be, but apparently this used to work with the xml registry ...).
2127 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
2129 * tools/gst-plot-timeline.py:
2130 Fix parsing of log messages
2132 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
2134 * win32/common/libgstbase.def::
2135 Sort alphabetically so make check-exports doesn't barf.
2137 2008-07-01 Stefan Kost <ensonic@users.sf.net>
2140 Use gst_format_get_name() to improve debug output.
2143 Remove #ifdef'ed code. Add TODO comment.
2146 Add debug output to ease spotting format != segment.format assertions.
2148 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2150 * tests/check/libs/gdp.c: (gst_dp_suite):
2151 Also enable the GDP unit test again on PPC now that the bug
2154 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2156 * libs/gst/dataprotocol/dataprotocol.c:
2157 Don't write to the same region of memory as a uint64 and uint16
2158 as this breaks strict aliasing rules and apparantly breaks on PPC
2159 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2161 2008-06-29 Stefan Kost <ensonic@users.sf.net>
2163 * libs/gst/controller/gstinterpolationcontrolsource.c:
2164 Optimize list handling. Use own find function. Exploit that fact that
2165 the list is sorted. Also pass back the node before, so that we can
2166 insert quickly. Have a fast path for append.
2168 2008-06-29 Stefan Kost <ensonic@users.sf.net>
2170 * docs/design/draft-framestep.txt:
2171 * docs/design/part-negotiation.txt:
2174 2008-06-27 Stefan Kost <ensonic@users.sf.net>
2177 Show configuration sumary after configure run. Based on patch by
2178 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2180 2008-06-27 Stefan Kost <ensonic@users.sf.net>
2182 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2184 * docs/manual/advanced-autoplugging.xml:
2185 * docs/manual/advanced-threads.xml:
2186 * docs/manual/basics-bins.xml:
2187 * docs/manual/basics-elements.xml:
2188 * docs/manual/basics-helloworld.xml:
2189 * docs/manual/basics-pads.xml:
2190 Add scale factor for pdf output.
2192 * docs/manual/intro-basics.xml:
2193 Switched sections "pads" and "bins" and added a pipeline diagram.
2195 * docs/manual/intro-gstreamer.xml:
2196 Added more info on gstreamer.
2198 * docs/manual/intro-motivation.xml:
2199 Commented out the whole section "current problem", which sounds
2200 historical and somehow osolete; it could be turned in a positive
2201 way and reused to improve the design principles.
2203 * docs/manual/intro-preface.xml:
2204 - Update URLs to library.gnome.org.
2205 - Do not mention GTK+ in preliminary reading (irrelevant).
2206 - Mention Plugin Writer's Manual and further reading only in the
2208 - Added a list of most relevant GObject/glib topics.
2210 * docs/manual/Makefile.am:
2211 * docs/manual/bin-element-ghost.fig:
2212 * docs/manual/bin-element-ghost.png:
2213 * docs/manual/bin-element-noghost.fig:
2214 * docs/manual/bin-element-noghost.png:
2215 * docs/manual/bin-element.fig:
2216 * docs/manual/bin-element.png:
2217 * docs/manual/filter-element-multi.fig:
2218 * docs/manual/filter-element-multi.png:
2219 * docs/manual/filter-element.fig:
2220 * docs/manual/filter-element.png:
2221 * docs/manual/gstreamer-overview.png:
2222 * docs/manual/hello-world.fig:
2223 * docs/manual/hello-world.png:
2224 * docs/manual/linked-elements.fig:
2225 * docs/manual/linked-elements.png:
2226 * docs/manual/mime-world.fig:
2227 * docs/manual/mime-world.png:
2228 * docs/manual/queue.fig:
2229 * docs/manual/queue.png:
2230 * docs/manual/simple-player.png:
2231 * docs/manual/sink-element.fig:
2232 * docs/manual/sink-element.png:
2233 * docs/manual/src-element.fig:
2234 * docs/manual/src-element.png:
2235 * docs/manual/diagrams-general.svg:
2236 * docs/manual/diagrams-pipelines.svg:
2237 Removed .fig, added .png counterpart.
2241 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
2243 * plugins/elements/gstmultiqueue.c:
2244 * plugins/elements/gstmultiqueue.h:
2245 revert extra-size-buffers stuff, caused some race conditions
2246 and extra-size-buffers is not used anymore. Docs needs some updates
2248 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2250 * win32/common/config.h:
2251 * win32/common/gstenumtypes.c:
2252 * win32/common/gstenumtypes.h:
2253 * win32/common/gstversion.h:
2256 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2258 * gst/gstdebugutils.h: (GstDebugGraphDetails),
2259 (GST_DEBUG_BIN_TO_DOT_FILE):
2260 Add missing Since' markers to gtk-doc blurbs.
2262 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
2264 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2265 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2266 (set_caps_1), (set_caps_ct1), (transform_ct1),
2267 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2268 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2269 (transform_size_ct2), (buffer_alloc_ct2):
2270 Add some more tests with switching caps in buffer_alloc.
2272 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2274 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2275 (gst_test_trans_class_init), (result_sink_chain),
2276 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2277 (gst_test_trans_push), (gst_test_trans_pop):
2278 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2279 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2280 (set_caps_1), (set_caps_ct1), (transform_ct1),
2281 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2282 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2283 (transform_size_ct2), (buffer_alloc_ct2),
2284 (gst_basetransform_suite):
2285 More tests, prepare for tests with switching caps in buffer_alloc.
2287 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
2289 * plugins/elements/gstmultiqueue.c:
2290 * plugins/elements/gstmultiqueue.h:
2291 Fix dead-lock in underrun_cb
2293 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2295 * docs/design/part-states.txt:
2296 Fix device open/close docs.
2298 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2301 Mention bugnumber for last commit.
2303 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2305 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2307 * docs/manual/manual.xml:
2308 - Reorganised the previous "introduction" bundle into Foreword,
2309 Introduction, and About GStreamer. The two first are <preface>
2310 docbook elements. The later is the first part of the book.
2311 - added intro-gstreamer.xml (content partially from
2313 - moved appendix-win32.xml into appendix-integration.xml
2315 * docs/manual/intro-preface.xml: gstreamer section moved...
2316 * docs/manual/intro-gstreamer.xml: ...here. new file.
2318 * docs/manual/appendix-win32.xml: removed file. Content moved...
2319 * docs/manual/appendix-integration.xml: ...here.
2321 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2322 * docs/manual/appendix-checklist.xml: ...here.
2326 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2328 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2330 * docs/manual/basics-helloworld.xml:
2331 * docs/manual/hello-world.fig:
2332 - Explicitely include glib.h.
2333 - Do not use global variables.
2334 - Use g_printerr() instead of g_print().
2335 - Minor formating/renaming to increase readibility.
2336 - Renamed new_pad() to on_pad_added()
2337 - Improved explenatory comments.
2338 - renamed ogg parser to ogg demuxer
2339 - Use "autoaudiosink" instead of "alsasink".
2342 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2345 Remove cvs conflict marker.
2347 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2350 Document that for plgin-docs we extraxt he short-desc from the element
2353 * docs/design/part-states.txt:
2354 Tell that devices should be closed in PAUSED -> READY.
2356 * docs/manual/README:
2357 Document how tests in the manual are handled.
2362 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2364 * gst/gstbin.c: (bin_query_latency_fold):
2365 Only care about latency min and max when the sink is actually a live
2368 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2370 * docs/design/part-block.txt:
2373 * docs/design/part-element-transform.txt:
2374 Add notes about why transform needs to know input/output sizes.
2375 Add some issues that need to be solved.
2376 Add some more use cases.
2378 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2379 (gst_test_trans_class_init), (result_sink_chain),
2380 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2381 (gst_test_trans_push), (gst_test_trans_pop):
2382 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2383 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2384 (set_caps_1), (set_caps_ct1), (transform_ct1),
2385 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2386 (gst_basetransform_suite):
2387 Add suport for different pad templates and buffer-alloc.
2388 Add more checks for caps and buffer-alloc.
2389 Add checks for proxy buffer alloc.
2390 Add unit test for copy transform.
2392 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2394 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2396 * docs/manual/appendix-integration.xml:
2397 * docs/manual/appendix-licensing.xml:
2398 * docs/manual/basics-elements.xml:
2399 * docs/manual/basics-helloworld.xml:
2400 * docs/manual/basics-pads.xml:
2401 * docs/manual/highlevel-components.xml:
2402 * docs/manual/highlevel-xml.xml:
2403 * docs/manual/intro-basics.xml:
2404 * docs/manual/intro-preface.xml:
2405 Typo and formatting fixes (#538594).
2407 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2409 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2410 Fix some memory leaks and uses of object instances that we don't
2413 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2415 * plugins/elements/gstmultiqueue.c:
2416 Add functionality to extra-size-buffers property.
2418 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2420 * plugins/elements/gstmultiqueue.c:
2421 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2422 activate the pads if they are added in STATE_NULL.
2424 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2426 * docs/libs/gstreamer-libs-sections.txt:
2428 * libs/gst/check/gstcheck.c:
2429 * libs/gst/check/gstcheck.h:
2430 API: gst_check_teardown_pad_by_name
2432 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2434 * libs/gst/check/gstcheck.c:
2435 * libs/gst/check/gstcheck.h:
2436 Also setup request pads and allow setup pads by name (#537812)
2437 API: gst_check_setup_src_pad_by_name
2438 API: gst_check_setup_sink_pad_by_name
2440 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2442 * tests/check/gst/gstbuffer.c:
2443 * tests/check/pipelines/parse-launch.c:
2444 Use HAVE_VALGRIND_H some more.
2446 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2448 * scripts/cvs-update.sh:
2449 Pass arguments to make.
2450 Run autoregen.sh if Makefile is not there.
2452 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2456 Don't assume that <valgrind/valgrind.h> exists just because
2457 the binary is there.
2459 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2461 * tests/check/Makefile.am:
2462 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2463 (gst_test_trans_class_init), (gst_test_trans_init),
2464 (gst_test_trans_set_data), (result_sink_chain),
2465 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2466 (gst_test_trans_pop):
2467 * tests/check/libs/transform1.c: (GST_START_TEST),
2468 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2469 Add some test basetransform element and the beginnings of various
2472 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2474 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2475 Increase code readability.
2476 Don't try to compare buffer offsets when ther are invalid.
2478 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2480 * docs/design/Makefile.am:
2481 Dist some more design docs.
2483 * docs/random/moving-plugins:
2484 Small addition: good plugins mustn't have functional code
2485 within assertion macros.
2487 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2489 * docs/design/draft-framestep.txt:
2490 Some ideas about a framestep API
2492 * docs/design/part-element-transform.txt:
2493 Start design and use cases for basetransform in order to get it
2496 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2499 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2500 be in UTF-8 encoding.
2502 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2505 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2507 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2509 * plugins/elements/gstcapsfilter.c:
2510 * plugins/elements/gstfakesink.c:
2511 * plugins/elements/gstfakesrc.c:
2512 * plugins/elements/gstfdsink.c:
2513 * plugins/elements/gstfdsrc.c:
2514 * plugins/elements/gstfilesink.c:
2515 * plugins/elements/gstfilesrc.c:
2516 * plugins/elements/gstidentity.c:
2517 * plugins/elements/gstmultiqueue.c:
2518 * plugins/elements/gstqueue.c:
2519 * plugins/elements/gsttee.c:
2520 * plugins/elements/gsttypefindelement.c:
2521 Remove short_description. Add basic docs for gsttypefindelement.
2522 Simplify markup for fakesrc/fdsrc.
2524 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2526 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2529 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2531 Patch by: Joel Larsson <tilljoel at gmail dot com>
2533 * docs/plugins/gstreamer-plugins.args:
2534 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2535 (gst_fd_src_init), (gst_fd_src_update_fd),
2536 (gst_fd_src_set_property), (gst_fd_src_get_property),
2537 (gst_fd_src_create):
2538 * plugins/elements/gstfdsrc.h:
2539 Add timeout property like udpsrc. Fixes #538628.
2540 Add some more docs and example pipelines.
2542 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2544 * docs/libs/gstreamer-libs-sections.txt:
2545 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2546 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2547 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2548 (gst_base_sink_do_sync):
2549 * libs/gst/base/gstbasesink.h:
2550 * win32/common/libgstbase.def:
2551 Add method to allow sinks to specify additional delay between the sync
2552 times and the actual rendering of the data.
2553 API: gst_base_sink_set_render_delay()
2554 API: gst_base_sink_get_render_delay()
2556 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2559 Bump version number back to dev -> 0.10.20.1
2561 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2563 * docs/gst/gstreamer-sections.txt:
2564 * gst/gsttaglist.c: (_gst_tag_initialize):
2566 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2569 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2571 * libs/gst/controller/gstcontroller.c:
2572 Revert one change, that make ret value possible uninitialized.
2574 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2576 * libs/gst/controller/gstcontroller.c:
2577 Use freeze/thaw notify to sync notify emission a bit (its also more
2578 efficient). Move debug output to LOG (is called a lot in a loop).
2579 Always unset g_values if the have been initialized.
2581 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2583 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2584 (gst_base_sink_wait_eos), (gst_base_sink_event):
2585 If we have not seen a buffer before EOS, use the segment values to
2586 report the current position instead of invalid positions.
2588 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2590 * docs/plugins/tmpl/.cvsignore:
2591 * tests/check/gst/.cvsignore:
2594 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2596 * libs/gst/controller/gstinterpolation.c:
2597 * libs/gst/controller/gstinterpolationcontrolsource.c:
2598 * tests/check/libs/controller.c:
2599 Rewrite handling of default values. Fix overflow with unsigned types
2600 in linear interpolation. Remove now obsolete _first_value() function.
2601 Add more tests. Fixes #538201.
2603 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2605 * libs/gst/base/gstbasetransform.c:
2606 (gst_base_transform_class_init), (gst_base_transform_init),
2607 (gst_base_transform_transform_caps),
2608 (gst_base_transform_prepare_output_buffer):
2610 When a buffer is writable, its metadata is also writable so we don't
2611 need to subbuffer (which then makes the buffer not-writable anymore).
2613 === release 0.10.20 ===
2615 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2618 releasing 0.10.20, "You Crazy Diamond"
2620 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2623 0.10.19.3 pre-release
2625 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2629 Rename DATADIR to GST_DATADIR to avoid build problems
2630 on win32. Patch By: David Schleef <ds@schleef.org>
2633 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2636 Explicitely link with -ldl if dladdr() is found there. Before it was
2637 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2638 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2640 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2642 * gst/gsterror.c: (_gst_stream_errors_init):
2643 Fix typo (spotted by Fabricio Godoy, #536723).
2645 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2648 0.10.19.2 pre-release
2650 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2652 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2653 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2655 Make sure we don't generate invalid QoS messages.
2657 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2659 * gst/gstevent.c: (gst_event_new_qos):
2660 Add some assert and docs for invalid input to the qos function.
2662 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2664 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2665 (gst_base_sink_get_position):
2666 The reported position must always be smaller than the last seen
2667 timestamps (or timestamp + duration for reverse).
2669 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2671 Patch by: Rob Bradford <rob at robster dot org dot uk>
2673 * gst/gstregistry.c: (gst_registry_scan_path_level):
2674 Don't recurse into .debug directories as some distros install
2675 the debugging symbols next to the plugins in .debug directories
2676 and dlopen() crashes on them sometimes. Fixes bug #508070.
2678 Add FIXME for 0.11 to not recurse into directories at all because
2679 it's very inconsistent to the behaviour of other PATH environment
2682 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2684 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2685 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2686 Fix position query range checks in reverse playback.
2688 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2692 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2693 clear of the reference to the resulting pad must be released later
2694 or not, resulting in possible leaks. Fixes bug #533865.
2696 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2698 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2700 * gst/gstelementfactory.c:
2701 Small doc fix. Fixes #535285.
2703 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2705 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2707 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2708 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2709 (gst_base_src_loop), (gst_base_src_set_flushing),
2710 (gst_base_src_change_state):
2711 Make sending an EOS event to the basesrc non-blocking even if the
2712 implementation does blocking waits in the create function. This is done
2713 by unlocking the create function when EOS is sent.
2716 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2718 * tools/gst-inspect.c: (print_element_properties_info):
2719 If possible print the element type of GValueArray properties.
2721 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2723 * gst/gstiterator.c:
2724 Remove an unused field from the private GstListIterator struct.
2726 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2728 * libs/gst/controller/gstcontroller.c:
2729 Add parameter guards.
2731 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2733 * tests/check/gst/gstpipeline.c:
2734 Revert test change and add comment why it should not work.
2736 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2738 * tests/check/gst/gstpipeline.c:
2739 Extending the test a little to verify that we also get the NULL state-
2742 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2744 * gst/gstpreset.c: (gst_preset_default_get_meta),
2745 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2746 (gst_preset_load_preset), (gst_preset_save_preset),
2747 (gst_preset_rename_preset), (gst_preset_delete_preset),
2748 (gst_preset_set_meta):
2749 Add Since: markers to docs blurbs.
2751 * win32/common/libgstreamer.def:
2752 Add recently-added API.
2754 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2756 Patch by: Stefan Kost <ensonic@users.sf.net>
2759 Add DATADIR for storing presets.
2761 * docs/gst/gstreamer-docs.sgml:
2762 * docs/gst/gstreamer-sections.txt:
2763 * docs/gst/gstreamer.types.in:
2764 Add GstPreset to docs.
2768 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2769 (preset_open_and_parse_header), (preset_parse_version),
2770 (preset_merge), (preset_get_keyfile),
2771 (gst_preset_default_get_preset_names),
2772 (gst_preset_default_get_property_names),
2773 (gst_preset_default_load_preset),
2774 (gst_preset_default_save_presets_file),
2775 (gst_preset_default_save_preset),
2776 (gst_preset_default_rename_preset),
2777 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2778 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2779 (gst_preset_default_reset), (gst_preset_get_preset_names),
2780 (gst_preset_get_property_names), (gst_preset_load_preset),
2781 (gst_preset_save_preset), (gst_preset_rename_preset),
2782 (gst_preset_delete_preset), (gst_preset_set_meta),
2783 (gst_preset_get_meta), (gst_preset_class_init),
2784 (gst_preset_base_init), (gst_preset_get_type):
2786 Add GstPreset to core. Fixes #396779
2788 * tests/check/Makefile.am:
2789 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2790 (gst_preset_test_set_property), (gst_preset_test_class_init),
2791 (gst_preset_test_base_init), (gst_preset_test_get_type),
2792 (gst_preset_test_plugin_init), (GST_START_TEST),
2793 (remove_preset_file), (test_setup), (test_teardown),
2795 Add GstPreset unit tests.
2797 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2799 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2800 The default event function on a sinkpad should return TRUE when
2801 there are no internal links but should collect the return values from
2802 the internal links otherwise.
2804 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2806 * plugins/elements/gsttypefindelement.c:
2807 (gst_type_find_element_src_event),
2808 (gst_type_find_element_handle_event):
2809 Use faster and safer _pad_push_event().
2811 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2813 * docs/gst/gstreamer-sections.txt:
2814 * gst/gstutils.c: (element_find_unlinked_pad),
2815 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2817 API: add gst_bin_find_unlinked_pad()
2818 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2820 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2826 Fixed a bunch of typos.
2828 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2831 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2832 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2833 (gst_parse_bin_from_description_full):
2835 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2837 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2839 * docs/pwg/advanced-tagging.xml:
2840 Small docs update, can't be bothered to rewrite the nonsensical
2843 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2846 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2848 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2850 * gst/parse/grammar.y:
2851 Remove unneeded casts.
2853 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2855 * gst/parse/grammar.y:
2856 * tests/check/pipelines/parse-launch.c:
2857 Get all missing elements from a parse launch string if possible
2858 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2860 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2862 * tests/check/Makefile.am:
2863 * tests/check/pipelines/parse-launch.c:
2864 Add some unit tests for the new gst_parse_launch*_full() API.
2865 (Exposes a previously-existing memory leak in the error code
2866 path, so adding to VALGRIND_TO_FIX for now).
2868 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2870 * docs/gst/gstreamer-sections.txt:
2871 * gst/gst.c: (init_post):
2872 * gst/gst_private.h: (_GstParseContext):
2873 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2874 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2875 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2876 (gst_parse_launch_full):
2877 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2878 (GstParseFlags), (GstParseContext):
2879 * gst/gstutils.c: (gst_parse_bin_from_description),
2880 (gst_parse_bin_from_description_full):
2882 * gst/parse/grammar.y:
2883 * gst/parse/types.h:
2884 * win32/common/libgstreamer.def:
2885 Add new gst_parse_*_full API (#528178):
2886 API: gst_parse_launch_full()
2887 API: gst_parse_launchv_full()
2888 API: gst_parse_bin_from_description_full()
2889 API: gst_parse_context_new()
2890 API: gst_parse_context_free()
2891 API: gst_parse_context_get_missing_elements()
2893 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2895 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2897 * docs/faq/gst-uninstalled:
2898 Also support ffmpeg in gst-uninstalled.
2900 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2903 After discussion on IRC use the binary registry as default
2904 but allow to disable it with --disable-binary-registry.
2906 * win32/common/libgstreamer.def:
2907 Add the two new symbols for the binary registry.
2909 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2911 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2912 * gst/gstutils.c: (gst_parse_bin_from_description):
2913 * gst/parse/grammar.y: (graph):
2914 More guards against bad input; typo fix; some minor clean-ups.
2916 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2918 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2920 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2921 If nothing else can be used, use the last buffer's start time as
2922 the segment's last stop. Fixes bug #534258.
2924 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2926 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2927 Move size sanity check to the right place: downstream may return
2928 a buffer with a smaller size if the buffer caps are different than
2929 the requested ones, as may happen when doing reverse negotiation.
2931 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2933 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2934 (gst_file_sink_render):
2935 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2936 (gst_file_src_start):
2937 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2940 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2942 * gst/gstpad.c: (gst_pad_load_and_link):
2943 * gst/gstutils.c: (gst_element_link_pads),
2944 (gst_element_unlink_pads):
2945 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2946 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2947 (gst_check_teardown_sink_pad),
2948 (gst_check_element_push_buffer_list):
2949 * tests/check/elements/fakesink.c: (GST_START_TEST):
2950 * tests/check/elements/filesink.c:
2951 * tests/check/elements/filesrc.c: (GST_START_TEST):
2952 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2953 (mq_sinkpad_to_srcpad):
2954 * tests/check/elements/tee.c: (GST_START_TEST):
2955 * tests/check/generic/sinks.c: (GST_START_TEST):
2956 * tests/check/gst/gstbin.c: (GST_START_TEST):
2957 * tests/check/gst/gstevent.c: (GST_START_TEST):
2958 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2959 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2960 * tests/check/gst/gstquery.c: (GST_START_TEST):
2961 * tests/check/gst/gstutils.c: (GST_START_TEST):
2962 * tests/check/libs/basesrc.c: (GST_START_TEST):
2963 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2964 (gst_parse_test_element_change_state):
2965 Don't use gst_element_get_pad().
2967 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2970 Fix installing plugin documentation when gtk-doc is disabled.
2972 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2974 * docs/manual/advanced-autoplugging.xml:
2975 * docs/manual/basics-helloworld.xml:
2976 * docs/manual/basics-pads.xml:
2977 * docs/manual/highlevel-components.xml:
2978 Avoid using a bad function in the example code.
2980 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2982 * gst/gstclock.c: (gst_clock_set_calibration):
2983 Fix debug of the new clock rate.
2985 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2987 * win32/common/libgstbase.def:
2988 Add gst_base_sink_wait_clock() to the exported symbols.
2990 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2992 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2994 * libs/gst/base/gstbasetransform.c:
2995 (gst_base_transform_sink_event):
2996 Unref events that the GstBaseTransform::event vfunc didn't want to
2997 have forwarded by the base class. Closes a leak in identity.
3000 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
3002 * docs/libs/gstreamer-libs-sections.txt:
3003 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
3004 * libs/gst/base/gstbasesink.h:
3005 Expose a method that was previously used internally to synchronize
3006 against the clock because it can be useful for subclasses too.
3007 API: GstBaseSink::gst_base_sink_wait_clock()
3009 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
3011 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3012 Add sanity check to make sure we don't get smaller buffers
3013 than requested (and fallback to normal buffer alloc if we do).
3015 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
3017 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
3018 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
3019 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
3020 Refactor adjusting the running_time with latency and offset into a
3022 When doing clipping, we still want to use the subclass get_times method,
3023 just in case the DURATION or TIMESTAMP are not set.
3025 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
3027 * docs/gst/gstreamer-sections.txt:
3028 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
3029 * gst/gsttypefind.h:
3030 * win32/common/libgstreamer.def:
3031 API: add gst_type_find_suggest_simple(), #533740.
3033 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
3035 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
3036 Use right error code when typefinding fails, so we can use
3037 the default (translated) error messages.
3039 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
3041 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3042 (gst_base_src_start):
3043 When the subclass did not set caps on outgoing buffers, configure the
3044 caps we negotiated on the source pad.
3045 When the typefind helper does not find caps, error out properly instead
3046 of doing things with NULL caps.
3048 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
3050 * gst/gsttypefind.h:
3051 Tabs to spaces, oh yes!
3053 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
3055 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
3056 Add David's and Benjamin's tests for array intersection to the
3057 unit test suite (#147931).
3059 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
3062 Document that gst_event_new_tag() and gst_event_new_navigation()
3063 take ownership of the taglist/structure passed to them. (#533635).
3065 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
3068 Don't descend into the plugins dir if plugin docs building
3072 Add a note about the new type:GTypeName syntax for the plugin
3073 documentation .types file.
3075 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
3077 * gst/gstmessage.c: (gst_message_new_error),
3078 (gst_message_new_warning), (gst_message_new_info):
3080 Mark the debug string parameters as const. Fixes bug #533490.
3082 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
3084 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
3085 Sort buffer cache list by end offsets. This makes sure that we don't
3086 stop to search for a cached buffer that contains the requested data
3088 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
3089 more efficient. Fixes bug #459862.
3091 2008-05-14 Stefan Kost <ensonic@users.sf.net>
3094 Explain why we copy the list.
3096 * gst/gstpipeline.c:
3100 Add one debug-log statement to help tracing probelms with linking pads.
3102 2008-05-12 Stefan Kost <ensonic@users.sf.net>
3104 * tests/check/gst/gstinfo.c:
3105 Add a test for removing the default log handler. Seems to fail under
3108 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
3110 * gst/gstpad.c: (gst_pad_peer_accept_caps):
3111 Release pad lock before calling out to avoid a possible deadlock.
3113 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
3115 * gst/parse/grammar.y:
3116 Remove unneeded value unset.
3118 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3119 Add unit test for de/serialization of caps.
3121 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
3123 * plugins/elements/gstfakesink.c:
3124 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3125 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3126 (gst_fake_src_class_init):
3127 Use custom marshalers that take GstMiniObject as first parameter.
3128 Using OBJECT as parameter while a GstMiniObject is given will lead
3129 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3131 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
3133 * plugins/elements/gsttypefindelement.c:
3134 (gst_type_find_element_handle_event),
3135 (gst_type_find_element_send_cached_events),
3136 (gst_type_find_element_change_state):
3137 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3140 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
3142 * plugins/elements/gsttypefindelement.c:
3143 (gst_type_find_handle_src_query), (stop_typefinding),
3144 (gst_type_find_element_handle_event),
3145 (gst_type_find_element_send_cached_events),
3146 (gst_type_find_element_change_state):
3147 Forward FLUSH_START events immediately and clean up instead of
3150 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
3152 Patch by: Sjoerd Simons <sjoerd at luon dot net>
3154 * libs/gst/base/gstbasetransform.c:
3155 (gst_base_transform_buffer_alloc):
3156 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3157 fall back to default negotiation in the chain function if the caps
3158 are different from what was requested. Fixes bug #526768.
3160 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
3163 * tests/check/gst/gstsegment.c:
3164 No, let's not use g_slice_{dup|copy} here, since they only exist
3165 since GLib 2.14 and we still depend only on >= 2.12. Also add
3166 unit test for gst_segment_copy().
3168 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
3170 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3171 Try to fix 'dereferencing type-punned pointer will break strict
3172 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3173 changed the default GType typedef from gulong to gsize at some point,
3174 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3175 g_once_* functions all take a gsize * though, so work around the type
3176 mismatch for C++ by doing everything in gsize and casting to GType
3179 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
3181 * plugins/elements/gstmultiqueue.c:
3182 Add documentation for the signals to push our core plugin docs
3183 coverage back up to 100%.
3185 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3187 * gst/gstinfo.h (GST_FUNCTION):
3188 Reverted GST_FUNCTION to the old version as we don't want the
3189 full signature in C++ code. Also added support for MSVC.
3191 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3194 Intern the type name string, similar to what G_DEFINE_TYPE does.
3196 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3199 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3201 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3203 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3205 * libs/gst/base/gstbasetransform.c:
3206 (gst_base_transform_buffer_alloc):
3207 Don't passthrough buffer allocation too easily if the caps change.
3208 This breaks when working in passthrough mode and upstream changes
3209 it's caps. Fixes bug #526768.
3211 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3213 * gst/gstinfo.c (gst_debug_log_valist):
3214 Improved the __FILE__ part of debug output for MSVC.
3216 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3218 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3219 Declaration after statement fix for compilers like MSVC.
3221 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3223 * win32/common/config.h.in:
3224 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3225 use the real thing than having "???" unconditionally.
3227 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3229 * gst/gstinfo.h (GST_FUNCTION):
3230 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3232 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
3234 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3237 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3238 (gst_base_sink_set_flushing):
3239 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3242 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
3244 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3245 (gst_fake_src_init), (gst_fake_src_set_property),
3246 (gst_fake_src_get_property), (gst_fake_src_start):
3247 * plugins/elements/gstfakesrc.h:
3248 Added format property to control the format of the newsegment events.
3249 API: GstFakeSrc:format
3251 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3253 * win32/common/libgstreamer.def:
3254 Add gst_pad_has_name() to the exported symbols.
3256 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3258 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3259 * libs/gst/base/gstbasetransform.c:
3260 (gst_base_transform_prepare_output_buffer):
3261 Don't allow negative sizes when allocating new buffers.
3264 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3266 Patch by: Sjoerd Simons <sjoerd at luon net>
3268 * gst/gstbus.c: (gst_bus_source_dispatch):
3269 Don't print a warning if the queue is empty when we try to pop
3270 here. That could happen if another thread or callback set the
3271 bus to flushing between the source's check/prepare and the
3272 dispatch being called (#531538).
3274 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3276 * plugins/elements/gstmultiqueue.c:
3279 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
3281 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3282 Add unit test for deserializing uint64s and check some really large
3283 numbers in the int64 test.
3285 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3287 * tools/gst-inspect.c: (n_print), (print_hierarchy),
3288 (print_interfaces), (print_element_properties_info),
3289 (print_signal_info):
3290 Use "%s" as format string instead of printing strings directly.
3292 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3294 * gst/gstclock.c: (gst_clock_set_calibration):
3295 Make some checks actually useful.
3297 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3298 Remove some unused code. Unsigned integers tend to be >= 0.
3300 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3302 * gst/gstminiobject.c: (gst_value_get_mini_object):
3303 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3304 function was not in the unscheduled 0.10.19 release.
3306 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3308 * gst/gstregistry.c: (gst_registry_scan_path_level):
3309 Only print one log message per non-plugin file.
3311 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3313 * gst/gstinfo.c: (gst_debug_log_default):
3314 Fix alignment of debug log columns on 64-bit.
3316 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3318 * docs/libs/Makefile.am:
3319 * docs/libs/gstreamer-libs-sections.txt:
3320 Ignore private controller headers for docs.
3322 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3324 * libs/gst/controller/gstcontrollerprivate.h:
3325 * libs/gst/controller/gsthelper.c:
3326 * libs/gst/controller/gstinterpolation.c:
3327 * libs/gst/controller/gstinterpolationcontrolsource.c:
3328 (gst_interpolation_control_source_set_interpolation_mode):
3329 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3330 * libs/gst/controller/lib.c:
3331 Move some private declarations into private headers.
3333 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3335 * gst/gstdebugutils.c: (debug_dump_element_pad):
3336 Remove some code that is unused after Stefan's refactoring and uses
3337 uninitialized variables now, resulting in a compiler warning.
3339 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3341 * gst/gstregistry.c: (gst_registry_scan_path_level):
3342 Run g_str_has_suffix() only on the file name, not the
3345 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3347 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3348 Since we're not called only from the chain function any longer,
3349 we can't assume that there's always data in the queue, so move
3350 the is_full check to the beginning of the loop (otherwise we'd
3351 hit the assert when changing the limit properties while the
3352 queue is empty or not running yet).
3353 Also, only set a discont if items were actually removed from
3356 * tests/check/elements/queue.c: (test_leaky_downstream):
3357 Test case for the above.
3359 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3361 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3363 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3364 (gst_queue_chain), (queue_capacity_change),
3365 (gst_queue_set_property):
3366 When changing thr max capacity of a leaky queue, immediatly drop buffers
3367 instead of waiting for a push on the sinkpad. Fixes #530637.
3369 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3371 * gst/gstdebugutils.c:
3372 Refactor code and fix handling of ghostpads and their proxypads.
3374 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3376 * docs/gst/gstreamer-sections.txt:
3377 * gst/gstevent.c: (gst_event_has_name):
3379 * tests/check/gst/gstevent.c: (GST_START_TEST):
3380 Add method to conveniently check the name of a custom event with
3381 gst_event_has_name().
3382 Reformat the event docs so that related methods are put together instead
3383 of the default alphabetical sort.
3384 Update unit test with new method.
3385 API: GstEvent::gst_event_has_name()
3387 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3389 * libs/gst/check/Makefile.am:
3390 Don't add an explicit link to libgstreamer-0.10.la; it's already
3391 included in GST_OBJ_LIBS.
3393 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3396 Register GstClock type from a type-safe context. Fixes bug #530317.
3398 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3400 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3402 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3404 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3406 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3408 Use the GLib stuff to create a private structure.
3409 Add some locking around some dispose methods to make them a little
3410 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3412 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3414 * libs/gst/base/gstbasesink.h:
3415 * libs/gst/base/gstbasesrc.h:
3416 * libs/gst/base/gstbasetransform.h:
3417 * libs/gst/base/gstcollectpads.h:
3418 Fix doc typos and unify caps a bit.
3420 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3422 * tools/gst-launch.1.in:
3423 Forgot to also add the envvar docs here.
3425 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3427 * gst/gst.c: (init_post), (gst_deinit):
3428 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3429 (test_concurrent_create), (gst_pipeline_suite):
3430 Ref some more classes in gst_init() to work around thread-safety
3431 issues in pre-2.16 GLibs, and add basic unit test.
3433 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3435 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3436 (gst_base_sink_send_event):
3437 Rearrange the latency query code. We always want to do the upstream
3438 query, even if we are not live so that the upstream elements can get the
3439 latency results too. If we fail doing the query and we are live, we
3440 return TRUE afterwards.
3442 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3444 patch by: Jason Zhao <e3423c@motorola.com>
3446 * docs/gst/running.xml:
3448 Enable/disable scan_and_update_registry() based on commandline switch
3449 or environment variable. Fixes #520468.
3452 Fix typo in my previous commit.
3454 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3456 * gst/gstregistrybinary.c:
3457 Add a warning if we hit unhandled factories when saving.
3458 More debug logging detail, but move to LOG category.
3460 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3462 * gst/gstregistry.c:
3463 Tell the *truth* when improving the documentation.
3465 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3467 * gst/gstelementfactory.c: (gst_element_factory_make):
3468 Unref the factory after it was used the last time, not before.
3470 * gst/gstindexfactory.c: (gst_index_factory_make):
3471 Improve debugging a bit and don't leak a ref to the index factory with
3474 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3476 * gst/gstregistry.c:
3477 Improve the documentation.
3479 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3482 The glib macro seems to be borked. Use g_slice_copy directly and cast
3483 in the hope that this fixes the warning on 64bit.
3485 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3488 Document the new function. Use g_slice_dup() (no need for
3489 gst_segment_init()).
3491 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3493 * docs/gst/gstreamer-sections.txt:
3494 Move GParamSepc macros to standart section.
3497 Dn't document _get_type - its in private section in docs anyway and
3498 this doc-blob was incomplete.
3501 Fix wrong symbol names in docs.
3504 Add once doc sentence.
3506 * tests/check/gst/.cvsignore:
3509 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3511 * docs/gst/Makefile.am:
3512 And remove those libs here.
3514 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3516 * docs/libs/Makefile.am:
3517 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3519 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3521 Patch by: Olivier Crete <tester at tester dot ca>
3523 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3524 Add the min-threshold to the min latency if possible. Fixes #529148.
3526 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3528 * docs/gst/gstreamer.types.in:
3529 Stupid editor, I removed that line as it should go in yet.
3531 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3533 * docs/gst/gstreamer.types.in:
3534 * docs/libs/gstreamer-libs.types:
3535 Remove library types fro core docs and have them in libs docs.
3536 Reformat and cleanup. Add comment for miniobject types.
3538 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3540 * gst/gsturi.c: (gst_uri_get_protocol):
3541 Fix leak: g_strdown operates on the string in place, while
3542 g_ascii_strdown() returns a newly-allocated string.
3544 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3546 * tools/gst-inspect.c: (print_uri_handler_info),
3547 (print_element_info):
3548 Print the URI protocols and the URI type supported by the element.
3550 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3552 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3553 Use g_value_take_string() instead of the deprecated
3554 g_value_set_string_take_ownership().
3556 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3558 * gst/gstregistrybinary.c: (_gst_crc32):
3559 Return the old CRC instead of 0 if we give a NULL buffer
3560 or a buffer with a length of 0.
3562 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3564 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3565 (gst_uri_get_protocol), (gst_uri_has_protocol),
3566 (gst_uri_construct), (gst_uri_handler_set_uri):
3567 A valid URI scheme can also include '+', '-' and '.' additional
3568 to alphanumeric characters as per RFC 3986 Section 3.1.
3570 Handle URI schemes case insensitive in all places and convert
3571 to lower-case when constructing an URI or setting an URI with
3572 the GstURIHandler interface. Fixes bug #528868.
3573 All elements can still assume (as before) that they will
3574 get passed URIs with a lower-case URI scheme by the GstURIHandler
3577 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3579 * gst/gstcaps.c: (gst_static_caps_get):
3580 * gst/gstclock.c: (gst_clock_entry_new):
3581 Don't use g_atomic_set_int where it's not needed.
3583 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3585 * gst/gstvalue.c: (gst_value_deserialize_caps):
3586 * gst/parse/grammar.y:
3589 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3591 * gst/gstutils.c: (gst_atomic_int_set):
3592 Use g_atomic_int_set() here too instead of assignment +
3595 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3599 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3600 now that we depend on new enough GLib.
3602 * gst/gstcaps.c: (gst_static_caps_get):
3603 * gst/gstclock.c: (gst_clock_entry_new):
3604 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3605 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3606 (gst_debug_category_set_threshold):
3607 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3608 (gst_base_sink_set_qos_enabled):
3609 * libs/gst/net/gstnettimeprovider.c:
3610 (gst_net_time_provider_set_property):
3611 Use g_atomic_int_set() instead of gst_atomic_int_set().
3613 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3616 Also use G_GINT64_CONSTANT for the queries.
3618 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3621 Use G_GINT64_CONSTANT in varargs function.
3623 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3625 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3626 Initialize the registry magic with zeroes.
3628 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3630 * gst/gstregistrybinary.c: (_gst_crc32),
3631 (gst_registry_binary_write),
3632 (gst_registry_binary_initialize_magic),
3633 (gst_registry_binary_write_cache),
3634 (gst_registry_binary_check_magic),
3635 (gst_registry_binary_read_cache):
3636 * gst/gstregistrybinary.h:
3637 Add crc32 checksum to the binary registry file and check this before
3638 accepting a registry file.
3640 Also free the data list when writing to the registry file fails.
3642 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3644 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3645 (gst_registry_binary_load_feature),
3646 (gst_registry_binary_load_plugin):
3647 If an element supports the Uri interface, returns a valid pointer
3648 to the supported URI protocols but this pointer contains nothing
3649 don't try to save that as it will corrupt the registry.
3651 Don't unref the plugin if we added it to the registry already but
3652 fail to load a feature as gst_registry_add_plugin() takes ownership
3655 Improve debugging a bit.
3657 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3660 Clarify some tag item docs after discussion on irc.
3662 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3664 * docs/gst/gstreamer-docs.sgml:
3665 Remove commented out plugins (they have their own docs). Update
3668 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3670 * docs/gst/gstreamer-docs.sgml:
3671 * docs/gst/gstreamer-sections.txt:
3672 * gst/gstparamspecs.c:
3673 * gst/gstparamspecs.h:
3674 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3675 docs to own section.
3678 This now only documents GValue.
3680 * docs/libs/gstreamer-libs-sections.txt:
3681 * libs/gst/controller/gstcontroller.h:
3682 Remove GST_PARAM_CONTROLLABLE.
3684 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3687 Correct file path. Tell about how to use -overrides.txt.
3688 * docs/design/draft-tagreading.txt:
3689 Small design update.
3691 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3693 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3694 (gst_registry_binary_load_plugin):
3695 Fix a typo in a debug message and revert change from yesterday as
3696 gst_registry_add_plugin() will only fail if something is really wrong
3697 already and we can't survive it anyway.
3699 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3701 * gst/gst.c: (init_post), (gst_deinit):
3702 Pre-register GstGError GType from a thread-safe context
3703 (fixes #527967); unref enum type classes in deinit.
3705 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3707 Patch by: Rene Stadler <mail at renestadler de>
3709 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3710 Merging an empty list with another list in KEEP_ALL mode should
3711 yield an empty list as result and not the second list (#512578).
3713 * tests/check/gst/gsttagsetter.c:
3714 Add unit test for tag merge modes and the aforementioned bug.
3716 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3718 Patch by: Rene Stadler <mail at renestadler de>
3721 Fix description to match the order in the table (#512577).
3723 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3725 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3727 * libs/gst/net/gstnettimepacket.h:
3728 * docs/libs/gstreamer-libs-sections.txt:
3729 Define socklen_t as int if it's not defined yet. Fixes compilation
3730 with MSVC6 and other versions where socklen_t is not defined in
3731 the windows headers (#518022).
3733 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3735 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3736 If gst_registry_add_plugin() fails our reference to the plugin is
3737 invalid so don't try to use it anymore and instead error out.
3739 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3741 * tools/gst-xmlinspect.c: (print_element_info), (main):
3742 De-cruft a bit. If no argument is specified, print all elements in
3743 XML syntax rather than a freestyle list of elements like gst-inspect.
3744 Also, don't print XML header chunk unless we actually have something
3745 to print (ie. don't print it before an error message); print error
3746 message to stderr not stdout. Remove support for printing plugin
3747 info (it would just output something freestyle along the lines of
3748 gst-inspect so far), which fixes #514507. Also add license header.
3750 2008-04-11 Julien Moutte <julien@fluendo.com>
3753 * configure.ac: Merge platform specific defines, introduce a new
3754 define on OS X to remember that forking when updating registry is
3756 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3758 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3760 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3761 condition that leads to absolutely no plugins being registered on
3764 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3766 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3768 * gst/gstutils.c: (gst_pad_add_data_probe),
3769 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3770 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3771 (gst_pad_add_buffer_probe_full):
3773 * docs/gst/gstreamer-sections.txt:
3774 * win32/common/libgstreamer.def:
3775 Add gst_pad_add_*_probe_full() functions with a notify callback that
3776 lets the caller free the data it passes to the probe functions. This
3777 is useful for bindings such as gst-python or gstreamermm (#526814).
3778 API: gst_pad_add_data_probe_full
3779 API: gst_pad_add_buffer_probe_full
3780 API: gst_pad_add_event_probe_full
3782 * tests/check/gst/gstutils.c:
3783 Add minimal unit test to make sure freeing the data actually works
3786 * tests/benchmarks/.cvsignore:
3787 Random cvsignore addendum.
3789 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3791 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3792 (GST_DEBUG_BIN_TO_DOT_FILE):
3793 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3794 to it in the docs (since these are macros the types of the arguments
3795 won't be shown in the docs otherwise).
3797 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3800 Do not abort on out of memory for pad_alloc_buffer.
3802 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3804 * libs/gst/check/gstcheck.c:
3805 Remove blank line between symbol name ad parameters to fix gtkdoc
3808 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3810 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3812 * docs/gst/gstreamer-sections.txt:
3815 * win32/common/libgstreamer.def:
3816 Expose gst_segment_copy() to make things easier for the c++ bindings.
3818 API: gst_segment_copy()
3820 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3822 * gst/gst.c: (gst_init_get_option_group), (init_post):
3823 Fix const position; ref GType classes for enum types to work
3824 around thread-safety issues in GLib versions < 2.16.
3826 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3828 * docs/design/part-buffering.txt:
3829 Fix some typos and set the estimated total for push mode to -1.
3831 * gst/gstquery.c: (gst_query_new_buffering):
3832 Set buffering-left to 0 as we're not buffering by default.
3834 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3835 Implement BUFFERING query.
3837 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3839 Based on patch by: Milosz Derezynski <internalerror gmail com>
3841 * gst/gsterror.c: (_gst_stream_errors_init):
3843 Add two new error codes for encrypted content. Fixes #524659.
3844 API: GST_STREAM_ERROR_DECRYPT
3845 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3847 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3852 * win32/common/libgstreamer.def:
3855 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3857 * plugins/elements/gstidentity.c: (gst_identity_event),
3858 (gst_identity_start):
3859 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3860 event after processing some data. Fixes bug #526042.
3862 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3864 * docs/gst/gstreamer-sections.txt:
3865 * gst/gstquery.c: (gst_query_parse_latency),
3866 (gst_query_set_buffering_percent),
3867 (gst_query_parse_buffering_percent),
3868 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3870 Rename _avail -> _range
3871 API: gst_query_set_buffering_range
3872 API: gst_query_parse_buffering_range
3874 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3876 * docs/design/part-buffering.txt:
3879 * gst/gstquery.c: (gst_query_parse_latency),
3880 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3881 (gst_query_parse_buffering_percent):
3883 Add busy field and quark for the buffering query so that the app can
3884 only use the query to see if buffering is in progress.
3886 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3888 * docs/gst/gstreamer-sections.txt:
3889 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3890 (gst_message_parse_buffering_stats):
3892 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3893 (gst_query_parse_latency), (gst_query_new_buffering),
3894 (gst_query_set_buffering_percent),
3895 (gst_query_parse_buffering_percent),
3896 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3897 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3899 Reorder the message docs and headers for clarity.
3900 Add aditional buffering stats API for messages.
3901 Add buffering query.
3902 Convert some leftover queries to use GstQuark.
3903 API: gst_message_set_buffering_stats
3904 API: gst_message_parse_buffering_stats
3905 API: GST_QUERY_BUFFERING
3906 API: GstBufferingMode
3907 API: gst_query_new_buffering
3908 API: gst_query_set_buffering_percent
3909 API: gst_query_parse_buffering_percent
3910 API: gst_query_set_buffering_stats
3911 API: gst_query_parse_buffering_stats
3913 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3915 * gst/gstmessage.c: (gst_message_new_error),
3916 (gst_message_new_warning), (gst_message_new_info),
3917 (gst_message_new_buffering), (gst_message_new_state_changed),
3918 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3919 (gst_message_new_new_clock), (gst_message_new_segment_start),
3920 (gst_message_new_segment_done), (gst_message_new_duration),
3921 (gst_message_new_async_start), (gst_message_parse_buffering),
3922 (gst_message_parse_state_changed),
3923 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3924 (gst_message_parse_new_clock), (gst_message_parse_error),
3925 (gst_message_parse_warning), (gst_message_parse_info),
3926 (gst_message_parse_segment_start),
3927 (gst_message_parse_segment_done), (gst_message_parse_duration),
3928 (gst_message_parse_async_start):
3929 Use GstQuark for messages.
3931 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3933 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3935 Add some more quarks needed for messages and queries.
3937 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3939 * docs/design/part-buffering.txt:
3940 Remove the "none" buffering mode, STREAM is a good default.
3941 Move estimated-time to the avail query, that's when it will be needed.
3942 Other small typo fixes and updates.
3944 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3946 * gst/gstindex.c: (gst_index_resolver_get_type):
3947 Don't put descriptions into the nick field of a GEnumValue: it's not
3948 meant for that and some language bindings rely on the nick field to
3949 construct constants and the like. Fixes #526705.
3951 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3956 Merge other changes from 0.10.19 release branch.
3958 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3960 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3963 Actually build dlls when cross-compiling with mingw32.
3966 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3968 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3971 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3973 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3975 * docs/design/draft-latency.txt:
3978 * docs/design/part-buffering.txt:
3979 Update design docs with more buffering ideas.
3981 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3984 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3986 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3989 Revert part that belongs to the preset patch.
3991 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3994 Add qoutes to the define. Fixes # 525961.
3996 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3998 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3999 (gst_file_index_load), (gst_file_index_add_id),
4000 (gst_file_index_get_assoc_entry):
4001 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
4002 (gst_mem_index_free_id), (gst_mem_index_add_id),
4003 (gst_mem_index_index_format):
4004 Use GSlice when possible.
4006 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
4008 * libs/gst/controller/gstinterpolationcontrolsource.c:
4009 (gst_control_point_free),
4010 (gst_interpolation_control_source_set_internal):
4011 Use GSlice for allocating the control points.
4013 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
4015 * plugins/elements/gsttypefindelement.c:
4016 (gst_type_find_element_class_init),
4017 (gst_type_find_element_set_property),
4018 (gst_type_find_element_get_property),
4019 (gst_type_find_element_activate):
4020 * plugins/elements/gsttypefindelement.h:
4022 Fix pad leak when peer query fails.
4023 We can still typefind when the peer returns -1.
4024 Add property to force caps and bypass typefinding. This will be used in
4028 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
4033 * gst/glib-compat-private.h:
4034 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
4035 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4036 Unconditionally use GSlice for allocation.
4038 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
4039 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
4040 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4041 (gst_structure_free):
4042 Use GSlice for allocation.
4044 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
4046 * gst/parse/Makefile.am:
4047 * gst/parse/grammar.tab.pre.c:
4048 * gst/parse/grammar.tab.pre.h:
4049 * gst/parse/lex._gst_parse_yy.pre.c:
4050 Require a new enough flex and bison and remove the parser hacks to use
4051 a pre-regenerated version.
4053 2008-04-01 Julien Moutte <julien@fluendo.com>
4055 patch by: Jason Zhao <E3423C@motorola.com>
4057 * configure.ac: Add a configure switch to disable option parsing
4061 2008-03-31 Stefan Kost <ensonic@users.sf.net>
4064 * gst/gstregistry.c:
4065 MacOS has plugins under .so or under .dylib. Add detection for MacOS
4066 and handle this case.
4069 Add a comment here describing, why we stat each plugin and not try to
4072 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
4074 * libs/gst/base/gstbasetransform.c:
4075 (gst_base_transform_prepare_output_buffer):
4076 Also unset the GAP flag on buffers if we're working inplace but
4077 the element is not GAP-aware.
4079 Mark a comment as FIXME 0.11.
4081 2008-03-31 Stefan Kost <ensonic@users.sf.net>
4084 Fix type in log message and add one to ease seeing how long registry
4085 cache verification takes.
4087 * gst/gstregistry.c:
4088 Only test plugin filenames against G_MODULE_SUFFIX.
4090 2008-03-31 Stefan Kost <ensonic@users.sf.net>
4092 * gst/gstdebugutils.c:
4093 Improve handling ghost/proxy pads.
4095 2008-03-27 Stefan Kost <ensonic@users.sf.net>
4097 * docs/gst/gstreamer-sections.txt:
4100 Expose macro to docs and fix link to it.
4102 2008-03-27 Michael Smith <msmith@fluendo.com>
4104 * libs/gst/dataprotocol/dataprotocol.c:
4105 (gst_dp_packet_from_event_1_0):
4106 When calculating GDP body CRC, use the correct pointer.
4107 Fixes part of #522401.
4109 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4111 Patch by: Mark Nauwelaerts <manauw at skynet be>
4113 * plugins/elements/gstidentity.c: (gst_identity_class_init),
4114 (gst_identity_init), (gst_identity_prepare_output_buffer):
4115 Identity is not always a passthrough element, it can modify the buffer
4116 timestamps when it has a datarate and operates in single-segment mode.
4117 We therefore make it an in_place filter with a custom buffer prepare
4118 function that conditionally makes the input buffer metadata writable
4119 when needed. Fixes #523985.
4121 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4123 Patch by: Mark Nauwelaerts <manauw at skynet be>
4126 * libs/gst/base/gstbasesrc.h:
4127 * libs/gst/base/gstbasetransform.c:
4128 * libs/gst/check/gstcheck.c:
4129 Small documentation fixes. Fixes #523978.
4131 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4133 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4134 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4135 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4137 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4139 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4140 (single_queue_underrun_cb):
4141 When trying to make room in the queue, bump the max allowed buffers
4142 bigger than the current amount of buffers in the queue. this fixes some
4143 nasty deadlocks in multiqueue when dynamically changing the limits of
4146 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4148 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
4150 * gst/gstcaps.c: (gst_caps_set_simple),
4151 (gst_caps_set_simple_valist), (gst_caps_intersect):
4153 Constify the field gchar * params in set_simple and friends.
4156 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
4158 * gst/gstvalue.c: (gst_value_transform_object_string):
4159 Transform a GstObject to a more meaningfull string that includes the
4160 object type in addition to its name.
4162 2008-03-23 Stefan Kost <ensonic@users.sf.net>
4165 ChangeLog surgery to add bugnumber to commit.
4167 2008-03-23 Rene Stadler <mail@renestadler.de>
4169 * libs/gst/base/gstbasetransform.c:
4170 (gst_base_transform_set_gap_aware): Fix confusing documentation.
4172 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4174 * gst/gstregistrybinary.c: (gst_registry_binary_write):
4175 Rename constant everywhere and don't forget one occurence.
4177 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4179 * gst/gstregistrybinary.c: (gst_registry_binary_write):
4180 Align memory to the pointer size even if the architecture allows
4181 unaligned memory access. Unaligned memory access usually comes with
4182 performance penality.
4184 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4186 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4187 (gst_registry_binary_check_magic),
4188 (gst_registry_binary_load_pad_template),
4189 (gst_registry_binary_load_feature),
4190 (gst_registry_binary_load_plugin):
4191 Align memory to the pointer size instead of always 32 bit. Fixes
4192 unaligned memory accesses on ia64 and friends.
4194 * gst/gstregistrybinary.h:
4195 Bump binary registry format version for this as it changes the
4196 format on those architectures that don't have unaligned access
4197 and 64 bit pointers.
4199 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
4201 * docs/pwg/advanced-dparams.xml:
4202 * docs/pwg/building-props.xml:
4203 * docs/pwg/other-source.xml:
4204 * gst/glib-compat.h:
4205 * gst/gstbin.c: (gst_bin_class_init):
4206 * gst/gstclock.c: (gst_clock_class_init):
4207 * gst/gstindex.c: (gst_index_class_init):
4208 * gst/gstobject.c: (gst_object_class_init):
4209 * gst/gstpad.c: (gst_pad_class_init):
4210 * gst/gstpipeline.c: (gst_pipeline_class_init):
4211 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4212 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4213 * libs/gst/base/gstbasetransform.c:
4214 (gst_base_transform_class_init):
4215 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4216 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4217 (_gst_check_fault_handler_sighandler),
4218 (_gst_check_fault_handler_setup), (gst_check_init):
4219 * libs/gst/controller/gstcontroller.c:
4220 (_gst_controller_class_init):
4221 * libs/gst/controller/gstlfocontrolsource.c:
4222 (gst_lfo_control_source_class_init):
4223 * libs/gst/net/gstnetclientclock.c:
4224 (gst_net_client_clock_class_init):
4225 * libs/gst/net/gstnettimeprovider.c:
4226 (gst_net_time_provider_class_init):
4227 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4228 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4229 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4230 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4231 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4232 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4233 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4234 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4235 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4236 * plugins/elements/gstqueue.c: (gst_queue_class_init):
4237 * plugins/elements/gsttee.c: (gst_tee_class_init):
4238 * plugins/elements/gsttypefindelement.c:
4239 (gst_type_find_element_class_init):
4240 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4241 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4242 use it everywhere for GParamSpecs that use static strings (i.e. all).
4243 This gives us less memory usage, fewer allocations and thus less
4244 memory defragmentation. Fixes bug #523806.
4246 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
4248 * gst/gstminiobject.c: (gst_value_dup_mini_object),
4249 (gst_param_spec_mini_object):
4250 * gst/gstminiobject.h:
4251 * win32/common/libgstreamer.def:
4252 * docs/gst/gstreamer-sections.txt:
4253 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4254 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4255 GstParamSpecMiniObject into a public header for this.
4257 This make GstMiniObject a bit more consistent with GObject and makes
4258 it possible to extend the param specs.
4260 gst_value_dup_mini_object is mainly useful for set_property methods.
4264 * tools/gst-inspect.c: (print_element_properties_info):
4265 Print something useful for GstMiniObject properties and not just
4268 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4270 * docs/gst/gstreamer-sections.txt:
4271 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4272 (gst_registry_binary_check_magic):
4273 * gst/gstregistrybinary.h:
4274 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4275 and add it to the (private part) of the docs to fix the build.
4277 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4279 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4280 (gst_registry_binary_check_magic),
4281 (gst_registry_binary_read_cache):
4282 * gst/gstregistrybinary.h:
4283 Don't use GST_MAJORMINOR for the binary registry version. Instead
4284 hardcode a value that must be changed whenever the format changes
4285 in an incompatible way.
4286 Also don't GST_ERROR when there is a version mismatch, just
4287 regenerate the registry silently.
4289 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
4292 Back to development - 0.10.18.1
4294 === release 0.10.18 ===
4296 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4299 releasing 0.10.18, "So far away"
4301 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4304 * win32/common/config.h:
4305 0.10.17.4 pre-release
4307 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4309 Patch by: Ole André Vadla Ravnås
4310 <ole dot andre dot ravnas at tandberg dot com>
4312 * docs/gst/gstreamer-sections.txt:
4313 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4314 (gst_poll_update_winsock_event_mask),
4315 (gst_poll_prepare_winsock_active_sets),
4316 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4317 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4318 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4319 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4320 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4322 * win32/common/libgstreamer.def:
4323 Add new function gst_poll_fd_ignored() for improved Windows
4325 Various minor fixes and cleanups. See #520808.
4327 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4329 * gst/gstindex.c: (gst_index_entry_free):
4331 Don't free key strings which we don't own. Fixes crash in
4332 gst_index_entry_free() (#522741).
4334 * tests/check/Makefile.am:
4335 * tests/check/gst/.cvsignore:
4336 * tests/check/gst/gstindex.c: (test_index_entries),
4337 (gst_index_suite), (gst_index):
4338 Add unit test for the above.
4340 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4342 * win32/common/libgstreamer.def:
4343 Remove symbols that were removed recently. Fixes bug #521740.
4345 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4348 * win32/common/config.h:
4349 0.10.17.3 pre-release
4351 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4353 Patch by: Ole André Vadla Ravnås
4354 <ole dot andre dot ravnas at tandberg dot com>
4356 * docs/gst/gstreamer-sections.txt:
4357 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4358 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4359 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4360 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4361 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4362 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4363 (gst_poll_fd_can_write), (gst_poll_wait),
4364 (gst_poll_set_controllable), (gst_poll_restart),
4365 (gst_poll_set_flushing):
4367 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4368 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4369 (gst_net_time_provider_new):
4370 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4371 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4372 * tests/benchmarks/gstpollstress.c: (main):
4373 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4374 Remove GstPollMode from the API, it does not make sense to let the
4375 application control this.
4376 Add support for Win32.
4377 Fix the testsuite. Fixes #520671.
4379 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4381 Patch by: Ole André Vadla Ravnås
4382 <ole dot andre dot ravnas at tandberg dot com>
4384 * gst/gstregistrybinary.c:
4385 Include io.h for write() and close() when building with MSVC. Fixes
4388 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4391 * gst/gst_private.h:
4392 * gst/gstconfig.h.in:
4393 * gst/gstregistry.h:
4394 * gst/gstregistrybinary.c:
4395 * win32/common/gstconfig.h:
4396 Move registry backend API to private headers where we can. Add
4397 fixme-0.11 comments for the others. Add stubs for the xml backend when
4398 using the binary to ensure they functions exists (they should not be
4399 used though). Fixes #520756.
4401 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4404 * win32/common/config.h:
4407 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4409 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4410 (gst_registry_binary_read_cache):
4411 * gst/gstregistryxml.c: (gst_registry_save):
4412 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4413 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4414 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4415 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4416 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4419 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4421 * gst/gstminiobject.c:
4422 Import gst_private.h before any other header that might include other
4423 glib headers. This fixes the build on windows using native compilers.
4425 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4427 * win32/common/gstconfig.h:
4428 Add here too, just for completeness.
4430 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4433 * gst/gstconfig.h.in:
4434 * gst/gstregistry.h:
4435 Fix broken use of config.h-defined preprocessor directive in a public
4436 header file. Add a corresponding define to gstconfig.h, since we can't
4437 really remove those function declarations from the header file now
4438 (or can we? and why are they there in the first place?).
4440 2008-03-03 Andy Wingo <wingo@pobox.com>
4442 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4445 * gst/gststructure.c (gst_structure_from_string): Warn if
4446 structure_from_string didn't consume the whole string, but the
4447 caller did not provide an end pointer.
4449 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4451 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4453 * gst/gstregistryxml.c: (read_string), (load_feature):
4454 Strings allocated by libxml2 should be freed with xmlFree(), not
4455 with g_free(). Fixes issues on windows in certain contexts (#519698).
4457 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4459 * gst/gstinterface.c: (gst_element_implements_interface):
4460 Don't crash if the element supports the interface queried, but does
4461 not implement GstImplementsInterface. Fixes #519584.
4463 * tests/check/Makefile.am:
4464 * tests/check/gst/.cvsignore:
4465 * tests/check/gst/gstinterface.c:
4466 Add unit test for the above.
4468 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4470 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4473 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4475 * gst/gstsegment.c: (gst_segment_set_seek),
4476 (gst_segment_to_stream_time):
4477 Improve some comment.
4478 Update variables where it makes more sense.
4480 2008-02-29 Rene Stadler <mail@renestadler.de>
4482 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4483 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4484 URIHandlers implemented using language bindings.
4486 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4488 * gst/gstelementfactory.h:
4489 * tests/check/elements/fakesink.c:
4490 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4491 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4492 * tests/check/elements/filesink.c: (setup_filesink):
4493 * tests/check/elements/filesrc.c: (setup_filesrc):
4494 * tests/check/elements/identity.c: (setup_identity):
4495 * tests/check/elements/tee.c:
4496 * tests/check/generic/sinks.c:
4497 * tests/check/generic/states.c: (setup), (teardown):
4498 * tests/check/gst/gst.c:
4499 * tests/check/gst/gstabi.c:
4500 * tests/check/gst/gstbin.c:
4501 * tests/check/gst/gstbus.c: (pull_messages):
4502 * tests/check/gst/gstcaps.c:
4503 * tests/check/gst/gstelement.c:
4504 * tests/check/gst/gstevent.c:
4505 * tests/check/gst/gstghostpad.c:
4506 * tests/check/gst/gstiterator.c:
4507 * tests/check/gst/gstmessage.c:
4508 * tests/check/gst/gstminiobject.c: (my_foo_init):
4509 * tests/check/gst/gstobject.c: (thread_name_object),
4511 * tests/check/gst/gstpad.c:
4512 * tests/check/gst/gstplugin.c:
4513 * tests/check/gst/gstpoll.c:
4514 * tests/check/gst/gstquery.c:
4515 * tests/check/gst/gstsegment.c:
4516 * tests/check/gst/gststructure.c:
4517 * tests/check/gst/gstsystemclock.c:
4518 * tests/check/gst/gsttask.c:
4519 * tests/check/gst/gstutils.c:
4520 * tests/check/gst/gstvalue.c:
4521 * tests/check/gst/struct_hppa.h:
4522 * tests/check/gst/struct_i386.h:
4523 * tests/check/gst/struct_ppc32.h:
4524 * tests/check/gst/struct_ppc64.h:
4525 * tests/check/gst/struct_x86_64.h:
4526 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4527 * tests/check/libs/basesrc.c:
4528 * tests/check/libs/controller.c: (GST_START_TEST):
4529 * tests/check/libs/gdp.c:
4530 * tests/check/libs/gstnetclientclock.c:
4531 * tests/check/libs/gstnettimeprovider.c:
4532 * tests/check/libs/libsabi.c:
4533 * tests/check/libs/struct_hppa.h:
4534 * tests/check/libs/struct_i386.h:
4535 * tests/check/libs/struct_ppc32.h:
4536 * tests/check/libs/struct_ppc64.h:
4537 * tests/check/libs/struct_x86_64.h:
4538 * tests/check/pipelines/cleanup.c:
4539 * tests/check/pipelines/simple-launch-lines.c:
4540 * tests/check/pipelines/stress.c:
4541 And correct even more valid sparse warnings.
4543 * win32/common/libgstreamer.def:
4544 Add gst_poll_fd_init to the list of symbols.
4546 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4548 * gst/gstconfig.h.in:
4549 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4550 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4551 (gst_check_log_critical_func), (gst_check_drop_buffers),
4552 (gst_check_element_push_buffer_list):
4553 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4554 (gst_controller_get_type):
4555 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4556 (gst_object_get_controller), (gst_object_get_control_source):
4557 * libs/gst/controller/gstinterpolationcontrolsource.c:
4558 (gst_interpolation_control_source_new):
4559 * libs/gst/controller/gstlfocontrolsource.c:
4560 (gst_lfo_control_source_new):
4561 * libs/gst/dataprotocol/dataprotocol.c:
4562 (gst_dp_event_from_packet_0_2):
4563 * plugins/elements/gstfdsrc.c:
4564 * plugins/elements/gstmultiqueue.c:
4565 * plugins/elements/gsttee.c:
4566 * plugins/elements/gsttypefindelement.c:
4567 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4568 (gst_file_index_add_association):
4569 * plugins/indexers/gstmemindex.c:
4570 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4571 * tests/check/elements/queue.c: (setup_queue):
4572 * tests/check/gst/gstpipeline.c:
4573 * tests/check/libs/collectpads.c: (setup), (teardown),
4574 (gst_collect_pads_suite):
4575 * tests/examples/adapter/adapter_test.c:
4576 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4577 * tests/examples/xml/createxml.c:
4578 * tests/examples/xml/runxml.c:
4579 * tools/gst-inspect.c:
4581 Correct all relevant warnings found by the sparse semantic code
4582 analyzer. This include marking several symbols static, using
4583 NULL instead of 0 for pointers, not using variable sized arrays
4584 on the stack, moving variable declarations to the beginning of
4585 a block and using "foo (void)" instead of "foo ()" for declarations.
4587 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4589 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4590 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4591 Don't reset GstPollFDs, this is not necessary at all.
4593 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4594 (delayed_restart), (delayed_control):
4595 Use GST_POLL_FD_INIT.
4597 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4599 * gst/gstpoll.c: (gst_poll_fd_init):
4603 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4604 Use some more init macros.
4606 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4608 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4609 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4610 Use init macros and functions.
4612 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4614 * docs/gst/gstreamer-sections.txt:
4615 * gst/gstpoll.c: (gst_poll_fd_init):
4617 Add INIT macro and _init method for initializing the GstPollFD.
4619 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4621 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4622 (gst_fd_sink_update_fd):
4623 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4624 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4625 (delayed_restart), (delayed_control):
4626 Initialize some uninitialized variables as spotted by valgrind.
4628 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4630 * tests/benchmarks/Makefile.am:
4631 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4633 Add poll stress test.
4635 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4637 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4639 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4640 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4641 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4642 * plugins/elements/gstfdsink.h:
4643 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4644 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4645 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4646 (gst_fd_src_uri_set_uri):
4647 * plugins/elements/gstfdsrc.h:
4648 Port to GstPoll. See #505417.
4650 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4652 * win32/common/libgstreamer.def:
4653 Add new gst_poll_ symbols to win32 defs.
4655 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4657 * docs/libs/gstreamer-libs-sections.txt:
4658 * libs/gst/net/gstnetclientclock.c:
4659 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4660 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4661 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4662 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4663 * libs/gst/net/gstnetclientclock.h:
4664 * libs/gst/net/gstnettimeprovider.c:
4665 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4666 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4667 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4668 (gst_net_time_provider_new):
4669 * libs/gst/net/gstnettimeprovider.h:
4670 Use a private stuct to not break ABI.
4672 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4674 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4676 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4677 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4678 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4679 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4680 * libs/gst/net/gstnetclientclock.h:
4681 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4682 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4683 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4684 (gst_net_time_provider_new):
4685 * libs/gst/net/gstnettimeprovider.h:
4686 Massive code removal and cleanups because of GstPoll.
4689 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4692 Add checks for poll, ppoll and pselect.
4694 * docs/gst/gstreamer-docs.sgml:
4695 * docs/gst/gstreamer-sections.txt:
4696 Add docs for GstPoll.
4700 * gst/gstpoll.c: (find_index), (selectable_fds),
4701 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4702 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4703 (gst_poll_set_mode), (gst_poll_get_mode),
4704 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4705 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4706 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4707 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4708 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4709 (gst_poll_fd_can_write), (gst_poll_wait),
4710 (gst_poll_set_controllable), (gst_poll_restart),
4711 (gst_poll_set_flushing):
4713 Add generic poll abstraction. We ideally don't want to have this in core
4714 here but in glib intead...
4715 This code will be used in various network elements and ultimately for
4716 the nanosecond precision monotonic clock (that's why it's here in core).
4717 It'll allow us to implement cancelable socket operations for windows too.
4719 * tests/check/Makefile.am:
4720 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4721 (delayed_stop), (delayed_restart), (delayed_flush),
4722 (delayed_control), (gst_poll_suite):
4723 Add GstPoll unit test.
4725 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4728 Improve documentation of gst_filter_run(). Fixes #518627.
4730 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4733 Add a few lines about the new 'check-inspected-versions' target.
4735 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4737 * tests/check/gst/gstevent.c:
4738 Add qos to the event test. Rename tcase/tsuite; is not only about
4741 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4743 * plugins/elements/gstqueue.c:
4744 Ensure that buffer metadata is writeable, before modifying. Spotted by
4747 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4749 * plugins/elements/gstqueue.c:
4750 * plugins/elements/gstqueue.h:
4751 When dropping buffers in leaky modes, mark next buffers we sent as
4754 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4756 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4757 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4759 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4761 * plugins/elements/Makefile.am:
4762 * plugins/elements/gstbufferstore.c:
4763 * plugins/elements/gstbufferstore.h:
4764 * plugins/elements/gsttypefindelement.h:
4765 Remove GstBufferStore, no idea why we were still building it.
4766 It's not used anywhere and superseded by GstAdapter.
4768 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4769 (gst_file_src_create_mmap):
4770 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4771 Printf format fixes for 64-bit integers.
4773 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4776 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4777 We're not in 0.8 times anymore.
4779 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4781 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4782 (gst_check_element_push_buffer_list):
4783 * libs/gst/check/gstcheck.h:
4784 Make the declaration in the header for
4785 gst_check_element_push_buffer_list match the implementation.
4787 Fix up spelling, grammar and wording of the documentation in a few
4788 places, and add the Since keyword to new API functions.
4789 Use g_list_delete_link instead of g_list_remove in
4790 gst_check_drop_buffers, since it's immeasurably more efficient.
4792 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4793 Use new gst_check_drop_buffers function where appropriate.
4795 * win32/common/libgstbase.def:
4796 * win32/common/libgstreamer.def:
4797 Add new symbols gst_collect_pads_take_buffer,
4798 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4801 Changelog surgery to add API keyword to new gst_check API.
4803 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4805 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4806 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4807 Update pre-generated flex files with flex 2.3.34.
4809 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4811 * gst/gstminiobject.c:
4812 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4813 friendly to subclasses and not require them to know all internals
4814 of their parent class.
4816 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4818 * docs/libs/gstreamer-libs-sections.txt:
4819 * libs/gst/base/gstcollectpads.c:
4820 * libs/gst/base/gstcollectpads.h:
4821 Add sub-buffer functions to collectpads. Fixes #516187.
4822 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4824 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4827 Copy selected buffer-flags when creating subbuffers.
4830 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4832 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4833 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4834 * gst/gstmessage.c: (gst_message_class_init),
4835 (gst_message_finalize):
4836 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4837 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4838 (gst_mmap_buffer_finalize):
4839 Properly chain up finalize functions to the parent class.
4841 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4843 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4845 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4846 (gst_index_set_resolver_full):
4848 Add new function with option to dispose of user_data in resolver.
4849 Actually call the dispose function when finalizing the object and not
4850 just when changing the resolver/filter.
4851 API: GstIndex::gst_index_set_resolver_full()
4853 * docs/gst/gstreamer-sections.txt:
4854 Add new function to docs. Fixes #515469.
4856 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4858 * gst/gstindex.c: (gst_index_finalize):
4859 Chain up finalize to the parent class. Fixes leaking the GstObject
4860 name and other things.
4862 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4865 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4866 pre-releases or releases.
4868 * docs/faq/gst-uninstalled:
4871 * docs/random/release:
4872 Change one of the steps - we only upload core & base to Gnome FTP
4874 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4876 * gst/gstconfig.h.in:
4877 Add 'id' for example.
4881 * plugins/elements/gstfdsink.c:
4882 Link to signals. Doc and comment fixes.
4884 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4886 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4887 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4888 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4889 unused and unimplemented; finally, it is plugin features, not
4890 plugins, that have ranks.
4892 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4894 * gst/gstpluginfeature.h:
4895 Clarify GstRank range docs.
4897 2008-02-05 David Schleef <ds@schleef.org>
4899 * gst/gst.c: Add a separate gst_deinitialized that prevents
4900 gst_init() from being called after gst_deinit(). Fixes #509559
4902 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4904 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4905 (gst_bin_class_init):
4906 * gst/gstelement.c: (gst_element_base_class_init),
4907 (gst_element_class_add_pad_template):
4908 * gst/gstpadtemplate.c: (gst_pad_template_init):
4909 * gst/gstpipeline.c: (gst_pipeline_get_type),
4910 (gst_pipeline_base_init), (gst_pipeline_class_init):
4911 * libs/gst/base/gstbasesink.c:
4912 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4913 (gst_base_src_base_init), (gst_base_src_class_init):
4914 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4915 (gst_capsfilter_class_init):
4916 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4917 (gst_fake_sink_class_init):
4918 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4919 (gst_fake_src_class_init):
4920 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4921 (gst_fd_sink_class_init):
4922 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4923 (gst_fd_src_class_init):
4924 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4925 (gst_file_sink_class_init):
4926 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4927 (gst_file_src_class_init):
4928 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4929 (gst_identity_class_init):
4930 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4931 (gst_multi_queue_class_init):
4932 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4933 (gst_queue_class_init):
4934 * plugins/elements/gsttee.c: (gst_tee_base_init),
4935 (gst_tee_class_init):
4936 * plugins/elements/gsttypefindelement.c:
4937 (gst_type_find_element_base_init),
4938 (gst_type_find_element_class_init):
4939 * tests/check/gst/gstelement.c: (gst_element_suite):
4940 Revert previous changes to the behaviour of GstPadTemplates, etc
4941 and the possiblity to call them in class_init as it breaks too
4942 many elements. Reopens bug #491501.
4944 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4947 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4949 * tools/gst-launch.c:
4950 Dump one graph per pipeline state-change and state change name
4951 (if GST_DEBUG_DUMP_DOT_DIR is set).
4953 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4956 * tests/check/gst/gstpad.c:
4957 Be sure that we have a new copy of the caps and not
4958 reffed caps from a template
4960 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4962 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4963 * gst/gstpipeline.c: (gst_pipeline_get_type),
4964 (gst_pipeline_class_init):
4965 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4966 (gst_base_sink_class_init):
4967 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4968 (gst_base_src_class_init):
4969 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4970 (gst_base_transform_class_init):
4971 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4972 (gst_collect_pads_class_init):
4973 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4974 * libs/gst/net/gstnettimeprovider.c:
4975 (gst_net_time_provider_base_init),
4976 (gst_net_time_provider_class_init):
4977 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4978 (gst_capsfilter_class_init):
4979 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4980 (gst_fake_sink_class_init):
4981 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4982 (gst_fake_src_class_init):
4983 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4984 (gst_fd_sink_class_init):
4985 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4986 (gst_fd_src_class_init):
4987 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4988 (gst_file_sink_class_init):
4989 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4990 (gst_file_src_class_init):
4991 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4992 (gst_identity_class_init):
4993 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4994 (gst_multi_queue_class_init):
4995 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4996 (gst_queue_class_init):
4997 * plugins/elements/gsttee.c: (gst_tee_base_init),
4998 (gst_tee_class_init):
4999 * plugins/elements/gsttypefindelement.c:
5000 (gst_type_find_element_base_init),
5001 (gst_type_find_element_class_init):
5002 Don't use base_init where not absolutely necessary. For example it's
5003 not necessary anymore for adding pad templates or setting element
5006 Leave empty base_init functions in several places as GST_BOILERPLATE
5007 still defines and uses them.
5009 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
5011 * gst/gstelement.c: (gst_element_base_class_init),
5012 (gst_element_class_add_pad_template):
5013 * gst/gstpadtemplate.c:
5014 Make it possible (and recommended) to set element details and add
5015 pad templates in the class_init functions by copying the details/pad
5016 templates in GstElement's base_init.
5018 Also make it possible to replace existing pad templates by adding
5019 a new one with the same name. This was done in a hackish fashion
5020 in same elements before already.
5022 Don't reference pad templates that are added a second time. A
5023 new pad template has a refcount of one and is not floating anymore
5024 and to be owned by the element's class. Make this more explicit by
5025 mentioning it in the docs of gst_element_class_add_pad_template().
5027 These changes are backwards compatible. Fixes bug #491501.
5029 * tests/check/gst/gstelement.c:
5030 Add unit test for setting element details, adding pad templates and
5031 replacing them in a subclass.
5033 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
5035 * tools/gst-inspect.c: (print_interfaces),
5036 (print_element_properties_info), (print_pad_info),
5037 (print_signal_info), (print_element_info):
5038 Fix a few memory leaks.
5040 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
5042 * docs/libs/gstreamer-libs-sections.txt:
5043 * libs/gst/check/gstcheck.c:
5044 * libs/gst/check/gstcheck.h:
5045 Add more functions for unit testing: gst_check_drop_buffers,
5046 gst_check_caps_equal, gst_check_element_push_buffer_list,
5047 gst_check_element_push_buffer
5048 API: gst_check_drop_buffers
5049 API: gst_check_caps_equal
5050 API: gst_check_element_push_buffer_list
5051 API: gst_check_element_push_buffer
5053 2008-02-01 Julien Moutte <julien@fluendo.com>
5055 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
5056 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
5057 (gst_index_finalize), (gst_index_entry_free),
5058 (gst_index_add_association): Fix memory leaks.
5059 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
5060 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
5061 (gst_mem_index_free_format), (gst_mem_index_free_id),
5062 (gst_mem_index_finalize): Fix memory leaks.
5063 * win32/common/config.h: Updated to CVS HEAD.
5065 2008-02-01 Stefan Kost <ensonic@users.sf.net>
5068 Some more details about how the plugin docs works.
5070 * docs/plugins/gstreamer-plugins-sections.txt:
5073 2008-02-01 Stefan Kost <ensonic@users.sf.net>
5075 * gst/parse/grammar.tab.pre.c:
5076 * gst/parse/grammar.tab.pre.h:
5077 * gst/parse/grammar.y:
5078 * gst/parse/lex._gst_parse_yy.pre.c:
5079 Add delayed set-property. This allows to set properties on dynamicaly
5080 created objects (pads in videomxer). Fixes #509391.
5082 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
5085 Check if caps are not NULL (fix bug #510194)
5087 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
5089 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
5090 (gst_base_sink_get_position_paused):
5091 Add fixme regarding EOS in pull mode.
5092 Fix position reporting in PAUSED for negative rates.
5094 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
5096 * gst/gstminiobject.c: (gst_mini_object_replace):
5097 When replacing a miniobject, do a quick equality check first so that we
5098 can avoid a ref/unref pair.
5100 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
5102 * docs/design/part-synchronisation.txt:
5105 * docs/plugins/Makefile.am:
5106 * docs/plugins/gstreamer-plugins-docs.sgml:
5107 * docs/plugins/gstreamer-plugins-sections.txt:
5108 * plugins/elements/gstmultiqueue.c:
5109 Add multiqueue to the docs.
5111 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
5116 === release 0.10.17 ===
5118 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
5121 releasing 0.10.17, "Due Negligence"
5123 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
5126 Revert caps != NULL check temporarily for 0.10.17 release.
5128 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
5131 Check if caps are not NULL (fix bug #510194)
5133 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
5136 Fix compilation on systems that have posix timers but no
5139 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5142 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
5144 * tools/gst-inspect.c:
5145 Revert previous commit in preparation for an impromptu 0.10.17 release
5147 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
5149 * tools/gst-inspect.c: (print_interfaces),
5150 (print_element_properties_info), (print_pad_info),
5151 (print_signal_info), (print_element_info):
5152 Fix a few memory leaks.
5154 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
5159 === release 0.10.16 ===
5161 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
5164 releasing 0.10.16, "Special Dispensation"
5166 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
5169 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5170 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5171 not fail when trying to crosscompile on OpenEmbedded (#511750).
5173 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
5176 Use $(MAKE) instead of make to fix the build if GNU make is
5177 called different. Fixes bug #510747.
5179 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
5181 * gst/gstplugin.c: (_gst_plugin_initialize):
5182 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5183 again, which I broke two commits ago when changing the API
5184 of gst_plugin_register_static(): the g_list_foreach() in
5185 _gst_plugin_register_static still assumed the old function
5186 signature and would therefore fail (re-fixes #510187).
5188 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5189 (_gst_plugin_register_static), (gst_plugin_register_static):
5190 Revert the (technically correct) change to call g_thread_init() from
5191 the pre-main() constructor. This will break programs which call
5192 g_thread_init() without an if (!g_thread_supported()) guard in their
5193 main function. We could just blame it on GLib or the application, but
5194 it's probably best to just avoid this altogether and simply not use
5195 any GLib functions here and use plain old malloc() with a simple
5196 array to store the plugins to register later when gst_init() is
5197 finally called (re-fixes #510187).
5199 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5200 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5201 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5202 (GST_START_TEST), (gst_plugin_suite):
5203 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5206 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
5208 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5209 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5210 This makes gtk-doc complain, but results in slightly better
5211 compiler errors. The old _gst_plugin_register_static() is
5212 still guarded, so there'll be a compiler warning about that
5213 instead. Fixes #510187 too.
5215 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
5217 * gst/gst.c: (init_post):
5218 * gst/gstplugin.c: (_gst_plugin_register_static),
5219 (gst_plugin_register_static), (_gst_plugin_initialize):
5220 * gst/gstplugin.h: (GstPluginFilter):
5221 Change API of gst_plugin_register_static() to not take
5222 a GstPluginDesc, but rather just take all the arguments
5223 in a GstPluginDesc directly. This is more intuitive and
5224 avoids certain mistakes when porting code from
5225 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5228 * tests/check/gst/gstplugin.c:
5229 Fix up for changed API.
5231 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
5233 * docs/faq/legal.xml:
5234 Update FAQ, Totem actually has an exception these days.
5236 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
5238 * win32/common/libgstreamer.def:
5239 Add new API declarations
5241 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5243 * gst/gstminiobject.c:
5244 Spelling fixes for the API docs.
5246 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5248 * libs/gst/base/gstbasetransform.c:
5249 Fix long property description for QoS.
5251 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
5254 _gst_trace_on is already provided by gsttrace.h, no need to declare
5257 * docs/libs/gstreamer-libs-sections.txt:
5258 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5259 and remove strange tcase_add_test which is outputting a warning.
5261 * libs/gst/check/gstcheck.c:
5262 * libs/gst/check/gstcheck.h:
5263 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5264 and define them in gstcheck.c instead of having every .c file whcih
5265 includes gstcheck.h be defining its own copy and relying on symbol
5266 interposing to marry them all, which doesn't work on Solaris.
5268 * tests/check/elements/identity.c: (GST_START_TEST):
5269 Don't define 'buffers' locally, it comes from libgstcheck.
5271 * tests/check/generic/sinks.c: (send_buffer):
5272 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5274 * tests/check/gst/gststructure.c: (GST_START_TEST):
5275 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5276 * tests/check/gst/gstutils.c: (GST_START_TEST):
5277 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5278 Add a bunch of casts to make various constants fit the types
5279 they're being assigned to.
5281 2008-01-10 Stefan Kost <ensonic@users.sf.net>
5283 * gst/gstchildproxy.c:
5284 Improve docs and add some ideas for making this more general-purpose.
5286 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
5288 * gst/gst_private.h: (GST_CAT_TYPES):
5289 Add GST_CAT_TYPES, for consistency, and so that the other
5290 debug categories don't make fun of it. Spotted by Saur on IRC.
5292 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5294 * gst/parse/Makefile.am:
5295 Move types.h from EXTRA_DIST to noinst_HEADERS.
5297 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5300 Add -Wno-portability to the automake parameters to stop warnings
5301 about GNU make extensions being used. We require GNU make in almost
5302 every Makefile anyway.
5305 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5306 at the same time is required for per target flags.
5308 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5311 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5312 __GNUC__ is defined before using it.
5314 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5316 * docs/gst/gstreamer-sections.txt:
5317 * gst/gst.c: (init_post):
5318 * gst/gstplugin.c: (_gst_plugin_register_static),
5319 (gst_plugin_register_static), (_gst_plugin_initialize),
5320 (gst_plugin_register_func):
5321 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5322 API: add gst_plugin_register_static() and deprecate
5323 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5325 Also, in _gst_plugin_register_static(), make sure to call
5326 g_thread_init() before calling GLib functions such as
5327 g_list_append() if we're not initialised yet, since that
5328 may lead to random crashes with older GSlice/GLib versions.
5330 * tests/check/gst/gstplugin.c:
5331 Adapt unit test to above changes.
5333 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5335 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5336 * gst/gstcaps.c: (gst_caps_to_string):
5337 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5338 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5339 Yet another gratuitous GString micro-optimisation: add a (private)
5340 function that serialises a structure appending to an existing
5341 GString, so that when we serialise caps we don't need to alloc+free
5342 a throwaway GString for each structure (each of which also entailing
5343 multiple reallocs on the way); also use g_string_sized_new() in
5344 various places with an approximate string length to avoid reallocs
5345 within GString. See #500143.
5347 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5349 * gst/gststructure.c: (gst_structure_id_set_value):
5350 Always check UTF-8 conformance of structure strings and not only
5351 if the debugging system is enabled; reasoning: the behaviour of
5352 the actual code shouldn't really change depending on whether the
5353 debugging system is enabled or not (#508291).
5355 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5358 Remove old coverage target in favour of "make lcov".
5360 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5362 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5363 (gst_base_src_loop):
5364 The start segment for reverse playback goes from start to last_stop.
5366 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5368 Patch by: Peter Kjellerstedt <pkj axis com>
5371 Cast the results from the timeval/spec_to_time macros to what the
5372 docs say it casts to, a GstClockTime. fixes #508175.
5374 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5377 Update some comments.
5379 * tools/gst-inspect.c: (print_element_properties_info):
5380 Improve printing of flags.
5382 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5384 * libs/gst/base/gstbasetransform.c:
5385 (gst_base_transform_transform_size):
5386 Print element name with g_warning() if there's a problem
5389 2008-01-07 David Schleef <ds@schleef.org>
5391 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5393 * libs/gst/controller/gstcontroller.h:
5394 * libs/gst/controller/gstcontrolsource.h:
5395 * libs/gst/controller/gstinterpolationcontrolsource.h:
5396 * libs/gst/controller/gstlfocontrolsource.h:
5397 * libs/gst/dataprotocol/dataprotocol.h:
5398 Fix empty prototypes. Fixes bug #507957.
5400 2008-01-07 David Schleef <ds@schleef.org>
5402 * docs/faq/dependencies.xml: Fix typo.
5404 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5406 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5407 (gst_base_src_loop):
5408 Don't update the last_stop position in do_seek, that's the position we
5410 Read backwards when we have a negative rate.
5412 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5413 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5415 Add check for reverse reading.
5417 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5419 Patch by: Alexis Ballier <aballier at gentoo org>
5421 * tests/check/gst/gstabi.c:
5422 * tests/check/gst/struct_ppc64.h:
5423 * tests/check/libs/libsabi.c:
5424 * tests/check/libs/struct_ppc64.h:
5425 Decide which header to include based on the userland ABI target
5426 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5427 for 64-bit userland (#503590). Might need something similar for
5430 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5432 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5433 Log the reason why fopen fails in addition to the fact that it failed.
5435 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5437 * gst/parse/parse.l:
5438 Use "%option never-interactive" to prevent useless calls to isatty()
5439 on every input when parsing. Also use "%option noinput" to not define
5440 the static input/yyinput functions which we don't use anyway. This
5441 removes a compiler warning with gcc 4.3 and saves some bytes in the
5444 * gst/parse/lex._gst_parse_yy.pre.c:
5445 Regenerated for the above change.
5447 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5449 * gst/gstpad.c: (fixate_value):
5450 Don't crash when trying to fixate and empty list.
5453 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5455 * docs/faq/gst-uninstalled:
5456 Clarify the comments to make the usage of this script and what it
5457 does easier to understand.
5459 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5461 * tools/gst-plot-timeline.py:
5462 Add more options to gst-plot-timeline
5464 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5466 * docs/design/part-synchronisation.txt:
5467 Some more info on how the stream_time in GstBaseSink is done.
5469 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5471 * tests/check/generic/sinks.c: (gst_sinks_suite):
5472 Put back the tcase_set_timeout(), apparently it's needed after
5473 all; fix it up in a way that makes things work with valgrind too.
5475 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5477 * gst/gstdebugutils.c:
5478 Add warning when failed to open file for writing.
5480 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5482 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5484 * gst/gstvalue.c: (gst_value_is_fixed):
5485 Optimisation: bail out of the loop as early as possible (#500143).
5487 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5489 * gst/gstcaps.c: (gst_caps_to_string):
5490 * gst/gstinfo.c: (gst_debug_construct_term_color):
5491 * gst/gstparse.c: (gst_parse_launchv):
5492 * gst/gstutils.c: (gst_util_dump_mem):
5493 * gst/gstvalue.c: (gst_value_serialize_any_list),
5494 (gst_value_transform_any_list_string):
5495 Bunch of gratuitous nano-optimisations.
5497 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5499 * tests/check/generic/sinks.c: (async_done_func),
5500 (async_done_eos_func):
5501 Fix leak in unit test (bus sync handler must unref the message
5502 if it returns GST_BUS_DROP). Don't fiddle with the default test
5503 timeout, this is smaller than the current preconfigured value
5504 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5505 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5507 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5509 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5512 Check for stdio_ext.h for the filesink changes.
5514 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5515 (gst_file_sink_class_init), (gst_file_sink_init),
5516 (gst_file_sink_dispose), (gst_file_sink_set_property),
5517 (gst_file_sink_get_property), (gst_file_sink_open_file),
5518 (gst_file_sink_close_file):
5519 * plugins/elements/gstfilesink.h:
5520 Add two properties to control the buffering mode and size.
5521 API: GstFileSink::buffer-mode
5522 API: GstFileSink::buffer-size
5525 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5527 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5528 Add some more docs to explain why a FIXME was wrongly added.
5530 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5533 Fix typo in the gst_object_{ref,unref} documentation.
5535 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5537 * tests/check/libs/controller.c:
5538 * tests/check/libs/typefindhelper.c:
5539 * tests/check/pipelines/parse-launch.c:
5540 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5541 going to be deprecated (see #498924).
5543 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5545 * gst/gsttypefind.c: (gst_type_find_register):
5546 Make gst_type_find_register work for static typefind functions,
5547 ie. allow passing plugin == NULL (prerequisite for #498924).
5549 * gst/gstelementfactory.c: (gst_element_register):
5550 Small docs addition.
5552 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5554 * gst/gstpad.c: (gst_pad_dispose):
5555 Really unlink the peer pad instead of setting the peer pointer to NULL
5556 when we dispose the pad.
5557 This correctly calls the unlink functions and makes sure that the peer
5558 does not have a handle to invalid memory. See #504671.
5560 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5561 Add testsuite for above case.
5563 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5565 Patch by: Peter Kjellerstedt <pkj axis com>
5567 * libs/gst/check/gstcheck.h:
5568 Fix detection of the check version we're compiling against (would
5569 otherwise break if check goes v0.10.0); correctly report the
5570 name of the failed test again in case of failure, instead of
5571 just 'tf' (fixes #504499).
5573 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5575 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5576 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5577 (gst_base_src_loop), (gst_base_src_set_flushing),
5578 (gst_base_src_change_state):
5579 Allow sending EOS to the source to make it send out an EOS event from
5580 the streaming thread.
5581 Update docs and deprecate the old NULL/READY shutdown method.
5583 * tests/check/libs/basesrc.c: (GST_START_TEST),
5584 (gst_basesrc_suite):
5585 Add unit test for controlled shutdown.
5587 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5589 * docs/design/part-synchronisation.txt:
5592 * gst/gstsegment.c: (gst_segment_set_seek),
5593 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5594 (gst_segment_to_running_time):
5595 The seek format can be different from the segment format when the start
5596 and stop values are not to be updated, when we only do a rate change for
5599 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5600 (gst_segment_suite):
5601 Add a testcase for the rate-only seeks, checking that the format is
5602 correctly ignored when start and stop are not updated.
5604 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5606 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5608 * win32/vs8/grammar.vcproj:
5609 * win32/vs8/libgstcontroller.vcproj:
5610 * win32/vs8/libgstreamer.vcproj:
5611 Fix compilation with VS8 and include some missing files.
5613 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5616 Small docs addition: mention that the strings returned by
5617 gst_tag_list_get_string*() are in UTF-8 encoding.
5619 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5622 The check-exports stuff moved to common/win32.mak, so include that.
5624 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5626 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5627 (gst_base_src_perform_seek), (gst_base_src_get_range),
5628 (gst_base_src_set_playing), (gst_base_src_change_state):
5629 Make _wait_playing() not check any variables so that we can call this
5630 function from subclasses. Move the checks elsewhere similar to
5631 _wait_preroll() in basesink.
5633 Only signal the LIVE cond when we are going back to PLAYING.
5635 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5637 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5638 Use g_remove() and g_rename(). Check result of g_rename(), and
5639 don't leak the open file descriptor if we error out when writing.
5641 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5642 Must check the return value of close() after writing out the new
5643 registry file. Sometimes write problems such as out-of-diskspace
5644 are only reported when the file is closed and not already during
5645 the write. This may have caused partial/broken registry files in
5646 some rare circumstances. Should fix #503675.
5648 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5650 * docs/gst/.cvsignore:
5651 * docs/libs/.cvsignore:
5652 * docs/plugins/.cvsignore:
5653 Ignore files generated by new common/* modifications
5655 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5657 * win32/common/libgstbase.def:
5658 Yes, you can also have a <TAB> if you want.
5660 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5662 * win32/common/libgstbase.def:
5663 Add new basetransform API to win export file.
5665 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5667 * tests/check/gst/gstbin.c:
5668 Adjust the test to the refcount change two days ago.
5670 2007-12-14 David Schleef <ds@schleef.org>
5672 * docs/faq/getting.xml: Fix typo.
5674 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5676 * docs/libs/gstreamer-libs-sections.txt:
5677 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5678 (gst_base_transform_prepare_output_buffer),
5679 (gst_base_transform_set_gap_aware):
5680 * libs/gst/base/gstbasetransform.h:
5681 API: Add gst_base_transform_set_gap_aware() to control whether
5682 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5683 get buffers with this flag at all. Fixes #503231.
5685 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5687 * libs/gst/base/gstbasesink.c:
5688 * libs/gst/base/gstbasesrc.c:
5689 * libs/gst/base/gstbasetransform.c:
5690 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5691 thread. Correct log message in gstbasesrc.c.
5693 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5695 * gst/gstutils.c: (element_find_unconnected_pad):
5696 Fix possible compiler warning (#503417).
5698 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5700 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5701 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5703 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5705 * tools/gst-inspect.c: (print_element_properties_info):
5706 Add support for GstFraction properties.
5708 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5711 Add check-exports target and run it as part of 'make check'
5712 (see #499140 and #493983).
5714 * gst/gst_private.h:
5715 * gst/gstelementfactory.h:
5716 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5717 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5718 (_priv_gst_in_valgrind):
5719 * gst/gstinfo.h: (GstLogFunction):
5720 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5721 (gst_type_find_register):
5722 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5723 (gst_type_find_factory_get_type):
5724 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5725 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5726 (gst_controller_new_valist), (gst_controller_new_list),
5727 (_gst_controller_dispose), (_gst_controller_class_init):
5728 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5729 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5730 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5731 (gst_object_get_controller), (gst_object_set_controller),
5732 (gst_object_suggest_next_sync), (gst_object_sync_values),
5733 (gst_object_set_control_source), (gst_object_get_control_source),
5734 (gst_object_get_value_arrays), (gst_object_get_value_array),
5735 (gst_object_get_control_rate), (gst_object_set_control_rate):
5736 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5737 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5738 Make some functions that should be static static; rename some
5739 private symbols so that they don't get exported; add some FIXME
5740 comments so we can move accidentally exported functions into
5741 our private section in 0.11.
5743 * win32/common/libgstreamer.def:
5744 Add gst_utils_get_timestamp().
5746 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5750 Add more missing "Since:" tags to docs.
5752 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5755 Add mising "Since:" to docs.
5757 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5760 Include "glib-compat-private.h" to fix the build on system with
5761 glib < 2.10. Fixes #503131.
5763 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5767 Actually its not PURE as it gets the time from elsewhere.
5769 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5771 * docs/gst/gstreamer-sections.txt:
5773 * gst/gstdebugutils.c:
5777 * libs/gst/base/gstbasesink.c:
5778 * tools/gst-launch.c:
5779 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5780 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5781 Thanks Tim for spotting.
5782 API: gst_util_get_timestamp
5784 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5787 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5789 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5791 * gst/gststructure.c: (gst_structure_validate_name),
5792 (gst_structure_new_valist), (gst_structure_parse_value),
5793 (gst_structure_from_string):
5794 Don't crash in _from_string() if the structure name is not valid
5795 (fixes #501560). Allow structure names to start with a number
5796 again (this apparently broke the ubuntu codec installer).
5798 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5800 Add unit test for the crash; update unit tests for new behaviour.
5802 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5805 Clarify gst_element_get_compatible_pad() documentation.
5808 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5810 * tests/check/Makefile.am:
5811 Don't forget to dist {gst,libs}/struct_hppa.h.
5813 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5815 * libs/gst/base/gstbasesink.c:
5816 Use new API to get elapsed time.
5818 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5820 * gst/gstdebugutils.c:
5822 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5824 * tools/gst-launch.c:
5825 Use new API to get elapsed time.
5827 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5829 * docs/gst/gstreamer-sections.txt:
5831 * gst/gstdebugutils.c:
5833 Rename new API + ChangeLog surgery to remove old name from last entry..
5835 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5837 * docs/gst/gstreamer-sections.txt:
5839 * gst/gstdebugutils.c:
5841 Now hide the different clock stuff behind a macro.
5843 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5846 * gst/gstdebugutils.c:
5848 Apply the posix-timer check from #361155. Conditionally use the posix
5849 timer for logging. This gives better timestamp precission, less
5850 overhead and no ntp jitter.
5852 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5854 * gst/gstminiobject.c: (gst_mini_object_get_type),
5855 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5856 (gst_mini_object_finalize), (gst_mini_object_copy),
5857 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5858 (gst_mini_object_replace), (param_mini_object_validate),
5859 (gst_param_spec_mini_object_get_type):
5860 Some cleanup and checking against invalid function parameters.
5862 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5864 * docs/gst/gstreamer-sections.txt:
5866 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5867 (gst_systemclock_suite):
5868 Start merging in the easy bits of #361155, the monotonic clock patch.
5869 This one adds a few handy macros with docs and a testsuite.
5871 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5873 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5874 Be a bit smarter when seeking, like, don't try to do a seek when it's
5875 not needed. This avoids errors when the file is not seekable.
5878 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5880 * docs/gst/gstreamer-docs.sgml:
5881 * docs/gst/gstreamer-sections.txt:
5882 * docs/gst/gstreamer.types.in:
5887 * plugins/elements/gstqueue.c:
5888 Due to popular request remove preset interface again. :-(.
5890 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5892 * tools/gst-inspect.c:
5893 Print 'default value' for enums and flags too.
5895 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5897 * docs/random/ensonic/profiling.txt:
5901 Fix typo and give better log output.
5903 * gst/gstdebugutils.c:
5904 * gst/gstdebugutils.h:
5905 More ideas, make graphs a bit smaller and fix param name in macro.
5907 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5910 Try harder to use the return value from fgets().
5912 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5915 For theses two fgets we handle the error below.
5917 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5919 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5920 Only send upstream events upstream. Fixes #498746.
5922 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5924 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5926 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5927 (gst_identity_init), (gst_identity_transform_ip),
5928 (gst_identity_set_property), (gst_identity_get_property):
5929 * plugins/elements/gstidentity.h:
5930 Add property to disable handoff signal emission. Fixes #498694.
5931 API: GstIdentity::signal-handoffs
5933 2007-11-21 Julien Moutte <julien@fluendo.com>
5935 * docs/faq/gst-uninstalled: Yet another missing library for the
5936 uninstalled script (fft)
5938 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5940 * docs/faq/developing.xml:
5941 Add a question about how to submit new translations.
5943 * docs/random/release:
5944 Update the contact email address for the Translation Project
5946 * plugins/elements/gstfdsrc.c:
5947 The parent_class for fdsrc is pushsrc, not GstElement.
5949 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5952 Plug a leak and fix saving.
5954 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5956 * docs/gst/gstreamer-sections.txt:
5957 Add new gst_preset__get_property_names() function to the docs
5960 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5964 Change _get_preset_names API to return a strv with copies. Add
5965 _get_property_names to allow implementations to filter and provide
5966 good default implementation.
5968 2007-11-20 Julien MOUTTE <julien@moutte.net>
5970 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5973 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5976 More cleanups, docs, and TODOs from comments that now slowly come in.
5978 2007-11-19 Julien MOUTTE <julien@moutte.net>
5980 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5983 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5986 Fix bogus warning and make the property type specific code more
5989 2007-11-19 Julien MOUTTE <julien@moutte.net>
5991 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5994 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5996 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5997 (gst_bin_add_func), (gst_bin_remove_func),
5998 (gst_bin_change_state_func), (gst_bin_continue_func):
5999 Change email, cleanups add some more debug and comments.
6000 Also set bus and clock on new elements when the pipeline was in error.
6002 2007-11-18 Stefan Kost <ensonic@users.sf.net>
6005 * gst/gstdebugutils.c:
6006 Fix build with --disable-gst-debug. Fixes #497859.
6007 Spotted by Sameer Naik.
6009 2007-11-17 Stefan Kost <ensonic@users.sf.net>
6012 Little documentation improvment.
6015 More TODO cleanups. Remove c++ comments.
6017 * libs/gst/controller/gstcontroller.c:
6018 Add TODO and use quark from static string.
6020 * tests/check/gst/gstmessage.c:
6021 * tests/check/gst/gststructure.c:
6022 Use quark from static string.
6024 2007-11-17 Stefan Kost <ensonic@users.sf.net>
6027 Add some comments and TODOs.
6030 Add padding for future changes.
6032 * plugins/elements/gstqueue.c:
6033 Implement the iface.
6035 2007-11-17 Stefan Kost <ensonic@users.sf.net>
6037 * docs/gst/gstreamer-docs.sgml:
6038 * docs/gst/gstreamer-sections.txt:
6039 * docs/gst/gstreamer.types.in:
6044 Add the preset interface (Fixes #396779). Do some doc cleanups along.
6046 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
6052 === release 0.10.15 ===
6054 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
6057 releasing 0.10.15, "October"
6059 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
6061 * win32/vs6/libgstreamer.dsp:
6062 Convert line endings back to DOS.
6064 2007-11-13 Stefan Kost <ensonic@users.sf.net>
6066 * docs/design/draft-tagreading.txt:
6067 * docs/random/ensonic/profiling.txt:
6068 Update fast tagreading draft and performance profiling ideas.
6070 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
6072 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
6073 Don't hold the object lock when unreffing a buffer because it could
6074 cause a deadlock when the finalize function wants to grab the object
6075 lock too. Fixes #495133.
6077 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
6079 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
6080 (gst_segment_to_stream_time), (gst_segment_to_running_time):
6081 Also accumulate time correctly when doing reverse playback. Fixes
6083 When converting to running and stream time, use default values for
6084 start/stop/time/accum when comparing different formats. Fixes #494245.
6086 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6087 Do running/stream time in TIME format.
6089 * tests/check/gst/gstsegment.c: (GST_START_TEST),
6090 (gst_segment_suite):
6091 2 new unit tests for segment accumulation.
6093 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
6095 * gst/gst.c: (init_pre):
6096 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
6097 (_gst_debug_bin_to_dot_file):
6098 Move getenv() back into gst_init, so everyone can live happily
6099 ever after. Make sure the symbol isn't exported though.
6101 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
6103 Patch by: Sebastien Moutte <sebastien moutte net>
6105 * win32/common/gstenumtypes.c:
6106 * win32/common/gstenumtypes.h:
6109 * win32/vs6/libgstreamer.dsp:
6110 Update vs6 project files (#494343).
6112 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6114 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6115 (gst_base_src_perform_seek), (gst_base_src_default_event),
6116 (gst_base_src_set_flushing), (gst_base_src_activate_push),
6117 (gst_base_src_activate_pull):
6118 Unify flushing code, remove some old unlock code that is no longer used.
6119 Take the streaming lock when seeking to avoid races. Fixes #492729.
6120 Added some more comments.
6122 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
6124 * gst/gst.c: (_gst_disable_segtrap):
6125 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
6126 we can use gst_segtrap_is_enabled() there now that we have that API.
6127 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6128 to do the getenv here (and export the variable).
6130 * gst/gstdebugutils.c: (debug_dump_element),
6131 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6132 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6134 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6135 (gst_debug_log_default):
6136 Rename _gst_info_start_time to priv_gst_info_start_time so it
6137 doesn't get exported (was never in any header).
6139 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6140 (gst_plugin_loading_mutex):
6141 Make static mutex gst_plugin_loading_mutex really static (was never
6142 in any header), and use gst_segtrap_is_enabled() instead of
6143 _gst_disable_segtrap.
6145 * gst/gsttrace.c: (_gst_trace_default):
6146 Make local _gst_trace_default static (was never in any header).
6148 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
6150 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6152 * win32/common/libgstbase.def:
6153 * win32/common/libgstcontroller.def:
6154 * win32/common/libgstdataprotocol.def:
6155 * win32/common/libgstnet.def:
6156 * win32/common/libgstreamer.def:
6157 Add more missing symbols, remove some duplicates, and sort
6158 as the 'sort' command sorts it (partially fixes #493983).
6160 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6162 * gst/gstelement.c: (gst_element_set_state_func):
6163 Only change the state cookie if a different state was set on the
6164 element. See #492729.
6166 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
6169 Remove unused and uninitialised type variables that were still
6170 exported for some reason (they were never in any header files
6173 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6175 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6176 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6177 (gst_base_sink_event), (gst_base_sink_get_position_last),
6178 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6179 (gst_base_sink_change_state):
6180 Don't try to report a 0 position when we don't know, return -1 and FALSE
6181 instead. This mostly happens when we are prerolling.
6182 Make sure we can report the right position before we post the ASYNC_DONE
6183 message so that a message handler can query position without races.
6185 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6186 (async_done_handoff), (async_done_func), (send_buffer),
6187 (async_done_eos_func), (gst_sinks_suite):
6188 Add two tests for the above.
6190 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6193 Update with new email address.
6195 * docs/design/part-TODO.txt:
6196 Add some more info about future pad-block and negotiation changes.
6198 * docs/design/part-buffering.txt:
6199 Add some ideas about buffering reporting.
6201 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
6203 * tests/check/gst/gstobject.c:
6204 Disable silly racy test that always fails on this combination of CPU
6207 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
6209 Patch by: Murray Cumming <murrayc@murrayc.com>
6212 Corrected the registration of the parent-set and parent-unset
6213 signals: The parameter is a GstObject, not a GObject (#493134).
6215 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6217 * gst/gst_private.h:
6226 Move declaration of private _gst_foo_initialize() functions into
6227 our private header file where they should have been all along.
6229 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6231 * docs/plugins/gstreamer-plugins-sections.txt:
6232 * gst/gstdebugutils.h:
6234 * plugins/elements/gstqueue.c:
6235 gtk-doc fixes; trailing-comma-in-enum fix.
6237 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6239 * gst/gst.c: (gst_deinit):
6240 Clean up on deinit (not the external ones though, doesn't seem to be
6241 needed for some reason).
6243 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6245 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6246 Remove __declspec(dllimport) for MSVC that was copied over into core
6247 from a plugin, obviously without ever having been tested (note the
6248 single underscore in _declspec in the initial commit), and that doesn't
6249 really make sense. See #492077.
6251 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6253 * gst/gst.c: (init_post):
6254 * gst/gstevent.c: (_gst_event_initialize):
6255 * gst/gstquery.c: (_gst_query_initialize):
6256 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6257 g_type_class_ref() other types as well, see #349410 and #64764.
6259 * gst/gstbuffer.c: (_gst_buffer_initialize):
6260 * gst/gstmessage.c: (_gst_message_initialize):
6261 Simplify existing g_type_class_ref().
6263 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6265 * gst/gstformat.c: (_gst_format_initialize):
6266 g_type_class_ref() our GstFormat type to make sure we avoid the
6267 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6268 bug #64764. Should fix intermittent tee unit test failures (#474823).
6270 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6272 * tests/check/elements/tee.c: (test_num_buffers):
6273 Simplify, simplify, simplify - or not. Rewrite unit test
6274 not to use gst_parse_launch(); allow N sub-streams. Increasing
6275 the number of sub-streams seems to reproduce #474823 more easily.
6277 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6279 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6282 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6283 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6284 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6285 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6286 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6287 so use _pipe() directly (#492077).
6289 * win32/common/dirent.c: (_treaddir):
6290 Add a couple of casts to make it build without warnings with MSVC.
6292 * win32/common/libgstreamer.def:
6293 Add some more symbols that need to be exported.
6295 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6297 * tests/examples/metadata/read-metadata.c: (message_loop):
6298 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6299 arriving in a second or third tag message are added to
6300 the tag list as well.
6302 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6304 * libs/gst/base/gstbasesrc.c:
6305 Its "Since:" and not "@Since:". And remove an superflous cast.
6307 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6309 * docs/libs/gstreamer-libs-sections.txt:
6310 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6311 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6312 (gst_base_sink_get_property), (gst_base_sink_render_object),
6313 (gst_base_sink_preroll_object),
6314 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6315 (gst_base_sink_change_state):
6316 * libs/gst/base/gstbasesink.h:
6317 Add a new last-buffer property that contains the last buffer used in
6318 basesink for preroll or rendering. useful for making snapshots.
6319 API: gst_base_sink_get_last_buffer()
6320 API: GstBaseSink::last-buffer
6322 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6324 * docs/gst/running.xml:
6326 * gst/gstdebugutils.c:
6327 * gst/gstdebugutils.h:
6328 * tools/gst-launch.c:
6329 Improve bin graph dumping, by using the envvar to specify a path.
6330 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6332 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6334 * plugins/elements/gsttypefindelement.c:
6335 (gst_type_find_element_handle_event),
6336 (gst_type_find_element_activate):
6337 Post special error message if we can't determine the type of a stream
6340 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6342 * docs/gst/running.xml:
6343 * gst/gstdebugutils.c:
6344 Document new env-var. Add one log-line after dumpng a graph.
6346 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6349 Ugly hack to put the (recently removed and non-portable, apparently)
6350 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6351 GNU ld, because without that 'make check' fails miserably on my debian
6352 stable box. Someone with more knowledge of linker intricacies and
6353 portability issues than me fix this properly please.
6355 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6357 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6358 Reset last seen position after flushing so that we don't report the old
6361 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6363 * gst/gstelementfactory.c: (gst_element_register):
6365 Patch from Alessandro Decina adding get_type_full and
6366 get_protocols_full private vfuncs to the URIHandler interface
6367 to allow bindings to support creating URI handlers.
6368 Partially fixes: #339279
6369 API: GstURIHandlerInterface::get_type_full
6370 API: GstURIHandlerInterface::get_protocols_full
6372 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6374 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6375 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6376 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6377 Make it so that pads are considered linked until a buffer is pushed
6378 and discovered otherwise. This avoids problems with decodebin2 hanging
6379 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6382 Make sure we lock the multiqueue when updating the max-size properties.
6384 Fix a crash on Solaris in a debug statement in get_request_pad that
6385 passes a NULL string to GST_DEBUG.
6387 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6388 (run_output_order_test):
6389 Fix the test to allow the first buffer on not-linked pads to come out
6390 of sequence while multiqueue discovers that they are not-linked.
6392 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6395 * libs/gst/check/Makefile.am:
6396 Use a custom export symbol regex for libgstcheck, as it needs
6397 to export symbols that don't match the standard GStreamer gst_*
6398 pattern, and --export-dynamic is not portable (only works on
6401 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6402 (gst_check_setup_sink_pad):
6403 Make sure to pass a message parameter to the fail_* macros.
6405 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6406 Fix some compiler warnings.
6408 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6410 * tests/check/gst/gststructure.c: (test_to_string):
6411 Disable test that checks that white spaces are not allowed
6412 in structure names or field names, since we need to
6413 support that for now for backwards compatibility reasons.
6415 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6417 * docs/gst/gstreamer-sections.txt:
6420 API: add GST_TAG_ARTIST_SORTNAME
6421 API: add GST_TAG_ALBUM_SORTNAME
6422 API: add GST_TAG_TITLE_SORTNAME
6423 Add tag variants for sorting (#414539).
6425 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6427 * gst/gststructure.c:
6428 Also allow white space for names so we don't break
6429 backwards compatibility.
6431 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6433 * docs/design/part-TODO.txt:
6434 * docs/design/part-segments.txt:
6435 * docs/design/part-streams.txt:
6438 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6440 * docs/gst/gstreamer-sections.txt:
6441 Fixed documentation from my previous commit (added new API add
6442 gst_value_set_structure(), add gst_value_get_structure() and
6443 GST_VALUE_HOLDS_STRUCTURE).
6445 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6447 * gst/gstdebugutils.c:
6448 Reflow code to fix uninitialized variable warning.
6450 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6452 * gst/gstcaps.c: (gst_caps_to_string),
6453 (gst_caps_from_string_inplace):
6454 * gst/gststructure.c: (gst_structure_get_abbrs),
6455 (gst_structure_to_string), (gst_structure_from_string):
6456 * gst/gstvalue.c: (gst_value_set_structure),
6457 (gst_value_get_structure), (gst_value_serialize_structure),
6458 (gst_value_deserialize_structure), (_gst_value_initialize):
6460 * tests/check/gst/gststructure.c: (GST_START_TEST),
6461 (gst_structure_suite):
6462 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6463 Added GstStructure to gst_value_table and its related functions.
6464 Changed gst_structure_to_string to print ';' in the end.
6465 Changed gst_caps_to_string to not print ';' beteween its
6466 fields (structures) anymore and remove the lastes ';' from latest
6467 structure. Now it is possible to have nested structures.
6468 In addition, backward compatibilty is assured by accepting '\0' as
6469 end delimiter. Fixes: #487969.
6470 API: add gst_value_set_structure()
6471 API: add gst_value_get_structure()
6472 API: add GST_VALUE_HOLDS_STRUCTURE
6474 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6477 When no GSource callback has been set up, tell developer
6478 to use a function that actually exists.
6480 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6482 * docs/gst/gstreamer-sections.txt:
6486 * gst/gstdebugutils.c:
6487 * gst/gstdebugutils.h:
6490 * tools/gst-launch.c:
6491 Allow dumping pipelines as dot graphs. Fixes #456573.
6493 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6495 * gst/gststructure.c:
6496 Allow '+' as well, it can be part of media or mime types
6497 such as image/svg+xml.
6499 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6501 * docs/gst/gstreamer-sections.txt:
6504 API: add gst_bus_pop_filtered
6505 API: add gst_bus_timed_pop_filtered
6506 Two new functions for waiting for specific message types on the
6507 bus for a specified amount of time without iterating any main
6508 loops or main contexts.
6510 * tests/check/gst/gstbus.c:
6511 Some tests for the new functions.
6513 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6515 * docs/libs/gstreamer-libs-sections.txt:
6516 Make gtk-doc ignore stuff it should ignore.
6518 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6520 * libs/gst/check/gstcheck.c:
6521 * libs/gst/check/gstcheck.h:
6522 Allow runtime selection of unit tests to run via the GST_CHECKS
6523 environment variable (test case function names, comma-separated).
6525 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6527 * gst/gststructure.c:
6528 * tests/check/gst/gststructure.c:
6529 Revert serialisation change and constrain structure-names after
6530 consensus on irc. Update api documentation to reflect the change.
6532 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6534 * gst/gststructure.c:
6535 Improve serialization and fix tests.
6537 * tests/check/gst/gststructure.c:
6538 Add another test that covers why I actually did the previous structure
6541 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6543 * tools/gst-inspect.c: (print_element_info):
6544 Don't crash when inspecting an element.
6546 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6548 * tests/check/gst/gststructure.c:
6549 Add unit test for escaping of structure name when serialising
6550 and deserialising to/from strings.
6552 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6554 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6555 (gst_single_queue_new):
6556 * plugins/elements/gstqueue.c: (gst_queue_init),
6557 (gst_queue_push_one):
6558 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6559 upstream is tricked into thinking it can suggest a format downstream
6560 while downstream does not support that format. The real problem is that
6561 core calls acceptcaps when pushing a buffer with new caps, for which we
6562 do a little workaround by setting the caps on the srcpad ourselves
6563 before pushing the buffer (until this is figured out). Fixes #486758.
6565 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6567 * gst/gststructure.c:
6569 Add some more comments and debug output. Quote structure name to fix
6570 deserialisation of some strings.
6572 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6575 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6576 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6578 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6580 * tools/gst-inspect.c:
6581 Save approx. 400 1 byte allocs when printing. Use API to acces element
6587 * tools/gst-xmlinspect.c:
6588 Use API to acces element details.
6590 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6593 Fix some spelling errors.
6595 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6597 * gst/gstbin.c: (bin_handle_async_done):
6598 Correctly set the next state if all of our async children commited their
6599 state. This makes sure we can actually cancel the state change in
6600 progress. Fixes a regression in Rhythmbox when seeking.
6602 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6605 Don't shadow local variable.
6608 Don't shadow global function name.
6610 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6612 * gst/gstelementfactory.c:
6613 * gst/gstpluginfeature.c:
6614 * gst/gstpluginfeature.h:
6615 * gst/gstregistrybinary.c:
6616 * gst/gstregistryxml.c:
6617 * gst/gsttypefind.c:
6618 Use already-interned string for the private GstPluginFeature
6621 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6623 * docs/libs/gstreamer-libs-sections.txt:
6624 Add new API to docs; fixes the build.
6626 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6628 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6630 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6631 (gst_base_sink_event):
6632 * libs/gst/base/gstbasesink.h:
6633 Add function to wait for EOS, subclasses can use this to correctly wait
6634 for devices to drain before performing the EOS logic. Fixes #485343.
6635 API: gst_base_sink_wait_eos()
6637 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6640 Cast description string constants in GST_PLUGIN_DEFINE macros
6641 to a (gchar*) to make C++ code using these macros compile
6642 without warning with g++-4.2 (see #462737). Even if slightly
6643 ugly, this seems preferable to putting the description strings
6644 into the GLib quark table or making the structure member a
6645 const gchar * and doing casts in core code that allocs and
6646 frees these strings, or requiring a cast in the C++ code.
6648 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6651 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6652 to print the entire class/function signature into the log
6653 file for C++ code. This only affects C++ code, for C code
6654 everything remains the same.
6656 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6658 * gst/gstbin.c: (remove_from_queue):
6659 Work around a problem with pipelines containing (semi)loops until a
6660 proper, more complicated solution is ready. See #475455.
6662 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6666 * gst/gstregistrybinary.c:
6667 * gst/gstregistryxml.c:
6668 Put more strings into the GLib quark table. No need to keep
6669 a hundred-something copies of identical version strings,
6670 license strings, package name strings and package origin
6673 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6675 * docs/manual/advanced-dataaccess.xml:
6676 Don't imply that it's okay to unconditionally change
6677 buffer data or buffer metadata in a pad probe callback,
6678 and a bunch of other comments. Fixes #430031.
6680 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6682 * win32/common/gstenumtypes.c:
6683 * win32/common/gstenumtypes.h:
6684 * win32/common/gstversion.h:
6685 Update generated files.
6687 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6689 * docs/manual/advanced-autoplugging.xml:
6690 Prefix section with broken code with a warning (see #342432).
6692 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6694 * docs/manual/appendix-integration.xml:
6695 * docs/manual/basics-init.xml:
6696 Call g_thread_init() before g_option_context_new() to
6697 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6699 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6701 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6702 (gst_base_sink_queue_object_unlocked),
6703 (gst_base_sink_queue_object), (gst_base_sink_event),
6704 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6705 When we received EOS and are waiting for when to post the EOS message,
6706 our state is prerolled and we should not return ASYNC.
6707 Reorganize some code paths to implement this behavior.
6709 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6711 Add unit test to verify above EOS fix.
6713 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6715 * plugins/elements/gsttypefindelement.c:
6716 (gst_type_find_element_have_type), (gst_type_find_element_init),
6717 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6718 Move detecting the input caps of the sinkpad to the setcaps function.
6719 This allows us to update the output caps when we receive new input caps
6720 instead of always using the first detected caps.
6722 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6724 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6725 (gst_base_sink_get_position):
6726 Don't try to preroll non-async elements after a flush.
6727 Subtract latency form clock times when reporting position.
6729 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6731 * gst/gstpad.c: (gst_pad_pause_task):
6733 Small comment and documentation update.
6735 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6737 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6738 (gst_base_src_set_live), (gst_base_src_is_live),
6739 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6740 (gst_base_src_default_event), (gst_base_src_wait),
6741 (gst_base_src_do_sync), (gst_base_src_get_range),
6742 (gst_base_src_pad_get_range), (gst_base_src_loop),
6743 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6744 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6745 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6746 (gst_base_src_change_state):
6747 Rework the locking of basesrc in a similar fashion to basesink. We
6748 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6749 us to handle live sources and semi live ones much better.
6751 Fix unlocking when seeking, shutting down and pausing in live sources.
6753 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6755 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6756 Fix compilation again.
6758 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6761 Use meaningful categories for the logs to clean the default one.
6763 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6765 * tests/check/pipelines/cleanup.c:
6766 Print message name and not just number.
6768 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6770 * docs/design/draft-tagreading.txt:
6771 Add some more thoughts.
6773 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6775 * tests/check/pipelines/simple-launch-lines.c:
6776 Print message name and not just number.
6778 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6780 * libs/gst/base/gsttypefindhelper.c:
6781 Speedup typefinding. This is work in progress (see #459862).
6783 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6786 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6787 Spotted by Josep Torra Valles <josep@fluendo.com>.
6789 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6792 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6793 field has moved to GstObject.
6795 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6797 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6798 (gst_base_src_get_range), (gst_base_src_change_state):
6799 Call unlock for live sources so that they can't get stuck in _create and
6800 produce a buffer before they are set back to PLAYING.
6802 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6804 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6805 (gst_queue_locked_dequeue):
6806 Comment the segment-related code... in the PROPER function.
6807 See #482147 and my commit from yesterday.
6809 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6811 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6812 Also initialize the counter that calculates the first timestamp on a
6813 buffer correctly for non-live sources.
6815 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6817 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6818 Disable code that's breaking the current-time-level reporting.
6821 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6823 * docs/gst/gstreamer-sections.txt:
6824 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6825 as they shouldn't show up. Fixes the docs build.
6827 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6830 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6831 Define M_PI which is used in files which are including gstinfo.h.
6832 VS6 includes doesn't define it.
6833 * win32/common/libgstbase.def:
6834 * win32/common/libgstcontroller.def:
6835 * win32/common/libgstreamer.def:
6836 Add new exported functions and variables.
6837 * win32/vs6/libgstcontroller.dsp:
6838 * win32/vs6/libgstreamer.dsp:
6839 Update the list of files to build.
6841 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6843 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6845 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6846 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6847 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6848 Improve debugging. Fixes #480858.
6850 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6852 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6854 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6855 First patch of code cleanups, use the macros and right arguments in the
6856 macros to signal and lock the queue. See #480858.
6858 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6860 * gst/gstbus.c: (poll_func):
6861 Improve debugging when dealing with _poll().
6863 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6865 * gst/gstregistryxml.c:
6866 Fix memory leak I introduced a few days ago.
6868 2007-09-26 Michael Smith <msmith@fluendo.com>
6870 * gst/gstbuffer.c: (gst_buffer_finalize):
6871 Make it once again possible to free GstBuffers in the default
6873 The poisoning scribbles on parts of the miniobject we need in
6877 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6879 * docs/gst/gstreamer-sections.txt:
6882 API: add GST_TAG_COMPOSER, fixes #459809.
6884 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6888 Add the 3-clause BSD license and the MIT/X11 license to the license
6889 list. Fixes #479784.
6891 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6893 * docs/faq/getting.xml:
6894 Add Q+A about different GStreamer versions (#364056).
6896 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6898 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6899 (gst_base_sink_event), (gst_base_sink_change_state):
6900 Return correct gboolean from query function.
6902 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6904 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6905 (gst_base_sink_event), (gst_base_sink_query),
6906 (gst_base_sink_change_state):
6907 Simplify latency query.
6908 When not synchronizing, we can report latency without querying the peer
6911 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6915 Fix small typos in the docs.
6917 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6919 * docs/design/draft-latency.txt:
6920 * docs/design/draft-push-pull.txt:
6921 * docs/design/draft-tagreading.txt:
6922 * docs/design/part-MT-refcounting.txt:
6923 * docs/design/part-activation.txt:
6924 * docs/design/part-block.txt:
6925 * docs/design/part-element-source.txt:
6926 * docs/design/part-events.txt:
6927 * docs/design/part-gstbin.txt:
6928 * docs/design/part-gstelement.txt:
6929 * docs/design/part-gstobject.txt:
6930 * docs/design/part-gstpipeline.txt:
6931 * docs/design/part-messages.txt:
6932 * docs/design/part-preroll.txt:
6933 * docs/design/part-push-pull.txt:
6934 * docs/design/part-qos.txt:
6935 * docs/design/part-query.txt:
6936 * docs/design/part-scheduling.txt:
6937 * docs/design/part-seeking.txt:
6938 * docs/design/part-segments.txt:
6939 * docs/design/part-states.txt:
6940 Documentation updates and typo fixes.
6942 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6944 * plugins/elements/gstfakesink.c:
6945 Add some debug text to error message to indicate that
6946 we errored out on request.
6948 * tools/gst-launch.c:
6949 When the state change to PLAYING fails, check for an
6950 error message on the bus and print it.
6952 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6954 translated by: Jorge González González <aloriel@gmail.com>
6958 Added Spanish translation.
6960 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6962 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6963 Fix printf arguments.
6965 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6967 * tests/check/generic/states.c:
6968 Improved state change unit test.
6970 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6973 Move priv to the right place.
6975 * gst/gstsystemclock.c:
6976 Add FIXME: and improve log.
6978 * tests/check/Makefile.am:
6979 * tests/examples/manual/Makefile.am:
6980 Work with all types of registries.
6982 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6984 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6985 Don't unref the event after pushing it. Fixes #478401.
6987 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6990 * tests/examples/manual/.cvsignore:
6991 Ignore registries in any format.
6993 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6995 * gst/glib-compat-private.h:
6996 Add compatibility macro for g_intern_string() for
6997 GLib-2.8 (any reason we can't just bump the
6998 requirement to at least 2.10?)
7000 * gst/gstpadtemplate.h:
7001 * gst/gstelementfactory.c:
7002 * gst/gstregistryxml.c:
7003 * gst/gstregistrybinary.c:
7004 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
7005 up the internal code accordingly. This shouldn't be a problem, since
7006 there is no reason external code could ever assume the string in such
7007 a structure is dynamically allocated unless it did that itself; the
7008 use of g_strdup() is private to element factories. The new code also
7009 saves some memory by putting pad template name strings into the GLib
7010 quark table instead of allocating them dynamically.
7011 Declaring this field constant fixes warnings with g++-4.2 when using
7012 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
7014 2007-09-19 Stefan Kost <ensonic@users.sf.net>
7016 * gst/gstelementfactory.c:
7017 Release static caps. Fixes #475723.
7019 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
7023 Make some internal API take const gchar * instead of just
7024 gchar * to avoid compiler warnings with g++-4.2.2 when
7025 passing string constants (partially fixes #478092).
7027 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
7029 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
7030 A latency query fails when one of the sinks fail.
7032 * gst/gstelement.c: (gst_element_set_base_time):
7035 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
7037 * gst/gstbin.c: (gst_bin_continue_func):
7038 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7039 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
7040 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
7042 Fix minor compilation warnings shown with Forte.
7044 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
7046 * plugins/elements/gstqueue.c: (apply_buffer),
7047 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
7048 Measure queue level based on the diff between head and tail timestamps
7049 even when pushing the first buffer.
7051 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
7053 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7054 (gst_base_sink_event), (gst_base_sink_change_state):
7055 Sinks that don't preroll can always be queried for the latency.
7056 Don't post ASYNC start when we are not async.
7058 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
7060 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
7061 (gst_queue_handle_sink_event), (gst_queue_chain),
7062 (gst_queue_push_one), (gst_queue_handle_src_query),
7063 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
7064 * plugins/elements/gstqueue.h:
7065 When downstream returns UNEXPECTED from pushing a buffer, don't try to
7066 push more buffers but allow pushing of EOS and NEWSEGMENT.
7067 Add some more debug info here and there. Fixes #476514.
7069 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
7071 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7072 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
7073 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7074 (gst_base_sink_set_flushing), (gst_base_sink_query),
7075 (gst_base_sink_change_state):
7076 Latency query is allowed after we are prerolled. Introduce a new flag
7077 for this and stop abusing other variables.
7079 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
7081 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7082 Push OOB events downstream when we get them in send_event. This allows
7083 the application to insert events in the pipeline.
7084 Add some more comments.
7086 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
7088 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
7089 (do_bin_latency), (gst_bin_change_state_func):
7090 * gst/gstpipeline.c: (gst_pipeline_change_state):
7091 Move latency query from GstPipeline to GstBin so that we can also
7092 use it when async-handling is enabled on bins.
7094 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
7096 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7097 (gst_base_src_do_sync), (gst_base_src_change_state):
7099 Clean up the timestamping and syncing code for pseudo live sources.
7101 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
7103 Patch by: Steve Fink <sphink gmail com>
7105 * docs/manual/appendix-checklist.xml:
7106 Mention less -R switch in the section about debug output (#474055).
7108 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
7110 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7111 Queue can latency to the pipeline up to the configured max size in time.
7112 Report this fact in the latency query.
7114 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
7116 Patch by: Sebastien Moutte <sebastien at moutte dot net>
7118 * libs/gst/controller/gstinterpolation.c:
7119 * libs/gst/controller/gstlfocontrolsource.c:
7120 Use gst_guint64_to_gdouble() when converting from a uint64 or
7121 GstClockTime to double to fix the build on win32. Fixes #474371.
7123 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
7125 * gst/gstbuffer.c: (gst_buffer_finalize):
7126 Implement poisoning for GstBuffer if --enable-poisoning is specified.
7127 When finalizing a buffer the complete struct is filled with 0xff,
7128 thus making a use of the buffer after the final unref impossible.
7130 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
7132 * tests/check/libs/controller.c: (GST_START_TEST):
7133 Use fail_unless_equals_int(a, b) instead of
7134 fail_unless_equals (a == b) to get better output on failures.
7136 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
7138 * tests/check/gst/gsturi.c:
7139 Also check for the other file URI variant on win32.
7141 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
7143 * gst/gsturi.c: (gst_uri_get_location):
7144 If there's no hostname, we want to return 'c:/foo/bar.txt'
7145 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7147 * tests/check/gst/gsturi.c:
7148 Unit test for the above and a few more things.
7150 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
7152 * docs/design/part-live-source.txt:
7153 Add docs on how live sources should timestamp.
7155 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7156 Add some more debug info.
7157 For subclasses that are live and like to sync, add aditional startup
7158 latency to sync time and timestamps so that we timstamp according to the
7161 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
7164 Also do a g_type_class_ref() for the subbuffer type in
7167 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
7169 * docs/gst/gstreamer-sections.txt:
7170 * gst/gstpad.c: (gst_pad_peer_query):
7172 Add function to perform a query on the peer of a pad.
7173 API: gst_pad_peer_query()
7175 2007-09-11 Stefan Kost <ensonic@users.sf.net>
7177 * tests/check/gst/gstsystemclock.c:
7178 Cleanup the test a little (use gst-logging and not g_message). Improve
7179 test to check if a wait reached the target.
7181 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
7183 * docs/libs/gstreamer-libs-sections.txt:
7184 Add new API to docs and fix the build.
7186 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
7188 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7189 (gst_base_src_init), (gst_base_src_set_do_timestamp),
7190 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7191 (gst_base_src_get_property), (gst_base_src_do_sync):
7192 * libs/gst/base/gstbasesrc.h:
7193 Add property to make the basesrc timestamp buffers based on the current
7195 API: GstBaseSrc::do-timestamp
7196 API: gst_base_src_set_do_timestamp()
7197 API: gst_base_src_get_do_timestamp()
7199 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
7201 * docs/random/release:
7202 Really make sure translations are up-to-date before
7203 a release (#465010).
7205 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
7207 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7208 Always destroy the timer, also in error cases.
7210 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
7212 * docs/manual/highlevel-xml.xml:
7213 Fix XML example code. Fixes #472714.
7215 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
7217 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7218 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7219 (gst_base_sink_query):
7220 Protect eos and have_preroll with the OBJECT lock so we don't need to
7221 take the PREROLL lock when querying the latency. Fixes #473846.
7223 2007-09-05 Stefan Kost <ensonic@users.sf.net>
7226 Give some log-messages a category.
7228 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
7230 * gst/gststructure.c:
7231 (gst_structure_fixate_field_nearest_fraction):
7232 Fix fraction list fixation code. Take the fraction with the smallest
7233 difference with the target instead of the first one in the list.
7235 * tests/check/gst/gststructure.c: (GST_START_TEST),
7236 (gst_structure_suite):
7237 Added test to verify correct fraction list fixation behaviour.
7239 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
7241 * win32/common/libgstreamer.def:
7242 Export gst_bus_add_signal_watch too.
7244 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
7246 * docs/libs/gstreamer-libs-sections.txt:
7247 Add new methods to docs.
7249 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7250 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7251 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7252 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7253 * libs/gst/base/gstbasesink.h:
7254 Add ts-offset property to fine-tune the synchronisation.
7255 API: GstBaseSink::ts-offset property
7256 API: gst_base_sink_set_ts_offset()
7257 API: gst_base_sink_get_ts_offset()
7259 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
7261 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7262 (gst_base_sink_init), (gst_base_sink_set_sync),
7263 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7264 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7265 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7266 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7267 (gst_base_sink_get_property), (gst_base_sink_change_state):
7268 * libs/gst/base/gstbasesink.h:
7269 Add async property to instruct the sink never to inform the parent about
7270 ASYNC state changes, update docs.
7271 Check argument with g_return_* for the public functions.
7272 API: GstBaseSink::async property
7273 API: gst_base_sink_set_async_enabled()
7274 API: gst_base_sink_is_async_enabled()
7276 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
7278 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7281 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7282 (gst_base_src_default_query), (gst_base_src_wait),
7283 (gst_base_src_do_sync), (gst_base_src_change_state):
7284 Rearrange some code so that we can add support for measuring the
7287 2007-08-27 Stefan Kost <ensonic@users.sf.net>
7289 * docs/random/ensonic/dynlink.txt:
7290 More thoughs on this.
7292 * plugins/elements/gstcapsfilter.c:
7293 Add bugzilla ticket number to FIXME comment.
7295 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
7297 * docs/design/part-TODO.txt:
7298 * docs/design/part-block.txt:
7301 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7304 Revert patch which uses $(gst_headers) instead of $^ because it
7307 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7309 * tests/check/gst/gstbin.c: (GST_START_TEST):
7310 Fix leaks in the new unit test.
7312 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7315 Don't use GST_INFO before the debug system is actually initialised
7316 (shouldn't do any harm, but won't print anything either, so we can
7317 just as well remove it).
7320 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7321 compilers that don't support variadic macros (such as MSVC), should
7322 check for debug_level <= __gst_debug_min as well, since that's the
7323 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7324 inline helper functions. Should improve performance a bit, but also
7325 makes sure uses of GST_INFO et.al are ignored if the debugging
7326 system isn't initialised yet (instead of printing an assertion
7329 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7331 patch by: David Nečas <yeti@physics.muni.cz>
7334 Replace some non portable makefile constructs.
7336 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7338 * common/gtk-doc-plugins.mak:
7339 Grrrrr. Don't remove the types file on make clean.
7341 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7343 * tools/gst-launch.1.in:
7344 Add colorspace to example pipeline. Fixes #458274.
7346 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7348 * docs/random/release:
7349 The release manager should run 'make download-po' before making a
7350 release to make sure translations are up-to-date.
7356 Add some new translations.
7358 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7360 * tools/gst-launch.c: (event_loop), (main):
7361 Don´t try to do any state management when a live pipeline posts
7363 Also make the buffering string translatable.
7365 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7367 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7368 (bin_handle_async_start), (gst_bin_handle_message_func):
7370 When adding elements, insert messages into the bus of the newly added
7371 element and make sure the element is the source of the message. This
7372 allows the parent bin to intercept the message and do the
7373 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7374 messages to the app (which is not allowed).
7377 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7378 Fix testsuite so that is does not work around messages that should not
7379 have been posted in the first place.
7381 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7383 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7384 (update_degree), (gst_bin_sort_iterator_next):
7385 Fix annoying bug in the sorted iterator where a sink that is not really
7386 a sink (when it has downstream links) screwed up the iterator.
7388 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7389 Unit test to verify the fix.
7391 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7394 Add some more docs for the messages.
7396 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7397 (gst_base_sink_query):
7398 Add some more debugging.
7400 * tools/gst-launch.c: (event_loop):
7401 When interrupting, don't try to set pipeline to PAUSED twice.
7403 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7406 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7407 (bin_handle_async_start), (gst_bin_handle_message_func):
7408 Move ASYNC_START message posting to where it belongs, similar to
7410 Don't post ASYNC_START when we are in error.
7411 Post ASYNC_START when we added an async element to a bin.
7413 2007-08-14 Julien MOUTTE <julien@moutte.net>
7415 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7416 generation from vargs. Fixes #466595.
7418 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7420 * gst/gstbin.c: (gst_bin_element_set_state):
7421 Always change the state of a NO_PREROLL element even if it has ASYNC
7422 elements inside (in case of a bin).
7424 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7425 Unit test for this case.
7427 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7429 * libs/gst/check/gstbufferstraw.c:
7430 * libs/gst/check/gstcheck.h:
7431 * libs/gst/controller/gstcontroller.c:
7432 * libs/gst/controller/gstcontrolsource.h:
7433 * libs/gst/controller/gstlfocontrolsource.h:
7434 * plugins/elements/gstcapsfilter.h:
7435 * plugins/elements/gstfdsink.h:
7436 * plugins/elements/gstfdsrc.h:
7437 Add more missing docs.
7439 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7441 * gst/gststructure.c:
7442 Add Since tag to docs.
7444 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7446 * docs/gst/gstreamer-sections.txt:
7447 * gst/gststructure.c: (gst_structure_get_uint):
7448 * gst/gststructure.h:
7449 Add function to get uint from a structure.
7450 API: gst_structure_get_uint()
7452 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7454 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7455 (gst_caps_intersect):
7456 Fix proper check for simple caps.
7458 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7460 * docs/gst/Makefile.am:
7461 * docs/libs/Makefile.am:
7462 Remove cruft and do some cleanups.
7464 * docs/gst/gstreamer-docs.sgml:
7465 * docs/libs/gstreamer-libs-docs.sgml:
7466 Prepare for comming gtkdoc features (rebase against online docs).
7468 2007-08-10 Michael Smith <msmith@fluendo.com>
7470 * docs/gst/gstreamer-sections.txt:
7471 Add gst_registry_add_path to docs.
7473 2007-08-10 Michael Smith <msmith@fluendo.com>
7475 * gst/gstregistry.h:
7476 Add gst_registry_add_path, which was missing from this header.
7478 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7480 * libs/gst/controller/gstlfocontrolsource.c:
7483 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7485 * libs/gst/base/gstbasesink.c:
7486 Don't send an async_start message during downwards state change if
7487 target state is less than READY
7489 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7491 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7495 Added Hungarian translation.
7497 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7504 Updated translations.
7506 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7508 * libs/gst/controller/Makefile.am:
7509 Dist gstlfocontrolsourceprivate.h
7511 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7513 * docs/libs/gstreamer-libs.types:
7514 Don't register the enum type gst_lfo_waveform_get_type() in the
7515 .types file - only GObject derived types belong.
7517 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7519 Patch by: <arenevier at fdn dot fr>
7522 Remove comma from last element in enum to avoid compile errors when
7523 using -pendantic. Fixes #464366.
7525 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7527 * docs/design/part-TODO.txt:
7528 Add some more TODO items
7530 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7533 * gst/gstcaps.c: (gst_caps_intersect):
7534 Optimize trivial intersection case between identical caps pointers.
7536 * gst/gstelement.c: (gst_element_continue_state),
7537 (gst_element_set_state_func):
7539 Fix spelling and grammar mistakes.
7541 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7545 Update POTFILES. Fixes #461599.
7547 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7550 Fix confusing typo in debug output.
7552 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7554 reviewed by: Stefan Kost <ensonic@users.sf.net>
7556 * libs/gst/controller/Makefile.am:
7557 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7558 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7559 (gst_lfo_control_source_new),
7560 (gst_lfo_control_source_set_waveform),
7561 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7562 (gst_lfo_control_source_finalize),
7563 (gst_lfo_control_source_dispose),
7564 (gst_lfo_control_source_set_property),
7565 (gst_lfo_control_source_get_property),
7566 (gst_lfo_control_source_class_init):
7567 * libs/gst/controller/gstlfocontrolsource.h:
7568 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7569 API: Add GstLFOControlSource, a control source that gives values
7570 for specific timestamps based on several periodic waveforms.
7573 * tests/check/libs/controller.c: (GST_START_TEST),
7574 (gst_controller_suite):
7575 * docs/libs/gstreamer-libs-docs.sgml:
7576 * docs/libs/gstreamer-libs-sections.txt:
7577 * docs/libs/gstreamer-libs.types:
7578 Add documentation and unit tests for GstLFOControlSource.
7580 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7585 === release 0.10.14 ===
7587 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7590 releasing 0.10.14, "Breathing Vacuum"
7592 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7594 * gst/gstelement.c: (gst_element_class_set_details_simple):
7596 Make strings passed to gst_element_class_set_details_simple()
7597 constant, as they should be (#462752).
7599 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7601 * gst/gstbin.c: (gst_bin_change_state_func),
7602 (bin_handle_async_done), (gst_bin_handle_message_func):
7603 Don't forget about the fact that some element went ASYNC even after a
7604 resync. This makes us post the ASYNC_DONE message correctly.
7607 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7609 * gst/gstregistry.c: (gst_registry_add_feature):
7610 When replacing an existing feature in the registry, make sure to
7611 continue holding a reference until we've replaced the name string
7612 within our feature hash table. Make sure to use g_hash_table_replace
7613 instead of g_hash_table_insert to ensure the new name string is used
7614 as a key instead of the old one that we're about to free.
7617 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7619 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7620 (gst_plugin_feature_set_name):
7621 Revert patch from #459466 until after the release and we can work
7622 out exactly what the problem is (if any).
7624 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7626 * docs/gst/gstreamer-sections.txt:
7629 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7631 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7633 * docs/libs/Makefile.am:
7634 Include our build-prefix libs and includes before the generic ones to
7635 avoid linking against the installed libs when we want the build-tree
7638 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7640 Patch by: Steve Fink <sphink gmail com>
7642 * docs/pwg/building-testapp.xml:
7643 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7644 if people try to build or install the example from the plugin
7645 template against a GStreamer from package using the configure
7648 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7650 Patch by: Steve Fink <sphink gmail com>
7652 * tools/gst-inspect.1.in:
7653 Document --print-all and --print-plugin-auto-install-info command
7654 line options in man page.
7656 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7658 * docs/gst/gstreamer-sections.txt:
7659 Add docs for new api function.
7661 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7663 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7664 * gst/gstelementfactory.h:
7665 API: gst_element_factory_has_interface()
7666 Added method to check if an element factory implements a named
7669 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7672 * docs/gst/gstreamer.types.in:
7673 Another conditional doc check.
7676 * gst/gstparamspecs.h:
7677 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7682 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7684 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7685 (gst_registry_binary_load_feature),
7686 (gst_registry_binary_load_plugin),
7687 (gst_registry_binary_read_cache):
7688 Print error just once and with additional info.
7690 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7692 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7693 (helper_find_suggest), (helper_find_get_length),
7694 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7695 (gst_type_find_helper_for_buffer):
7696 Cleanup the typefindhelper code and add private doc comments.
7698 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7700 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7701 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7702 Fix capsfilter for cases where the caps set on capsfilter will provide
7703 additional information.
7706 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7708 * gst/gsttypefindfactory.c:
7709 Fix docs that recommened wrong function to use.
7711 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7713 * tools/gst-inspect.c: (print_plugin_features):
7714 Also give media-type for typefinders in element output.
7716 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7718 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7719 (gst_registry_remove_features_for_plugin_unlocked),
7720 (gst_registry_add_feature), (gst_registry_remove_feature),
7721 (gst_registry_lookup_feature_locked):
7722 * gst/gstregistry.h:
7723 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7726 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7728 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7729 (gst_plugin_feature_set_name):
7730 Avoid double memory usage for pluginfeature names. Fixes #459466.
7732 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7735 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7736 driving the pipeline may need to explicitly check for NOT_LINKED as
7737 well, since IS_FATAL doesn't cover that.
7739 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7741 * docs/pwg/advanced-types.xml:
7742 Fix typo and duplicate entry in video formats list.
7744 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7746 * libs/gst/controller/gstinterpolation.c:
7747 Also round to the nearest int when using cubic interpolation.
7749 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7751 * libs/gst/controller/gstinterpolation.c:
7752 When linearly interpolating integer types, round to the nearest int
7753 by adding 0.5. Don't do it for float/double types.
7754 Fixes the failing controller test on my machine, which is somehow
7755 rounding differently than on the buildbots.
7757 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7759 * tools/gst-plot-timeline.py:
7760 Better log parsing (categories can have -). Adjust text vs. lines, so
7761 that they span the same y-range.
7763 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7765 * docs/random/ensonic/audiobaseclasses.txt:
7766 * docs/random/ensonic/dynlink.txt:
7767 * docs/random/ensonic/profiling.txt:
7770 * docs/random/moving-plugins:
7771 Add note to use g_assert type macros.
7773 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7776 * libs/gst/check/Makefile.am:
7777 Add libm check as we use in for plugins.
7779 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7781 * gst/gstbin.c: (gst_bin_continue_func):
7782 Check that the state_cookie hasn't changed since the continue_func
7783 was scheduled. Avoids problems where the state changes back to
7784 something it shouldn't be because it was changed in the meantime.
7786 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7788 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7789 (gst_registry_binary_save_string),
7790 (gst_registry_binary_save_pad_template),
7791 (gst_registry_binary_save_feature),
7792 (gst_registry_binary_save_plugin),
7793 (gst_registry_binary_load_feature),
7794 (gst_registry_binary_load_plugin),
7795 (gst_registry_binary_read_cache):
7796 Fix memory leak. Be less verbose in the log.
7798 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7800 * tests/check/elements/.cvsignore:
7801 Add file to cvsignore as commanded.
7803 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7805 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7806 (mq_dummypad_event), (run_output_order_test):
7807 Use a GStaticMutex to protect all cases where libcheck
7808 fail_if/fail_unless macros might be called from multiple threads
7809 simultaneously to avoid errors like:
7810 "check_pack.c:107: :-1081725400:Bad message type arg"
7812 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7814 * tests/check/pipelines/stress.c: (GST_START_TEST):
7815 Make sure we set the pipeline back to the NULL state before
7816 dropping our final reference.
7818 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7820 * tests/check/elements/tee.c: (GST_START_TEST):
7821 Make the tee stress-test a little less stressful so it doesn't just
7822 time out on slow-machines, and remove a small race when it's starting
7823 up by adding a get_state() call.
7825 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7828 Avoid reading registry twice on startup. Fixes #457322.
7830 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7832 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7833 * pkgconfig/gstreamer-check.pc.in:
7834 Substitute the CFLAGS for libcheck into our .pc file too so that
7835 dependent modules will pick it up properly if libcheck is installed
7836 into some other prefix.
7838 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7841 Revert the pkg-config check for libcheck, since it pulls in the
7842 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7843 a proper solution, either from the check project, or something else.
7845 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7848 Use pkg-config to locate check.
7850 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7857 Add deprecation guards.
7859 * libs/gst/base/gstcollectpads.h:
7860 Don't document object (this is implicitly private).
7862 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7864 * gst/gststructure.c: (gst_structure_parse_value):
7865 When deserialising foo=bar without a type cast, check if it's a
7866 boolean before falling back to a string type, otherwise things like
7867 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7868 because the filtercaps end up having a signed=(string)true field,
7869 which causes problems later when intersection caps.
7871 * tests/check/gst/gststructure.c: (GST_START_TEST):
7872 Add a unit test for this.
7874 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7876 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7878 * libs/gst/controller/Makefile.am:
7879 * libs/gst/controller/gstcontroller.c:
7880 (gst_controlled_property_add_interpolation_control_source),
7881 (gst_controlled_property_new), (gst_controlled_property_free),
7882 (gst_controller_find_controlled_property),
7883 (gst_controller_new_valist), (gst_controller_new_list),
7884 (gst_controller_new), (gst_controller_remove_properties_valist),
7885 (gst_controller_remove_properties_list),
7886 (gst_controller_remove_properties),
7887 (gst_controller_set_property_disabled),
7888 (gst_controller_set_disabled), (gst_controller_set_control_source),
7889 (gst_controller_get_control_source), (gst_controller_get),
7890 (gst_controller_sync_values), (gst_controller_get_value_array),
7891 (_gst_controller_dispose), (gst_controller_get_type),
7892 (gst_controlled_property_set_interpolation_mode),
7893 (gst_controller_set), (gst_controller_set_from_list),
7894 (gst_controller_unset), (gst_controller_unset_all),
7895 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7896 * libs/gst/controller/gstcontroller.h:
7897 * libs/gst/controller/gstcontrollerprivate.h:
7898 * libs/gst/controller/gstcontrolsource.c:
7899 (gst_control_source_class_init), (gst_control_source_init),
7900 (gst_control_source_get_value),
7901 (gst_control_source_get_value_array), (gst_control_source_bind):
7902 * libs/gst/controller/gstcontrolsource.h:
7903 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7904 (gst_object_get_control_source):
7905 * libs/gst/controller/gstinterpolation.c:
7906 (gst_interpolation_control_source_find_control_point_node),
7907 (gst_interpolation_control_source_get_first_value),
7908 (_interpolate_none_get), (interpolate_none_get),
7909 (interpolate_none_get_boolean_value_array),
7910 (interpolate_none_get_enum_value_array),
7911 (interpolate_none_get_string_value_array),
7912 (_interpolate_trigger_get), (interpolate_trigger_get),
7913 (interpolate_trigger_get_boolean_value_array),
7914 (interpolate_trigger_get_enum_value_array),
7915 (interpolate_trigger_get_string_value_array):
7916 * libs/gst/controller/gstinterpolationcontrolsource.c:
7917 (gst_control_point_free), (gst_interpolation_control_source_reset),
7918 (gst_interpolation_control_source_new),
7919 (gst_interpolation_control_source_set_interpolation_mode),
7920 (gst_interpolation_control_source_bind),
7921 (gst_control_point_compare), (gst_control_point_find),
7922 (gst_interpolation_control_source_set_internal),
7923 (gst_interpolation_control_source_set),
7924 (gst_interpolation_control_source_set_from_list),
7925 (gst_interpolation_control_source_unset),
7926 (gst_interpolation_control_source_unset_all),
7927 (gst_interpolation_control_source_get_all),
7928 (gst_interpolation_control_source_get_count),
7929 (gst_interpolation_control_source_init),
7930 (gst_interpolation_control_source_finalize),
7931 (gst_interpolation_control_source_dispose),
7932 (gst_interpolation_control_source_class_init):
7933 * libs/gst/controller/gstinterpolationcontrolsource.h:
7934 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7935 API: Refactor GstController into the core controller which can take
7936 a GstControlSource for providing actual values for timestamps.
7937 Implement a interpolation control source and use this for backward
7938 compatibility, deprecate a bunch of functions that are now handled
7939 by GstControlSource or GstInterpolationControlSource.
7940 Make it possible to disable the controller completely or only for
7941 specific properties. Fixes #450711.
7942 * docs/libs/gstreamer-libs-docs.sgml:
7943 * docs/libs/gstreamer-libs-sections.txt:
7944 * docs/libs/gstreamer-libs.types:
7945 Add new functions and classes to the docs.
7946 * tests/check/libs/controller.c: (GST_START_TEST),
7947 (gst_controller_suite):
7948 * tests/examples/controller/audio-example.c: (main):
7949 Port unit test and example to the new API and add some new
7952 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7954 Patch by: Mark Nauwelaerts <manauw at skynet be>
7956 * plugins/elements/gstmultiqueue.c:
7957 (gst_multi_queue_get_internal_links), (apply_buffer),
7958 (single_queue_overrun_cb), (gst_single_queue_new):
7959 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7960 the pipeline layout can be tracked correctly. Fixes #453732.
7962 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7964 * docs/gst/Makefile.am:
7965 * docs/libs/Makefile.am:
7966 * docs/plugins/Makefile.am:
7967 Simplify --extra-dir as gtkdoc scans recursively.
7969 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7971 * tools/gst-launch.c: (main):
7972 When we got an error, there is no point in waiting for preroll when
7975 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7977 * plugins/elements/gsttee.c: (gst_tee_base_init),
7978 (gst_tee_request_new_pad), (gst_tee_release_pad),
7979 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7980 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7982 Be a lot smarter when deciding what srcpad to use for proxying
7983 the buffer_alloc. Also handle pad added/removed when doing so.
7985 Keep track of what pads we already pushed on in case we have pads
7986 added/removed while pushing. Fixes #374639
7988 * tests/check/Makefile.am:
7989 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7991 Added unit test for pad resync.
7993 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7997 Updated translations.
7999 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
8001 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
8005 Added new Finnish translation.
8007 2007-06-28 Wim Taymans <wim@fluendo.com>
8009 * plugins/elements/gstmultiqueue.c: (apply_buffer),
8010 (single_queue_overrun_cb):
8011 When figuring out when a queue is filled, use our internal time estimate
8012 based on segments, just like check_full does.
8014 2007-06-27 Stefan Kost <ensonic@users.sf.net>
8016 * gst/gstminiobject.c: (gst_mini_object_get_type):
8017 Remove 3 do-nothing methods.
8019 2007-06-27 Wim Taymans <wim@fluendo.com>
8021 Patch by: Tim Angus <tim at ngus dot net>
8023 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8024 (gst_capsfilter_set_property):
8025 Take a reference instead of a copy when setting "caps".
8026 Fix documentation to clarify this behaviour. Fixes #449414.
8028 2007-06-27 Stefan Kost <ensonic@users.sf.net>
8030 * gst/gstindexfactory.c: (gst_index_factory_get_type):
8031 * gst/gstplugin.c: (gst_plugin_init):
8032 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
8033 * gst/gstquery.c: (gst_query_get_type):
8034 * gst/gstregistry.c: (gst_registry_init):
8035 * gst/gsturi.c: (gst_uri_handler_base_init):
8036 Remove empty instance_init() functions to save relocs and lessen the
8037 noise. Remove some of the function prototypes that are doubled by
8040 2007-06-27 Wim Taymans <wim@fluendo.com>
8042 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
8044 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
8045 Add peer and direction in the XML serialisation of ghostpads.
8048 2007-06-26 Stefan Kost <ensonic@users.sf.net>
8051 Preserve useful information, thanks Tim.
8053 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
8055 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8056 (gst_single_queue_flush), (apply_segment), (apply_buffer),
8057 (gst_single_queue_push_one), (gst_multi_queue_loop),
8058 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8059 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
8060 (compute_high_id), (gst_single_queue_new):
8061 * plugins/elements/gstmultiqueue.h:
8062 Take the multiqueue lock when updating the fill level so we don't get
8065 After applying a buffer or event on the src pad segment, make sure to
8066 call gst_data_queue_limits_changed() to get the data queue to unblock
8067 and check the filled state again.
8069 Rework the not-linked pad handling so the logic is that not-linked
8070 pads can push as fast as they like, but only so they never get
8071 ahead of any linked pads.
8073 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
8074 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
8075 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
8077 Add a test to check that not-linked pads always stay behind
8082 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
8084 * docs/random/release:
8085 Some updates to the release procedure.
8087 2007-06-26 Stefan Kost <ensonic@users.sf.net>
8089 * gst/gstelementfactory.c: (__gst_element_details_clear):
8090 Microoptimization that saves stunning 80 bytes.
8092 2007-06-25 Stefan Kost <ensonic@users.sf.net>
8094 * docs/plugins/gstreamer-plugins.args:
8095 * docs/plugins/inspect/plugin-coreelements.xml:
8096 * docs/plugins/inspect/plugin-coreindexers.xml:
8097 Update docs with caps info.
8099 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
8102 Updated Italian translation.
8104 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
8108 Update Vietnamese translations.
8110 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
8112 * libs/gst/base/gstbasesink.c:
8113 Remove unused signal enum.
8115 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
8117 * docs/gst/gstreamer-sections.txt:
8119 * gst/gstutils.c: (gst_type_register_static_full):
8120 Beef up and include the docs for gst_type_register_static_full and
8121 gst_element_class_set_details_simple and add the API keyword
8124 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
8126 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8127 (update_time_level), (gst_single_queue_push_one),
8128 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8129 (single_queue_overrun_cb), (single_queue_underrun_cb),
8130 (single_queue_check_full):
8131 Fix setting max-* properties after adding queues.
8132 Use IS_FILLED for checking visible items.
8133 Signal overrun if multiple queues overrun.
8134 Add extra debug output.
8135 Patch by: Wim Taymans <wim@fluendo.com>
8137 2007-06-21 Stefan Kost <ensonic@users.sf.net>
8139 * gst/gstelement.c: (gst_element_class_set_details_simple):
8141 * gst/gstutils.c: (gst_type_register_static_full):
8143 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8144 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8145 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8146 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8147 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8148 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8149 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8150 * plugins/elements/gstidentity.c: (gst_identity_base_init):
8151 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8152 * plugins/elements/gstqueue.c: (gst_queue_base_init),
8153 (apply_buffer), (gst_queue_chain):
8154 * plugins/elements/gsttee.c: (gst_tee_base_init):
8155 * plugins/elements/gsttypefindelement.c:
8156 (gst_type_find_element_base_init),
8157 (gst_type_find_element_class_init):
8158 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8159 API: add gst_type_register_static_full
8160 API: add gst_element_class_set_details_simple
8162 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
8164 * docs/pwg/advanced-types.xml:
8165 Fix typo in iana.org URI.
8167 2007-06-19 Andy Wingo <wingo@pobox.com>
8169 * tests/check/pipelines/simple-launch-lines.c
8170 (test_state_change_returns): Enable pull-mode tests now that
8171 basesink has been fixed.
8173 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8174 Changed from gst_base_sink_is_prerolled, reversing the sense of
8175 the return value. Returns FALSE also if the sink is in pull mode,
8176 in which case it needs no preroll.
8177 (gst_base_sink_query, gst_base_sink_change_state): Update for
8178 needs_preroll change.
8179 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8180 chaining up, in which we return SUCCESS directly if we activated
8181 in pull mode instead of ASYNC. Involves countering an async_start
8182 message sent before chaining up; not sure if this is correct, in
8183 an ideal world we only send async-start when activating in push
8186 * tests/check/pipelines/simple-launch-lines.c
8187 (test_state_change_returns): New test, partially disabled until
8190 2007-06-19 Wim Taymans <wim@fluendo.com>
8192 * plugins/elements/gstmultiqueue.c: (apply_buffer),
8193 (gst_multi_queue_sink_event):
8196 2007-06-19 Wim Taymans <wim@fluendo.com>
8198 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8199 (gst_bin_change_state_func), (bin_push_state_continue),
8200 (bin_handle_async_start), (bin_handle_async_done),
8201 (gst_bin_handle_message_func):
8202 Move the common code for posting state-change messages into
8204 Broadcast the state signal after we posted the messages.
8205 Mark the bin as busy when it's doing a state-change.
8206 Make sure async-start/done messages don't interfere with the bin's
8207 state when it's busy.
8208 After the state change, let the bin check which elements completed the
8209 state change while it was busy so that it can update its state.
8211 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
8213 * docs/random/release:
8214 Add a note about updating the doap file to the release checklist
8216 2007-06-18 Wim Taymans <wim@fluendo.com>
8218 * plugins/elements/gstmultiqueue.c: (apply_buffer),
8219 (gst_single_queue_push_one), (gst_multi_queue_chain),
8220 (gst_multi_queue_sink_event):
8221 Make sure we don't reference the buffer/event after we have given away
8222 ownership in the queue.
8224 2007-06-18 Wim Taymans <wim@fluendo.com>
8226 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8227 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8228 Update queue state _after_ adding the item in the queue because else we
8229 could end up being full without the element added yet.
8231 2007-06-18 Wim Taymans <wim@fluendo.com>
8233 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8234 (gst_bin_remove_func), (gst_bin_get_state_func),
8235 (gst_bin_element_set_state), (gst_bin_continue_func),
8236 (bin_push_state_continue), (bin_handle_async_start),
8237 (bin_handle_async_done), (gst_bin_handle_message_func):
8239 Immediatly commit the toplevel bin state when receiving an async-done
8240 message. This enables us to avoid spawning a thread to commit the state
8241 in some common cases and it also avoids some races.
8242 Avoid spawning a state thread when adding/removing async elements to a
8243 toplevel bin. Instead we immediatly update the bin state.
8244 Get rid of iterating all the children when getting the state in the bin
8245 because it is now always up-to-date.
8246 Fix bug where locked elements would always return _SUCCESS even it they
8247 returned NO_PREROLL before being locked.
8248 Fix the order of the state_change, async-start/done messages that was
8249 sometimes incorrect.
8250 Mark the state_dirty field as deprecated, we don't need it anymore as we
8251 are always up-to-date.
8253 * gst/gstelement.c: (gst_element_get_state_func),
8254 (gst_element_continue_state):
8255 Small debug inprovements.
8256 Return the previous element state return when nothing is pending instead
8257 of blindly returning SUCCESS.
8259 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8261 Add a whole bunch of new testcases.
8263 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
8267 Update translations.
8269 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
8272 Fix typo in the docs.
8274 2007-06-15 Wim Taymans <wim@fluendo.com>
8276 * docs/libs/gstreamer-libs-sections.txt:
8277 Add docs for new methods.
8279 2007-06-15 Wim Taymans <wim@fluendo.com>
8281 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8282 (gst_multi_queue_item_new):
8283 Don't use GSlice because we don't depend on >= 2.10 yet.
8285 2007-06-15 Wim Taymans <wim@fluendo.com>
8287 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8288 (update_time_level), (apply_segment), (apply_buffer),
8289 (gst_single_queue_push_one), (gst_multi_queue_item_new),
8290 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8291 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8292 (single_queue_underrun_cb), (single_queue_check_full):
8293 Remove debug printf.
8295 2007-06-15 Wim Taymans <wim@fluendo.com>
8297 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8298 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8299 (gst_data_queue_set_flushing), (gst_data_queue_push),
8300 (gst_data_queue_pop), (gst_data_queue_drop_head),
8301 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8302 * libs/gst/base/gstdataqueue.h:
8304 Added methods to get the current levels and to inform the queue that the
8305 'full' limits changed.
8307 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8308 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8309 (gst_single_queue_flush), (update_time_level), (apply_segment),
8310 (apply_buffer), (gst_single_queue_push_one),
8311 (gst_multi_queue_item_steal_object),
8312 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8313 (gst_multi_queue_loop), (gst_multi_queue_chain),
8314 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8315 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8316 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8317 (single_queue_underrun_cb), (single_queue_check_full),
8318 (gst_single_queue_new):
8319 Keep track of time in the queue by measuring the difference between
8320 running_time on input and output. This gives more accurate results and
8321 can compensate for segments correctly.
8322 Make a queue by default only 5 buffers deep. We will now increase the
8323 buffer size depending on the filledness of the other queues.
8324 Factor out commong flush code.
8325 Make sure we don't add additional refcounts to buffers when we can avoid
8327 Propagate GstFlowReturn differently.
8328 Use GSlice for intermediate GstMultiQueueItems.
8330 Resize queues on over and underruns based on filled level of other
8332 When checking if the queue is filled, prefer to measure in time if we
8333 can and fall back to bytes when no time is known.
8335 * plugins/elements/gstqueue.c:
8338 2007-06-15 Wim Taymans <wim@fluendo.com>
8340 * libs/gst/base/gstbasetransform.c:
8341 (gst_base_transform_sink_event):
8342 Work around the brokenness of the event vmethod in basetransform. Prefer
8343 to return TRUE when the subclass returned FALSE (meaning don't forward
8346 * libs/gst/base/gstbasetransform.h:
8349 2007-06-15 Wim Taymans <wim@fluendo.com>
8351 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8352 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8353 (gst_base_src_default_query), (gst_base_src_get_range),
8354 (gst_base_src_start):
8355 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8358 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8360 * docs/pwg/advanced-types.xml:
8361 Added more formats to caps table.
8363 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8365 * tools/gst-launch.c: (main):
8366 Remove crufy code. GOption does not need this workaround.
8368 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8370 * libs/gst/controller/gstcontroller.c:
8371 (gst_controlled_property_set_interpolation_mode):
8372 Fix wrong getter for enums in controller.
8374 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8376 * libs/gst/check/gstcheck.c: (gst_check_init):
8377 Intercept criticals and warnings in the Gst-Phonon log domain, so
8378 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8381 2007-06-14 Edward Hervey <edward@fluendo.com>
8383 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8384 Since this file doesn't include "gst.h" it will not go through the
8385 macros that disable GST_LOG if debugging was disabled.
8387 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8389 * libs/gst/check/Makefile.am:
8390 * libs/gst/check/gstcheck.h:
8391 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8392 * pkgconfig/gstreamer-check.pc.in:
8393 Ugly 'fix' for the controller unit test on the p5 bot: in
8394 fail_unless_equals_float() check whether the values are 'almost
8395 equal' by allowing a small absolute error, which should be good
8396 enough for our use cases (normal numbers and values close to 0).
8397 Proper fixage left to floating point arithmetic aficionados.
8399 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8401 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8402 (gst_base_sink_render_object), (gst_base_sink_get_position):
8403 Add two breaks thats where missing.
8405 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8407 * docs/libs/gstreamer-libs-sections.txt:
8408 * libs/gst/check/gstcheck.h:
8409 API: add fail_unless_equals_float() and assert_equals_float().
8410 Add documentation for some of the macros.
8412 * tests/check/libs/controller.c: (GST_START_TEST):
8413 Use newly-added asserts.
8415 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8417 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8418 Show the caps change in the log to help spotting the case of not
8419 exactly matching caps.
8421 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8423 * docs/pwg/building-boiler.xml:
8424 Fix typos, spotted by Thijs Vermeir (#447190).
8426 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8428 * docs/plugins/tmpl/.cvsignore:
8429 Ignore file to keep the buildbots happy
8431 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8433 * docs/plugins/Makefile.am:
8434 * docs/plugins/gstreamer-plugins-docs.sgml:
8435 * docs/plugins/gstreamer-plugins-sections.txt:
8436 Pull fdsink into the docs too.
8438 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8440 * libs/gst/controller/gstinterpolation.c:
8441 Actually use the new functions with min/max checks for the trigger and
8442 none interpolation modes for get() and get_value_array() instead of
8445 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8447 * libs/gst/controller/gstcontroller.c:
8448 (gst_controlled_property_free):
8449 Unset the minimum and maximum GValues when freeing the corresponding
8450 GstControllerProperty struct.
8452 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8454 * libs/gst/controller/gstcontroller.c:
8455 (gst_controlled_property_new):
8456 * libs/gst/controller/gstcontrollerprivate.h:
8457 * libs/gst/controller/gstinterpolation.c:
8458 (gst_controlled_property_find_control_point_node),
8459 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8460 (interpolate_none_get_string_value_array),
8461 (interpolate_trigger_get),
8462 (interpolate_trigger_get_enum_value_array),
8463 (interpolate_trigger_get_string_value_array):
8464 Protect against values larger or smaller than the minimum or maximum
8465 allowed value for the property when using values that can be compared.
8467 Optimize trigger interpolator a bit by taking the last requested value
8468 into account instead of always looping through the complete list.
8470 Fix coding style a bit, everywhere else we use "return foo" instead
8473 * tests/check/libs/controller.c: (GST_START_TEST),
8474 (gst_controller_suite):
8475 Add unit test for the protection against too large or too small
8478 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8480 * docs/random/slomo/controller.txt:
8481 Add some thoughts about the future of the controller.
8483 2007-06-08 Wim Taymans <wim@fluendo.com>
8485 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8486 Don't overflow in retimestamping code.
8488 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8490 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8491 Use gst_util_guint64_to_gdouble for conversions.
8492 * win32/common/libgstreamer.def:
8493 Add new exported functions.
8495 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8498 Small docs addition.
8500 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8503 Remove that test line again.
8505 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8508 Test commit mail sending.
8510 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8513 Fix typo and test commit mail sending.
8515 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8517 * tests/examples/controller/audio-example.c:
8518 Improve comment and test commit mail sending.
8520 2007-06-07 Wim Taymans <wim@fluendo.com>
8522 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8523 (gst_bin_remove_func), (gst_bin_element_set_state),
8524 (bin_handle_async_start), (bin_handle_async_done),
8525 (gst_bin_handle_message_func):
8526 Add helper function to find messages.
8527 Generate the async-done messages together with the state change
8529 Small cleanups in handling toplevel bins.
8531 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8533 * libs/gst/base/gstdataqueue.c:
8534 * libs/gst/base/gstdataqueue.h:
8535 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8536 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8537 (gst_multi_queue_sink_event):
8538 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8539 Fix multiqueue leaking buffers and events when downstream or the
8540 queue are flushing. Make refcounting assumptions explicit and
8541 document them (shouldn't break existing code that uses it other than
8542 maybe leak miniobjects, but that already happens anyway). Add unit
8543 test for the most common flushing case. Fixes #423700.
8545 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8547 * libs/gst/controller/gstcontroller.c:
8548 Clarify docs: The get_all, get_value_array(s) functions
8549 don't modify the GObject properties.
8551 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8553 * libs/gst/controller/gstcontroller.c:
8554 (gst_controlled_property_set_interpolation_mode),
8555 (gst_controlled_property_prepend_default),
8556 (gst_controlled_property_new), (gst_controller_set_unlocked),
8557 (gst_controller_set), (gst_controller_set_from_list),
8558 (gst_controller_unset), (gst_controller_unset_all):
8559 * libs/gst/controller/gstcontrollerprivate.h:
8560 * libs/gst/controller/gstinterpolation.c:
8561 Factor out the 'set' logic into gst_controller_set_unlocked for the
8562 gst_controller_set and gst_controller_set_from_list functions.
8564 To make life of the interpolators easier always add a control point
8565 at timestamp zero with the default value.
8567 In the linear interpolator make things more obvious by better variable
8570 Implement cubic interpolation mode (by using a natural cubic spline)
8571 and map the quadratic interpolation mode to this too (as quadratic
8572 doesn't make much sense, see discussion on the list).
8574 * tests/check/libs/controller.c: (GST_START_TEST),
8575 (gst_controller_suite):
8576 Add unit test for the cubic interpolation mode and check everywhere
8577 if the interpolation mode could be set as expected.
8579 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8581 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8582 Don't use GLib-2.10 functions, we still depend on
8583 GLib-how-old-is-it-again-2.8.
8585 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8587 * docs/gst/gstreamer-sections.txt:
8591 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8592 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8593 (_gst_param_fraction_values_cmp),
8594 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8595 * gst/gstparamspecs.h:
8597 * tests/check/Makefile.am:
8598 * tests/check/gst/.cvsignore:
8599 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8600 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8601 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8602 (GST_START_TEST), (gst_param_spec_suite):
8603 API: add GstParamSpecFraction, so elements can have fraction
8604 properties without lots of painful string parsing (#444648).
8606 2007-06-05 Wim Taymans <wim@fluendo.com>
8608 * gst/gstobject.c: (gst_object_class_init):
8609 Fix signal signature.
8612 Add small clarification in the api docs.
8614 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8615 States are protected with object lock.
8617 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8620 I should probably be listed as an author by now.
8622 * docs/random/release:
8623 Update the release doc
8625 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8628 Make docs for gst_value_compare() mention return enums that
8631 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8636 === release 0.10.13 ===
8638 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8641 releasing 0.10.13, "With or without you"
8643 2007-05-25 Wim Taymans <wim@fluendo.com>
8645 * gst/gstbin.c: (bin_handle_async_done):
8646 Make sure that the child bin stops after completing the async state
8647 change so that the parent can continue the state change to PLAYING.
8650 2007-05-25 Wim Taymans <wim@fluendo.com>
8652 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8653 (unref_data), (gst_collect_pads_remove_pad),
8654 (gst_collect_pads_check_pads):
8655 Use additional refcounting to avoid crashes when dynamically adding and
8656 removing pads. Fixes #420206.
8658 2007-05-24 Wim Taymans <wim@fluendo.com>
8660 * tools/gst-launch.c: (event_loop):
8661 When buffering goes from a two digit to a single digit number, make sure
8662 to remove the old second digit by writing a blank over it.
8664 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8666 * libs/gst/base/gstdataqueue.c:
8667 Eliminate tabs and trailing comma in enum list; fix some typos.
8669 2007-05-24 Wim Taymans <wim@fluendo.com>
8671 * tests/check/gst/gstbin.c: (GST_START_TEST):
8672 Allow refcount of 3 and 4 because some state thread might still be busy
8675 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8677 * plugins/elements/Makefile.am:
8678 * plugins/elements/gstmultiqueue.h:
8679 * plugins/elements/gstqueue.h:
8680 These are not installed headers, no need for padding.
8682 2007-05-24 Wim Taymans <wim@fluendo.com>
8684 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8685 (gst_bin_continue_func):
8686 Enable latency for next release.
8687 Restore STATE_LOCK around recalc_state that was left out during the
8688 rewrite and could result in racy behaviour when _get_state and
8689 recalc_state are run concurrently. See #440463.
8691 2007-05-23 Wim Taymans <wim@fluendo.com>
8693 * tests/check/gst/gstsystemclock.c: (store_callback),
8695 Improve test_async_order to also work when both timers are already
8696 expired when we get scheduled to check it.
8698 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8700 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8701 (gst_bin_set_property), (gst_bin_get_property),
8702 (gst_bin_remove_func), (gst_bin_handle_message_func):
8704 'private' is a c++ keyword, let's not use that in header files,
8705 otherwise c++ compilers will throw a tantrum.
8707 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8709 * plugins/elements/gstelements.c:
8710 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8711 (gst_file_sink_get_current_offset):
8712 * plugins/indexers/gstindexers.c: (plugin_init):
8713 Use #ifdef for HAVE_XYZ for consistency.
8715 * tests/check/Makefile.am:
8716 * tests/check/elements/.cvsignore:
8717 * tests/check/elements/filesink.c: (setup_filesink),
8718 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8719 Add some unit tests for filesink.
8721 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8723 Patch by: Mark Nauwelaerts <manauw at skynet be>
8725 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8726 (gst_file_sink_query), (gst_file_sink_do_seek),
8727 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8728 * plugins/elements/gstfilesink.h:
8729 Fix position reporting; rename data_written member to current_pos to
8730 reflect its real meaning (fixes #412648).
8732 2007-05-22 Edward Hervey <edward@fluendo.com>
8734 * docs/gst/gstreamer-sections.txt:
8735 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8736 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8737 (gst_bin_remove_func), (gst_bin_handle_message_func):
8739 Add a property for bins that handle the state change of their childs.
8742 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8744 * libs/gst/controller/gstinterpolation.c:
8745 Use an array of the correct type when using _get_value_array with
8746 linear interpolation.
8748 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8750 * gst/gstelement.c (gst_element_requires_clock,
8751 gst_element_provides_clock, gst_element_request_pad,
8752 gst_element_class_set_details, gst_element_class_set_details_simple,
8753 gst_element_default_send_event, gst_element_abort_state,
8754 gst_element_continue_state, gst_element_set_state,
8755 gst_element_set_state_func, iterator_activate_fold_with_resync):
8756 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8757 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8758 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8759 gst_pad_get_range, gst_pad_pull_range):
8760 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8761 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8762 GstPadActivateModeFunction, GstPadChainFunction,
8763 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8764 GstPadFixateCapsFunction, GstPadTemplate):
8765 * gst/gstpipeline.c (gst_pipeline_change_state,
8766 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8767 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8768 gst_pipeline_get_delay):
8769 Whitespace and docs fixes.
8771 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8773 * libs/gst/controller/gstinterpolation.c:
8774 (interpolate_trigger_get_enum_value_array),
8775 (interpolate_trigger_get_string_value_array):
8776 Add support for retrieving value arrays when using the trigger
8779 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8781 * libs/gst/controller/gstcontroller.c:
8782 (gst_controller_get_value_array):
8783 * libs/gst/controller/gstcontroller.h:
8784 Clarify the docs of gst_controller_get_value_array(): The array where
8785 the values should be written to must be allocated as there seems to be
8786 no way to get the size of a random GType. This doesn't change any
8787 behaviour. Also fix some typos all over the place and remove an unused,
8788 commented function that is not necessary as g_object_set() could be
8790 * tests/check/libs/controller.c: (GST_START_TEST),
8791 (gst_controller_suite):
8792 Add unit test for gst_controller_get_value_array().
8794 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8796 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8798 Disable part of the gst_buffer_try_new_and_alloc test, because
8799 it can happily succeed on 64-bit systems where there's more address
8802 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8804 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8805 Add unit test for the improved caps checking from bug #421543.
8807 2007-05-21 Wim Taymans <wim@fluendo.com>
8809 * docs/design/part-synchronisation.txt:
8812 * gst/gstbin.c: (gst_bin_query):
8813 * plugins/elements/gstqueue.c: (apply_segment):
8819 2007-05-21 Wim Taymans <wim@fluendo.com>
8821 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8822 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8823 (gst_pad_configure_src):
8824 Added simple version of improved caps checking. It was previously
8825 assumed that a setcaps function would check the validity of the caps but
8826 people prefer us to check caps against the template automatically.
8829 2007-05-21 Wim Taymans <wim@fluendo.com>
8831 * libs/gst/base/gstbasetransform.h:
8832 Fix macro for locking/unlocking the transform lock.
8834 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8836 * docs/plugins/tmpl/.cvsignore:
8839 2007-05-18 Edward Hervey <edward@fluendo.com>
8841 * plugins/elements/gstqueue.c: (gst_queue_loop):
8842 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8843 for the subtle art of warning a potentially blocking thread that it
8844 should check the source pad return value, and relay the information
8847 2007-05-18 Edward Hervey <edward@fluendo.com>
8849 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8850 Release the queue lock !
8852 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8854 * docs/libs/gstreamer-libs-sections.txt:
8855 Add the two new controller functions to the appropiate places.
8857 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8859 reviewed by: Stefan Kost <ensonic@users.sf.net>
8861 * libs/gst/controller/gstcontroller.c:
8862 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8863 (_gst_controller_get_property), (_gst_controller_set_property),
8864 (_gst_controller_init), (_gst_controller_class_init):
8865 * libs/gst/controller/gstcontroller.h:
8866 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8867 (gst_object_get_control_rate), (gst_object_set_control_rate):
8868 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8869 Add API that provides sync suggestion timestamps for elements that
8870 call gst_object_sync_values() from which those elements can subdivide
8871 their processing loop to get the best results for the controlled
8872 properties. For now it just suggests last_sync + control_rate as
8873 new timestamp but this will be improved in the future.
8875 While doing that change the control-rate property to a GstClockTime
8876 from guint and change it's meaning from samples to nanoseconds as
8877 the GstController doesn't know anything about sampling rate. Strictly
8878 speaking this breaks ABI but as the control-rate property didn't do
8879 anything in the past and as such couldn't be used this should be no
8882 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8884 reviewed by: Stefan Kost <ensonic@users.sf.net>
8886 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8887 (gst_controller_unset_all):
8888 * libs/gst/controller/gstcontrollerprivate.h:
8889 * libs/gst/controller/gstinterpolation.c:
8890 (gst_controlled_property_find_control_point_node):
8891 Save last synced value from the list to continue searching from there
8892 in future syncs. This speeds everything up a bit.
8894 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8896 reviewed by: Stefan Kost <ensonic@users.sf.net>
8898 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8899 (gst_control_point_find), (gst_controlled_property_new),
8900 (gst_control_point_free), (gst_controlled_property_free),
8901 (gst_controller_set), (gst_controller_set_from_list),
8902 (gst_controller_unset), (gst_controller_unset_all),
8903 (gst_controller_sync_values):
8904 * libs/gst/controller/gstcontroller.h:
8905 * libs/gst/controller/gstcontrollerprivate.h:
8906 * libs/gst/controller/gstinterpolation.c:
8907 (gst_controlled_property_find_control_point_node),
8908 (interpolate_none_get), (interpolate_trigger_get):
8909 Add a new private GstControlPoint struct which "inherits" from
8910 GstTimedValue to allow different interpolators to store internal
8911 values next to each control point. From the outside everything is
8912 still a GstControlPoint so we don't loose binary compatibility.
8913 Also fixup all the GValue handling to not leak GValues or list nodes.
8914 * tests/check/libs/controller.c: (GST_START_TEST):
8915 Free the list nodes and GValues in the controller_misc test.
8917 2007-05-17 Edward Hervey <edward@fluendo.com>
8922 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8924 * gst/gstplugin.c: (gst_plugin_load_file):
8925 If we fail to load a plugin because of unresolved symbols or missing
8926 libraries and spew a warning to stderr, we may just as well mention
8927 which plugin it was that failed to load.
8929 2007-05-13 David Schleef <ds@schleef.org>
8931 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8932 handles the case when ENABLE_GTK_DOC is false, and installs
8933 the prebuilt documentation. So gtk-doc subdirs are
8934 unconditionally enabled. Fixes: #349099.
8936 2007-05-13 David Schleef <ds@schleef.org>
8938 * gst/gstutils.h: Reword some documentation.
8940 2007-05-12 David Schleef <ds@schleef.org>
8942 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8943 do anything with the passed "module" parameter, so remove it.
8944 Allows removal of additional vestigal code.
8946 2007-05-12 David Schleef <ds@schleef.org>
8949 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8950 Switch to using g_stat() because it's more portable.
8952 2007-05-12 David Schleef <ds@schleef.org>
8955 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8956 parsing for embedded systems.
8957 * gst/gstelementfactory.c:
8958 Allow gst_element_register() to be called with plugin==NULL.
8959 Did nobody notice that static elements were broken?
8961 2007-05-12 Wim Taymans <wim@fluendo.com>
8963 * tools/gst-launch.c: (event_loop):
8964 Give more interesting info when buffering starts and stops.
8965 Fix case where buffering starts but we fail to update the buffering flag
8966 because the target state is not PLAYING.
8968 2007-05-12 Wim Taymans <wim@fluendo.com>
8970 * plugins/elements/gstqueue.c: (gst_queue_init),
8971 (gst_queue_finalize), (update_time_level), (apply_segment),
8972 (apply_buffer), (gst_queue_locked_flush),
8973 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8974 (gst_queue_handle_sink_event), (gst_queue_chain),
8975 (gst_queue_push_one), (gst_queue_loop):
8976 * plugins/elements/gstqueue.h:
8977 Refactor an cleanup queue a bit.
8978 Do better time level calculations that also work when the srcpad is not
8980 Remove some unneeded debug lines.
8982 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8983 Added testcase for time level measurement.
8984 Try to make some stuff more racefree.
8986 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8988 * gst/gsturi.c: (gst_element_make_from_uri):
8989 Don't leak plugin feature.
8991 * tests/check/Makefile.am:
8992 * tests/check/gst/.cvsignore:
8993 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8994 Add brain-dead unit test.
8996 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8998 Patch by: Jeroen Wouters <woutersj at gmail com>
9000 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
9001 Treat protocol strings in a case-insensitive way (#437563).
9003 2007-05-11 Michael Smith <msmith@fluendo.com>
9005 * gst/gstplugin.c: (gst_plugin_load_file):
9006 * gst/gstregistry.c: (gst_registry_scan_path_level):
9007 Don't print a g_warning for any failure to load a shared object.
9008 Instead, push this down into gstplugin.c, and warn _only_ if we
9009 failed to open the module (i.e. failure to link).
9010 Avoids warnings on normal, working, non-plugin .so files.
9012 2007-05-11 Stefan Kost <ensonic@users.sf.net>
9014 * gst/gstplugin.c (gst_plugin_load_file):
9015 * gst/gstregistry.c (GST_CAT_DEFAULT,
9016 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
9017 Print a g_warning if there was an error when loading a plugins during
9018 registry scan. The shuld help beginners starting with gst-plugin
9021 2007-05-10 Wim Taymans <wim@fluendo.com>
9023 * plugins/elements/gstqueue.c: (gst_queue_class_init),
9024 (update_time_level), (gst_queue_locked_flush),
9025 (gst_queue_handle_sink_event), (gst_queue_chain),
9026 (gst_queue_push_one), (gst_queue_loop):
9027 * plugins/elements/gstqueue.h:
9028 Be smarter when calculating the current amount of data in the queue by
9029 measuring the difference between start and end timestamps (in running
9030 time) inside the queue. Fixes #432876.
9031 API: GstQueue::pushing to notify elements that we are pushing data again
9032 since the running signal is rather broken for this purpose.
9034 2007-05-10 Stefan Kost <ensonic@users.sf.net>
9036 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
9037 gst_queue_base_init, gst_queue_init):
9040 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
9042 * win32/common/libgstreamer.def:
9043 Add new exported functions.
9044 * win32/vs6/grammar.dsp:
9045 Use grammar pre-generated files.
9047 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
9049 Based on patch by: Peter Kjellerstedt <pkj at axis com>
9052 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
9054 * gst/gstutils.c: (gst_parse_bin_from_description):
9056 Maintain API and ABI when --disable-parse is used. Now that
9057 we have an appropriate error code, we can just return NULL and the
9058 appropriate error when gst_parse_launch() is used despite it having
9059 been disabled (#342564).
9061 * tests/check/Makefile.am:
9062 * tests/check/pipelines/.cvsignore:
9063 * tests/check/pipelines/parse-disabled.c:
9064 Make sure these functions exist and return NULL plus a GError when
9065 --disable-parse is used.
9067 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
9069 * tests/benchmarks/complexity.c: (main):
9070 * tests/benchmarks/mass-elements.c: (main):
9071 Set a good example and don't leak messages.
9073 2007-05-06 Stefan Kost <ensonic@users.sf.net>
9075 * docs/gst/Makefile.am:
9076 * docs/libs/Makefile.am:
9077 Correct fixxrefs options.
9079 * docs/plugins/Makefile.am:
9080 * docs/plugins/gstreamer-plugins-docs.sgml:
9081 * docs/plugins/gstreamer-plugins-sections.txt:
9082 * plugins/elements/Makefile.am:
9083 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
9084 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
9085 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
9086 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
9087 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
9088 _GstCapsFilterClass, trans_class):
9089 * plugins/elements/gstelements.c (name, rank, type, _elements):
9090 * plugins/elements/gstidentity.c
9091 (gst_identity_check_imperfect_timestamp,
9092 gst_identity_check_imperfect_offset):
9093 Document capsfilter and add doc-blurb to identity.
9095 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
9097 * libs/gst/controller/gstcontroller.c:
9098 (gst_controlled_property_set_interpolation_mode):
9099 * libs/gst/controller/gstinterpolation.c:
9100 Don't crash if someone tries to set an interpolation mode that
9101 is invalid or that isn't supported yet. Fixes #422295.
9103 * tests/check/libs/controller.c: (GST_START_TEST),
9104 (gst_controller_suite):
9105 Add a test case for the above.
9107 2007-05-03 Edward Hervey <edward@fluendo.com>
9109 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9110 Properly set the last_stop position on GstSegment. This will only happen
9111 if there is a buffer to push out.
9113 2007-05-03 Wim Taymans <wim@fluendo.com>
9115 * libs/gst/base/gstbasetransform.c:
9116 (gst_base_transform_buffer_alloc):
9117 always_in_place does not mean that the sink and source caps are the
9118 same! Make sure we don't blindly proxy the buffer_alloc in this case.
9120 2007-05-03 Wim Taymans <wim@fluendo.com>
9122 * docs/libs/gstreamer-libs-sections.txt:
9123 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9124 (gst_base_src_default_query), (gst_base_src_get_range):
9125 * libs/gst/base/gstbasesrc.h:
9126 API: gst_base_src_query_latency(). Added method so that subclasses can
9127 easily get the latency values of the base source class.
9129 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
9131 * tools/gst-inspect.c (print_implementation_info):
9134 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
9136 * tools/Makefile.am:
9137 * tools/gst-launch.1.in:
9138 Don't create a customised man page based on the host architecture,
9139 describe the default registry path generically. That way the man
9140 page is the same for all architectures and packagers have one
9141 multilib issue less to deal with. Fixes #434926.
9143 2007-05-02 Wim Taymans <wim@fluendo.com>
9146 Fix documentation as spotted by rg on IRC.
9148 2007-04-29 Stefan Kost <ensonic@users.sf.net>
9151 Improve docs for gst_element_{link,unlink}.
9153 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
9155 * docs/design/part-events.txt:
9156 * docs/design/part-overview.txt:
9160 * libs/gst/base/gstbasesink.c:
9161 Typo fixes; minor docs addition.
9163 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
9165 * docs/gst/gstreamer-sections.txt:
9166 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9167 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9169 API: Add gst_uri_protocol_is_supported(), which checks if a sink
9170 or src that supports a given URI protocol exists.
9172 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
9174 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9175 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9176 Set the location to NULL if "file://" is set as URI. Otherwise
9177 some random previous URI would still be set if "file://" is
9178 set on an already used filesink/filesrc.
9180 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
9182 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9183 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9184 Special case the "file://" URI as as this is used by some
9185 applications to test with gst_element_make_from_uri if there's
9186 an element that supports the URI protocol.
9187 Also move the g_path_is_absolute() check for the location part
9188 of the URI to also check this for "file://localhost/bla" URIs.
9190 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
9192 * docs/gst/gstreamer-sections.txt:
9193 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9195 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9197 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9199 2007-04-26 Stefan Kost <ensonic@users.sf.net>
9201 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9202 (gst_registry_binary_load_pad_template),
9203 (gst_registry_binary_load_plugin),
9204 (gst_registry_binary_read_cache):
9205 * gst/gstregistrybinary.h:
9206 Implement no-mmap alternative for registry reading. Do code cleanups.
9207 Add more comments about avoiding strdups for all text data. Comments
9210 2007-04-25 Stefan Kost <ensonic@users.sf.net>
9212 * gst/gstregistrybinary.h (GstBinaryPluginElement,
9213 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9214 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9215 Comment structs and reformat to fix the build (that stuff should go
9216 into a priv. header).
9218 2007-04-25 Stefan Kost <ensonic@users.sf.net>
9220 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9221 (gst_registry_binary_load_feature):
9222 * gst/gstregistrybinary.h:
9223 Refactor so that we can implement multiple features. Add support for
9224 TypeFindFactory features.
9226 2007-04-24 Stefan Kost <ensonic@users.sf.net>
9228 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9231 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9233 2007-04-23 Stefan Kost <ensonic@users.sf.net>
9235 * gst/gstbin.c: (gst_bin_element_set_state),
9236 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9237 (bin_handle_async_done), (gst_bin_handle_message_func):
9238 Fix build with --gst-disable-gst-debug
9240 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
9242 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9243 Make sure streaming has finished before calling the ::stop() vfunc,
9244 since that vfunc might clear state which is being used in the
9245 streaming thread. This fixes a race that caused crashes in
9246 audioresample when shutting down a pipeline (#420106).
9248 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9250 * docs/gst/gstreamer-sections.txt:
9251 That was one byte missing.
9253 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9256 * docs/gst/gstreamer-sections.txt:
9258 * gst/gstconfig.h.in:
9259 * gst/gstobject.c: (gst_object_class_init),
9260 (gst_signal_object_class_init):
9262 2nd attempt to have a xml-less build as a joined effort of #413123
9265 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9267 * docs/design/draft-tagreading.txt:
9268 Added open issues/thoughts to draft.
9270 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9272 * gst/parse/grammar.tab.pre.c:
9273 * gst/parse/grammar.tab.pre.h:
9274 * gst/parse/lex._gst_parse_yy.pre.c:
9275 Update the prebuild parser sources.
9277 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9279 * gst/parse/Makefile.am:
9280 And now fix the building of the flex sources. Now everything should
9283 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9285 * gst/parse/Makefile.am:
9286 Now hopefully fix the build failures by setting proper rule
9287 dependencies and moving instead of copying.
9289 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9291 * tests/benchmarks/complexity.gnuplot:
9292 * tests/benchmarks/complexity.scm:
9293 * tests/benchmarks/mass-elements.gnuplot:
9294 * tests/benchmarks/mass-elements.scm:
9295 Total licensification.
9297 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9299 * gst/parse/Makefile.am:
9300 Fix the build by correcting the rule that gave wrong files to flex.
9302 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9304 * tests/benchmarks/complexity.c:
9305 * tests/benchmarks/mass-elements.c:
9306 Change licence to LGPL as granted by Benjamin and Andy.
9308 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9310 * gst/parse/Makefile.am:
9311 Add correct grammar.tab.h dependency if compiling without new enough
9312 flex. Fixes #431150.
9314 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9316 * gst/parse/Makefile.am:
9317 Fix typo and use outdated sources if the flex/bison sources are newer
9318 than the pregenerated ones but flex is too old. Print a warning in
9319 that case. This should fix the build on the build bot.
9321 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9323 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9324 * gst/parse/Makefile.am:
9325 * gst/parse/grammar.y:
9326 * gst/parse/parse.l:
9327 Make the parser reentrant and recursively callable. This requires flex
9328 >= 2.5.31, for older versions pregenerated sources are used as we
9329 can't bump the build dependency. Finally fixes #349180.
9331 * gst/gstparse.c: (gst_parse_launch):
9332 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9335 * docs/gst/Makefile.am:
9336 * docs/gst/Makefile.am:
9337 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9338 (__gst_parse_strfree), (__gst_parse_link_new),
9339 (__gst_parse_link_free), (__gst_parse_chain_new),
9340 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9341 (gst_parse_element_set), (gst_parse_free_link),
9342 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9343 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9344 (_gst_parse_launch):
9345 * gst/parse/grammar.tab.pre.h:
9346 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9347 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9348 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9349 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9350 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9351 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9352 (_gst_parse_yypop_buffer_state),
9353 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9354 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9355 (yy_fatal_error), (_gst_parse_yyget_extra),
9356 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9357 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9358 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9359 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9360 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9361 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9362 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9363 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9364 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9365 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9366 (_gst_parse_yyfree):
9367 If the installed flex version is too old use pre-generated parser
9368 sources. These pre-generated parser sources are always updated when
9369 the actual flex/bison sources change but require everybody who wants
9370 to change something in the parser to have flex >= 2.5.31 installed.
9372 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9374 * common/m4/gst-gettext.m4:
9375 * gst/gst-i18n-lib.h:
9376 Make --disable-nls to work
9378 2007-04-17 Wim Taymans <wim@fluendo.com>
9380 * gst/gstconfig.h.in:
9381 Revert previous change that broke the build.
9383 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9387 * gst/gstconfig.h.in:
9388 Drop libxml2 dependency when building with
9389 --enable-binary-registry --disable-loadsave
9391 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9393 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9394 (gst_registry_binary_read_cache):
9395 * gst/gstregistrybinary.h:
9396 Remove unnecessary <sys/mman.h> include which broke the win32 build
9397 with MingW; move includes from header file to .c file, even if the
9398 header file isn't installed; use g_strerror() where UTF-8 strings
9399 are expected, such as in GST_DEBUG messages.
9401 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9403 * docs/libs/gstreamer-libs-sections.txt:
9404 Remove bogus addition for API I didn't end up keeping.
9406 * libs/gst/base/gstbasesrc.h:
9407 Mention Since: 0.10.13 in the documentation.
9409 Add the API keyword to the previous ChangeLog entry.
9411 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9413 * docs/libs/gstreamer-libs-sections.txt:
9414 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9415 (gst_base_src_default_prepare_seek_segment),
9416 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9417 * libs/gst/base/gstbasesrc.h:
9418 Allow basesrc derived classes to execute seeks in other formats
9419 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9420 to prepare the GstSegment in any format that their perform_seek method
9421 will be able to understand. The default implementation provides the
9422 old behaviour of attempting to convert the seek offsets to the
9423 configured native format.
9425 API: basesrc::prepare_seek_segment vmethod.
9427 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9429 * gst/gstelement.c: (gst_element_get_state_func):
9430 Don't output the same debug statement twice.
9432 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9433 (gst_adapter_peek), (gst_adapter_take_buffer):
9434 Optimise the case where we have buffers at the head of the queue that
9435 can be joined quickly (because they're contiguous sub-buffers) by
9436 merging them together rather than copying data out into new memory.
9438 * gst/parse/grammar.y:
9439 * tests/check/pipelines/parse-launch.c:
9440 Fix a leak in an error path for parse_launch, and add a check
9441 for it to the testsuite.
9443 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9445 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9446 Don't deadlock when releasing a pad - gst_pad_set_active may try
9447 and take the multiqueue lock too.
9449 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9451 * gst/gsterror.c: (_gst_core_errors_init):
9453 API: add GST_CORE_ERROR_DISABLED (#392804).
9455 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9457 * docs/faq/gst-uninstalled:
9458 don't get empty paths on the PATH variables
9459 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9460 Don't format for the uncommon terminal width of 84 characters.
9462 2007-04-06 Wim Taymans <wim@fluendo.com>
9464 * gst/gstpipeline.c: (reset_stream_time),
9465 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9466 Only try to select a different pipeline clock when we went back to
9467 PAUSED and not when we merely got flushed.
9469 2007-04-05 Michael Smith <msmith@fluendo.com>
9471 * tools/gst-launch.1.in:
9472 fractions are better supported in gstreamer than ractions, so
9473 suggest using those.
9475 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9477 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9481 Added Danish translation.
9483 2007-04-05 Wim Taymans <wim@fluendo.com>
9485 * libs/gst/base/gstbasesink.c:
9486 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9487 Fix leak caused when refusing newsegment after EOS.
9489 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9490 (gst_fake_sink_init), (gst_fake_sink_set_property),
9491 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9492 (gst_fake_sink_render), (gst_fake_sink_change_state):
9493 * plugins/elements/gstfakesink.h:
9494 Add num-buffers property to make the element generate EOS after a
9495 configurable amount of buffers.
9496 API: fakesink::num-buffers property.
9498 * tests/check/elements/fakesink.c: (GST_START_TEST),
9500 Fix GstBus leak in test.
9501 Test for fakesink num-buffers.
9503 2007-04-05 Wim Taymans <wim@fluendo.com>
9505 * libs/gst/base/gstbasesink.c:
9506 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9507 (gst_base_sink_change_state):
9508 Don't accept anything after an EOS, return UNEXPECTED instead.
9510 * tests/check/elements/fakesink.c: (GST_START_TEST),
9512 Unit test for new EOS behaviour.
9514 2007-04-05 Wim Taymans <wim@fluendo.com>
9516 * gst/gstelement.c: (gst_element_get_request_pad):
9517 Make padtemplates also work when they don't contain %s or %d.
9519 2007-04-05 Wim Taymans <wim@fluendo.com>
9521 * docs/gst/gstreamer-sections.txt:
9522 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9523 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9525 Improve _adjust_unlocked() so that it overflows less.
9526 Add gst_clock_unadjust_unlocked to convert from external time to
9527 internal time based on calibration.
9528 Add some more debug.
9529 API: GstClock::gst_clock_unadjust_unlocked()
9531 2007-04-03 Wim Taymans <wim@fluendo.com>
9533 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9535 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9536 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9537 when releasing sink pad. Fixes #425400.
9539 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9541 * docs/random/ensonic/dynlink.txt:
9542 More work on proposal for new core api.
9544 * docs/libs/gstreamer-libs-sections.txt:
9545 * libs/gst/base/gstbasetransform.h:
9546 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9548 * libs/gst/controller/gstcontroller.c:
9549 (on_object_controlled_property_changed),
9550 (gst_controller_sync_values),
9551 (gst_controller_set_interpolation_mode):
9552 * libs/gst/controller/gstcontroller.h:
9553 Less verbose logging add docs for unimplemented parts and correctly
9554 return when using unavailable parts.
9556 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9558 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9559 Move all the debug to the CLOCK category, and associate it with
9562 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9564 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9565 Make take_buffer a bit quicker by removing redundant checks
9566 caused by calling gst_adapter_take.
9568 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9570 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9573 * tests/check/Makefile.am:
9574 * tests/check/elements/.cvsignore:
9575 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9576 (GST_START_TEST), (multiqueue_suite):
9577 Add some dead simple unit tests for the 'multiqueue' element
9578 (some bits don't work yet and are disabled for now).
9580 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9582 * gst/gstelement.c: (gst_element_get_request_pad),
9583 (gst_element_class_get_request_pad_template):
9584 Make gst_element_get_request_pad() create request pads only for
9585 request pad templates and not for, say, sometimes pad templates.
9587 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9589 * docs/design/draft-klass.txt:
9590 Add example that needs more thinking.
9592 * docs/design/draft-missing-plugins.txt:
9593 More thoughts about wrapper plugins.
9595 * docs/random/ensonic/embedded.txt:
9596 * docs/random/ensonic/profiling.txt:
9599 2007-03-25 Wim Taymans <wim@fluendo.com>
9601 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9602 (gst_base_src_loop):
9603 Only push the segment events in the PLAYING state for live sources.
9605 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9607 * gst/gstpipeline.c: (gst_pipeline_change_state):
9608 Modify the clock distribution path in PAUSED->PLAYING so that we
9609 never attempt to choose a new clock unless we're actually leaving
9610 the PAUSED state for the first time. This prevents choosing a
9611 different clock when the state_change gets called for a 2nd time due
9612 to some element doing an async state change.
9614 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9616 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9617 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9618 (gst_pad_chain_unchecked), (gst_pad_push):
9619 Revert last commit. This needs some more thoughts.
9621 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9623 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9624 (gst_pad_chain_unchecked), (gst_pad_push):
9625 Check in set_caps if the caps are compatible with the pad and remove
9626 two functions that are redundant now. Fixes #421543.
9628 2007-03-22 Wim Taymans <wim@fluendo.com>
9630 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9631 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9632 Unref some more to make valgrind happy.
9634 2007-03-22 Wim Taymans <wim@fluendo.com>
9636 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9637 (gst_system_clock_id_wait_jitter),
9638 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9639 Fix anoying regression that survived a few releases. When adding an
9640 async entry while blocking on a sync entry, the sync entry will unblock
9641 but still be busy, so it should continue to wait instead of returning
9643 Add some comments here and there.
9645 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9646 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9647 Add testcase for this.
9649 2007-03-22 Wim Taymans <wim@fluendo.com>
9651 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9652 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9653 WRONG_STATE and can silently pause the task. All other cases should
9656 2007-03-22 Wim Taymans <wim@fluendo.com>
9658 Patch by: Ville Syrjala <syrjala at sci dot fi>
9660 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9661 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9664 2007-03-21 Michael Smith <msmith@fluendo.com>
9666 * docs/pwg/advanced-types.xml:
9667 Fix some errors in the typefinding docs pointed out on irc.
9669 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9671 * libs/gst/base/gstbasesrc.c:
9672 Clarify FIXME comment in the face of having added unlock_stop()
9674 2007-03-21 Wim Taymans <wim@fluendo.com>
9676 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9677 Prepare for release where we warn against possible app breakage in the
9678 case of live pipelines along with an env var to enable/disable live
9679 preroll mode (GST_COMPAT=[no-]live-preroll).
9681 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9683 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9684 So we should use correct constants for checking for None offset.
9686 2007-03-20 Wim Taymans <wim@fluendo.com>
9688 * docs/design/part-block.txt:
9689 Mention the fact that the newly switched element should be set to at
9692 2007-03-20 Wim Taymans <wim@fluendo.com>
9695 Fix compilation with registry disabled as spotted by Saur.
9697 2007-03-20 Wim Taymans <wim@fluendo.com>
9699 Patch by: Olivier Crete <tester at tester dot ca>
9701 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9702 Look at the pending state too when syncing the element state to the
9703 parent. Fixes #420133.
9705 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9707 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9708 (gst_base_sink_change_state):
9709 * libs/gst/base/gstbasesink.h:
9710 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9711 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9712 (gst_base_src_deactivate):
9713 * libs/gst/base/gstbasesrc.h:
9714 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9715 for sub-classes to correctly clear any state they set trying to
9716 unlock, such as clearing out unlock commands from a command fd.
9717 API: basesrc::unlock_stop
9718 API: basesink::unlock_stop
9720 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9721 (gst_fd_sink_render), (gst_fd_sink_unlock),
9722 (gst_fd_sink_unlock_stop):
9723 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9724 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9725 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9727 Implement unlock_stop in fdsrc and fdsink.
9728 Implement seeking in fdsrc when a seekable fd is passed, as in
9729 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9731 2007-03-19 Wim Taymans <wim@fluendo.com>
9733 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9735 * gst/gstelement.c: (gst_element_class_init):
9736 Fix pad-added and pad-removed signal signatures so that the pad type is
9737 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9739 2007-03-19 Wim Taymans <wim@fluendo.com>
9741 * docs/gst/gstreamer-sections.txt:
9742 Add new element field and method.
9744 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9745 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9746 (gst_bin_recalc_state), (gst_bin_get_state_func),
9747 (gst_bin_element_set_state), (gst_bin_change_state_func),
9748 (gst_bin_continue_func), (bin_bus_handler),
9749 (bin_push_state_continue), (bin_handle_async_start),
9750 (bin_handle_async_done), (gst_bin_handle_message_func):
9751 Make async state changes a bit smarter by using new ASYNC_START and
9752 ASYNC_DONE messages. This reduces the number of times we run the state
9753 recalculation thread.
9754 Don't change state of element with a pending ASYNC_START message.
9755 Deprecate STATE_DIRTY messages.
9757 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9758 (gst_element_get_state_func), (gst_element_continue_state),
9759 (gst_element_lost_state), (gst_element_set_state_func),
9760 (gst_element_change_state):
9762 Keep the state that was last set by the app in a new element field.
9763 Don't allow state changes when handling an element event.
9764 Post ASYNC_START and ASYNC_DONE messages.
9765 Change lost_state so that we go to PAUSED and wait for the parent to set
9766 us to PLAYING again (so latency calculation can be performed)
9767 Export gst_element_change_state() method so that subclasses can use it.
9768 API: gst_element_change_state()
9769 API: GST_STATE_TARGET
9771 * gst/gstpipeline.c: (gst_pipeline_class_init),
9772 (reset_stream_time), (gst_pipeline_change_state),
9773 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9774 Using the new ASYNC_START message we can reset the base_time when
9775 needed. This can then be used to implement base_time redistribution in
9776 flushing seeks so that we can remove the explicit seek handling.
9777 Perform latency query and configuration when going to PLAYING.
9779 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9780 (gst_base_sink_query), (gst_base_sink_change_state):
9781 Post new ASYNC_START/ASYNC_DONE messages.
9783 * tests/check/generic/sinks.c: (GST_START_TEST):
9784 Fix test because the bin will not set the async element to PLAYING right
9787 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9788 Make the message check a little stronger.
9789 Handle ASYNC messages.
9791 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9792 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9793 Expect ASYNC_DONE messages.
9795 2007-03-19 Wim Taymans <wim@fluendo.com>
9797 * docs/gst/gstreamer-sections.txt:
9798 * gst/gstmessage.c: (gst_message_new_async_start),
9799 (gst_message_new_async_done), (gst_message_parse_info),
9800 (gst_message_parse_async_start):
9802 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9805 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9807 * tools/gst-inspect.c:
9808 (print_plugin_automatic_install_info_codecs):
9809 Now that we don't check for the 'Codec' keyword any longer in the
9810 klass, we shouldn't spew a warning if the klass isn't a decoder or
9811 encoder (since it might be a Source/Network, for example).
9813 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9815 * tools/gst-inspect.c:
9816 (print_plugin_automatic_install_info_codecs):
9817 Don't require decoder/demuxer/depayloader elements or
9818 encoder/muxer/paylader elements to have 'Codec' as part of their
9819 factory class string when introspecting a plugin's capabilities.
9820 draft-klass.txt mentions that it might be removed in future, and
9821 flump3dec doesn't have it as part of its class string, so chances
9822 are others might also not have it.
9824 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9846 Update translations from translation project
9848 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9850 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9851 (gst_child_proxy_set_property):
9852 Invert precondition check to be alike the ones in the mimiced gobject
9855 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9857 * docs/design/draft-tagreading.txt:
9858 * docs/random/ensonic/audiobaseclasses.txt:
9859 Do some Architect work.
9861 * gst/gstobject.c: (gst_object_set_name):
9865 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9867 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9869 * gst/gstsystemclock.c: (gst_system_clock_init),
9870 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9871 Defer starting the async system clock thread until the first async
9872 wait is scheduled. Fixes #414986.
9874 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9876 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9877 (gst_single_queue_free):
9878 Fix small leak (free GstSingleQueue structure too, not only contents).
9880 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9882 * gst/gstbin.c:(gst_bin_add):
9883 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9884 * win32/common/libgstbase.def:
9885 * win32/common/libgstreamer.def:
9886 Add new exported functions.
9888 2007-03-09 Wim Taymans <wim@fluendo.com>
9890 * docs/plugins/gstreamer-plugins-sections.txt:
9893 2007-03-09 Wim Taymans <wim@fluendo.com>
9895 * docs/gst/gstreamer-sections.txt:
9896 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9898 Add metadata copy functions. Fixes #393099.
9899 API: gst_buffer_copy_metadata()
9901 * gst/gstutils.c: (gst_buffer_stamp):
9902 * libs/gst/base/gstbasetransform.c:
9903 (gst_base_transform_prepare_output_buffer):
9904 Use new metadata copy functions.
9906 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9908 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9909 (gst_identity_init), (gst_identity_check_perfect),
9910 (gst_identity_check_imperfect_timestamp),
9911 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9912 (gst_identity_set_property), (gst_identity_get_property):
9913 * plugins/elements/gstidentity.h:
9914 Separate out check-imperfect-timestamp and check-imperfect-offset.
9915 Put back check-perfect as it was to keep compatibility.
9917 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9919 * gst/gstelement.c: (gst_element_dispose):
9920 There's no need to warn if VOID_PENDING is not NONE here, as
9921 long as the state is NULL it's ok, and that's checked immediately
9924 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9926 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9927 Fix check for perfect stream to ignore buffers with -1
9928 offsets/offset ends when checking data contiguity.
9930 2007-03-08 Wim Taymans <wim@fluendo.com>
9932 * tools/gst-launch.c: (event_loop):
9933 Print INFO messages.
9935 2007-03-08 Wim Taymans <wim@fluendo.com>
9937 * libs/gst/base/gstbasetransform.c:
9938 (gst_base_transform_sink_eventfunc),
9939 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9940 (gst_base_transform_activate):
9941 * libs/gst/base/gstbasetransform.h:
9942 Add support for dropping buffers with custom GstFlowReturn.
9943 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9944 buffers or dropped buffers.
9946 * docs/libs/gstreamer-libs-sections.txt:
9947 docs for new custom return code.
9949 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9950 Use drop support in base class to implement drop-probability.
9952 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9954 * gst/gst.c: (load_plugin_func):
9955 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9956 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9957 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9958 Remove newlines at end of debug log strings.
9960 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9962 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9963 Only post bus message at max, once per buffer received.
9965 2007-03-07 Wim Taymans <wim@fluendo.com>
9967 * docs/design/Makefile.am:
9968 * docs/design/part-synchronisation.txt:
9969 Add doc about synchronisation
9971 * docs/design/draft-latency.txt:
9972 * docs/design/part-TODO.txt:
9973 * docs/design/part-clocks.txt:
9974 * docs/design/part-events.txt:
9975 * docs/design/part-gstbus.txt:
9976 * docs/design/part-gstpipeline.txt:
9977 * docs/design/part-live-source.txt:
9978 * docs/design/part-messages.txt:
9979 * docs/design/part-overview.txt:
9980 * docs/design/part-streams.txt:
9981 * docs/design/part-trickmodes.txt:
9982 Documentation updates.
9984 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9987 Update the doap file.
9989 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9991 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9992 Rename non-perfect to imperfect for Mike and for the sanctity of the
9994 Also make sure bus message gets emitted for data-incontiguities.
9996 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9998 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9999 (gst_identity_start):
10000 * plugins/elements/gstidentity.h:
10001 Emit bus message if check-perfect is true and we encounter a
10002 non-perfect stream between 2 consecutive buffers.
10005 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
10010 === release 0.10.12 ===
10012 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
10015 releasing 0.10.12, "Inevitable Demise"
10017 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
10020 Version 0.10.11.2 (0.10.12 pre-release)
10021 Bump libtool versioning.
10023 2007-03-01 Stefan Kost <ensonic@users.sf.net>
10025 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10026 Log flow-names and not numbers.
10028 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
10031 Convert to new AG_GST style.
10033 2007-02-28 Wim Taymans <wim@fluendo.com>
10035 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
10036 Don't unref query twice.
10038 2007-02-28 Wim Taymans <wim@fluendo.com>
10040 * gst/gstvalue.c: (gst_value_transform_object_string),
10041 (_gst_value_initialize):
10042 Implement GstObject -> string transform so we print object names
10043 when serializing GValues containing GstObjects.
10045 2007-02-28 Wim Taymans <wim@fluendo.com>
10047 * docs/gst/gstreamer-sections.txt:
10048 Add new stuff to docs.
10050 2007-02-28 Wim Taymans <wim@fluendo.com>
10052 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
10053 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
10054 (gst_base_sink_change_state):
10055 Improve latency query code.
10056 Don't leak latency events.
10058 * tests/check/gst/gstbin.c: (GST_START_TEST):
10061 2007-02-28 Wim Taymans <wim@fluendo.com>
10063 * gst/gstelement.c: (gst_element_message_full),
10064 (gst_element_get_state_func):
10065 * gst/gstelement.h:
10066 Improve docs a little. Added Since: for new macro.
10068 * gst/gstobject.c: (gst_object_sink):
10069 * gst/gstpipeline.c: (gst_pipeline_change_state),
10070 (gst_pipeline_set_new_stream_time):
10071 * gst/gstpipeline.h:
10072 Improve debugging and docs.
10074 * gst/gstutils.c: (gst_element_state_change_return_get_name):
10077 2007-02-28 Wim Taymans <wim@fluendo.com>
10079 * gst/gstelement.c: (gst_element_message_full),
10080 (gst_element_set_locked_state), (gst_element_get_state_func),
10081 (gst_element_change_state):
10082 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
10083 Documentation updates.
10084 Small code cleanups.
10086 * gst/gstmessage.c: (gst_message_new_info),
10087 (gst_message_parse_info):
10088 * gst/gstmessage.h:
10089 API: gst_message_new_info()
10090 API: gst_message_parse_info()
10091 Add INFO message create and parse code.
10093 2007-02-28 Wim Taymans <wim@fluendo.com>
10095 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
10096 (bin_query_latency_done):
10097 Also report the live parameter of a latency query.
10099 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
10101 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
10102 Copy the current generic/states example from -base and adapt so
10103 we can use the exact same code everywhere.
10104 Check a STATES_IGNORE_ELEMENTS env var which can be used
10105 to ignore certain element factories for this test, which is
10106 what is being done in -base
10107 * tests/check/Makefile.am:
10108 Mention this environment variable.
10110 2007-02-27 Wim Taymans <wim@fluendo.com>
10112 * docs/gst/gstreamer-sections.txt:
10113 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10114 (gst_bus_timed_pop), (gst_bus_pop):
10116 API: gst_bus_timed_pop()
10117 Implement gst_bus_timed_pop() to do a blocking timed wait for a
10118 message to arrive on the bus.
10120 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10122 Two unit tests for new _timed_pop() function.
10124 2007-02-23 Wim Taymans <wim@fluendo.com>
10126 * gst/gstpipeline.c: (gst_pipeline_change_state),
10127 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10128 Don't ref a NULL clock in _provide_clock_func().
10129 Don't allow an INVALID delay.
10130 Don't try to calculate base_time with an invalid start_time.
10131 Also distribute and notify a NULL clock when it was selected.
10133 * tools/gst-launch.c: (event_loop):
10134 Don't crash when a NULL clock was selected in the pipeline.
10136 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
10138 * docs/design/Makefile.am:
10139 * docs/design/draft-missing-plugins.txt:
10140 * docs/random/draft-missing-plugins.txt:
10141 Some small updates: update plugin system identifier prefix
10142 ('gstreamer.net' to 'gstreamer'), mention our new install
10143 API in libgstbaseutils rather than libgimme-codec, add
10144 reference to the online docs.
10146 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
10148 * win32/common/config.h:
10149 Pretty sure Bill never made a powerpc version. Powerpc hackers,
10150 use moap cl ci to only check in what is mentioned in the ChangeLog.
10152 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
10154 * docs/gst/gstreamer-sections.txt:
10155 * gst/gstelement.h:
10156 Fix up documentation to link to the correct GstGError section.
10157 Add GST_ELEMENT_INFO macro since someone else added a Info message.
10159 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
10161 * tools/gst-launch.c: (event_loop):
10162 Make sure that we actually show the important message part of a
10164 No need to check if the gerror is not NULL to free; first of all
10165 g_free accepts NULL; and second the default error handler would
10166 segfault if gerror was NULL.
10168 2007-02-21 Wim Taymans <wim@fluendo.com>
10170 * docs/gst/gstreamer-sections.txt:
10171 Removed docs as well.
10173 2007-02-21 Wim Taymans <wim@fluendo.com>
10175 * gst/gstmessage.c: (gst_message_parse_duration):
10176 * gst/gstmessage.h:
10177 Remove new messages for release.
10179 2007-02-20 Wim Taymans <wim@fluendo.com>
10181 * docs/design/part-gstghostpad.txt:
10182 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10183 (gst_ghost_pad_new_full):
10184 Make the ghostpad a parent of the internal pad again for better backward
10185 compatibility. Don't write code that relies on this however.
10187 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10188 (gst_pad_link_check_hierarchy):
10189 Require that parents should be GstElements in the hierarchy check.
10191 2007-02-20 Wim Taymans <wim@fluendo.com>
10193 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10194 (gst_bin_change_state_func), (bin_query_min_max_init),
10195 (bin_query_latency_fold), (bin_query_latency_done),
10197 Improve debug info.
10198 Implement latency query.
10200 2007-02-20 Wim Taymans <wim@fluendo.com>
10202 * docs/design/part-gstghostpad.txt:
10203 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10204 (gst_ghost_pad_internal_do_activate_push),
10205 (gst_ghost_pad_internal_do_activate_pull),
10206 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10207 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10208 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10209 Do not set the internal pad as a parent anymore so we can avoid
10210 hierarchy linking errors when the ghostpad has no parent yet. This also
10211 fixes failed activation because of unlinked internal pads, which in
10212 turn fixes the impossible case where you have to activate a pad before
10213 you can add it to a running element.
10216 * gst/gstpad.c: (pre_activate), (post_activate),
10217 (gst_pad_set_active), (gst_pad_activate_pull),
10218 (gst_pad_activate_push), (gst_pad_check_pull_range):
10219 Add some more debug info.
10220 Mark activation mode in pre_activate so that we don't try to activate in
10221 endless loops. Fixes #385084.
10223 2007-02-19 Wim Taymans <wim@fluendo.com>
10225 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10226 (gst_base_transform_check_get_range):
10227 Implement a checkgetrange function instead of relying on the default
10228 core behaviour that assumes we can operate in pull mode if we have a
10229 getrange function. First step at fixing #385084.
10231 2007-02-15 Stefan Kost <ensonic@users.sf.net>
10233 * gst/gstchildproxy.h:
10234 * libs/gst/base/gstbasesink.h:
10235 * libs/gst/base/gstbasesrc.h:
10236 * libs/gst/base/gstbasetransform.h:
10237 More docs coverage and some ChangeLog surgery (add missing names)
10239 2007-02-15 Wim Taymans <wim@fluendo.com>
10241 * docs/design/part-TODO.txt:
10242 * docs/design/part-activation.txt:
10243 * docs/design/part-block.txt:
10244 * docs/design/part-buffering.txt:
10245 * docs/design/part-clocks.txt:
10246 * docs/design/part-element-source.txt:
10247 * docs/design/part-events.txt:
10248 * docs/design/part-gstbin.txt:
10249 * docs/design/part-gstbus.txt:
10250 * docs/design/part-gstpipeline.txt:
10251 * docs/design/part-live-source.txt:
10252 * docs/design/part-messages.txt:
10253 * docs/design/part-overview.txt:
10254 * docs/design/part-qos.txt:
10255 * docs/design/part-query.txt:
10256 * docs/design/part-states.txt:
10257 * docs/design/part-trickmodes.txt:
10258 Some doc updates. Start renaming from stream_time to running_time where
10259 it was used wrongly.
10261 2007-02-15 Wim Taymans <wim@fluendo.com>
10263 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10264 Answer LATENCY query.
10266 2007-02-15 Wim Taymans <wim@fluendo.com>
10268 * tests/check/gst/gstevent.c: (event_probe), (test_event),
10272 2007-02-15 Wim Taymans <wim@fluendo.com>
10274 * gst/gstpad.c: (gst_pad_get_internal_links_default),
10275 (gst_pad_dispatcher):
10276 Improve debugging of default pad dispatcher and query functions.
10278 2007-02-15 Wim Taymans <wim@fluendo.com>
10280 * docs/gst/gstreamer-sections.txt:
10281 Remove old unused method.
10283 2007-02-13 Wim Taymans <wim@fluendo.com>
10285 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10288 2007-02-13 Wim Taymans <wim@fluendo.com>
10290 * docs/design/part-seeking.txt:
10293 * gst/gstsegment.c: (gst_segment_set_seek):
10294 Revert old bogus change that should make seeking work again.
10296 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10298 * docs/random/ensonic/dynlink.txt:
10299 * docs/random/ensonic/interfaces.txt:
10300 * docs/random/ensonic/receipies.txt:
10301 Possible dynamic reconnection api, plus some type fixes the other two
10304 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10306 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10307 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10308 Also check for an absolute path following file:// in the filesrc
10309 element. Remove redundant check and call g_path_is_absolute() on the
10310 unescaped location.
10312 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10314 * docs/design/draft-klass.txt:
10315 Add existing category analysis.
10318 Fix doc example, framerate is a fraction.
10320 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10323 * docs/gst/Makefile.am:
10324 * docs/gst/gstreamer-sections.txt:
10325 * docs/libs/Makefile.am:
10326 Erm, forgot a bunch of --extra-dir.
10328 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10331 * docs/gst/Makefile.am:
10332 * docs/libs/Makefile.am:
10333 * docs/plugins/Makefile.am:
10334 Add crossreferences to glib/gobject docs.
10336 2007-02-12 Wim Taymans <wim@fluendo.com>
10338 * docs/design/draft-latency.txt:
10341 * docs/libs/gstreamer-libs-sections.txt:
10342 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10343 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10344 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10345 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10346 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10347 (gst_base_sink_get_position), (gst_base_sink_query),
10348 (gst_base_sink_change_state):
10349 * libs/gst/base/gstbasesink.h:
10350 API: gst_base_sink_query_latency() to let subclasses query the upstream
10352 API: gst_base_sink_get_latency() to let subclasses query the configured
10353 latency in the sink.
10354 Implement query and set latency.
10356 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10357 don't continue preroll when we are flushing. Fixes #405284.
10359 * tests/check/pipelines/stress.c: (change_state_timeout),
10360 (quit_timeout), (GST_START_TEST), (stress_suite):
10363 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10365 Patch by: René Stadler <mail at renestadler de>
10367 * docs/gst/gstreamer-sections.txt:
10368 * gst/gsttaglist.c: (_gst_tag_initialize):
10369 * gst/gsttaglist.h:
10370 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10372 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10374 * docs/libs/Makefile.am:
10375 Fix path to core docs.
10377 * gst/gstbin.c: (gst_bin_get_by_interface),
10378 (gst_bin_iterate_all_by_interface):
10379 Refix docs by also renaming 'interface' to 'iface' in implementation.
10381 * docs/gst/gstreamer-sections.txt:
10383 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10384 * gst/gstchildproxy.h:
10385 * gst/gstelementfactory.c:
10386 * gst/gstpadtemplate.h:
10387 * libs/gst/controller/gstcontroller.c:
10388 (gst_controlled_property_new):
10391 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10393 * gst/gstbin.h:(gst_bin_get_by_interface),
10394 (gst_bin_iterate_all_by_interface):
10395 Replace interface parameter name by iface as interface is
10396 a reserved keyword in Visual Studio for C++ projects so it removes
10397 a build error for application developpers using VS.
10398 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10399 Fix a bug on Windows in uri format check. Now the prefix checked
10400 is file:// and next we check if the path after file:// is absolute.
10401 * win32/common/libgstbase.def:
10402 * win32/common/libgstdataprotocol.def:
10403 * win32/common/libgstgstreamer.def:
10404 Add new exported functions.
10406 2007-02-09 Andy Wingo <wingo@pobox.com>
10408 * tests/check/pipelines/simple-launch-lines.c
10409 (simple_launch_lines_suite, test_tee): Disable tee test until I
10410 have time to fix it :-(
10412 * tests/check/Makefile.am (noinst_HEADERS):
10413 * tests/check/libs/libsabi.c:
10414 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10415 * tests/check/gst/gstabi.c:
10416 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10418 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10419 tests for push and pull tee behavior.
10421 * plugins/elements/gsttee.h:
10422 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10423 mark as deprecated as well as unimplemented. It was a crack idea.
10424 Add support for tee operating in pull mode, off by default.
10426 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10427 normal-case logs down to LOG, raise errors to WARNING.
10428 (gst_registry_xml_read_cache): Don't log before calling a function
10431 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10432 exit (registry finalize).
10433 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10434 DEBUG log when we emit signals that people don't even have the
10435 chance to connect to.
10436 (gst_registry_scan_path_level): Less logging in the normal case.
10438 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10440 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10442 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10443 Correctly generate EOS for non-seekable files. We don't have a total
10444 length for them and would get an unexpected end of file if we only
10445 special-cased for regular files. (Fixes: #404569)
10447 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10449 * tests/check/elements/filesrc.c: (GST_START_TEST),
10451 Add unit test for the GstURIHandler interface in filesrc. This also
10452 tests the newly added file://localhost/foo/bar support.
10454 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10456 * gst/gstelementfactory.h:
10457 The klass string is not a hierarchy. Add reference to the design doc
10458 for more information and common types.
10460 2007-02-02 Wim Taymans <wim@fluendo.com>
10462 * gst/gstquery.c: (gst_query_new_latency):
10463 Remove old structure field.
10465 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10467 * tools/gst-launch.1.in:
10468 Give example for network streaming (#351998)
10470 2007-02-02 Wim Taymans <wim@fluendo.com>
10472 * docs/gst/gstreamer-sections.txt:
10473 Add docs for new methods.
10475 * gst/gstevent.c: (gst_event_new_latency),
10476 (gst_event_parse_latency):
10478 Add new LATENCY event to configure latency in a pipeline.
10479 API: gst_event_new_latency
10480 API: gst_event_parse_latency
10482 * gst/gstmessage.c: (gst_message_new_buffering),
10483 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10484 (gst_message_new_latency), (gst_message_parse_buffering),
10485 (gst_message_parse_lost_preroll):
10486 * gst/gstmessage.h:
10487 Added messages used in draft-latency.
10488 API: gst_message_new_lost_preroll
10489 API: gst_message_parse_lost_preroll
10490 API: gst_message_new_prerolled
10491 API: gst_message_new_latency
10493 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10494 (gst_query_parse_latency):
10496 Implemented new latency query as in design doc.
10497 API: gst_query_new_latency
10498 API: gst_query_set_latency
10499 API: gst_query_parse_latency
10501 2007-02-02 Wim Taymans <wim@fluendo.com>
10503 * docs/design/draft-latency.txt:
10504 Slight redesign to allow for dynamic latency adjustments.
10506 * docs/design/part-negotiation.txt:
10509 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10511 reviewed by: Wim Taymans <wim@fluendo.com>
10513 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10514 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10515 Allow file://localhost/foo/bar URLs and correctly fail for every other
10516 hostname that one sets. This was gnomevfssrc is linked for those if
10517 installed as it can handle it (#403172)
10519 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10521 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10523 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10524 (unref_data), (gst_collect_pads_add_pad_full):
10525 * libs/gst/base/gstcollectpads.h:
10526 Don't put the previously added destroy notify in the GstCollectData
10527 struct as all it's padding is already used and we don't want to break
10528 ABI. Instead put in the pad's GObject data for now. This should be
10529 cleaned up for 0.11 (#402393).
10531 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10533 reviewed by: Wim Taymans <wim@fluendo.com>
10535 * docs/libs/gstreamer-libs-sections.txt:
10536 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10537 (unref_data), (gst_collect_pads_add_pad),
10538 (gst_collect_pads_add_pad_full):
10539 * libs/gst/base/gstcollectpads.h:
10540 API: Add function to specify a destroy notification for custom
10541 GstCollectData when adding new pads in GstCollectPads (#402393).
10543 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10546 Update Swedish translation (#378255).
10548 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10550 * docs/design/draft-klass.txt:
10551 Fix the previous change, this is a list of categories and not a hierarchy.
10553 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10555 * docs/design/draft-klass.txt:
10556 Add info about how to get a list of used classes.
10558 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10560 * plugins/elements/gsttypefindelement.c:
10561 (gst_type_find_element_chain_do_typefinding),
10562 (gst_type_find_element_change_state):
10563 Don't leak found caps in chain function (no idea why that never
10564 showed up as a leak anywhere).
10566 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10569 Fix and expand GstPluginDesc API docs.
10571 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10574 * gst/gstelementfactory.c:
10575 * gst/gstpadtemplate.h:
10578 * libs/gst/controller/gstcontroller.c:
10579 (gst_controlled_property_new):
10580 * tests/examples/controller/audio-example.c:
10583 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10586 comment about refining the xml deps
10588 * docs/manuals.mak:
10589 comments about moving away from jade for docs
10592 recommit the ifdefs to use the binary registry
10594 * gst/gstbin.c: (gst_bin_change_state_func):
10595 this break is obsolete
10597 * gst/gstelementfactory.h:
10598 better GST_ELEMENT_DETAILS docs, add comment about translation
10603 * gst/gstobject.c: (gst_signal_object_get_type):
10604 add G_UNLIKELY as usual
10606 * gst/gstpad.c: (gst_pad_event_default):
10607 add fall trhu comment
10609 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10610 (gst_registry_binary_initialize_magic),
10611 (gst_registry_binary_save_string),
10612 (gst_registry_binary_save_pad_template),
10613 (gst_registry_binary_save_feature),
10614 (gst_registry_binary_save_plugin),
10615 (gst_registry_binary_write_cache),
10616 (gst_registry_binary_check_magic),
10617 (gst_registry_binary_load_pad_template),
10618 (gst_registry_binary_load_feature),
10619 (gst_registry_binary_load_plugin),
10620 (gst_registry_binary_read_cache):
10621 comment typo and formatting
10623 * gst/gstutils.c: (gst_element_state_get_name),
10624 (gst_element_state_change_return_get_name):
10625 remove obsolete breaks
10627 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10628 add FIXME 0.11 and remove cpp comment
10630 2007-01-29 Edward Hervey <edward@fluendo.com>
10632 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10633 Fix print statement in an even more portable way.
10635 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10637 * docs/gst/gstreamer-sections.txt:
10639 API: add GST_ROUND_DOWN_* macros (#401781).
10641 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10643 * docs/gst/gstreamer.types.in:
10644 * gst/gstregistry.c: (gst_registry_class_init):
10645 Document registry signals and make gtk-doc pick them up (#401381).
10647 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10649 * docs/pwg/building-testapp.xml:
10650 Add some audioconverts and audioresample to the pipeline, and some
10651 more comments and error handling.
10653 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10655 * docs/manual/manual.xml:
10656 * docs/pwg/pwg.xml:
10657 Fix typo (#400987).
10659 2007-01-26 Wim Taymans <wim@fluendo.com>
10661 * gst/gstcaps.c: (gst_static_caps_get):
10662 Init caps flags too.
10664 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10666 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10668 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10669 If not using mmap'ed files try to seek to the end instead of the
10670 start to determine whether we can seek at all. This fixes the case
10671 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10672 seeks for everything afterwards fail. Fixes #400656
10674 2007-01-25 Wim Taymans <wim@fluendo.com>
10676 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10677 Add some refcount debugging.
10678 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10679 in multiple streaming threads.
10681 2007-01-25 Wim Taymans <wim@fluendo.com>
10683 Patch by: David Schleef <ds at schleef dot org>
10685 * docs/libs/gstreamer-libs-sections.txt:
10686 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10687 * libs/gst/base/gstadapter.h:
10688 API: gst_adapter_copy() that can reduce the amount of memcpy when
10689 getting data from the adapter. Fixes #388201.
10691 2007-01-25 Edward Hervey <edward@fluendo.com>
10693 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10694 In print statements, "%x" is for guint. Fixes build on macosx.
10696 2007-01-24 Edward Hervey <edward@fluendo.com>
10698 * plugins/elements/gstmultiqueue.c:
10699 (gst_multi_queue_loop):
10701 (single_queue_overrun_cb), (single_queue_underrun_cb),
10702 (single_queue_check_full), (gst_single_queue_new):
10703 Implement single queue growth system.
10704 This uses the extra-size properties, and will grow single queues by
10705 that much if one goes full whereas there are others empty. This is
10706 called extra-mode in the code.
10707 When a single queue's levels go back below the initial max-size
10708 limits, it is no longer in extra-mode. This is to ensure we don't
10709 consume too much memory.
10712 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10714 * gst/gst.c: (gst_init_get_option_group):
10715 Make warning about late g_thread_init() calls a bit more explicit,
10716 so that it's more obvious to application developers what they need
10717 to do if a user files a bug against their application.
10719 2007-01-22 Edward Hervey <edward@fluendo.com>
10721 * plugins/elements/gstmultiqueue.c:
10722 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10723 Remove previous hack of unsetting the flushing flag for the source pad
10724 instead of activating it. Instead, fix the source pad activate function
10725 so that it no longer depends on having a parent set or not.
10727 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10729 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10731 * docs/manual/basics-bus.xml:
10732 Fix example code, gst_element_unref() doesn't exist any longer.
10734 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10736 Patch by: Mark Nauwelaerts <manauw at skynet be>
10739 Fix two docs typoes (#399094).
10741 2007-01-19 Edward Hervey <edward@fluendo.com>
10743 * docs/faq/gst-uninstalled:
10744 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10745 depending on libgstbaseutils can work in uninstalled environment.
10747 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10749 * gst/gsttaglist.h:
10750 * gst/gsttagsetter.c:
10751 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10752 statement for new tag.
10754 2007-01-17 Edward Hervey <edward@fluendo.com>
10756 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10757 When dynamically creating single queues, activate sinkpad before adding
10759 We should be doing the same thing for the source pad, but we can't
10760 since it would call a method which needs the parent to be set in order
10761 to work propertly. Instead of activating the source pad, we just unset
10762 the flushing flag, which is the minimal requirement for adding a pad
10763 to an element in a state greater than READY.
10765 2007-01-17 Edward Hervey <edward@fluendo.com>
10767 * docs/faq/gst-uninstalled:
10768 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10771 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10773 * tests/check/gst/gstabi.c:
10774 * tests/check/gst/struct_hppa.h:
10775 * tests/check/libs/libsabi.c:
10776 * tests/check/libs/struct_hppa.h:
10777 Add ABI structs for HPPA (see #393796).
10779 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10781 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10782 Actually write ABI structs to the file specified in the GST_ABI
10783 environment variable, as the message we print claims we would.
10785 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10787 * tests/check/gst/gsttask.c:
10788 Fix header comment.
10790 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10792 * gst/gsttaglist.c: (_gst_tag_initialize):
10793 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10794 previous two entries.
10796 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10798 * docs/gst/gstreamer-sections.txt:
10799 * gst/gsttaglist.c: (_gst_tag_initialize):
10800 * gst/gsttaglist.h:
10801 Add tag support for beat-per-minute.
10803 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10805 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10806 (gst_registry_binary_initialize_magic),
10807 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10808 (gst_registry_binary_save_pad_template),
10809 (gst_registry_binary_save_feature),
10810 (gst_registry_binary_save_plugin),
10811 (gst_registry_binary_write_cache),
10812 (gst_registry_binary_check_magic),
10813 (gst_registry_binary_load_pad_template),
10814 (gst_registry_binary_load_feature),
10815 (gst_registry_binary_load_plugin),
10816 (gst_registry_binary_read_cache):
10817 * gst/gstregistrybinary.h:
10818 Use glib types, cleanup comments, impement interfaces and uri-types.
10820 2007-01-13 Andy Wingo <wingo@pobox.com>
10822 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10823 getrange() to return buffers with other caps, while we fix
10824 demuxers and typefind, or otherwise change part-negotiation.txt.
10826 2007-01-12 Andy Wingo <wingo@pobox.com>
10828 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10829 Factor start/stop into this private function instead of partially
10830 in activate functions and partially in the change_state function.
10831 Fixes setup before the element has changed from READY->PAUSED, as
10832 is the case in pull-mode pipelines.
10833 (gst_base_transform_sink_activate_push)
10834 (gst_base_transform_src_activate_pull): Refactor to use
10835 gst_base_transform_activate().
10836 (gst_base_transform_change_state): Removed, not needed any more.
10838 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10839 Truncate before fixating.
10841 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10842 Don't set_caps() if the result of fixating is ANY, as it's not
10843 supported, and not necessary in the case of a link with no
10844 template caps on either side. Fixes tests/check/libs/basesrc in
10845 some pull-mode tests.
10847 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10848 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10849 (gst_base_transform_src_activate_pull):
10850 Track the activation mode.
10851 (gst_base_transform_setcaps): In pull mode, when activating the
10852 src pad, after activating the sink pad, activate the sink pad's
10853 peer, as discussed in part-negotiation.txt.
10855 * libs/gst/base/gstbasesrc.h:
10856 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10857 vmethod, as in basesink.
10859 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10861 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10862 mode, first proxy the setcaps to the peer pad.
10863 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10864 new fixate vmethod.
10865 (gst_base_sink_default_activate_pull): Rename from
10866 gst_base_sink_activate_pull.
10867 (gst_base_sink_negotiate_pull): New function, performs negotiation
10868 in pull mode before calling ::activate_pull().
10869 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10870 vmethod instead of the default implementation. I have no idea how
10871 this worked before. Negotiate before calling activate_pull.
10873 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10874 sink pads in pull mode. In addition to being correct, fixes
10875 filesrc ! decodebin ! identity ! fakesink.
10876 (gst_pad_get_range, gst_pad_pull_range): Don't call
10877 gst_pad_set_caps() if the caps changes; instead error out with
10878 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10880 2007-01-12 Andy Wingo <wingo@pobox.com>
10882 * docs/design/part-negotiation.txt: Update with more policy.
10884 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10886 * libs/gst/check/gstbufferstraw.h:
10887 * libs/gst/check/gstcheck.h:
10888 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10891 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10893 * tests/check/Makefile.am:
10894 * tests/check/gst/.cvsignore:
10895 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10896 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10897 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10898 (GST_START_TEST), (gst_tag_setter_suite):
10899 Add minimal unit test for beforementioned GstTagSetter bug.
10901 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10903 Patch by: René Stadler <mail at renestadler dot de>
10905 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10906 gst_tag_list_merge() returns a new list, so it's not the best idea
10907 to ingore its return value. Effectively meant that tags could only
10908 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10909 Also add function guard to require a non-NULL taglist as input (has
10910 always been so due to gst_tag_list_copy(), just making it explicit).
10912 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10914 * docs/random/draft-missing-plugins.txt:
10915 Some additions: mention new API that is supposed to be used at the
10916 various stages; short blob about new gst-inspect introspection
10917 option; mention potential future problem with plugins that have
10918 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10920 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10922 * tools/gst-inspect.c:
10923 (print_plugin_automatic_install_info_codecs),
10924 (print_plugin_automatic_install_info_protocols),
10925 (print_plugin_automatic_install_info), (main):
10926 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10927 introspect plugin files and get machine-parsable output that corresponds
10928 to the last bit of the missing-plugin installer string (small gotcha:
10929 doesn't take into account ranks).
10931 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10934 * docs/gst/gstreamer-sections.txt:
10936 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10937 (gst_registry_lookup_locked):
10938 * gst/gstregistry.h:
10939 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10940 (gst_registry_binary_initialize_magic),
10941 (gst_registry_binary_save_string),
10942 (gst_registry_binary_save_pad_template),
10943 (gst_registry_binary_save_feature),
10944 (gst_registry_binary_save_plugin),
10945 (gst_registry_binary_write_cache),
10946 (gst_registry_binary_check_magic),
10947 (gst_registry_binary_load_pad_template),
10948 (gst_registry_binary_load_feature),
10949 (gst_registry_binary_load_plugin),
10950 (gst_registry_binary_read_cache):
10951 * gst/gstregistrybinary.h:
10952 * gst/gstregistryxml.c: (load_feature),
10953 (gst_registry_xml_read_cache):
10954 commit binary registry (disabled by default, see #359653)
10956 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10958 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10959 Fix 'make check' too.
10961 2007-01-10 Andy Wingo <wingo@pobox.com>
10963 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10966 * docs/design/part-negotiation.txt: Update with, um, one way that
10967 pull-mode negotiation might work?
10970 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10971 that the pad must be a src pad; makes sense to call it the other
10972 way in pull mode, and the logic is symmetric anyway.
10974 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10976 * plugins/elements/gstfilesink.c:
10977 Include <stdio.h> for fseeko().
10979 2007-01-10 Wim Taymans <wim@fluendo.com>
10983 Reserve LATENCY event.
10985 2007-01-09 Wim Taymans <wim@fluendo.com>
10987 * docs/design/draft-latency.txt:
10990 2007-01-09 Wim Taymans <wim@fluendo.com>
10992 * docs/design/draft-latency.txt:
10995 * gst/gstelement.h:
10996 * gst/gststructure.c:
11000 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
11002 * tests/check/.cvsignore:
11003 Ignore test-registry.xml as well.
11005 2007-01-09 Wim Taymans <wim@fluendo.com>
11007 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11008 unref data at the end when we are done with the pad.
11010 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
11012 * docs/gst/gstreamer-sections.txt:
11013 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
11014 (init_post), (gst_deinit), (gst_update_registry):
11016 API: add gst_update_registry() (#391296).
11018 * tests/check/Makefile.am:
11019 * tests/check/gst/gstregistry.c:
11020 * tests/check/gst/.cvsignore:
11021 Simple unit test for the above.
11023 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
11025 * gst/gstregistry.c: (gst_registry_scan_path_level):
11026 Plugin extension on HP-UX is .sl, add that to the list of approved
11027 plugin extensions (see #393796).
11029 * tests/check/gst/gstpad.c: (GST_START_TEST):
11030 ulong => gulong. Fixes compilation with HP-UX compiler.
11032 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11033 Fix compilation if valgrind headers are not available.
11035 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
11037 * win32/common/libgstreamer.def:
11038 Add new exported function.
11039 * win32/vs6/libgstbase.dsp:
11040 Add gstdataqueue.c to the build.
11041 * win32/vs6/libgstcoreelements.dsp:
11042 Add gstmultiqueue.c to the build.
11044 2007-01-06 Andy Wingo <wingo@pobox.com>
11046 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
11047 activate_pull(), providing for a way to specialize the process of
11048 spawning a thread to pull on the sink pad. There is a default
11051 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
11052 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
11053 (gst_base_sink_init): Renamed pad activation functions (inserting
11054 "_pad" in their names). Refactor to use the new activate_pull
11055 vmethod, as appropriate.
11056 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
11057 default activate_pull function to start a task pulling from the
11058 sink pad, as before.
11060 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
11061 on the pads if necessary, as in push()/chain(). Update docs.
11062 Shouldn't affect existing pull() usage as it is currently only
11063 being used on buffers without caps.
11065 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
11067 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11069 Call g_thread_init() first thing in gst_init() / gst_check_init().
11070 When initialisation is done via gst_init_get_option_group() and
11071 GOption parsing, issue a warning if the GLib thread system has not
11072 been initialised yet by the time gst_init_get_option_group() is
11073 called, as it's quite likely other GLib functions such as
11074 g_option_context_new() have been called already then, and
11075 g_thread_init() must be called before any other GLib function. The
11076 application in question must be fixed in that case, since memory
11077 corruption might happen otherwise.
11078 We issue the warning because even if the GLib folks decide to work
11079 around the problem on their end in future, this is still an issue
11080 with all GLib versions >= 2.10.0, so we should warn until we depend
11081 on a GLib version we know to be safe.
11082 Update documentation as well.
11083 Closes bug #391278.
11085 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
11087 * tools/gst-inspect.c: (main):
11088 * tools/gst-launch.c: (main):
11089 * tools/gst-typefind.c: (main):
11090 * tools/gst-xmlinspect.c: (main):
11091 Call g_thread_init() really really early, before any other GLib
11092 function (see #342564 and recent discussion on gtk-devel-list).
11094 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
11096 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
11098 * gst/gst_private.h:
11099 * gst/gstconfig.h.in:
11101 On win32, all the __declspec stuff for symbol exporting is
11102 apparently only needed with MSVC, but doesn't work with MingW.
11103 Fixes compilation with MingW and #391909.
11105 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
11107 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11108 Change some GST_ERROR_OBJECT that aren't really errors to
11109 GST_WARNING_OBJECT in order to reduce terminal spam.
11111 2007-01-04 Stefan Kost <ensonic@users.sf.net>
11113 * tests/check/Makefile.am:
11114 disable test again, as there seem to be still race problems
11116 2007-01-04 Stefan Kost <ensonic@users.sf.net>
11118 * tests/check/Makefile.am:
11119 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11120 (GST_START_TEST), (queue_suite):
11121 enable queue test again, add tests for the leaky behaviour
11123 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
11126 * tests/examples/Makefile.am:
11127 Compile adapter test/example only if the required headers are
11128 available (fixes #391915).
11130 2007-01-01 David Schleef <ds@schleef.org>
11133 Restore the previous signal handler for SIGSEGV instead of
11134 setting to default, since we may have stolen it away from
11135 someone. (i.e., Mono)
11137 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
11139 * docs/random/draft-missing-plugins.txt:
11140 Some small additions and clarifications.
11142 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
11144 * gst/gstregistryxml.c: (gst_registry_save_escaped):
11145 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11146 since that can lead to random memory corruptions and crashes
11147 (may or may not be related to #383244, #386711, and #386711).
11149 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11151 * tests/check/.cvsignore:
11152 * tests/check/Makefile.am:
11153 sync .cvsignome and CLEANFILES
11155 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11157 * tests/check/Makefile.am:
11160 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11162 * docs/design/part-states.txt:
11163 two tiny additional comments
11165 * gst/gststructure.c:
11168 * tests/check/Makefile.am:
11169 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11171 disable test for now, unless it gets fixed
11173 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11175 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11177 fix race in underrun test
11179 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11181 * tests/check/elements/.cvsignore:
11184 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11186 try to narrow test failure
11188 2006-12-21 David Schleef <ds@schleef.org>
11190 * plugins/elements/gstfakesrc.c:
11191 Use g_random_int_range(), since it produces better random
11192 numbers in a range than almost-correct floating point code.
11194 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11196 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11197 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11198 (gst_check_teardown_sink_pad):
11199 do not automatically (de)activate pads
11201 * tests/check/Makefile.am:
11202 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11203 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11204 add new, yet simple tests for queue
11206 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11207 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11208 * tests/check/elements/filesrc.c: (cleanup_filesrc),
11210 * tests/check/elements/identity.c: (cleanup_identity):
11211 consistent pad (de)activation
11213 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
11215 Patch by: Sebastian Dröge <slomo ubuntu com>
11217 * libs/gst/base/gstcollectpads.c:
11218 Fix two doc typos (#387866).
11220 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
11222 * docs/manual/advanced-dparams.xml:
11223 Fix typo (g_object_control_properties() doesn't exist).
11225 2006-12-19 Edward Hervey <edward@fluendo.com>
11227 * gst/gstsegment.c: (gst_segment_set_seek):
11228 Fine tune the cases where the segment start/stop values are really
11230 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11231 Add tests for the return values of gst_segment_set_seek().
11233 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
11238 * plugins/elements/gstqueue.c: (gst_queue_class_init),
11240 Fix incorrect documentation and flesh it out a bit more.
11241 Set default values for the max properties on the GParamSpec as well,
11242 so it shows up correctly in gst-inspect.
11244 2006-12-18 Stefan Kost <ensonic@users.sf.net>
11246 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11247 Correct docs of queue, add more detail and crosslink it more.
11249 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11251 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11252 Print additional debug info when the stream isn't perfectly
11253 timestamped; don't try to use invalid durations.
11255 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11257 * docs/design/Makefile.am:
11258 Dist new design docs.
11260 2006-12-16 Wim Taymans <wim@fluendo.com>
11262 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11264 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11265 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11266 (gst_collect_pads_stop), (gst_collect_pads_event),
11267 (gst_collect_pads_chain):
11268 * libs/gst/base/gstcollectpads.h:
11269 Add refcounting to the collectpads data so we can track when it's safe
11270 to free the data. Fixes #383382.
11272 2006-12-15 Wim Taymans <wim@fluendo.com>
11274 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11275 (gst_collect_pads_remove_pad):
11276 Automatically activate/deactivate pads when they are added to a
11277 started/stoped collectpads.
11279 2006-12-15 Wim Taymans <wim@fluendo.com>
11281 * gst/gstelement.c: (gst_element_add_pad):
11282 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11283 * gst/gstpad.c: (gst_pad_init):
11284 Set pads to FLUSHING when they are created. Check, warn and fix when a
11285 demuxer adds an inactive pad to itself when running. Fixes #339326.
11287 2006-12-15 Wim Taymans <wim@fluendo.com>
11289 * gst/gstelement.c: (gst_element_class_init),
11290 (gst_element_default_send_event), (gst_element_send_event),
11291 (gst_element_default_query), (gst_element_query):
11292 Expose default element send_event and query handling as vmethods that
11293 subclasses can chain up to.
11295 2006-12-15 Wim Taymans <wim@fluendo.com>
11297 * gst/gstelement.c: (gst_element_set_state_func):
11298 Small documentation fixes.
11300 2006-12-15 Wim Taymans <wim@fluendo.com>
11302 * docs/design/draft-latency.txt:
11303 Checked in draft for handling latency in pipelines.
11305 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11309 * gstreamer.spec.in:
11312 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11314 * gst/gst.c: (init_pre), (init_post):
11315 init_pre() and init_post() might be called via our GOptionGroup or
11316 from gst_init(), and we should skip both of them if we've already
11317 been initialised, otherwise we will init some things twice or add
11318 two default log functions.
11320 2006-12-13 Edward Hervey <edward@fluendo.com>
11322 * docs/manual/basics-bus.xml:
11323 No, gst_main_loop does not exist. Its g_main_loop.
11324 Discovered by somebody who abused the copy-paste technique of coding :)
11326 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11328 * gst/gstghostpad.c:
11329 Log ghostpad debug stuff to the GST_PADS category as well rather
11330 than just to the default category.
11332 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11335 * gst/gst.c: (init_pre):
11336 Add some basic system details such as OS and architecture
11337 to the debug output if possible, courtesy of uname().
11339 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11341 * docs/gst/running.xml:
11342 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11343 environment variables.
11345 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11347 * tests/check/gst/gstbin.c: (GST_START_TEST):
11348 It is acceptable to have a refcount of 2 or 3 at this point in the
11349 test, because the pipeline might be just posting its state_change
11350 message. The next line then waits for that message to appear using
11351 bus_poll, so that should be fine too.
11353 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11355 * gst/gst.c: (ensure_current_registry_forking):
11356 Ignore EINTR when reading from the child registry pipe.
11357 Explicitly ignore the return value from close, since it makes no
11360 * gst/gstminiobject.c: (gst_mini_object_ref),
11361 (gst_mini_object_unref):
11362 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11364 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11365 When removing cached plugins, remove their features too, so they're
11366 not visible after they've disappeared.
11368 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11369 In the unlikely case that we are linking pads with no parents, don't
11370 crash trying to get the non-existent parent bin.
11372 * gst/parse/grammar.y:
11373 Output debug in the PIPELINE category
11375 2005-03-08 Wim Taymans <wim@fluendo.com>
11377 Patch by: René Stadler <mail at renestadler dot de>
11379 * gst/gstclock.c: (gst_clock_new_periodic_id):
11380 Reject invalid clock times for interval of periodic ids.
11383 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11385 * gst/gstelementfactory.c: (gst_element_factory_create):
11386 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11387 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11388 * tools/gst-inspect.c: (print_element_info):
11389 Fix refcounting of gst_plugin_feature_load to match the docs.
11392 2006-12-07 Wim Taymans <wim@fluendo.com>
11394 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11395 (gst_base_sink_get_position):
11396 Improve debugging of events.
11398 2006-12-07 Wim Taymans <wim@fluendo.com>
11400 Patch by: René Stadler <mail at renestadler dot de>
11402 * gst/gstclock.c: (gst_clock_id_wait):
11403 Make period ids add the interval to the origial requested time instead
11404 of the possibly updated time which can be wrong when there are multiple
11405 waiters for the same id. Fixes #382592.
11407 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11408 (gst_system_clock_id_wait_jitter_unlocked),
11409 (gst_system_clock_id_wait_jitter):
11410 Fix restart in the async notify thread when an async entry is added to
11411 the front of the list. Fixes #381492.
11413 * tests/check/gst/gstsystemclock.c: (store_callback),
11414 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11415 Added test for multiple async waits.
11416 Added test for async wait order.
11418 2006-12-07 Wim Taymans <wim@fluendo.com>
11420 * gst/gstbin.c: (gst_bin_query):
11421 Add some more docs about the POSITION query.
11423 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11426 Bump version nano - back to CVS.
11428 === release 0.10.11 ===
11430 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11433 releasing 0.10.11, "Love never runs on time"
11435 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11437 * win32/common/libgstbase.def:
11438 * win32/common/libgstreamer.def:
11439 * win32/vs8/libgstbase.vcproj:
11440 * win32/vs8/libgstcoreelements.vcproj:
11441 * win32/vs8/libgstreamer.vcproj:
11442 Fix compilation on win32 under VS8
11443 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11444 Partially fixes #381175
11446 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11448 * gst/gstvalue.c: (gst_value_compare_fraction):
11449 If someone is foolish enough to compare 2 fractions with denominator =
11450 0, return UNORDERED rather than aborting.
11452 2006-11-28 Edward Hervey <edward@fluendo.com>
11454 * libs/gst/base/Makefile.am:
11455 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11456 (gst_data_queue_base_init), (gst_data_queue_class_init),
11457 (gst_data_queue_init), (gst_data_queue_new),
11458 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11459 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11460 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11461 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11462 (gst_data_queue_set_flushing), (gst_data_queue_push),
11463 (gst_data_queue_pop), (gst_data_queue_drop_head),
11464 (gst_data_queue_set_property), (gst_data_queue_get_property):
11465 * libs/gst/base/gstdataqueue.h:
11466 New GstDataQueue object for threadsafe queueing. Most useful for
11467 elements that need some queueing functionnality.
11468 * docs/libs/gstreamer-libs-docs.sgml:
11469 * docs/libs/gstreamer-libs-sections.txt:
11470 Insert documentation for GstDataQueue
11471 * plugins/elements/Makefile.am:
11472 * plugins/elements/gstelements.c:
11473 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11474 (gst_multi_queue_class_init), (gst_multi_queue_init),
11475 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11476 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11477 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11478 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11479 (gst_multi_queue_loop), (gst_multi_queue_chain),
11480 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11481 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11482 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11483 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11484 (wake_up_next_non_linked), (compute_next_non_linked),
11485 (single_queue_overrun_cb), (single_queue_underrun_cb),
11486 (single_queue_check_full), (gst_single_queue_new):
11487 * plugins/elements/gstmultiqueue.h:
11488 New multiqueue element, using GstDataQueue. Used for queuing multiple
11490 Closes #344639 and #347785
11492 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11494 * docs/pwg/advanced-types.xml:
11495 add more missing type details
11497 * tools/gst-run.c: (main):
11498 remove unused variable
11500 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11502 * docs/libs/Makefile.am:
11503 * docs/libs/gstreamer-libs.types:
11504 add types of base classes to enable gobject specific stuff in the docs
11506 * docs/random/ensonic/embedded.txt:
11507 more ideas about isolating platform specific things
11509 2006-11-20 Wim Taymans <wim@fluendo.com>
11511 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11513 * libs/gst/check/gstcheck.h:
11514 Fix compilation and running against 0.9.4. Fixes #377332.
11516 2006-11-20 Wim Taymans <wim@fluendo.com>
11518 * gst/gstsegment.c: (gst_segment_set_seek),
11519 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11520 (gst_segment_to_running_time):
11521 Fix boundary checking in to_running_time() and to_stream_time().
11524 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11525 stream and running time can now be calculated for the complete
11528 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11530 * gst/gstpad.c: (gst_pad_push_event):
11531 Can't access event structure after giving away ownership of
11534 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11536 * docs/random/ensonic/embedded.txt:
11537 * docs/random/ensonic/profiling.txt:
11538 * docs/random/ensonic/receipies.txt:
11541 2006-11-13 Wim Taymans <wim@fluendo.com>
11543 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11546 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11548 2006-11-13 Wim Taymans <wim@fluendo.com>
11550 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11552 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11553 Store new length in segment duration so we don't keep on calling the
11554 potentially expensize get_size() call. Fixes #370865.
11556 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11558 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11560 * win32/common/libgstreamer.def:
11561 Add two missing symbols (#366492).
11563 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11565 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11566 (gst_adapter_take_buffer):
11567 Fix format string to use all its arguments.
11568 Remove useless >= check on a guint
11570 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11572 * tests/examples/adapter/.cvsignore:
11573 Ignore build file as commanded by the build-bot
11575 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11577 * tests/examples/adapter/Makefile.am:
11578 * tests/examples/adapter/adapter_test.c: (run_test_take),
11579 (run_test_take_buffer), (run_tests), (main):
11581 Add new files from the previous commit
11583 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11587 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11588 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11589 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11590 * libs/gst/base/gstadapter.h:
11591 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11592 (GST_START_TEST), (gst_adapter_suite):
11593 * tests/examples/Makefile.am:
11594 Do some optimisation work in GstAdapter to avoid copies in more cases.
11595 It could still do slightly better by merging buffers when
11596 gst_buffer_is_span_fast is true, but is already faster.
11598 Also, avoid traversing a single-linked list to append each incoming
11599 buffer inside the adapter.
11601 Add simple test app that times the adapter behaviour in different
11602 situations, and extend the unit test to check that bytes enter and
11603 exit the adapter in their original order.
11605 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11607 * docs/random/draft-missing-plugins.txt:
11608 Update: use element message instead of adding a new message
11609 type to the core; don't provide GStreamer API to initiate the
11610 plugin download, just provide API to compose the strings needed
11611 and let an external libgimmestuff handle the rest.
11613 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11615 * tools/gst-inspect.c: (print_element_properties_info):
11616 Print a string instead of 'unknown type' for GValueArray properties
11618 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11620 * docs/random/draft-missing-plugins.txt:
11623 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11625 * tests/examples/typefind/typefind.c: (type_found), (main):
11626 Make typefind element example work again (#371894); add a
11629 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11631 * docs/random/draft-missing-plugins.txt:
11632 Commit initial draft about how to deal with missing plugins,
11633 needs work (API too).
11635 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11637 * docs/pwg/advanced-types.xml:
11638 documents the new caps elements (see #363118)
11640 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11642 * gst/gstplugin.c: (gst_plugin_load_file):
11643 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11644 (gst_file_src_map_region), (gst_file_src_start):
11645 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11646 (gst_file_index_commit):
11647 Use g_strerror() instead of strerror() - we want UTF-8.
11649 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11651 Patch by: Peter Kjellerstedt <pkj at axis com>
11653 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11654 Another printf fix (#371493).
11656 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11658 * tests/check/gst/gsttag.c:
11659 relicence (okay with author=company)
11661 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11663 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11664 (gst_pad_push_event):
11665 Enhance debug and improve docs
11670 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11672 * docs/random/ensonic/distributed.txt:
11673 * docs/random/ensonic/profiling.txt:
11676 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11678 * docs/gst/gstreamer-sections.txt:
11679 add new API and fix the build
11681 * gst/gstbin.c: (gst_bin_recalc_state):
11682 * gst/gstelement.c: (gst_element_message_full),
11683 (gst_element_get_state_func), (gst_element_set_state_func):
11684 use new API and improve logging
11686 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11688 API: add function to get StateChangereturn names to improve logs
11690 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11692 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11693 I'm considering shooting the next person to put strerror stuff
11694 in the translateable part of the message.
11696 2006-11-03 Wim Taymans <wim@fluendo.com>
11698 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11699 Get the type and printf conversion specifiers right.
11701 2006-11-03 Wim Taymans <wim@fluendo.com>
11703 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11705 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11706 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11707 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11708 Some small cleanups. Improve debugging.
11710 Signal all waiting threads with a broadcast instead of just one.
11713 2006-11-03 Wim Taymans <wim@fluendo.com>
11715 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11716 (gst_fd_src_create):
11717 Add some debugging.
11718 Only update fd when it's different from the old.
11720 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11722 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11723 Printf fixes for PPC/OSX, take two (#369366).
11725 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11727 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11729 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11730 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11731 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11732 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11733 don't cast to long long for portability reasons, but use
11734 GLib's types instead.
11736 2006-10-30 Michael Smith <msmith@fluendo.com>
11738 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11739 Get the arguments to lseek() the right way around.
11742 2006-10-30 Wim Taymans <wim@fluendo.com>
11744 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11747 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11749 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11751 Patch by: Kjartan Maraas <kmaraas at gnome org>
11753 * docs/design/part-MT-refcounting.txt:
11754 * docs/random/wtay/capsnego2-docs:
11757 Typo fixes (#366212).
11759 2006-10-28 Wim Taymans <wim@fluendo.com>
11761 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11764 * win32/common/libgstbase.def:
11765 * win32/common/libgstreamer.def:
11766 * win32/vs8/libgstbase.vcproj:
11767 * win32/vs8/libgstcontroller.vcproj:
11768 Add needed entries in .def files.
11770 Rearrange def files in vs8 solutions. Fixes #366286.
11772 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11774 * win32/common/gstconfig.h:
11775 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11776 hand-made win32 gstconfig.h. Fixes #366321.
11778 2006-10-27 Wim Taymans <wim@fluendo.com>
11780 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11781 (gst_ghost_pad_new_full):
11782 Make acceptcaps return TRUE when we don't have a target, just like
11785 2006-10-27 Wim Taymans <wim@fluendo.com>
11787 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11788 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11790 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11792 * gst/gststructure.c: (gst_structure_id_set_value):
11793 If someone tries to set a non-UTF8 string field on a structure,
11794 don't just print a warning, but also ignore the request and do
11795 not change/add that field to the structure.
11797 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11798 Test for the above.
11800 2006-10-25 David Schleef <ds@schleef.org>
11803 g_hash_table_insert() needs a cast to a non-const pointer duh.
11805 2006-10-25 David Schleef <ds@schleef.org>
11809 Change name parameter of _gst_debug_register_funcptr to const
11810 to reflect the constness of its use in the function as well
11811 as to quiet a gcc warning.
11813 2006-10-25 Edward Hervey <edward@fluendo.com>
11815 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11816 Don't push the buffer if it's empty.
11819 2006-10-24 Wim Taymans <wim@fluendo.com>
11824 * libs/gst/base/gstbasetransform.c:
11825 (gst_base_transform_sink_eventfunc):
11826 Debug segment values *after* updating them as this is more
11829 2006-10-23 Wim Taymans <wim@fluendo.com>
11831 * docs/design/part-events.txt:
11834 * docs/design/part-block.txt:
11835 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11836 (gst_pad_push_event):
11837 Revert BLOCKING patch, it tries to be smart without really having a
11838 clear idea what or how. So, now we discard all FLUSHING events again on
11839 a blocking pad. Should fix gnonlin again.
11841 2006-10-23 Wim Taymans <wim@fluendo.com>
11843 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11845 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11846 (gst_base_src_start), (gst_base_src_activate_push):
11847 Make sure size is always initialized. Fixes #364388.
11849 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11851 * docs/random/ensonic/distributed.txt:
11852 add some ideas about doing distributed processing
11854 * docs/random/ensonic/profiling.txt:
11855 get_rusage look promising
11857 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11859 * docs/manual/basics-helloworld.xml:
11860 Add a cast in example to fix compile warning
11862 2006-10-18 Wim Taymans <wim@fluendo.com>
11864 * gst/gstsegment.c: (gst_segment_set_last_stop),
11865 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11866 Relax arg checking again, -1 is allowed.
11868 2006-10-18 Wim Taymans <wim@fluendo.com>
11870 * gst/gstsegment.c: (gst_segment_set_last_stop),
11871 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11872 _set_last_stop() must be with a value != -1
11873 A _TYPE_SET to -1 means seek to 0.
11874 Calc last_stop correctly for negative rates.
11875 Make sure we work with positive durations when updating a segment.
11877 2006-10-18 Wim Taymans <wim@fluendo.com>
11879 * docs/design/part-live-source.txt:
11883 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11886 Add an explicit cast to GstBuffer** to keep old code that added an
11887 explicit cast to GstMiniObject** for gst_mini_object_replace()
11888 compiling without warning.
11890 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11892 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11893 check for validity of dates
11895 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11897 * docs/gst/gstreamer-sections.txt:
11898 Forgot this one, makes gtk-doc shut up.
11900 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11902 Patch by: Peter Kjellerstedt <pkj at axis com>
11905 Don't define xmlNodePtr to gpointer if the core was built with
11906 --disable-loadsave and --disable-registry, this will break
11907 applications that want to use libxml2 but are buildling against a
11908 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11909 instead so we don't have to mess with the libxml2 namespace
11912 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11915 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11916 type-punned pointer warnings.
11918 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11920 * gst/gstelement.h:
11921 Add casts to the correct return type to state <=> state transition
11924 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11926 * docs/design/part-live-source.txt:
11927 describe howto handle latency
11929 * docs/random/ensonic/profiling.txt:
11932 * tools/gst-plot-timeline.py:
11933 fix log parsing for solaris, remove unused function
11935 2006-10-16 Wim Taymans <wim@fluendo.com>
11937 * docs/design/part-trickmodes.txt:
11939 Update some docs regarding reverse playback.
11941 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11943 Patch by: Marcus Granado <mrc dot gran at gmail com>
11945 * win32/vs8/grammar.vcproj:
11946 Error out with a warning if glib-genmarshal.exe is not in path,
11947 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11949 2006-10-13 Wim Taymans <wim@fluendo.com>
11951 * gst/gstsegment.c: (gst_segment_set_seek):
11952 When seeking to stop -1, set last_stop (current position) to the
11953 duration of the segment.
11955 2006-10-13 Wim Taymans <wim@fluendo.com>
11957 * gst/gstelement.h:
11958 Clarify _NO_PREROLL a bit more.
11963 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11964 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11965 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11966 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11967 due to wrong locking order. Fixes #361769.
11968 Remove some redundant/misplaced checks in pad_block.
11970 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11971 For negative rates, count backwards from the duration.
11973 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11975 * gst/gsterror.c: (_gst_library_errors_init):
11976 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11977 up with something better).
11979 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11981 * win32/vs6/libgstreamer.dsp:
11982 * win32/vs7/libgstreamer.vcproj:
11983 * win32/vs8/libgstreamer.vcproj:
11984 Don't reference glib-compat.c which is currently not used and not
11985 disted; add gstquark.c which was recently added. Fixes #361730.
11987 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11989 * win32/common/libgstbase.def:
11990 * win32/common/libgstcontroller.def:
11991 * win32/common/libgstreamer.def:
11992 Add gst_caps_merge() and a bunch of other recently-added functions.
11995 2006-10-11 Wim Taymans <wim@fluendo.com>
11997 * docs/plugins/gstreamer-plugins.args:
11998 * docs/plugins/inspect/plugin-coreelements.xml:
11999 * docs/plugins/inspect/plugin-coreindexers.xml:
12000 Update element args.
12002 * gst/gstsystemclock.c:
12003 Small comment update.
12005 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12006 (gst_tee_request_new_pad), (gst_tee_release_pad),
12007 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
12008 (gst_tee_sink_activate_pull):
12009 * plugins/elements/gsttee.h:
12011 Add default property defines.
12012 Implement release pad function.
12013 Give properties better blubs etc.
12014 Activate pads before adding them to a running tee.
12015 Do simple buffer_alloc on the first requested pad.
12016 Post error when activation fails.
12018 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
12020 * gst/gst.c: (ensure_current_registry_forking):
12021 Check return value of write() to make compiler happy.
12023 2006-10-11 Wim Taymans <wim@fluendo.com>
12025 Patch by: Sjoerd Simons <sjoerd at luon dot net>
12027 * plugins/elements/gstqueue.c: (gst_queue_chain):
12028 Recheck queue filledness after signalling the overrun when we're about
12029 to leak downstream because we released the lock when emitting the signal
12030 and the queue could be empty again. Fixes #352345.
12032 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
12034 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12035 Fix refcounting here too, just like we did for _new_valist() a few
12036 days ago (#357180) (thanks to René Stadler). Also remove all those
12037 'Since: 0.9' from the gtk-doc blobs.
12039 * tests/check/libs/controller.c: (controller_refcount_new_list),
12040 (gst_controller_suite):
12041 Unit test for the above.
12043 2006-10-10 Wim Taymans <wim@fluendo.com>
12045 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
12047 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
12048 (gst_pad_save_thyself):
12050 Write pad direction in XML output. Fixes #345496.
12052 2006-10-10 Wim Taymans <wim@fluendo.com>
12054 Patch by: René Stadler <mail at renestadler dot de>
12056 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12057 (gst_controller_new_list), (_gst_controller_dispose),
12058 (_gst_controller_finalize), (_gst_controller_class_init):
12059 Take ref to controlled object so that it cannot disappear.
12062 2006-10-10 Wim Taymans <wim@fluendo.com>
12064 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
12065 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12066 (gst_check_teardown_sink_pad):
12067 Activate/deactivate pads in setup/teardown respectively.
12069 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12071 Patch by: Josep Torra Valles <josep@fluendo.com>
12074 Cast values when making gstenumtypes.h. This pacifies Forte
12075 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
12076 in the enumeration.
12078 2006-10-09 Wim Taymans <wim@fluendo.com>
12080 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
12081 Rename some more @cur to @start to fix docs.
12083 * gst/gstsegment.c: (gst_segment_set_seek):
12085 time and start must always stay in sync as defined in design doc.
12087 * gst/gsttaglist.c: (gst_tag_list_is_empty):
12088 Rename param to fix docs.
12090 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12091 Check that start and time are in sync.
12093 * tests/check/pipelines/parse-launch.c:
12094 (gst_parse_test_element_change_state):
12095 Activate pad before adding to the element.
12097 2006-10-09 Wim Taymans <wim@fluendo.com>
12099 * docs/design/part-qos.txt:
12104 Update seek event docs regarding negative rates.
12105 Rename @cur to @start.
12107 * gst/gstsegment.c: (gst_segment_set_seek):
12108 * gst/gstsegment.h:
12109 Update set_seek docs regarding negative rates.
12110 Correctly update last_stop to @stop when dealing with negative
12112 Rename @cur to @start.
12114 * tests/check/gst/gstpad.c: (GST_START_TEST):
12115 Activate pads before trying to use them.
12117 * tests/check/gst/gstsegment.c: (GST_START_TEST),
12118 (gst_segment_suite):
12119 Add simple check for segments and negative rates.
12121 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
12123 * gst/gsttaglist.c: (gst_tag_list_is_empty):
12124 * gst/gsttaglist.h:
12125 * docs/gst/gstreamer-sections.txt:
12126 API: add gst_tag_list_is_empty() (#360467).
12128 * tests/check/gst/gsttag.c: (GST_START_TEST):
12131 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12133 * gst/gstmessage.h:
12134 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12135 a value that doesn't fit on enumeration.
12137 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12139 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12140 Remove local debugging system and use Gstreamer's instead.
12142 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12144 Patch by: Josep Torra Valles <josep@fluendo.com>
12146 * common/m4/gst-error.m4:
12147 Disable warning of statement not reached on Forte.
12148 * gst/gstmessage.h:
12149 Fix warning on Forte (value doesn't fit on enumeration).
12150 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12151 Fix warning on Forte (value doesn't fit on enumeration).
12152 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12153 DEBUG macro says it takes minimum of 2 args and so Forte
12154 complains about the use with just 1 arg.
12155 * plugins/elements/gstfdsink.c:
12156 * plugins/elements/gstfdsrc.c:
12157 * plugins/elements/gstfilesink.c:
12158 * plugins/elements/gstfilesrc.c:
12159 Use correct return type for the uri handler implementations.
12161 All these fix warnings in Forte. Fixes bug #360860.
12163 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
12165 * gst/gstelement.h:
12166 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12167 format string, so don't use G_GNUC_PRINTF for those versions.
12169 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
12171 * gst/gsttaglist.c: (gst_is_tag_list):
12172 * gst/gsttaglist.h:
12173 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12175 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12176 Small test for the above.
12178 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
12180 * gst/gsttaglist.h:
12181 Less tabs, more spaces.
12183 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
12186 Those two function declarations do actually belong there, revert
12187 commit from yesterday that turned them intro macros.
12189 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12191 Patch by: Josep Torra Valles <josep@fluendo.com>
12193 * gst/gst.c: (gst_init_get_option_group):
12194 Fix empty declaration and type mismatch.
12195 * gst/gstbin.c: (gst_bin_change_state_func):
12197 * gst/gstelement.c: (gst_element_continue_state),
12198 (gst_element_set_state_func), (gst_element_change_state),
12199 (gst_element_change_state_func):
12200 Fix type mismatches.
12201 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12202 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12203 Cast as appropriate.
12204 * gst/gstobject.c: (gst_class_signal_connect):
12205 Cast as appropriate. The function pointer parameter really
12206 has the wrong type but would break API if we change it.
12208 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12209 order of including string.h.
12210 * gst/gstutils.c: (gst_element_state_get_name):
12211 Remove unreachable line.
12212 * gst/gstxml.c: (gst_xml_parse_doc):
12214 All these caught by Forte.
12216 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12218 Patch by: Josep Torra Valles <josep@fluendo.com>
12220 * common/m4/gst-error.m4:
12222 We need to disable warnings on Forte for empty declarations
12223 due to gst-indent adding ;s to lines that just use macros
12224 where the macro actually doesn't need a ; at end to end
12227 2006-10-06 Wim Taymans <wim@fluendo.com>
12229 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12230 (gst_file_sink_close_file), (gst_file_sink_event),
12231 (gst_file_sink_render):
12232 Add some FIXME for the NEWSEGMENT handling.
12234 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12236 * gst/parse/grammar.y:
12237 Remove static function gst_parse_element_lock as all it does
12238 is return. Looks like cruft from 0.8.
12240 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12242 Patch by: Josep Torra Valles <josep@fluendo.com>
12244 * common/m4/gst-error.m4:
12246 * libs/gst/net/Makefile.am:
12247 Fix a compilation issue with Forte on Solaris. inet_aton is in
12250 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12252 * gst/gstpad.c: (pre_activate):
12253 * gst/gstregistry.c: (gst_registry_scan_path_level):
12254 * gst/gstregistryxml.c: (load_plugin):
12255 * libs/gst/controller/gstcontroller.c:
12256 (gst_controlled_property_set_interpolation_mode):
12257 * libs/gst/dataprotocol/dataprotocol.c:
12258 (gst_dp_packet_from_event_1_0):
12259 * libs/gst/net/gstnetclientclock.c:
12260 (gst_net_client_clock_observe_times):
12261 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12264 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12267 * docs/gst/gstreamer-sections.txt:
12268 * gst/gstconfig.h.in:
12269 * gst/gstelement.h:
12271 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12272 whether we can use G_GNUC_PRINTF in other header files and at
12273 least check the printf format/arguments of debug messages and
12274 GST_ELEMENT_ERROR messages when the printf extension is not
12276 Replace more tabs with spaces in gstinfo.h and remove two spurious
12277 function declarations in GST_DISABLE_DEBUG part with macros.
12279 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
12281 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12282 More docs for the sync-message signal (mention that it is not
12283 emitted by default); log message structures of messages posted on
12286 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
12288 * gst/gst.c: (ensure_current_registry_forking):
12289 Use a pipe pair to receive status results from the forked child, and
12290 ignore the result from waitpid. Fixes #355499
12292 2006-10-02 Wim Taymans <wim@fluendo.com>
12294 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12295 (gst_ghost_pad_suite):
12298 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12301 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12303 2006-10-02 Edward Hervey <edward@fluendo.com>
12305 * docs/design/part-block.txt:
12306 Further explain the use of flushing on blocked pads.
12307 * docs/gst/gstreamer-sections.txt:
12308 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12309 (gst_pad_push_event):
12311 Added new GstPadFlag : GST_PAD_BLOCKING.
12312 Adds the notion of pads really blocking, which enables to properly
12313 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12315 API: gst_pad_is_blocking()
12316 API: GST_PAD_IS_BLOCKING() macro
12317 API: GST_PAD_BLOCKING GstPadFlag
12319 2006-10-02 Wim Taymans <wim@fluendo.com>
12321 Patch by: mrcgran <mrc.gran at gmail dot com>
12323 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12324 Filter the proxied caps against the padtemplate if we have one.
12326 * gst/gstquery.c: (gst_query_new_segment):
12327 Add include for gstinfo.h so that compilation with
12328 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12330 2006-10-02 Wim Taymans <wim@fluendo.com>
12332 Patch by: Alessandro Decina <alessandro at nnva org>
12334 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12335 (gst_file_sink_set_location), (gst_file_sink_open_file),
12336 (gst_file_sink_close_file), (gst_file_sink_event),
12337 (gst_file_sink_render):
12338 Set file to NULL when closing filesink so that we can set a new filename
12339 in READY. Fixes #358613.
12341 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12343 Patch by: Alessandro Decina <alessandro at nnva org>
12345 * gst/gstevent.c: (_gst_event_copy):
12346 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12347 with event structures by setting the parent refcount address of the
12348 copied structure to the address of the refcount member of the newly
12349 copied event rather than the address of the refcount member of the
12350 original event. Fixes #358737.
12352 * tests/check/gst/gstevent.c: (GST_START_TEST):
12353 Unit test for the above.
12355 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12357 * docs/design/Makefile.am:
12358 Dist some more files.
12360 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12362 * tests/check/libs/controller.c: (GST_START_TEST),
12363 (gst_controller_suite):
12364 Add test for the previous fix; add some more tests
12365 for correct refcounting behaviour; fix a few leaks
12366 in test cases; call gst_controller_init() at start
12369 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12371 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12372 (gst_controller_set_from_list):
12373 Don't g_return_val_if_fail() on timed values with invalid timestamps
12374 inside a critical section without unlocking the mutex. Spotted by
12375 René Stadler. (#357617)
12376 Also, fix up refcounting properly: when returning an existing
12377 controller, we should increase the reference only once and not
12378 once per property and when trying to control a property again
12379 we should also increase the refcount.
12381 2006-09-29 Wim Taymans <wim@fluendo.com>
12383 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12384 * libs/gst/net/gstnettimeprovider.c:
12385 (gst_net_time_provider_thread):
12386 Stop reading commands when EOF as well.
12388 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12389 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12390 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12391 Unify description of the dump property.
12393 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12395 * tests/examples/manual/.cvsignore:
12396 OK, so it's actually cvsignore that needs changing. Stop laughing.
12398 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12400 * tests/examples/manual/Makefile.am:
12401 Gah, declare vars *before* using them
12403 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12405 * gst/gst.c: (init_pre), (scan_and_update_registry),
12406 (ensure_current_registry_nonforking),
12407 (ensure_current_registry_forking), (ensure_current_registry),
12408 (init_post), (gst_debug_help), (gst_deinit):
12409 * gst/gst_private.h:
12410 * gst/gstregistry.c: (gst_registry_finalize),
12411 (gst_registry_remove_features_for_plugin_unlocked),
12412 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12413 (gst_registry_scan_path),
12414 (_priv_gst_registry_remove_cache_plugins),
12415 (_priv_gst_registry_cleanup):
12416 * gst/gstregistry.h:
12417 Re-commit the registry changes, along with an extra fix:
12418 When a cached plugin is encountered at a different file path,
12419 update the stored path in the registry cache so that the parent
12420 process knows where it actually is now when it re-reads the registry
12421 cache. Fixes the thing that broke distcheck with the previous commit.
12423 * tests/check/Makefile.am:
12424 Clean up files named 'core' too when running make clean.
12426 * tests/examples/manual/Makefile.am:
12427 Set up a registry path for running these tests, and clean it properly
12430 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12433 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12434 want gmodule-no-export-2.0.pc instead so that we don't drag in
12435 --export-dynamic on every project that links to GStreamer.
12437 Also, make our export regex only match the start of symbols, rather
12438 than any symbol that contains '_gst' somewhere.
12440 * libs/gst/check/Makefile.am:
12441 The libgstcheck we build does however need export-dynamic, as it
12442 produces some symbols that don't match our _gst... style regex.
12445 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12447 * gst/gst.c: (init_pre), (scan_and_update_registry),
12448 (ensure_current_registry_nonforking),
12449 (ensure_current_registry_forking), (ensure_current_registry),
12450 (init_post), (gst_debug_help), (gst_deinit):
12451 * gst/gst_private.h:
12452 * gst/gstregistry.c: (gst_registry_finalize),
12453 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12454 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12455 (_gst_registry_cleanup):
12456 * gst/gstregistry.h:
12457 Revert previous change until I figure out why it breaks distcheck.
12459 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12461 * gst/gst.c: (init_pre), (scan_and_update_registry),
12462 (ensure_current_registry_nonforking),
12463 (ensure_current_registry_forking), (ensure_current_registry),
12464 (init_post), (gst_debug_help), (gst_deinit):
12466 Make init_pre and init_post take the full complement of GOptionFunc
12467 args so they can return useful GErrors. Make the registry updating
12470 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12471 ensure that the registry we're about to write out doesn't contain
12472 stale information about old-deleted plugin files.
12474 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12475 that deletion of plugin files is considered a registry change.
12477 * gst/gst_private.h:
12478 * gst/gstregistry.c: (gst_registry_finalize),
12479 (gst_registry_remove_features_for_plugin_unlocked),
12480 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12481 (gst_registry_scan_path),
12482 (_priv_gst_registry_remove_cache_plugins),
12483 (_priv_gst_registry_cleanup):
12484 * gst/gstregistry.h:
12485 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12486 by adding _priv prefix, so that they won't appear in the global
12487 symbol table. They still do atm though because of #318031. Move the
12488 prototypes to gst_private.h
12490 When removing a plugin, remove all features for that plugin too.
12493 2006-09-27 Wim Taymans <wim@fluendo.com>
12495 * docs/random/moving-plugins:
12496 Make it clear that the "compiled-in descriptions" really mean
12497 the element details.
12499 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12500 (gst_base_sink_wait_preroll):
12503 * docs/libs/gstreamer-libs-sections.txt:
12504 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12505 (gst_base_src_get_range), (gst_base_src_activate_push):
12506 * libs/gst/base/gstbasesrc.h:
12507 Added function to block while waiting for PLAYING, this function
12508 is used by live sources that block on the clock.
12509 API: gst_base_src_wait_playing()
12511 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12513 Patch by: Peter Kjellerstedt <pkj at axis com>
12516 gst-element-check.m4 is generated and should therefore be
12517 copied from the build dir rather than the source dir (#357593).
12518 'make distcheck' hasn't noticed this because we were disting
12519 the file as well, so stop doing that.
12521 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12523 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12524 Add some tests for gst_caps_intersect().
12526 * tools/gst-launch.c: (event_loop):
12527 Print all buffering percentages we get, even the 100% one.
12529 2006-09-26 Wim Taymans <wim@fluendo.com>
12531 * tools/gst-inspect.c: (print_element_properties_info),
12532 (print_signal_info):
12533 Fix printing of flags to match the look of enums.
12535 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12537 * gst/gstelementfactory.c:
12538 Fix typo in docs blurb.
12540 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12542 * gst/gsturi.c: (search_by_entry):
12543 Don't assert/crash here if a uri handler doesn't return any
12544 supported protocols. The list of protocols could be generated
12545 dynamically at runtime or at plugin registration, and an error
12546 in the underlying library shouldn't be fatal (#353301).
12548 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12551 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12552 (spotted by Peter Kjellerstedt).
12554 2006-09-23 Wim Taymans <wim@fluendo.com>
12556 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12558 * libs/gst/base/gstbasesrc.c:
12559 (gst_base_src_default_check_get_range), (gst_base_src_start),
12560 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12561 (gst_base_src_change_state):
12562 Match _start/_stop calls in the activate functions. Remove redundant
12563 _stop call from the state change function. Fixes #356910.
12564 Turn failure DEBUG into ERROR.
12566 2006-09-22 Wim Taymans <wim@fluendo.com>
12568 * docs/design/part-buffering.txt:
12569 * gst/gstmessage.c: (gst_message_new_buffering),
12570 (gst_message_parse_buffering):
12571 Update docs about buffering.
12573 * docs/design/part-trickmodes.txt:
12576 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12578 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12579 (gst_controller_new_list):
12580 Ref instances when returning them again (fixes #357180)
12582 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12584 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12585 Don't forget to release proxy lock when there's an error.
12587 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12590 Add extra initialisers for Caps things, to fix some plugin warnings
12593 2006-09-18 Wim Taymans <wim@fluendo.com>
12595 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12596 Also set template on the internal pad so that a getcaps from the
12597 target pad returns the template caps.
12599 2006-09-18 Wim Taymans <wim@fluendo.com>
12601 * gst/gstelement.c: (gst_element_post_message),
12602 (gst_element_dispose):
12603 Use _DEBUG_OBJECT some more.
12605 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12608 * tools/gst-launch.c: (main):
12609 If the toplevel element is not a GstPipeline, it must be put in a
12610 pipeline so that a bus and clock is selected.
12612 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12614 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12615 JITTER, RATE, and LATENCY query should be handled by the
12616 default case and not by the CONVERT query code.
12618 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12620 * gst/gstformat.c: (gst_format_register):
12621 Fix locking order (must take lock before using n_values).
12623 * gst/gstvalue.c: (gst_value_serialize_enum),
12624 (gst_value_deserialize_enum_iter_cmp),
12625 (gst_value_deserialize_enum):
12626 Fix serialisation/deserialisation of custom registered GstFormats.
12628 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12629 Unit test for custom format serialisation/deserialisation.
12631 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12633 * docs/pwg/building-boiler.xml:
12634 * plugins/elements/gstcapsfilter.c:
12635 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12638 2006-09-16 Edward Hervey <edward@fluendo.com>
12640 * libs/gst/base/gstbasetransform.c:
12641 (gst_base_transform_buffer_alloc):
12642 Check if requested caps are the same as the sinks caps IF
12643 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12645 This fixes the renegotiation issues stated in #352827.
12647 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12650 * docs/manual/advanced-autoplugging.xml:
12651 * tests/examples/Makefile.am:
12652 * tests/examples/manual/.cvsignore:
12653 * tests/examples/manual/Makefile.am:
12654 * tests/examples/manual/extract.pl:
12655 Extract the manual examples again like we used to do.
12658 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12660 * win32/common/config.h:
12663 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12666 Documents how to receive errors.
12668 2006-09-15 Wim Taymans <wim@fluendo.com>
12670 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12671 (event_loop), (main):
12672 Added some comments here and there.
12673 Post an application message when an interrupt is caught instead of doing
12674 an uncontrolled state change.
12675 Clean up the event loop.
12676 Handle buffering messages, pause/resume the pipeline.
12677 Make shutdown because of an interrupt more reliable.
12679 2006-09-15 Wim Taymans <wim@fluendo.com>
12681 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12682 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12683 (gst_base_sink_preroll_object):
12684 Make sure that our internal state is correct when we commit our state
12685 asynchronously. This solves a race where a state change to PLAYING
12686 could cause the sink to remain blocked in preroll in some situations.
12688 2006-09-15 Wim Taymans <wim@fluendo.com>
12690 * tools/gst-inspect.c: (print_element_properties_info),
12691 (print_signal_info):
12692 List flags as hex so it's easier to deal with.
12694 2006-09-15 Wim Taymans <wim@fluendo.com>
12696 * docs/libs/gstreamer-libs-sections.txt:
12697 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12698 (gst_base_sink_do_sync):
12699 * libs/gst/base/gstbasesink.h:
12700 Expose logic to wait for preroll so that subclasses such as audiosink
12701 can also use this method.
12702 API: gst_base_sink_wait_preroll()
12704 2006-09-15 Wim Taymans <wim@fluendo.com>
12706 * gst/gstobject.c: (gst_object_set_parent):
12707 * gst/gstpipeline.c: (do_pipeline_seek):
12708 Small cleanups in docs and code.
12710 * gst/gstsegment.c: (gst_segment_clip):
12711 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12712 if stop == start and start is in the segment, no clipping should be
12713 done. Also add a test for this.
12715 2006-09-15 Wim Taymans <wim@fluendo.com>
12717 * docs/design/part-buffering.txt:
12718 * docs/gst/gstreamer-sections.txt:
12719 * gst/gstmessage.c: (gst_message_new_buffering),
12720 (gst_message_parse_buffering):
12721 * gst/gstmessage.h:
12722 Added methods to create and parse BUFFERING messages.
12723 Added preliminary docs about buffering.
12724 API: gst_message_new_buffering
12725 API: gst_message_parse_buffering
12727 2006-09-06 Wim Taymans <wim@fluendo.com>
12730 Update documentation.
12732 * gst/gstelement.c: (gst_element_class_init),
12733 (gst_element_release_request_pad), (gst_element_set_clock),
12734 (gst_element_get_index), (gst_element_add_pad),
12735 (gst_element_remove_pad), (gst_element_get_random_pad),
12736 (gst_element_send_event), (gst_element_get_query_types),
12737 (gst_element_query), (gst_element_post_message),
12738 (gst_element_message_full), (gst_element_continue_state),
12739 (gst_element_lost_state), (gst_element_save_thyself),
12740 (gst_element_restore_thyself):
12741 Documentation updates.
12742 Rename last bit of the new-pad -> pad-added signal rename.
12743 Fix the case where an element query would only work if the source
12745 Avoid some useless type checking in message handling.
12750 Documentation updates.
12752 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12754 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12755 add an INFO line for when we actually update the fd
12757 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12762 === release 0.10.10 ===
12764 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12767 releasing 0.10.10, "Pais"
12769 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12771 * docs/manual/advanced-position.xml:
12772 Fix typo in sample code.
12774 2006-09-05 Wim Taymans <wim@fluendo.com>
12776 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12777 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12778 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12779 * libs/gst/net/gstnetclientclock.h:
12780 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12781 * libs/gst/net/gstnettimepacket.h:
12782 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12783 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12784 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12785 * libs/gst/net/gstnettimeprovider.h:
12786 Make stuff compile on windows. Fixes #345295.
12788 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12790 * gst/gst.c: (ensure_current_registry_forking):
12791 Print better details when child was terminated by signal.
12793 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12795 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12796 Print a warning rather than g_assert() if a plugin feature
12797 is a URI handler but returns no protocols (#353976).
12799 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12801 * docs/random/moving-plugins:
12804 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12806 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12807 Fix locking order, handle NULL function values properly.
12812 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12813 Initialise variable before using it and fix debug statement to
12814 print the address of the function rather than the address of the
12815 variable on the stack holding the address of the function.
12817 2006-09-01 Wim Taymans <wim@fluendo.com>
12819 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12820 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12821 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12822 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12823 (gst_ghost_pad_parent_unset),
12824 (gst_ghost_pad_internal_do_activate_push),
12825 (gst_ghost_pad_internal_do_activate_pull),
12826 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12827 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12828 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12829 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12830 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12831 (gst_ghost_pad_new_no_target_from_template),
12832 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12834 Avoid needless typechecking in macros.
12835 Since the internal pad is always present and never changes, there is
12836 no need to locking or ref when retrieving it.
12837 Improve debugging a bit.
12838 Handle link errors when setting the target. Fixes #341029.
12840 2006-09-01 Wim Taymans <wim@fluendo.com>
12842 * docs/libs/gstreamer-libs-sections.txt:
12843 * docs/plugins/gstreamer-plugins-sections.txt:
12844 Fix docs some more.
12846 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12847 (gst_collect_pads_event):
12848 * libs/gst/base/gstcollectpads.h:
12849 Documentation updates.
12850 Free queued buffer when removing a pad.
12852 2006-08-31 Michael Smith <msmith@fluendo.com>
12854 * gst/gstutils.c: (gst_element_link_pads),
12855 (gst_element_link_pads_filtered):
12856 Ensure that we set a capsfilter to NULL if we failed to link it
12857 when doing filtered linking, to avoid criticals.
12859 No need to check for unreffing srcpad, which is explicly NULLed
12860 above (a trivial code cleanup).
12862 2006-08-31 Wim Taymans <wim@fluendo.com>
12864 * docs/design/part-gstghostpad.txt:
12865 Update ascii art in documentation.
12867 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12868 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12869 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12870 (gst_ghost_pad_internal_do_activate_push),
12871 (gst_ghost_pad_internal_do_activate_pull),
12872 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12873 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12874 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12875 (gst_ghost_pad_set_target):
12876 Small cleanups and leak fixes.
12877 Remove some checks now that the internal pad is never NULL.
12878 Fix the case where linking pads without a target would create nasty
12879 criticals. Fixes #341029.
12880 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12881 value of _set_target().
12883 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12884 (gst_ghost_pad_suite):
12885 Some more tests for creating and linking untargeted ghostpads.
12887 2006-08-31 Edward Hervey <edward@fluendo.com>
12889 * docs/gst/gstreamer-sections.txt:
12890 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12891 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12892 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12893 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12894 (gst_ghost_pad_new_from_template),
12895 (gst_ghost_pad_new_no_target_from_template):
12896 * gst/gstghostpad.h:
12897 Refactored *_new() functions.
12898 Templates are now used as a g_object_new() parameter.
12899 Use template in _do_getcaps() if we don't have a target.
12900 Small documentation cleanups.
12901 Added two new constructors:
12902 gst_ghost_pad_new_from_template()
12903 gst_ghost_pad_new_no_target_from_template()
12904 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12905 (gst_ghost_pad_suite):
12906 Added tests for new ghostpad instanciation functions.
12908 API additions: gst_ghost_pad_new_from_template,
12909 gst_ghost_pad_new_no_target_from_template
12911 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12913 * docs/random/ensonic/profiling.txt:
12914 Ideas about qos profiling.
12916 2006-08-29 Wim Taymans <wim@fluendo.com>
12918 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12922 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12925 Improve and detypofy docs.
12927 * tests/check/Makefile.am:
12928 * tests/check/gst/.cvsignore:
12929 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12930 Add a basic test suite for GstXML.
12932 2006-08-29 Wim Taymans <wim@fluendo.com>
12934 * gst/gstelement.c: (activate_pads), (clear_caps),
12935 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12936 Clear the pad caps when the element shut down all of the pads and
12937 is not streaming data that could modify the caps.
12940 2006-08-28 Michael Smith <msmith@fluendo.com>
12942 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12943 Revert previous change; I misunderstood single-segment mode.
12945 2006-08-28 Michael Smith <msmith@fluendo.com>
12947 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12948 Unset DISCONT on buffers when using single-segment mode.
12950 2006-08-28 Wim Taymans <wim@fluendo.com>
12952 * gst/gstcaps.c: (gst_caps_merge_structure):
12954 Fix docs and indentation again.
12956 * tests/check/gst/gstquery.c: (GST_START_TEST):
12957 Fix leak in tests and add some more tests.
12959 2006-08-28 Edward Hervey <edward@fluendo.com>
12961 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12962 Inform GstSegment of the last stop position in order for the current
12963 segment to have a proper duration if it doesn't have a specific stop
12964 position from which a duration could be calculated.
12965 This bug was noticeable when a non-flushing, non-update new segment was
12966 followed by another segment (all buffers from the new segment were being
12969 2006-08-28 Wim Taymans <wim@fluendo.com>
12971 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12972 Small comment update.
12974 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12975 (gst_identity_transform_ip):
12976 Drop-probability is broken, mention this in the code with a
12977 FIXME and also in the property description.
12978 Make silent also be silent about the drop messages.
12980 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12982 * docs/manual/appendix-win32.xml:
12983 Remove mention of popt, we don't depend on that any
12984 longer (#353136). Add some comments pointing out that
12985 this section is slightly outdated.
12987 2006-08-28 Wim Taymans <wim@fluendo.com>
12989 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12991 * gst/gstquery.c: (gst_query_new_segment):
12992 * tests/check/gst/gstquery.c: (GST_START_TEST):
12993 Initialize variables when creating a new segment query.
12996 2006-08-28 Wim Taymans <wim@fluendo.com>
12998 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13000 * gst/gstelement.c: (gst_element_get_bus):
13001 * tests/check/gst/gstelement.c: (GST_START_TEST):
13002 Check for NULL before _reffing the bus. Fixes #353122.
13004 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
13006 * docs/manual/basics-bus.xml:
13007 Docs update: fix wrong callback return value explanation; add
13008 some lines about the implicit relationship between main loop
13009 and main context; remove duplicate main loop variable declaration.
13011 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
13013 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13014 Don't leak caps in unit test; add a few more simple
13017 2006-08-24 Stefan Kost <ensonic@users.sf.net>
13019 * docs/gst/gstreamer-sections.txt:
13020 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
13021 (gst_caps_structure_is_subset), (gst_caps_merge),
13022 (gst_caps_merge_structure):
13024 * libs/gst/base/gstbasetransform.c:
13025 (gst_base_transform_transform_caps):
13026 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13027 implement caps merging (fixes #352580)
13029 2006-08-23 Stefan Kost <ensonic@users.sf.net>
13031 * tools/Makefile.am:
13032 * tools/gst-plot-timeline.py:
13033 add debug-log plotting developer tool (#340674)
13035 2006-08-23 Wim Taymans <wim@fluendo.com>
13037 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
13038 (gst_pad_stop_task):
13039 Improve debugging for task functions.
13041 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
13042 (gst_task_start), (gst_task_pause), (gst_task_join):
13043 Make sure that the task function started and finished after a
13045 Don't try to push the task function on the threadpool multiple
13047 Improve the g_warning message with some useful suggestions
13048 about how to fix the problem.
13050 2006-08-23 Wim Taymans <wim@fluendo.com>
13052 * gst/gstutils.c: (gst_pad_proxy_getcaps):
13053 Handle RESYNC correctly in _proxy_getcaps.
13055 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
13057 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
13058 (gst_xml_parse_memory), (gst_xml_get_element):
13059 Chain up to parent class in dispose function and also
13060 unref the elements in the toplevel_elements GList.
13061 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
13062 Always return a reference in gst_xml_get_element() rather
13063 than only sometimes.
13065 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13066 Don't leak GstXml object.
13068 2006-08-21 Stefan Kost <ensonic@users.sf.net>
13070 * docs/gst/gstreamer-sections.txt:
13071 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
13074 * libs/gst/base/gstbasetransform.c:
13075 (gst_base_transform_transform_caps):
13076 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
13079 2006-08-21 Edward Hervey <edward@fluendo.com>
13081 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
13082 Implement GObject::dispose virtual method in GstXML so we can free the
13083 top_elements GList.
13085 2006-08-21 Wim Taymans <wim@fluendo.com>
13087 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
13088 (gst_buffer_create_sub):
13089 Copy duration/offset_end/caps when creating a subbuffer of the
13091 Make the subbuffer read-only when we make the metadata writable for
13092 now. Fixes #351768.
13094 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13095 Added check for metadata copy when creating subbuffers.
13097 2006-08-21 Edward Hervey <edward@fluendo.com>
13099 * libs/gst/base/gstbasetransform.c:
13100 (gst_base_transform_buffer_alloc):
13101 Only call downstream buffer_alloc if transform element is passthrough
13102 or always_in_place. Closes #350449.
13104 2006-08-20 Stefan Kost <ensonic@users.sf.net>
13107 ChangeLog surgery to add comments to previous changes
13109 2006-08-20 Stefan Kost <ensonic@users.sf.net>
13114 * gst/gstpad.c: (gst_pad_set_active):
13115 Be more verbose in the log
13117 * libs/gst/base/gstbasetransform.c:
13118 (gst_base_transform_transform_caps):
13119 Simplify caps to get rid of duplicates, fixes #345444
13121 2006-08-20 Stefan Kost <ensonic@users.sf.net>
13125 Use these optimizations only internally.
13127 2006-08-20 Stefan Kost <ensonic@users.sf.net>
13129 * gst/gstvalue.c: (gst_value_compare_list),
13130 (gst_value_compare_fraction_range),
13131 (gst_value_intersect_fraction_fraction_range),
13132 (gst_value_intersect_fraction_range_fraction_range),
13133 (gst_value_subtract_fraction_fraction_range),
13134 (gst_value_subtract_fraction_range_fraction_range),
13135 (gst_value_get_compare_func), (gst_value_compare),
13136 (gst_value_compare_with_func):
13138 Saves the expensive lookup of the compare function in many cases
13141 2006-08-18 Edward Hervey <edward@fluendo.com>
13143 * tests/check/gst/gstinfo.c: (gst_info_suite):
13144 Disable test that require gstdebug if it wasn't built in core.
13146 2006-08-18 Stefan Kost <ensonic@users.sf.net>
13148 * docs/random/ensonic/logging.txt:
13151 * gst/gstinfo.c: (gst_debug_log_default):
13152 reorder fields, save some columns, add optional color codes for log
13155 2006-08-18 Stefan Kost <ensonic@users.sf.net>
13157 * docs/random/ensonic/logging.txt:
13158 add ideas about making the logs a bit more useful
13160 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
13162 * docs/pwg/advanced-events.xml:
13163 * docs/pwg/titlepage.xml:
13164 Update for 0.10 API (#340627). Add myself
13167 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
13169 * docs/libs/gstreamer-libs-docs.sgml:
13170 * docs/libs/gstreamer-libs-sections.txt:
13171 * libs/gst/check/gstbufferstraw.c:
13172 Make gstcheck stuff show up in docs (still needs to
13173 be documented properly though).
13175 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
13177 * docs/gst/gstreamer-sections.txt:
13179 * gst/gst.c: (init_post):
13180 * gst/gst_private.h:
13181 * gst/gstquark.c: (_priv_gst_quarks_initialize):
13183 * gst/gstquery.c: (gst_query_new_position),
13184 (gst_query_set_position), (gst_query_parse_position),
13185 (gst_query_new_duration), (gst_query_set_duration),
13186 (gst_query_parse_duration), (gst_query_new_convert),
13187 (gst_query_set_convert), (gst_query_parse_convert),
13188 (gst_query_new_segment), (gst_query_set_segment),
13189 (gst_query_parse_segment), (gst_query_new_seeking),
13190 (gst_query_set_seeking), (gst_query_parse_seeking):
13191 Add internal helpers for pre-registering quarks from static strings
13192 and using the quark values directly instead of looking them up when
13193 creating and parsing queries. Can be used for event construction too.
13196 2006-08-16 Wim Taymans <wim@fluendo.com>
13201 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13203 * gst/gstutils.c: (gst_util_set_value_from_string):
13204 Fix memleak (#351502).
13206 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13207 Add unit test for most of gst_util_set_value_from_string()
13208 (not that one would want to encourage use of this function).
13210 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13212 * libs/gst/check/gstcheck.h:
13213 Use const gchar * variables in fail_unless_equals_string
13214 macro to avoid compiler warnings (and don't use tabs for
13217 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13219 * tools/gst-launch.c: (print_tag):
13220 More space on the left for the tag names, to cater
13221 for the 'extended comment' tag (not touching the
13222 string for the first line since it's translated).
13224 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13226 * libs/gst/check/gstcheck.h:
13227 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13228 print something when they fail.
13230 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13232 * docs/gst/gstreamer-sections.txt:
13233 * gst/gsttaglist.c: (_gst_tag_initialize):
13234 * gst/gsttaglist.h:
13235 API: add GST_TAG_EXTENDED_COMMENT (#350935).
13236 Also change merge function for GST_TAG_COMMENT to
13239 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13241 * gst/gstinfo.c: (gst_debug_print_object):
13242 Make GST_PTR_FORMAT print messages as well.
13244 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13245 (GST_START_TEST), (gst_info_suite):
13248 2006-08-14 Edward Hervey <edward@fluendo.com>
13250 * gst/gstelementfactory.c: (gst_element_register):
13251 If the GstElementClass doesn't have a GstElementDetails with all fields
13252 filled up correctly (longname, description AND author), then error out
13253 nicely instead of crashing.
13255 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13257 * gst/gststructure.c:
13258 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13261 Expand on the difference between arrays and lists as we use them.
13263 2006-08-14 Wim Taymans <wim@fluendo.com>
13265 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13266 If the parent state change function failed, don't assume we can safely
13267 stop the source, this will be done when the pads are deactivated.
13269 2006-08-14 Wim Taymans <wim@fluendo.com>
13272 * gst/gsttask.c: (gst_task_join):
13275 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13276 (gst_pad_stop_task):
13277 When pad (de)activation failed for some reason, restore the old
13278 activation mode and set the pad to flushing instead of assuming the
13279 pad is deactivated.
13280 If the _task_join() failed, reinstall the task on the pad so that it can
13281 be stopped later and return an error.
13283 2006-08-11 Andy Wingo <wingo@pobox.com>
13286 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13287 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13288 is only for users of API that don't want to see deprecated
13289 functions in the headers; people that want to compile out
13290 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13291 CFLAGS. Fixes the build of multifdsink, or will soon..
13293 2006-08-11 Wim Taymans <wim@fluendo.com>
13295 * docs/gst/gstreamer-sections.txt:
13296 Add GstClockClass vmethod docs.
13299 Mark #endif with comment for associated #if
13301 * gst/gstclock.c: (gst_clock_id_wait):
13303 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13304 most clock implementations.
13306 Flesh out docs about resolution methods.
13307 API: GstClockClass::wait_jitter
13309 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13310 (gst_system_clock_async_thread),
13311 (gst_system_clock_id_wait_jitter_unlocked),
13312 (gst_system_clock_id_wait_jitter):
13313 Use base class wait_jitter variant for improved performance
13314 due to less clock polling.
13316 2006-08-11 Edward Hervey <edward@fluendo.com>
13318 * gst/gst.c: (gst_init_check), (init_post):
13319 Set gst as being initialized before scanning/updating the registry,
13320 since there might be my python plugin loader that calls gst_init() and
13321 we don't want to loop back in.
13324 2006-08-11 Wim Taymans <wim@fluendo.com>
13326 * docs/design/part-qos.txt:
13327 Bring docs in line with the code. Mostly the sign of the jitter was
13328 wrong in the docs. Fixes #349943.
13331 Fix the docs for the jitter.
13333 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13334 (gst_event_parse_tag), (gst_event_new_buffer_size),
13335 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13336 (gst_event_new_seek), (gst_event_parse_seek),
13337 (gst_event_new_navigation):
13338 Make sure the GstStructure has no parent when creating custom
13340 Add some more argument checking so that we avoid 0.0 rates.
13341 Flesh out the docs for the QoS event some more.
13343 2006-08-11 Wim Taymans <wim@fluendo.com>
13345 * docs/gst/gstreamer-sections.txt:
13346 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13347 (ensure_current_registry_forking), (ensure_current_registry),
13348 (parse_one_option), (parse_goption_arg), (gst_deinit),
13349 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13352 Added API and command line option to disable registry forking in
13353 addition to the environment variable.
13354 Constify some static arrays.
13355 Added some more debug.
13356 Don't deinit twice.
13357 API: gst_registry_fork_is_enabled()
13358 API: gst_registry_fork_set_enabled()
13359 API: --gst-disable-registry-fork command line option
13362 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13364 * gst/gst.c: (gst_init):
13365 Fix typo in error message.
13367 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13369 * libs/gst/controller/gstcontroller.h:
13370 fix ABI size-correction
13372 * tests/check/libs/gdp.c: (gst_dp_suite):
13373 make tests that use deprecated API conditional
13375 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13377 * docs/libs/gstreamer-libs-sections.txt:
13378 * libs/gst/controller/gstcontroller.c:
13379 (_gst_controller_get_property), (_gst_controller_set_property),
13380 (_gst_controller_init), (_gst_controller_class_init):
13381 * libs/gst/controller/gstcontroller.h:
13382 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13383 (gst_object_set_control_rate):
13384 API: add gst_object_{s,g}et_control_rate(), add private data section,
13387 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13388 * libs/gst/dataprotocol/dataprotocol.h:
13389 add deprecation guards to make gtk-doc happy and allow disabling cruft
13391 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13393 * tests/check/Makefile.am:
13394 * tests/check/gst/.cvsignore:
13395 Let's enable the new unit test as well.
13397 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13400 * docs/gst/gstreamer-sections.txt:
13401 * gst/gstconfig.h.in:
13402 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13403 (_gst_info_printf_extension_ptr),
13404 (_gst_info_printf_extension_segment):
13405 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13406 register that lets us easily dump GstSegments into debug
13409 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13410 (info_segment_format_printf_extension), (gst_info_suite):
13411 Add simple unit test that logs a bunch of different segments (not
13412 valgrinded at the moment because of leaks in
13413 gst_debug_add_log_function).
13415 2006-08-09 Edward Hervey <edward@fluendo.com>
13417 * libs/gst/base/gstbasetransform.c:
13418 (gst_base_transform_buffer_alloc):
13419 Even if we can't figure out the proper format to request downstream,
13420 call buffer_alloc() downstream with the input parameters without setting
13421 the caps on the srcpad. This will force negotiation in the chain
13425 2006-08-08 Edward Hervey <edward@fluendo.com>
13427 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13428 Unlinking from a pad without a target is now a perfectly valid case
13429 which should NOT raise an assertion.
13430 This case would happen if a linked ghostpad its target set to NULL after
13431 it was previously linked.
13433 2006-08-08 Edward Hervey <edward@fluendo.com>
13435 * tests/check/libs/gdp.c:
13436 Also comment out the test (see below).
13438 2006-08-08 Edward Hervey <edward@fluendo.com>
13440 * tests/check/libs/gdp.c: (gst_dp_suite):
13441 Use the architecture information from config.h and not gcc macros
13442 in order to properly disable a test that fails on PPC64.
13444 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13446 * gst/gstelement.c: (gst_element_remove_pad):
13447 Don't crash printing the warning if the pad has no parent.
13449 2006-08-02 Wim Taymans <wim@fluendo.com>
13451 * libs/gst/dataprotocol/dataprotocol.c:
13452 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13453 (gst_dp_crc), (gst_dp_header_payload_length),
13454 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13455 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13456 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13457 (gst_dp_event_from_packet), (gst_dp_validate_header),
13458 (gst_dp_validate_payload):
13459 Make debug category static
13460 Constify the crc table.
13461 Do some more arg checking in public functions.
13462 Fix some docs and do some small cleanups.
13464 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13465 Add some more checks to see if GDP deals with bogus input.
13467 2006-07-31 Wim Taymans <wim@fluendo.com>
13469 * gst/gstvalue.c: (gst_value_compare_list):
13470 Fix GstValueList comparison code. Fixes #347293.
13472 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13473 Check to test GstValueList comparison.
13475 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13477 * gst/gstelementfactory.c: (gst_element_factory_create):
13478 Remove unnecessary ref/unref pair
13480 * gst/parse/grammar.y:
13481 Make sure to free the parse buffer on all code paths.
13482 Move a g_free up to the error handler where it's easier to see.
13484 * tests/check/gst/gstevent.c: (test_event):
13485 Extending timeout for downstream travelling events to 10 seconds to
13486 hopefully avoid intermittent failure on the buildbots.
13488 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13489 Don't manually set the state of the src element - it will happen as a
13490 natural consequence of the pipeline changing state, and that way it
13491 will do it in the right order too.
13493 2006-07-31 Wim Taymans <wim@fluendo.com>
13495 * libs/gst/base/gstbasetransform.c:
13496 (gst_base_transform_buffer_alloc):
13497 Use OBJECT_LOCK and refcounting to get the pad caps in the
13498 buffer_alloc function because the caps could change while we are
13499 busy with them. Fixes #349105
13501 2006-07-31 Wim Taymans <wim@fluendo.com>
13503 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13504 Protect _PAD_CAPS with OBJECT_LOCK.
13506 2006-07-31 Wim Taymans <wim@fluendo.com>
13508 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13509 (gst_pad_get_property), (gst_pad_activate_pull),
13510 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13511 (gst_pad_set_activate_function),
13512 (gst_pad_set_activatepull_function),
13513 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13514 (gst_pad_set_getrange_function),
13515 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13516 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13517 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13518 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13519 (gst_pad_set_acceptcaps_function),
13520 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13521 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13522 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13523 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13524 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13525 (gst_pad_configure_sink), (gst_pad_configure_src),
13526 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13527 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13528 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13529 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13530 (gst_pad_send_event):
13531 Use _DEBUG_OBJECT when it makes sense.
13532 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13533 Small cleanups and code reflows.
13534 Avoid caps refcounting in _accept_caps.
13535 Refactor alloc_buffer so that the code performed on the peer is in a
13536 separate function. Also if the pad does not implement a buffer alloc
13537 function, we should still check if the pad is flushing before falling
13538 back to the default allocator.
13540 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13542 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13543 Make all uses of identity and fakesink have silent=true to avoid
13544 serialising every passing data structure, which is breaking tests
13545 on FC4 for some unknown reason.
13547 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13549 * gst/parse/Makefile.am:
13550 * gst/parse/grammar.y:
13551 * gst/parse/parse.l:
13552 Reverted previous patch as it required to bump the flex dependency to
13553 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13555 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13557 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13559 * gst/parse/Makefile.am:
13560 * gst/parse/grammar.y:
13561 * gst/parse/parse.l:
13562 push & pop the state of the lexer for reentrant use case
13565 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13567 * libs/gst/base/gstbasesrc.h:
13568 Note in the docs that the ::newsegment vfunc is not actually used by
13571 2006-07-28 Wim Taymans <wim@fluendo.com>
13573 * libs/gst/base/gstcollectpads.c:
13574 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13575 (gst_collect_pads_clear), (gst_collect_pads_flush),
13576 (gst_collect_pads_event), (gst_collect_pads_chain):
13577 When flushing a pad, also clear the queued buffer so that we don't
13578 accidentally use it when we shouldn't.
13579 Fix leaks by inreffing incomming buffer.
13580 Flush out queued buffers in case of errors.
13583 2006-07-28 Wim Taymans <wim@fluendo.com>
13585 * docs/random/phonon-gst:
13586 Random notes about a Phonon backend.
13588 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13590 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13592 * tests/check/libs/gdp.c: (gst_dp_suite):
13593 Take a whack at fixing the ppc compile using a different define to
13594 disable the broken test.
13596 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13597 Remove excess g_print()
13599 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13601 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13602 Oops, meant to uncomment this line too to dampen the noise a bit.
13604 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13606 * gst/parse/grammar.y:
13607 * gst/parse/parse.l:
13608 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13609 (GST_START_TEST), (parse_suite):
13610 Fix some of the leaks exposed by extending the parse-launch testsuite,
13611 and move the 3 I can't figure out into a separate test that won't run
13612 the pipelines unless the appropriate line is uncommented.
13614 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13616 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13617 Requesting 0 bytes before the end of the file should result in
13618 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13621 2006-07-27 Wim Taymans <wim@fluendo.com>
13623 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13624 Fix useless assert, a uint is always positive.
13626 * gst/gststructure.c: (gst_structure_nth_field_name),
13627 (gst_structure_foreach), (gst_structure_map_in_place):
13628 Check input arguments for public functions to avoid obvious crashes.
13630 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13631 * plugins/elements/gstfakesink.h:
13632 Do less useless typechecking.
13634 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13636 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13637 Do not use mmap() by default since there are a number of error
13638 conditions that we would like to handle in a non-fatal way that
13639 will result in a SIGBUS if we use mmap(). Examples: external
13640 devices (USB harddrive, portable music player) being unplugged
13641 while in use; file on mounted CD/DVD that can't be read because
13642 the medium is partly damaged. Fixes #348455 and #348475.
13644 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13647 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13648 rates are a gdouble
13650 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13652 * gst/gstregistry.c:
13653 Move big documentation comment into class section header, so that it
13654 appears in the API docs.
13656 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13658 * docs/gst/gstreamer-sections.txt:
13659 Oops. Commit the docs additions too for new API.
13660 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13662 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13664 * gst/gststructure.c: (gst_structure_id_set),
13665 (gst_structure_id_set_valist):
13666 * gst/gststructure.h:
13667 Add API for setting values into structures without performing
13668 a quark lookup, if the appropriate quark is already known.
13670 API: gst_structure_id_set
13671 API: gst_structure_id_set_valist
13673 * gst/parse/grammar.y:
13674 * gst/parse/parse.l:
13675 Remove some dead code shown by the coverage information.
13676 Don't throw a critical g_warning when encountering a syntax error,
13677 just warn and let the normal error path handle it.
13679 * plugins/elements/gstelements.c:
13680 Bump the rank of filesink up to PRIMARY so that it is preferred over
13681 gnomevfssink for file:// sink uri's
13683 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13684 (GST_START_TEST), (run_delayed_test),
13685 (gst_parse_test_element_base_init),
13686 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13687 (gst_parse_test_element_change_state),
13688 (gst_register_parse_element), (parse_suite):
13689 Beef up the tests for parse syntax to check that more error cases
13690 fail as they are supposed to. Increases the test coverage a bit.
13692 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13694 * docs/manual/basics-elements.xml:
13695 Fix gst_element_link() example.
13698 Mention in API docs that one should usually gst_bin_add()
13699 elements to a bin or pipeline before doing the linking.
13701 2006-07-26 Wim Taymans <wim@fluendo.com>
13703 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13704 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13705 Avoid function call for known types by keeping the buffer and
13706 subbuffer GType global.
13708 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13709 Random silly optimisations in read() path.
13711 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13713 * tools/gst-launch.c: (main):
13714 If the top-level of the parse is a normal bin, it doesn't do the
13715 right logic to run as a top-level element, so place it inside a
13718 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13720 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13721 Remove superfluous g_object_notify() calls, GObject does
13722 that for us automatically.
13724 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13727 on Win32, use dllspec to export the debug category symbols
13729 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13731 * gst/gsttaglist.c: (_gst_tag_initialize):
13732 Allow more than one GST_TAG_IMAGE per taglist.
13734 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13736 * gst/gstminiobject.c:
13738 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13739 (gst_fd_src_create):
13740 log recurring events at LOG level
13741 add more debug for when the fd gets set
13743 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13745 * gst/gstparse.c: (gst_parse_launch):
13746 Also remove reentrance checks if flex is MT safe (#348179)
13747 Fix my empty ChangeLog entry below
13749 2006-07-21 Andy Wingo <wingo@pobox.com>
13751 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13753 * libs/gst/check/Makefile.am
13754 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13755 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13756 * libs/gst/check/gstbufferstraw.h:
13757 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13758 functions, thus proving I am still a GStreamer haxor. OK I wrote
13759 them a long time ago, but anyways.
13761 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13764 * gst/gstparse.c: (gst_parse_launch):
13765 Check for flex version and omit mutex if we have a MT save flex
13768 2006-07-21 Wim Taymans <wim@fluendo.com>
13770 * gst/gstparse.c: (gst_parse_launch):
13771 Protect recursive calls to _parse with a recursive mutex
13774 2006-07-21 Wim Taymans <wim@fluendo.com>
13776 * tests/check/gst/gstpad.c: (GST_START_TEST):
13779 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13781 * gst/gstparse.c: (gst_parse_launch):
13782 Do not hang on recursive usage of gst_parse_launch()
13784 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13786 * gst/gsttaglist.c:
13787 Add some more docs, comments and FIXME 0.11s here and there
13788 and also fix some typos.
13790 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13792 * gst/gstsegment.h:
13793 Convert tabs to spaces for better readability.
13795 2006-07-20 Edward Hervey <edward@fluendo.com>
13797 * tests/check/libs/gdp.c: (gst_dp_suite):
13798 the test_buffer test fails at line 140 on ppc64 at the following
13800 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13801 GST_BUFFER_FLAG_IN_CAPS),
13802 "GST_BUFFER_IN_CAPS flag should have been copied !");
13803 See bug #348114 for more details.
13805 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13807 * docs/pwg/advanced-scheduling.xml:
13809 Fix typos (#348000).
13811 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13813 * docs/pwg/intro-basics.xml:
13814 Fix wrong links (#347927).
13816 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13818 * gst/gstregistry.h:
13819 * gst/gstregistryxml.c: (load_feature),
13820 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13821 * win32/common/config.h:
13822 make --disable-index work (#342564)
13824 2006-07-18 Wim Taymans <wim@fluendo.com>
13826 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13830 The attached patch adds two missing defines to gsttrace.h when tracing
13831 is disabled. It also corrects one existing define.
13834 2006-07-17 Wim Taymans <wim@fluendo.com>
13836 * docs/gst/gstreamer-sections.txt:
13837 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13839 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13840 Add two functions to check and change the SIGSEGV behaviour
13841 when loading plugins.
13842 Don't mess with the SIGSEGV handler when we were told not to.
13844 API: gst_segtrap_is_enabled
13845 API: gst_segtrap_set_enabled
13847 2006-07-14 Wim Taymans <wim@fluendo.com>
13849 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13850 * tests/check/elements/filesrc.c: (GST_START_TEST):
13851 Revert fix for regression in #347408 after release.
13853 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13855 Patch by: Antoine Tremblay <hexa00 at gmail com>
13857 * gst/gstutils.c: (gst_element_unlink):
13858 Free iterator when done (#347311).
13860 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13861 And add a test case for this.
13863 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13866 Bump nano back to CVS
13868 === release 0.10.9 ===
13870 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13873 releasing 0.10.9, "On the road again"
13875 2006-07-13 Wim Taymans <wim@fluendo.com>
13877 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13878 * tests/check/elements/filesrc.c: (GST_START_TEST):
13879 Revert pull-0 fix for release. Disable check. Fixes #347408.
13881 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13883 * libs/gst/dataprotocol/dataprotocol.c:
13884 (gst_dp_event_from_packet_1_0):
13885 Fixes #347337: failure to deserialize event packets with
13886 empty payload (only event type)
13888 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13891 do not install a .c file in the header directory
13893 2006-07-13 Edward Hervey <edward@fluendo.com>
13895 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13896 GhostPad no longer implicitely use the padtemplates of the targets.
13899 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13901 * gst/gstvalue.c: (gst_value_compare_list),
13902 (gst_value_compare_array), (_gst_value_initialize):
13903 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13904 Make GstValueArray comparison be order dependent as designed.
13905 Add checks for value lists and value array comparisons.
13908 2006-07-11 Edward Hervey <edward@fluendo.com>
13910 * gst/gstbin.c: (activate_pads),
13911 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13912 (gst_bin_change_state_func):
13913 (de)activate src pads before calling state_change on the childs.
13914 This is to avoid the case where a src ghostpad is blocked (holding the
13915 stream lock), which would block the deactivation of the ghostpad's
13917 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13918 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13919 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13920 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13921 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13922 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13923 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13924 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13925 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13926 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13927 (gst_ghost_pad_class_init),
13928 (gst_ghost_pad_internal_do_activate_push),
13929 (gst_ghost_pad_internal_do_activate_pull),
13930 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13931 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13932 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13933 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13934 GhostPads now create their internal GstProxyPad at creation (and not
13935 when they're linked, as it was being done previously).
13936 The internal and target pads are linked straight away.
13937 The data will also travel through the other pad in order to make
13938 pad blocking and probes non-hackish (the probe/block now really happens
13939 on the GhostPad and not on the target).
13940 * gst/gstpad.c: (gst_pad_set_blocked_async),
13941 (gst_pad_link_prepare), (gst_pad_push_event):
13942 Remove previous ghostpad cruft.
13943 * gst/gstutils.c: (gst_pad_add_data_probe),
13944 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13945 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13946 (gst_pad_remove_buffer_probe):
13947 Remove previous ghost pad cruft.
13948 Added more detailed debug statements.
13949 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13950 Fix the testsuite for refcounting changes.
13951 The comments about who has references were correct, but the refcount
13952 being checked wasn't the same (!?!).
13956 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13958 * docs/gst/gstreamer-sections.txt:
13959 * gst/gstconfig.h.in:
13960 More docs for configuration options, add docs to gtk-doc.
13962 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13965 * gst/gstconfig.h.in:
13966 * win32/common/config.h:
13967 Fix build when disabling tracing (fixes #344016). Also start to document
13968 the defines that disable the sub-systems.
13970 2006-07-10 Edward Hervey <edward@fluendo.com>
13972 * gst/gst.c: (ensure_current_registry_forking):
13973 let's make valgrind happy...
13975 2006-07-09 Wim Taymans <wim@fluendo.com>
13977 * gst/gstelement.c: (activate_pads),
13978 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13979 Better pad activation code: Reset the collect value too on resync.
13982 2006-07-09 Wim Taymans <wim@fluendo.com>
13984 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13985 (gst_pad_activate_push):
13986 Use some more macros where it makes sense.
13987 Allow pad mode switching instead of asserting. When a pad
13988 is activated in one mode and we activate it in another,
13989 deactivate it first before activating it in a different mode.
13992 2006-07-08 Andy Wingo <wingo@pobox.com>
13994 * tools/gst-launch.c (main): Handle err == NULL.
13996 * gst/gst.c (init_post, ensure_current_registry)
13997 (ensure_current_registry_forking)
13998 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13999 factoring out the registry scanning into separate functions. Don't
14000 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
14001 Better environment var name/interface suggestions accepted.
14003 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
14005 * gst/gstobject.c: (gst_object_set_name_default),
14006 (gst_object_set_name):
14007 Random micro-optimisation: don't use a hash table
14008 with strings as keys and the usual strdup/strcmp
14009 involved, but rather just use the GQuark of the
14010 type name as key, since it needs to be looked up
14011 anyway to get the type name string.
14013 * tests/check/gst/gstobject.c: (GST_START_TEST):
14016 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
14018 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
14019 (gst_bin_iterate_all_by_interface):
14020 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
14021 GTypes are gulongs and thus the top 4 bytes might be cut
14022 off on some platforms when doing GPOINTER_TO_INT, leading
14023 to invalid GTypes and bad things happening (see RH bug #179654).
14024 Also add a check to make sure the type passed in is really
14027 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
14032 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
14036 * gst-element-check.m4:
14037 * gst-element-check.m4.in:
14038 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
14039 instead of the unversioned gst-inspect (#324176, #168659).
14041 2006-07-06 Wim Taymans <wim@fluendo.com>
14043 * gst/gstmessage.h:
14044 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14047 2006-07-06 Wim Taymans <wim@fluendo.com>
14049 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14050 (gst_base_src_wait), (gst_base_src_update_length),
14051 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
14052 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
14053 (gst_base_src_loop), (gst_base_src_start),
14054 (gst_base_src_activate_pull):
14056 blocksize == 0 now means the default blocksize when working in push
14058 Remove some pointless asserts in _wait function.
14059 Fix offset/length calculations and EOS handling. We can now pull 0
14060 bytes as well, which is allowed.
14061 use _check_get_range() to decide if we can operate in _pull based
14063 Fix refcounting leak when check_get_range function was not
14065 API GstBaseSrc::blocksize range can be 0 too now (default)
14067 * tests/check/elements/filesrc.c: (GST_START_TEST),
14069 Added check to test _get_range() behaviour.
14071 2006-07-06 Wim Taymans <wim@fluendo.com>
14073 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14074 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
14075 (gst_pad_pull_range):
14077 Lots of comments and docs added to the pad functions.
14078 Flesh out the expected behaviour of the get_range() functions.
14080 2006-07-06 Wim Taymans <wim@fluendo.com>
14085 * gst/gstiterator.h:
14089 Remove comma at end of enumerator list.
14091 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
14093 * win32/common/libgstbase.def:
14094 * win32/common/libgstdataprotocol.def:
14095 * win32/common/libsgtreamer.def:
14096 Add new exported functions.
14098 2006-07-05 Wim Taymans <wim@fluendo.com>
14100 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
14101 Add some more docs here and there.
14103 2006-07-05 Wim Taymans <wim@fluendo.com>
14105 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14106 (gst_base_sink_loop), (gst_base_sink_get_position):
14107 When operating in pull mode update the offset so that we
14110 2006-07-05 Wim Taymans <wim@fluendo.com>
14112 * gst/gstregistryxml.c: (read_string):
14113 Avoid strdup. (will happen in libxml, but hey!)
14116 Add some more docs.
14118 2006-07-05 Wim Taymans <wim@fluendo.com>
14120 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14121 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14122 (gst_buffer_suite):
14123 No point in checking if the size of the subbuffer > 0, the
14124 code handles it correclty as demonstrated by unit test.
14125 Also add a unit test for the zero sized _new_and_alloc and
14126 _copy. Fixes #346663.
14128 2006-07-05 Wim Taymans <wim@fluendo.com>
14130 * libs/gst/base/gstbasetransform.c:
14131 (gst_base_transform_prepare_output_buffer),
14132 (gst_base_transform_buffer_alloc),
14133 (gst_base_transform_handle_buffer):
14134 Make sure the buffer we pass to transform_ip has a refcount of
14135 1 and thus is writable. Fixes #343196
14137 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
14139 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14140 (gst_file_src_init), (gst_file_src_set_property),
14141 (gst_file_src_get_property), (gst_file_src_map_region):
14142 * plugins/elements/gstfilesrc.h:
14143 Add "sequential" property, off by default, to use madvise and hint
14144 to the kernel that sequential access is desired.
14145 Touch all retrieved pages by default to ensure they are pulled
14146 into memory. (Closes #345720)
14148 2006-07-03 Wim Taymans <wim@fluendo.com>
14150 * docs/design/part-block.txt:
14151 * docs/design/part-dynamic.txt:
14152 Small docs updates.
14154 2006-07-03 Wim Taymans <wim@fluendo.com>
14156 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14157 (gst_caps_unref), (gst_static_caps_get),
14158 (gst_caps_append_structure):
14159 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14160 Use GSlice when the glib we build against is >= 2.10
14162 2006-07-03 Wim Taymans <wim@fluendo.com>
14164 * gst/gstelement.c: (gst_element_pads_activate):
14165 Small cleanup in pad activation code.
14167 2006-07-03 Wim Taymans <wim@fluendo.com>
14169 Patch by: Peter Kjellerstedt <pkj at axis dot com>
14171 * gst/gst-i18n-app.h:
14172 * gst/gst-i18n-lib.h:
14173 * tools/gst-inspect.c: (print_signal_info):
14174 The attached patch will make the inclusion of gettext.h unconditional in
14175 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14176 libintl.h in tools/gst-inspect.c.
14177 This allows use of --disable-nls again and fixes #344642.
14179 2006-07-03 Edward Hervey <edward@fluendo.com>
14181 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14182 Implement pad blocking on events according to part-block.txt.
14183 More comments on behaviour.
14184 * tests/check/gst/gstevent.c: (test_event):
14185 Send event to peer pad of blocked pad (else it will block).
14187 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14189 * libs/gst/check/gstcheck.c: (gst_check_message_error),
14190 (gst_check_run_suite):
14191 if we get the wrong message, give us the types as string
14192 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14194 * tests/check/elements/filesrc.c: (GST_START_TEST):
14195 add a test for trying to open a non-existing file
14197 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14199 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14200 add a test for adding self
14202 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14204 * libs/gst/check/gstcheck.h:
14205 add some assert_ as alias for fail_unless_*
14206 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14207 increase test coverage
14209 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14212 include lcov.mak for lcov coverage generation
14213 * tools/Makefile.am:
14216 2006-07-02 Edward Hervey <edward@fluendo.com>
14218 * tests/check/elements/.cvsignore:
14221 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14224 don't set CFLAGS and friends for gcov, done from GST_GCOV now
14225 * tests/check/Makefile.am:
14226 clean up gcov files
14228 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14230 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14231 remove gst_caps_simplify; it was not declared and not used
14232 and deprecated in 0.8
14234 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14236 * docs/faq/gst-uninstalled:
14237 don't put empty paths on PYTHONPATH
14238 * docs/gst/gstreamer-sections.txt:
14239 remove some symbols that are not there
14241 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14243 * gst/gstcaps.c: (gst_caps_compare_structures):
14245 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14246 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14249 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14251 * libs/gst/dataprotocol/Makefile.am:
14252 build dataprotocol test by linking to the lib, instead of
14253 compiling the source, so we get coverage
14254 * tests/check/Makefile.am:
14255 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14256 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14257 add a test for filesrc
14259 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14261 * tests/check/gst/gststructure.c: (GST_START_TEST),
14262 (gst_structure_suite):
14263 Push coverage from 59.04% to 70.00%
14265 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14267 * tests/check/Makefile.am:
14268 gst-inspect every element; this makes sure that we also get
14269 coverage on element's get/set functions
14271 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14274 set CFLAGS and friends to -O0 if gcov is being used
14277 * libs/gst/base/Makefile.am:
14278 * libs/gst/check/Makefile.am:
14279 * libs/gst/controller/Makefile.am:
14280 * libs/gst/dataprotocol/Makefile.am:
14281 * libs/gst/net/Makefile.am:
14282 * plugins/elements/Makefile.am:
14283 * plugins/indexers/Makefile.am:
14284 add makefile rules to generate gcov data and clean up
14285 * tests/check/Makefile.am:
14286 add a coverage target that generates an html overview
14289 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14291 * tests/check/elements/fakesink.c:
14292 * tests/check/elements/fakesrc.c:
14293 * tests/check/elements/fdsrc.c:
14294 * tests/check/elements/identity.c:
14295 * tests/check/generic/sinks.c: (gst_sinks_suite):
14296 * tests/check/generic/states.c:
14297 * tests/check/gst/gst.c:
14298 * tests/check/gst/gstabi.c:
14299 * tests/check/gst/gstbin.c:
14300 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14301 * tests/check/gst/gstbus.c: (gst_bus_suite):
14302 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14303 * tests/check/gst/gstelement.c:
14304 * tests/check/gst/gstevent.c: (gst_event_suite):
14305 * tests/check/gst/gstghostpad.c:
14306 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14307 * tests/check/gst/gstmessage.c: (gst_message_suite):
14308 * tests/check/gst/gstminiobject.c:
14309 * tests/check/gst/gstobject.c:
14310 * tests/check/gst/gstpad.c:
14311 * tests/check/gst/gstpipeline.c:
14312 * tests/check/gst/gstplugin.c:
14313 * tests/check/gst/gstquery.c: (gst_query_suite):
14314 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14315 * tests/check/gst/gststructure.c:
14316 * tests/check/gst/gstsystemclock.c:
14317 * tests/check/gst/gsttag.c:
14318 * tests/check/gst/gsttask.c: (gst_task_suite):
14319 * tests/check/gst/gstutils.c:
14320 * tests/check/gst/gstvalue.c:
14321 * tests/check/libs/adapter.c:
14322 * tests/check/libs/basesrc.c:
14323 * tests/check/libs/collectpads.c:
14324 * tests/check/libs/controller.c:
14325 * tests/check/libs/gdp.c: (gst_dp_suite):
14326 * tests/check/libs/gstnetclientclock.c:
14327 * tests/check/libs/gstnettimeprovider.c:
14328 * tests/check/libs/libsabi.c: (libsabi_suite):
14329 * tests/check/libs/typefindhelper.c:
14330 * tests/check/pipelines/cleanup.c:
14331 * tests/check/pipelines/parse-launch.c:
14332 * tests/check/pipelines/simple-launch-lines.c:
14333 * tests/check/pipelines/stress.c: (stress_suite):
14336 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14338 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14339 * libs/gst/check/gstcheck.h:
14340 create a macro and function so that the simple unit test
14341 case can be just one macro to create main()
14343 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14345 * gst/gstbin.c: (gst_bin_restore_thyself):
14346 * gst/gstxml.c: (gst_xml_make_element):
14347 Fix deserialisation from XML. Set parent manually
14348 instead of using gst_bin_add(), since gst_bin_add()
14349 will unlink all pads of the element being added.
14352 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14354 Patch by: Peter Kjellerstedt <pkj at axis com>
14356 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14357 Fix missing g_strdup() and double free when using the
14358 --gst-plugin-load command line option (#346097).
14360 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14363 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14365 * libs/gst/net/gstnetclientclock.c:
14366 * libs/gst/net/gstnettimeprovider.c:
14367 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14369 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14371 * docs/manual/advanced-dataaccess.xml:
14372 Fix buffer probe example compilation in
14375 2006-06-22 Edward Hervey <edward@fluendo.com>
14377 * gst/gstelement.c: (gst_element_pads_activate):
14378 We need to deactivate src pads first and then sink pads.
14379 The reason is the src pads might be blocking while holding the streaming
14380 lock, so we need to deactivate them first so that deactivating the sink
14381 pads doesn't block (since it will require the streaming lock).
14383 2006-06-22 Wim Taymans <wim@fluendo.com>
14385 * libs/gst/base/gstbasetransform.c:
14386 (gst_base_transform_buffer_alloc):
14387 Forgot to remove two unneeded unrefs.
14388 Simplify a check _is_equal allready checks the obvious case.
14390 2006-06-22 Wim Taymans <wim@fluendo.com>
14392 * docs/design/part-block.txt:
14393 Some docs about what pad_block should do.
14395 2006-06-22 Wim Taymans <wim@fluendo.com>
14397 * gst/gstcaps.c: (gst_caps_replace):
14398 Fix crasher when passed NULL. Doc clarification.
14399 Optimize for the trivial case.
14401 * gst/gstpipeline.c: (gst_pipeline_change_state):
14404 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14405 Small documentation cleanup.
14407 * libs/gst/base/gstbasetransform.c:
14408 (gst_base_transform_buffer_alloc):
14409 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14410 is what we need and it avoids a whole lot of redundant
14411 refcount operations.
14413 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14415 Patch by: Philip Jägenstedt <philip at lysator liu se>
14417 * docs/manual/advanced-dataaccess.xml:
14418 Fix 'Embedding static elements' section to use
14419 GST_PLUGIN_DEFINE_STATIC (#345607).
14421 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14423 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14424 Attempt to 'fix' spuriously failing test case: it seems like the
14425 timeout of half a second is simply too small when the system is under
14426 load otherwise, and the timeout doesn't really seem to serve any
14427 particular purpose here. Give the pipeline a few seconds to preroll
14428 first, and then give it another half a second to go from PAUSED to
14429 PLAYING and marshal the message into the main thread.
14431 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14433 * tools/gst-feedback-m.m:
14434 Don't only use unversioned tools, try versioned tools as well
14437 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14439 * gst/gstbus.c: (gst_bus_class_init):
14440 Fix some typos, make docs more explicit.
14442 2006-06-20 Wim Taymans <wim@fluendo.com>
14444 * tests/check/gst/gstghostpad.c: (block_callback),
14445 (GST_START_TEST), (gst_ghost_pad_suite):
14446 Added some more ghostpad tests, mainly blocking
14449 2006-06-16 Wim Taymans <wim@fluendo.com>
14451 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14452 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14453 (gst_file_sink_event), (gst_file_sink_render):
14454 * plugins/elements/gstfilesink.h:
14455 Check if we can seek in the file instead of assuming
14456 we always can. Post an error when we are asked to seek in a
14457 non-seekable file (like a fifo). Fixes #343312.
14460 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14462 * tools/gst-launch.1.in:
14463 Un-garble (fourcc) bit in filtered caps section.
14465 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14467 * docs/manual/advanced-autoplugging.xml:
14468 * docs/manual/basics-helloworld.xml:
14469 * docs/manual/highlevel-components.xml:
14470 Don't leak bus reference in sample code.
14472 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14475 Add default for new --enable-plugin-docs switch.
14478 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14481 * docs/Makefile.am:
14482 Use new ENABLE_PLUGIN_DOCS conditional.
14484 2006-06-14 Wim Taymans <wim@fluendo.com>
14486 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14487 Make it clear with a FIXME and a real define what the #if 0
14488 previously disabled.
14490 2006-06-14 Wim Taymans <wim@fluendo.com>
14492 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14493 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14494 * libs/gst/base/gstbasetransform.c:
14495 (gst_base_transform_sink_eventfunc):
14496 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14497 Don't randomly and silently reset a segment when the format
14498 changes as this is a bug somewhere upstream. Fixes #330379.
14500 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14502 Patch by: Wouter Paesen <wouter at kangaroot net>
14504 * libs/gst/controller/gstcontroller.c:
14505 (gst_controlled_property_new):
14506 Fix controlling of float properties (#344849).
14508 * tests/check/libs/controller.c:
14509 (gst_test_mono_source_get_property),
14510 (gst_test_mono_source_set_property),
14511 (gst_test_mono_source_class_init), (GST_START_TEST):
14512 While we're at it, add some float stuff to unit test.
14514 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14517 * docs/images/gdp-header.svg:
14519 * docs/libs/Makefile.am:
14520 * docs/libs/gdp-header.png:
14521 * libs/gst/dataprotocol/dataprotocol.c:
14522 add it to the API docs
14523 * docs/manual/intro-motivation.xml:
14526 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14528 * gst/gst.c: (scan_and_update_registry), (init_post):
14529 If the fork()'ed child process can't write the updated registry cache
14530 file to disk for some reason, make it exit with a failure exit code,
14531 so that the parent can then re-scan the plugins itself and update the
14532 registry structures in memory and work with that (rather than failing
14533 when creating elements because seemingly no plugins are available).
14534 Refactor registry scanning code into separate function for this and
14535 also separate fork() and non-fork() code paths. Fixes #344748.
14537 2006-06-13 Wim Taymans <wim@fluendo.com>
14539 * docs/manual/advanced-dataaccess.xml:
14540 Fix wrong PluginDesc. Fixes #344755.
14542 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14544 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14545 Fix silly bug that prevented us from creating
14546 ~/.gstreamer-0.10 and writing the registry in one
14547 go (the first call to g_mkstemp() would overwrite the
14548 placeholder in the template string, so the second call
14549 to g_mkstemp() after creating the missing directory
14550 would then error out with 'invalid argument').
14552 2006-06-13 Edward Hervey <edward@fluendo.com>
14554 * gst/gst.c: (init_post):
14557 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14559 * gst/glib-compat-private.h:
14560 * gst/glib-compat.c:
14561 * gst/glib-compat.h:
14562 * gst/gstvalue.c: (gst_value_serialize_flags):
14563 remove GLib 2.6 compatibility code
14565 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14567 * gst/parse/Makefile.am:
14568 Fix build with 'make -j N' even more (#340016).
14570 2006-06-12 Wim Taymans <wim@fluendo.com>
14572 * docs/gst/gstreamer-sections.txt:
14575 2006-06-12 Wim Taymans <wim@fluendo.com>
14577 * gst/gstsegment.c: (gst_segment_set_duration),
14578 (gst_segment_set_last_stop), (gst_segment_set_seek),
14579 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14580 (gst_segment_to_running_time), (gst_segment_clip):
14581 Use G_UNLIKELY to help the compiler a bit.
14583 2006-06-12 Wim Taymans <wim@fluendo.com>
14585 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14587 * gst/gstevent.c: (gst_event_get_type):
14588 * gst/gstmessage.c:
14589 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14591 constify quark registration strings. Fixes #344115
14592 Avoid unneeded type checking is _pad_push() by internally
14593 calling gst_pad_chain_unchecked().
14595 2006-06-12 Wim Taymans <wim@fluendo.com>
14597 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14598 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14599 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14600 (gst_buffer_is_span_fast), (gst_buffer_span):
14601 Init _type for consistency.
14602 Use _FLAGS macro to avoid type check.
14603 Avoid unneeded type checks in subbufer code.
14605 2006-06-12 Wim Taymans <wim@fluendo.com>
14607 * gst/gst.c: (gst_debug_help):
14608 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14609 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14610 (gst_plugin_feature_list_free):
14611 * gst/gstregistry.c: (gst_registry_add_plugin),
14612 (gst_registry_add_feature), (gst_registry_plugin_filter),
14613 (gst_registry_feature_filter), (gst_registry_find_plugin),
14614 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14615 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14616 * gst/gstregistryxml.c: (load_feature),
14617 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14618 * gst/gstminiobject.c: (gst_mini_object_unref),
14619 (gst_mini_object_replace), (gst_value_mini_object_free),
14620 (gst_value_mini_object_copy):
14621 Use _CAST macros to avoid unneeded type checking.
14622 Added some more G_UNLIKELY.
14624 2006-06-12 Wim Taymans <wim@fluendo.com>
14627 Avoid unneeded type checking.
14628 API: GST_BUFFER_IS_DISCONT
14630 * gst/gstminiobject.h:
14631 Avoid type check in flag accessor.
14633 * gst/gstelementfactory.h:
14635 * gst/gstpluginfeature.h:
14637 API: GST_ELEMENT_FACTORY_CAST
14638 API: GST_PLUGIN_CAST
14639 API: GST_PLUGIN_FEATURE_CAST
14641 2006-06-12 Wim Taymans <wim@fluendo.com>
14643 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14644 (gst_object_unref):
14645 Add G_UNLIKELY in type registration.
14646 Avoid type check in _ref/_unref since that is also
14649 2006-06-12 Wim Taymans <wim@fluendo.com>
14651 * gst/gsterror.c: (gst_g_error_get_type):
14652 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14653 (gst_static_pad_template_get_type):
14654 * gst/gsttaglist.c: (gst_tag_list_get_type):
14655 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14656 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14657 * gst/gsturi.c: (gst_uri_handler_get_type):
14658 * gst/gstvalue.c: (gst_date_get_type):
14659 * gst/gstxml.c: (gst_xml_get_type):
14660 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14661 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14662 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14663 Add G_UNLIKELY in type registration.
14665 2006-06-12 Wim Taymans <wim@fluendo.com>
14667 * tools/gst-inspect.c: (print_signal_info):
14668 Properly print enum values.
14670 2006-06-12 Wim Taymans <wim@fluendo.com>
14672 * gst/gstinfo.c: (gst_debug_set_active),
14673 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14675 Add some G_[UN]LIKELY.
14676 Maintain __gst_debug_min to avoid formatting the arguments of
14677 debug messages that will be dropped anyway to avoid a lot of
14678 overhead from the debugging system.
14680 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14683 * po/POTFILES.skip:
14684 add missing files containing translatable strings, tell intltool about
14687 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14689 * tests/check/libs/.cvsignore:
14690 add test-binary to ignore list
14692 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14694 * docs/libs/gstreamer-libs-docs.sgml:
14695 reorder (put dp into a chapter) and indent
14697 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14702 === release 0.10.8 ===
14704 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14707 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14709 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14711 * gst/gst.c: (init_post):
14712 move pid declaration to declaration block
14714 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14716 * gst/gst.c: (init_post):
14717 use _exit() instead of exit() in our forked child; this ensures
14718 that none of the registered exit handlers from whatever is using
14719 GStreamer get executed. This fixes gnome-mixer-applet failing
14720 to load, because ORBit would shut down.
14721 Spotted by: Edward Hervey <edward@fluendo.com>
14722 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14725 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14730 === release 0.10.7 ===
14732 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14735 releasing 0.10.7, "Soepeke, ik zie ou"
14737 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14760 * win32/common/config.h:
14761 0.10.6.2 prerelease
14763 2006-06-07 Wim Taymans <wim@fluendo.com>
14765 * gst/gstindex.c: (gst_index_gtype_resolver):
14766 * tools/gst-xmlinspect.c: (print_plugin_info):
14767 Fix leak spotted by coverity checker. Fixes #343827
14768 Fix another other leak found by paolo borelli.
14770 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14772 * libs/gst/dataprotocol/dataprotocol.c:
14773 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14774 (gst_dp_version_get_type), (gst_dp_init),
14775 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14776 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14777 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14778 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14779 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14780 (gst_dp_packetizer_free):
14781 * libs/gst/dataprotocol/dataprotocol.h:
14782 API: add a GstDPPacketizer object, and create/free functions
14783 API: add GstDPVersion enum
14784 Add 1.0 event function that uses the string serialization
14785 Serialize more useful buffer flags
14788 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14790 * tests/check/Makefile.am:
14791 * tests/check/gst/gstabi.c:
14792 * tests/check/gst/struct_ppc64.h:
14793 * tests/check/libs/libsabi.c:
14794 * tests/check/libs/struct_ppc64.h:
14795 add ppc64 structure sizes
14797 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14799 * tests/check/Makefile.am:
14800 * tests/check/gst/gstabi.c:
14801 * tests/check/gst/struct_x86_64.h:
14802 * tests/check/libs/libsabi.c:
14803 * tests/check/libs/struct_x86_64.h:
14804 generate and add structure size lists for x86_64
14806 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14808 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14809 * libs/gst/check/gstcheck.h:
14810 factor out the method from tests that checks size of structures,
14811 and add code to generate the header containing these sizes
14812 * tests/check/gst/gstabi.c: (GST_START_TEST):
14813 * tests/check/gst/struct_i386.h:
14814 * tests/check/libs/libsabi.c: (GST_START_TEST):
14815 * tests/check/libs/struct_i386.h:
14818 2006-06-06 Michael Smith <msmith@fluendo.com>
14820 * gst/gstsegment.h:
14821 Don't use c++-style comments, fixes #343929
14823 2006-06-05 Edward Hervey <edward@fluendo.com>
14826 plugin_paths is not used if we build without registry support.
14828 * gst/gstsegment.c: (gst_segment_copy):
14829 _copy() was always returning NULL...
14831 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14833 * libs/gst/dataprotocol/dataprotocol.c:
14834 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14835 (gst_dp_packet_from_event):
14836 factor out CRC code
14838 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14840 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14841 make sure we unset caps
14843 2006-06-02 Michael Smith <msmith@fluendo.com>
14845 * libs/gst/check/gstcheck.c: (gst_check_init),
14846 (gst_check_chain_func):
14847 * libs/gst/check/gstcheck.h:
14848 Add a cond/mutex to the check support lib, signal this whenever we
14849 add to the buffers list. This will allow tests to not busy-wait on
14852 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14854 * libs/gst/dataprotocol/dataprotocol.c:
14855 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14856 (gst_dp_packet_from_event):
14857 factor out some common header init code
14859 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14861 * docs/libs/gstreamer-libs-sections.txt:
14862 * docs/libs/tmpl/gstdataprotocol.sgml:
14863 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14864 * libs/gst/dataprotocol/dataprotocol.h:
14865 API: make gst_dp_crc() public
14867 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14869 * plugins/indexers/gstindexers.c: (plugin_init):
14870 conditionally register fileindexer (fixes #343598)
14872 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14874 * gst/gsttagsetter.h:
14875 Can't cast ifaces to a class
14877 * libs/gst/net/gstnetclientclock.h:
14878 * libs/gst/net/gstnettimeprovider.h:
14879 * plugins/elements/gstfakesink.h:
14880 * plugins/elements/gstfakesrc.h:
14881 * plugins/elements/gstfdsink.h:
14882 * plugins/elements/gstfdsrc.h:
14883 * plugins/elements/gstfilesink.h:
14884 * plugins/elements/gstfilesrc.h:
14885 * plugins/elements/gstidentity.h:
14886 * plugins/elements/gstqueue.h:
14887 * plugins/elements/gsttee.h:
14888 * plugins/indexers/gstfileindex.c:
14889 * plugins/indexers/gstmemindex.c:
14890 * tests/old/examples/plugins/example.h:
14891 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14893 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14895 * libs/gst/dataprotocol/dataprotocol.c:
14896 (gst_dp_header_from_buffer):
14897 make sure we zero the whole ABI-compatible area
14899 2006-06-01 Wim Taymans <wim@fluendo.com>
14901 Patch by: Alessandro Decina <alessandro at nnva dot org>
14903 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14904 Make sure the EOS flag is cleared from pads after a flush
14905 or stop. Fixes #343538.
14907 * tests/check/libs/collectpads.c: (GST_START_TEST),
14908 (gst_collect_pads_suite):
14909 Added test for collectpads reusage after EOS.
14911 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14914 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14915 * win32/common/libgstbase.def:
14916 export gst_collect_pads_set_flushing
14917 * win32/common/libgstreamer.def:
14918 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14919 gst_value_fraction_multiply
14920 * win32/vs6/gst_inspect.dsp:
14921 add a link to intl.lib
14923 2006-05-30 Wim Taymans <wim@fluendo.com>
14925 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14926 (gst_collect_pads_chain):
14927 Handle the case where a pad is removed from the collection
14928 that could cause the other pads to become collectable.
14930 2006-05-30 Wim Taymans <wim@fluendo.com>
14932 * gst/gstelement.c:
14933 Clarify the use of _release_request_pad() and
14934 _get_request_pad() a bit better.
14936 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14937 (gst_adapter_take_buffer):
14938 Fix some doc and comment typos.
14940 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14942 * docs/gst/gstreamer-sections.txt:
14943 * docs/libs/gstreamer-libs-sections.txt:
14944 add declared symbols
14946 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14948 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14949 Add debug that can be enabled using a #define at the top of the file,
14950 for dumping stats about how late/early we were when waking up from
14951 waiting on the clock.
14953 2006-05-30 Wim Taymans <wim@fluendo.com>
14955 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14956 When rebuilding the pad list, don't leak the previous list.
14958 2006-05-30 Wim Taymans <wim@fluendo.com>
14960 Patch by: Lutz Mueller <lutz at topfrose dot de>
14962 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14963 (gst_base_src_get_query_types), (gst_base_src_update_length):
14964 Publish supported query types.
14965 Update last_stop field in get_range mode so the position
14966 query works. Fixes #342321.
14968 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14970 * docs/gst/gstreamer-sections.txt:
14971 * gst/gsttaglist.c: (_gst_tag_initialize):
14972 * gst/gsttaglist.h:
14973 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14975 2006-05-30 Wim Taymans <wim@fluendo.com>
14977 Patch by: Alessandro Decina <alessandro at nnva dot org>
14979 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14980 Unlock mutex when removing an unknown pad.
14983 * tests/check/Makefile.am:
14984 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14985 (push_event), (setup), (teardown), (GST_START_TEST),
14986 (gst_collect_pads_suite), (main):
14987 Added collecpads check, disabled for now as check crashes for
14990 2006-05-29 Wim Taymans <wim@fluendo.com>
14992 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14993 Don't leak pads lists.
14995 2006-05-29 Wim Taymans <wim@fluendo.com>
14997 * docs/libs/gstreamer-libs-sections.txt:
14998 * libs/gst/base/gstcollectpads.c:
14999 (gst_collect_pads_set_flushing_unlocked),
15000 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15001 (gst_collect_pads_stop):
15002 * libs/gst/base/gstcollectpads.h:
15003 API: gst_collect_pads_set_flushing()
15004 Added api to set the pads to flushing, useful for seeking
15005 code in elements using collectpads.
15006 Clear segment when receiving a flush.
15008 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
15010 * gst/gst.c: (add_path_func), (init_post):
15011 Don't scan registry paths passed via --gst-plugin-path immediately
15012 (will crash, because absolutely nothing is set up and no types are
15013 registered etc.); do this later in init_post(). Fixes #343057.
15015 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
15017 * gst/gst.c: (init_post):
15018 if we have fork, fork while reading/rebuilding the registry
15019 so the parent doesn't take the hit of having all plugins loaded
15020 in memory. Fixes #342777.
15022 Check if we have fork()
15023 * win32/common/config.h.in:
15026 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
15028 * plugins/elements/gstelements.c:
15029 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
15030 (gst_file_src_init), (gst_file_src_set_property),
15031 (gst_file_src_get_property), (gst_file_src_start):
15032 * plugins/elements/gstfilesrc.h:
15033 API: GstFileSrc::use-mmap
15035 Add a use-mmap property to enable easier testing of all code paths.
15036 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
15037 in the absence of gnomevfssrc. (Closes #340501)
15039 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15041 * tools/gst-inspect.c:
15042 Add missing include, removes warning of ngettext not being defined on
15045 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
15047 * gst/gstvalue.c: (gst_value_deserialize_fraction):
15048 Handle NULL input and output pointers silently as a failed conversion,
15049 rather than g_warnings.
15051 2006-05-25 Wim Taymans <wim@fluendo.com>
15053 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
15054 Initialize variable before using. Fixes #342820.
15056 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
15058 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
15059 Fix off-by-one bug that would only allow peeks of N-1 bytes
15060 from the start even if the buffer to typefind on contains
15061 in fact N bytes of data (makes vorbis typefinding from a
15062 vorbis identification header buffer work).
15064 * tests/check/Makefile.am:
15065 * tests/check/libs/.cvsignore:
15066 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
15067 (gst_typefindhelper_suite), (main), (foobar_typefind),
15069 Add very basic unit test for gst_type_find_helper_for_buffer()
15070 that checks for the problem fixed above.
15072 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
15074 * tools/gst-inspect.c: (print_interfaces),
15075 (print_element_properties_info), (print_element_list), (main):
15076 add more translatable strings
15078 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
15080 Patch by: Julien Moutte <julien at moutte net>
15082 * docs/gst/gstreamer-sections.txt:
15083 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
15085 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
15086 (gst_fake_sink_preroll):
15087 * plugins/elements/gstfakesink.h:
15088 API: Add new GstFakeSink::preroll-handoff signal (#337100).
15090 2006-05-23 Wim Taymans <wim@fluendo.com>
15092 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
15094 Added _CUSTOM error and success GstFlowReturn that can be
15095 used be elements internally.
15096 Added macro to check for SUCCESS flowreturns.
15097 API: GST_FLOW_CUSTOM_SUCCESS
15098 API: GST_FLOW_CUSTOM_ERROR
15099 API: GST_FLOW_IS_SUCCESS
15101 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
15102 Added check for GstFlowReturn sanity.
15104 2006-05-23 Wim Taymans <wim@fluendo.com>
15106 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15108 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15109 (gst_collect_pads_event):
15110 clear/reset segment info in FLUSH_STOP.
15113 2006-05-22 Stefan Kost <ensonic@users.sf.net>
15115 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15116 (gst_collect_pads_check_collected):
15117 Flush queued buffer on _stop(), fixes playing again (#342454)
15119 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
15121 * tests/check/gst/gststructure.c: (GST_START_TEST),
15122 (gst_structure_suite):
15123 add a test for a complete structure
15125 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
15127 * docs/faq/developing.xml:
15128 * docs/faq/faq.xml:
15129 * docs/faq/troubleshooting.xml:
15130 * docs/faq/using.xml:
15131 Some minor FAQ updates that won't change the fact that
15132 our FAQ is badly structured, full of information hardly
15133 anyone new to GStreamer needs to know and lacking lots
15134 of information people constantly ask for.
15136 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
15138 * gst/gstpad.c: (gst_pad_set_caps):
15139 Short-circuit gst_pad_set_caps if setting the existing
15140 caps pointer again, and avoid printing debug and
15141 reffing/unreffing the caps.
15143 * plugins/elements/gstqueue.c: (gst_queue_push_one):
15144 There's actually no need to set the caps before pushing -
15145 the acceptcaps method will handle it anyway.
15147 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
15149 * docs/gst/gstreamer-sections.txt:
15150 * win32/common/libgstreamer.def:
15151 * gst/gstutils.c: (gst_element_seek_simple):
15153 API: add gst_element_seek_simple() (#342238).
15155 2006-05-18 Edward Hervey <edward@fluendo.com>
15157 * gst/gsttypefind.c: (gst_type_find_get_type):
15158 * gst/gsttypefind.h:
15159 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15160 registered for GstTypeFind pointers. This allows wrapping the structure
15161 in bindings (i.e. gst-python).
15163 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
15165 * gst/gsttagsetter.c:
15166 Docs additions and fixes (see #339918).
15168 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
15170 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15171 The caps intersection algorithm can produce multiple copies of the
15172 caps. Until that is fixed, we need to simplify the result to be
15173 sure whether the allowed caps are fixed or not.
15175 * plugins/elements/gstqueue.c: (gst_queue_init),
15176 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15177 (gst_queue_push_one):
15178 Proxied buffer alloc should not set the caps on the source pad.
15179 When pushing buffers, we always accept the caps change that triggers.
15180 This prevents negotiation errors caused by caps changing mid-stream
15181 and then being refused on our source pad (because upstream is now
15182 refusing those caps).
15184 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
15186 * tests/examples/helloworld/helloworld.c: (main):
15187 Must plug audioconvert and audioresample between decoder
15190 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
15192 * gst/gstregistryxml.c: (read_string), (load_pad_template),
15193 (load_feature), (load_plugin):
15194 Allow empty strings for some of the plugin fields so we don't
15195 drop valid plugin entries that were written out correctly
15198 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
15200 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15201 Use g_remove and g_rename instead of remove and rename that don't
15202 handle utf8 characters. rename was failing for users who had specific
15203 characters in their name then the registry was built at each
15205 * win32/vs6/gst_inspect.dsp:
15206 * win32/vs6/gst_launch.dsp:
15207 * win32/vs6/libgstbase.dsp:
15208 * win32/vs6/libgstcoreelements.dsp:
15209 * win32/vs6/libgstreamer.dsp:
15210 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
15211 build of libgstreamer and clean unused libraries in projects link
15214 2006-05-17 Edward Hervey <edward@fluendo.com>
15216 * plugins/elements/gstqueue.c: (gst_queue_push_one):
15217 The queue is not responsible for pushing an EOS when receiving a fatal
15218 flow error. It's up to the real element driving the pipeline to do that.
15220 2006-05-16 Edward Hervey <edward@fluendo.com>
15222 * plugins/elements/gstqueue.c: (gst_queue_push_one):
15223 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15224 buffer returned a fatal error. It should just send an EOS and stop
15226 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15227 when pushing buffers on the queue and will be able to handle the event.
15229 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
15231 * docs/manual/basics-bins.xml:
15232 * docs/manual/basics-init.xml:
15233 Fix typos and minor errors in sample code (#341856).
15235 2006-05-16 Wim Taymans <wim@fluendo.com>
15237 * docs/design/part-qos.txt:
15238 Fix indexes in formulas to make more sense.
15240 2006-05-15 Wim Taymans <wim@fluendo.com>
15242 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15243 Don't report POSITION based on clock time if sync is
15244 disabled in a sink.
15246 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
15249 Add cast to make compiler happy - refcount variable was a gint
15250 in GstObject but is a guint in GObject and g_atomic_int_get()
15253 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
15255 * gst/parse/Makefile.am:
15256 chain commands using &&, which also makes parallel make work
15258 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
15260 * docs/gst/gstreamer-sections.txt:
15263 * gst/gstmessage.h:
15266 === release 0.10.6 ===
15268 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
15271 releasing 0.10.6, "Take the cannoli"
15273 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
15275 * tools/gst-launch.c: (print_tag):
15276 Fix use of uninitialized variable in the hypothetical
15277 case that some broken plugin creates a GST_TAG_IMAGE
15278 tag containing a NULL buffer (#341667).
15280 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
15282 * tools/gst-launch.c: (print_tag):
15283 Print something more intelligible for image tags when
15284 using the -t switch (#341556).
15286 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
15291 define GST_MAJORMINOR so we have it available in win32/common/config.h
15292 Possibly remove it from our Makefile.am files later
15293 * win32/common/config.h:
15294 * win32/common/config.h.in:
15295 added GST_MAJORMINOR
15296 * win32/common/gstenumtypes.c: (register_gst_resource_error):
15297 * win32/common/gstversion.h:
15300 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15303 Update win32 files listing.
15304 * win32/common/gstversion.h:
15305 Add GST_MAJORMINOR definition.
15306 * win32/common/libgstreamer.def:
15307 Add new exported functions.
15309 2006-05-12 Michael Smith <msmith@fluendo.com>
15311 * gst/gstplugin.c: (gst_plugin_load_file):
15312 If an so file has no plugin entry point, unload the module.
15314 2006-05-11 Wim Taymans <wim@fluendo.com>
15316 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15317 (gst_queue_set_property):
15318 Don't forget to signal the _chain or _loop function
15319 when the queue size or thresholds change since that might
15320 cause them to make progres again.
15322 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15324 * gst/gstclock.c: (gst_clock_class_init):
15325 * gst/gstindex.c: (gst_index_class_init):
15326 * gst/gstobject.c: (gst_object_class_init):
15327 * gst/gstpad.c: (gst_pad_class_init):
15328 * gst/gstpipeline.c: (gst_pipeline_class_init):
15329 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15330 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15331 * libs/gst/base/gstbasetransform.c:
15332 (gst_base_transform_class_init):
15333 * libs/gst/net/gstnetclientclock.c:
15334 (gst_net_client_clock_class_init):
15335 * libs/gst/net/gstnettimeprovider.c:
15336 (gst_net_time_provider_class_init):
15337 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15338 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15339 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15340 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15341 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15342 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15343 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15344 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15345 * plugins/elements/gsttee.c: (gst_tee_class_init):
15346 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15347 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15348 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15350 2006-05-11 Wim Taymans <wim@fluendo.com>
15352 * gst/gstbuffer.c: (_gst_buffer_initialize):
15353 Register subbufer along with the buffer type so that
15354 it does not accidentally gets registered from N
15355 different streaming threads in a non threadsafe way.
15357 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15361 * gst/gstmessage.h:
15362 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15363 gst_event_ref() and gst_message_ref() functions again
15364 (ugly hack, please do fix if there's a better way besides
15365 overrides.txt, which doesn't seem to work).
15367 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15369 * libs/gst/check/gstcheck.h:
15370 add an assert for setting state to avoid lots of repetitive code
15373 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15375 * gst/gstvalue.c: (gst_value_serialize_flags):
15376 fix a leak if no flags are set
15377 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15380 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15382 * docs/manual/basics-pads.xml:
15383 Expand a bit on caps and filtered links and update
15384 examples that were still using the no longer existing
15385 gst_pad_link_filtered() (#338206).
15387 2006-05-10 Wim Taymans <wim@fluendo.com>
15389 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15390 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15391 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15392 (gst_collect_pads_stop):
15393 * libs/gst/base/gstcollectpads.h:
15394 No need to call _stop in _finalize.
15395 Iterate the main pad list in _finalize.
15396 Added some more debug.
15397 Free lists and data in the right order.
15398 Also free data whem doing _remove_pad when stopped for
15399 backward compatibility protect ::started with PAD_LOCK as
15402 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15404 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15405 (gst_structure_parse_value):
15407 rename a method so that it actually says what it does better
15409 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15411 * gst/gstevent.c: (_gst_event_initialize):
15412 * gst/gstformat.c: (_gst_format_initialize):
15413 make sure some essential types used by events are registered
15414 as part of gst_init()
15415 * gst/gstvalue.c: (gst_value_serialize_flags):
15416 if no flags are set, serialize them to a value that represents NONE
15417 so that deserializing them works
15418 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15419 add tests for serialization and deserialization of flags
15421 2006-05-10 Wim Taymans <wim@fluendo.com>
15423 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15424 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15425 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15426 (gst_collect_pads_event), (gst_collect_pads_chain):
15429 Catch and return errors from the collect function
15430 Refuse data on eos pads.
15432 2006-05-10 Edward Hervey <edward@fluendo.com>
15434 * gst/gstinterface.h:
15435 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15436 GInterface type checking.
15437 They were previously using non-defined macros.
15439 2006-05-09 Wim Taymans <wim@fluendo.com>
15441 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15442 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15443 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15444 (gst_collect_pads_start), (gst_collect_pads_stop),
15445 (gst_collect_pads_peek), (gst_collect_pads_pop),
15446 (gst_collect_pads_available), (gst_collect_pads_read),
15447 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15448 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15449 (gst_collect_pads_chain):
15450 * libs/gst/base/gstcollectpads.h:
15451 Clean up the mess that is collectpads, add comments and
15452 FIXMEs where needed.
15453 Maintain a separate pad list so we can add pads while
15454 collecting the other ones. For this we need a new separate
15456 Fix memory leak in finalize.
15457 Refactor some weird code to set/unset pad flushing flags, mark
15459 Don't crash in _available, _read, _flush when we're EOS.
15461 * tests/check/libs/.cvsignore:
15462 Ignore adapter check binary.
15464 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15466 * gst/gstindex.c: (gst_index_resolver_get_type):
15467 * plugins/elements/gstfakesink.c:
15468 (gst_fake_sink_state_error_get_type):
15469 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15470 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15471 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15472 Const-ify GEnumValue arrays.
15474 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15476 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15477 Add test case for flags + gst_buffer_make_metadata_writable().
15479 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15481 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15482 gst_buffer_make_metadata_writable() should maintain the
15483 buffer flags (those that make sense at least) (see #340859).
15485 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15487 * tools/gst-inspect.c:
15488 * tools/gst-launch.c:
15489 * tools/gst-typefind.c:
15490 * tools/gst-xmlinspect.c:
15492 Fix up includes: need to include stdlib.h in tools.h for exit().
15494 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15496 * gst/gsttaglist.c: (_gst_tag_initialize):
15497 * gst/gsttaglist.h:
15498 API: add GST_TAG_IMAGE tag (#340721).
15500 2006-05-08 Wim Taymans <wim@fluendo.com>
15503 Added some docs for the segment query.
15505 2006-05-08 Wim Taymans <wim@fluendo.com>
15507 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15508 (gst_base_src_loop), (gst_base_src_change_state):
15509 Always push non-flushing serialized events in the streaming
15512 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15514 * gst/gsterror.c: (_gst_stream_errors_init):
15515 Add a missing error string.
15517 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15519 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15520 Add applied_rate to the debug
15522 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15523 Copy applied_rate into the outgoing NEWSEGMENT event
15525 2006-05-08 Wim Taymans <wim@fluendo.com>
15527 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15529 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15530 (gst_base_sink_change_state):
15531 call ::unlock before taking the PREROLL_LOCK so we can safely
15532 handle elements that lock in ::render.
15535 2006-05-08 Edward Hervey <edward@fluendo.com>
15537 * autogen.sh: (CONFIGURE_DEF_OPT):
15538 Darwin's libtoolize is in fact called glibtoolize.
15539 Adding glibtoolize to the list of accepted names for libtoolize.
15541 2006-05-08 Wim Taymans <wim@fluendo.com>
15543 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15544 Unify error handling, don't post an error message
15545 when a push() returns EOS but perform our normal EOS
15546 handling code. Fixes #340772.
15548 2006-05-08 Wim Taymans <wim@fluendo.com>
15550 * docs/design/part-overview.txt:
15551 Make upsteam/downstream concepts more clear.
15552 Give an example of serialized/non-serialized events.
15554 * docs/design/part-events.txt:
15555 * docs/design/part-streams.txt:
15556 Mention applied_rate.
15558 * docs/design/part-trickmodes.txt:
15559 Mention applied rate, flesh out some more use cases.
15561 * gst/gstevent.c: (gst_event_new_new_segment),
15562 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15563 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15564 (gst_event_parse_tag), (gst_event_new_buffer_size),
15565 (gst_event_parse_buffer_size), (gst_event_new_qos),
15566 (gst_event_parse_qos), (gst_event_parse_seek),
15567 (gst_event_new_navigation):
15569 Add applied_rate field to NEWSEGMENT event.
15570 API: gst_event_new_new_segment_full()
15571 API: gst_event_parse_new_segment_full()
15573 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15574 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15575 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15576 * gst/gstsegment.h:
15577 Add applied_rate to GstSegment structure.
15578 Make calculation of stream_time and running_time more correct
15579 wrt rate/applied_rate.
15580 Add some more docs.
15581 API: GstSegment::applied_rate field
15582 API: gst_segment_set_newsegment_full();
15584 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15585 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15586 * libs/gst/base/gstbasetransform.c:
15587 (gst_base_transform_sink_eventfunc),
15588 (gst_base_transform_handle_buffer):
15589 Parse and use applied_rate in the GstSegment field.
15591 * tests/check/gst/gstevent.c: (GST_START_TEST):
15592 Add check for applied_rate field.
15594 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15595 (gstsegments_suite):
15596 Add more checks for various GstSegment operations.
15598 2006-05-08 Wim Taymans <wim@fluendo.com>
15600 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15601 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15602 (gst_base_sink_get_position), (gst_base_sink_change_state):
15603 Store the sync time of the buffer end position separatly in a
15604 new variable eos_rtime so we can properly sync the EOS event.
15606 Fix the docs for gst_base_sink_set_qos_enabled().
15607 Don't set segment start to invalid value when we receive a
15608 non TIME newsegment.
15609 get closer to handling position reporting for negative rates
15612 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15615 Docs about how to print caps for debug purposes.
15617 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15618 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15620 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15622 * gst/gstelement.c:
15623 use full enum names and preprend a '%' in docs strings to make recent
15624 gtk-doc turn that into a link
15626 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15628 * docs/manual/basics-bins.xml:
15629 * docs/manual/basics-bus.xml:
15630 * docs/manual/basics-pads.xml:
15631 Some typo fixes, some additions, some clarifications.
15633 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15635 * tools/gst-inspect.c: (main):
15636 * tools/gst-launch.c: (main):
15637 * tools/gst-run.c: (main):
15638 * tools/gst-typefind.c: (main):
15639 * tools/gst-xmlinspect.c: (main):
15640 Use the string passed to g_option_context_new() for
15641 what it's intended for - the program name is already
15644 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15646 * tools/Makefile.am:
15647 * tools/gst-inspect.c: (main):
15648 * tools/gst-launch.c: (main):
15649 * tools/gst-xmlinspect.c: (main):
15651 Add back --version command line option (#340460).
15653 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15654 Add --version option and use GOption for argument parsing; refactor a
15655 bit; accept directories as arguments and recurse into them; lastly,
15656 print a decent error message when things go wrong.
15658 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15660 * docs/manual/basics-bins.xml:
15661 Don't mention GstThread (#340611)
15662 * docs/manual/basics-elements.xml:
15663 Update link to GObject tutorial (#340607)
15665 2006-05-05 Wim Taymans <wim@fluendo.com>
15668 * gst/gstminiobject.c:
15669 Add note about refcounting and miniobject/buffer writeability
15670 to docs. Fixes #340604
15672 * gst/gstelementfactory.h:
15673 Added some explanation about @klass.
15675 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15677 * docs/manual/intro-motivation.xml:
15678 * docs/manual/manual.xml:
15679 Avoid CORBA & Bonobo references (#340598)
15681 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15683 * docs/manual/basics-bus.xml:
15684 * docs/manual/basics-pads.xml:
15685 Fix up some inaccuracies and omissions (#340609)
15687 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15689 * gst/gstghostpad.c:
15690 Small typo in docs (#340625)
15692 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15694 * gst/parse/Makefile.am:
15695 Make 'make -j' proof (see #340698).
15697 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15700 Require GLib-2.8 here as well.
15702 2006-05-05 Wim Taymans <wim@fluendo.com>
15704 * gst/glib-compat.c:
15705 * gst/gst.c: (init_pre):
15706 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15707 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15708 (gst_object_dispatch_properties_changed):
15710 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15711 * gst/gststructure.c: (gst_structure_set_valist):
15712 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15713 Remove pre glib2.8 compatibility, fixes #340508
15715 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15717 * gst/gsttaglist.h:
15718 Mention type of tags in doc blurbs.
15720 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15722 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15723 (gst_pad_configure_src), (gst_pad_push):
15724 Restore acceptcaps checking behaviour now that good plugins have
15727 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15729 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15736 * gst/gstmessage.c:
15740 * gst/parse/Makefile.am:
15741 * libs/gst/base/gstadapter.c:
15742 * libs/gst/base/gstbasesrc.c:
15743 * libs/gst/base/gstpushsrc.c:
15744 * libs/gst/base/gsttypefindhelper.c:
15745 * plugins/elements/gstfakesrc.c:
15746 * plugins/elements/gstidentity.c:
15747 Make sure gstprivate.h and/or config.h are
15748 always included first, otherwise some of our
15749 defines (like _FILE_OFFSET_BITS) might be
15750 redefined in the system headers. Fixes build
15751 on opensolaris (#340016).
15753 2006-05-04 Wim Taymans <wim@fluendo.com>
15755 * docs/libs/gstreamer-libs-sections.txt:
15756 API: addition: gst_adapter_take_buffer()
15758 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15759 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15760 (gst_adapter_available_fast):
15761 * libs/gst/base/gstadapter.h:
15762 Prepare for optimizing the hell out of this hugely inefficient
15764 Added gst_adapter_take_buffer() so we can at least start thinking
15765 about subbuffering and merging.
15766 Added some comments.
15768 * tests/check/Makefile.am:
15769 * tests/check/libs/adapter.c: (GST_START_TEST),
15770 (gst_adapter_suite), (main):
15771 Added GstAdapter check.
15773 2006-05-04 Wim Taymans <wim@fluendo.com>
15775 * docs/design/part-overview.txt:
15776 Fix some typos, add blurb about buffer flags.
15778 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15780 * docs/libs/gstreamer-libs-sections.txt:
15781 make sure GstBaseTransformClass shows up in the docs
15782 * libs/gst/base/gstbasetransform.c:
15783 * libs/gst/base/gstbasetransform.h:
15784 move docs so gtk-doc picks it up now
15786 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15788 * docs/libs/gstreamer-libs-sections.txt:
15789 add missing symbols to docs
15791 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15793 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15794 back out the newsegment handling change, see #340060 for ongoing
15797 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15799 * tools/gst-run.c: (get_candidates), (main):
15800 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15801 work); fix typo in error message. Fixes #340079.
15803 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15805 * common/Makefile.am:
15806 * docs/Makefile.am:
15807 * docs/faq/Makefile.am:
15808 * docs/gst/Makefile.am:
15809 * docs/libs/Makefile.am:
15810 * docs/manual/Makefile.am:
15811 * docs/plugins/Makefile.am:
15812 * docs/pwg/Makefile.am:
15813 * docs/slides/Makefile.am:
15815 * common/upload.mak:
15816 move upload.mak to common
15818 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15820 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15821 add more asserts on refcounts
15822 do more cleanup at end of tests
15823 fix test leaks showing in FC5
15825 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15827 * plugins/elements/gsttypefindelement.c:
15828 (gst_type_find_element_handle_event):
15829 reverted wrong change and reflowed code to avoid others falling into
15832 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15834 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15835 fix changelog entry about last collectpads change,
15836 add notes about proper fix
15838 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15841 * gst/gstregistry.c: (gst_registry_scan_path_level),
15842 (gst_registry_scan_path):
15843 * gst/gstregistry.h:
15844 only write out registry if it has changed, fixes #338339
15846 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15849 * gst/gstpipeline.c:
15850 * plugins/elements/gstcapsfilter.c:
15851 * plugins/elements/gstfakesink.c:
15852 * plugins/elements/gstfakesrc.c:
15853 * plugins/elements/gstfdsink.c:
15854 * plugins/elements/gstfdsrc.c:
15855 * plugins/elements/gstfilesink.c:
15856 * plugins/elements/gstfilesrc.c:
15857 * plugins/elements/gstidentity.c:
15858 * plugins/elements/gstqueue.c:
15859 * plugins/elements/gsttee.c:
15860 * plugins/elements/gsttypefindelement.c:
15861 (gst_type_find_element_handle_event):
15862 make GstElementDetails const
15864 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15866 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15867 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15868 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15869 more detailed debug and formatting cleanup,
15870 forward newsegments to src-pad (so that e.g. adder not eats them)
15872 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15874 * gst/gstutils.c: (gst_element_link_pads):
15875 cleanup double code
15877 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15879 * libs/gst/controller/gstcontroller.c:
15880 (gst_controller_sync_values):
15882 * tests/check/libs/controller.c: (GST_START_TEST),
15883 (gst_controller_suite):
15884 a new test for live value handling
15886 2006-04-28 Wim Taymans <wim@fluendo.com>
15888 * gst/gstutils.c: (push_and_ref):
15889 Added some more docs.
15890 Fix refcount issue whith gst_element_found_tags() helper
15891 function. Fixes #338335
15893 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15894 Added testsuite for gst_element_found_tags().
15896 2006-04-28 Michael Smith <msmith@fluendo.com>
15898 * gst/gstvalue.c: (gst_value_serialize_flags):
15899 Avoid NULL dereference when trying to serialize flags containing
15902 2006-04-28 Michael Smith <msmith@fluendo.com>
15904 * plugins/elements/gsttypefindelement.c:
15905 (gst_type_find_element_handle_event):
15906 If we get EOS before any data is accumulated, don't use
15907 uninitialised local variables.
15909 2006-04-28 Michael Smith <msmith@fluendo.com>
15911 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15912 (gst_dp_event_from_packet):
15913 Fixes in reading/writing events over GDP (not currently used?) -
15914 dereferencing NULL events for unknown/invalid event types, memory
15915 leak, and change g_warning to GST_WARNING.
15917 2006-04-28 Wim Taymans <wim@fluendo.com>
15919 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15920 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15921 (gst_base_sink_get_position), (gst_base_sink_change_state):
15922 When frame dropping is enabled, we should not ignore frames
15923 without a duration.
15924 Update some documentation.
15926 2006-04-28 Wim Taymans <wim@fluendo.com>
15928 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15929 (gst_base_src_send_event), (gst_base_src_change_state):
15930 Documentation updates.
15932 2006-04-28 Wim Taymans <wim@fluendo.com>
15934 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15935 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15936 handle EAGAIN, EINTR and short writes correctly. Also clean
15937 up some error cases, avoid a deadlock on bad file descriptors and
15938 use GST_DEBUG_OBJECT.
15941 2006-04-28 Wim Taymans <wim@fluendo.com>
15943 * gst/gstvalue.c: (gst_value_serialize_buffer),
15944 (gst_value_deserialize_buffer):
15945 Don't try to serialize a GValue with a NULL buffer.
15948 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15949 Added check for serialisation of NULL buffers.
15951 2006-04-28 Wim Taymans <wim@fluendo.com>
15953 * gst/gstminiobject.c: (gst_value_take_mini_object):
15954 Taking a NULL miniobject is valid, fix the case where
15955 we try to unref the NULL miniobject.
15957 2006-04-28 Wim Taymans <wim@fluendo.com>
15959 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15961 * gst/gstbin.c: (gst_bin_handle_message_func):
15963 Don't leak bin refcount when a state recalc is
15964 in progress and we delay another one #339808.
15966 2006-04-28 Wim Taymans <wim@fluendo.com>
15968 * docs/design/part-TODO.txt:
15969 Mention QoS as an ongoing work item.
15971 * docs/design/part-buffering.txt:
15972 New doc about buffering that needs to be fleshed out
15975 * docs/design/part-qos.txt:
15976 More QoS policy for decoders/demuxers/transforms
15978 * docs/design/part-trickmodes.txt:
15981 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15986 === release 0.10.5 ===
15988 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15991 releasing 0.10.5, "Fogo"
15993 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15995 patch by: Wim Taymans
15997 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15998 (gst_pad_configure_src), (gst_pad_push):
15999 * gst/gstpipeline.c: (gst_pipeline_init):
16000 Fix internal data flow errors. Fixes #338711.
16002 2006-04-12 Wim Taymans <wim@fluendo.com>
16004 * tests/check/gst/gstelement.c: (GST_START_TEST):
16005 Don't leak the factory.
16007 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
16010 * win32/common/config.h:
16013 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
16015 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16016 (gst_controller_unset_all):
16017 Free allocated GstTimedValues when freeing list nodes.
16018 Should fix leaks 'make check-valgrind' complains about.
16020 * win32/common/libgstcontroller.def:
16021 Add gst_controller_unset_all.
16023 2006-04-11 Stefan Kost <ensonic@users.sf.net>
16025 * docs/libs/gstreamer-libs-sections.txt:
16026 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16027 (gst_controller_unset_all):
16028 * libs/gst/controller/gstcontroller.h:
16029 API: Added new method gst_controller_unset_all()
16030 fixed gst_controller_unset()
16031 * tests/check/libs/controller.c: (GST_START_TEST),
16032 (gst_controller_suite):
16033 Added two testcases for new and fixed method
16035 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
16037 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
16038 MSG_DONTWAIT is not defined on Cygwin, so work
16039 around that (fixes #317048).
16041 2006-04-11 Wim Taymans <wim@fluendo.com>
16043 * gst/gstelementfactory.c: (gst_element_register),
16044 (gst_element_factory_create), (gst_element_factory_make):
16047 Updated docs (Fixes #131079)
16049 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16052 * tests/check/gst/gstelement.c: (GST_START_TEST),
16053 (gst_element_suite):
16054 Added testcase for elementfactory class field.
16056 2006-04-10 Wim Taymans <wim@fluendo.com>
16058 * gst/gstsegment.c:
16059 Added some more docs.
16061 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
16062 (gst_base_sink_reset_qos):
16063 Calculate more accurate rate values.
16065 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
16067 * gst/gst_private.h:
16068 add a new #ifdef to use __declspec(dllimport) only for
16069 other modules and not for gstreamer core
16070 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
16071 use gst_guint64_to_gdouble for conversion
16072 * win32/common/libgstreamer.def:
16073 add new exported functions
16074 * win32/vs6/gst_inspect.dsp:
16075 * win32/vs6/gst_launch.dsp:
16076 * win32/vs6/libgstbase.dsp:
16077 * win32/vs6/libgstcontroller.dsp:
16078 * win32/vs6/libgstcoreelements.dsp:
16079 * win32/vs6/libgstdataprotocol.dsp:
16080 * win32/vs6/libgstnet.dsp:
16081 update project files
16083 2006-04-08 Stefan Kost <ensonic@users.sf.net>
16085 * gst/gstbuffer.c: (gst_subbuffer_class_init):
16086 * gst/gstclock.c: (gst_clock_class_init):
16087 * gst/gstelement.c: (gst_element_class_init):
16088 * gst/gstindex.c: (gst_index_class_init):
16089 * gst/gstindexfactory.c: (gst_index_factory_class_init):
16090 * gst/gstobject.c: (gst_object_class_init),
16091 (gst_signal_object_class_init):
16092 * gst/gstpad.c: (gst_pad_class_init):
16093 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
16094 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
16095 * gst/gstregistry.c: (gst_registry_class_init):
16096 * gst/gstsystemclock.c: (gst_system_clock_class_init):
16097 * gst/gsttask.c: (gst_task_class_init):
16098 * gst/gstxml.c: (gst_xml_class_init):
16099 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16100 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16101 (gst_base_src_loop):
16102 * libs/gst/controller/gstcontroller.c:/
16103 (_gst_controller_class_init):
16104 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16105 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16106 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16107 * tests/old/examples/plugins/example.c: (gst_example_class_init):
16108 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16109 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16111 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
16113 * gst/gstpad.c: (gst_pad_link):
16114 Must set peer pads before calling the link function, otherwise
16115 a task started from a link function might get a flow-not-linked
16116 result when trying to push because the other thread where the
16117 linking happens hasn't had a chance to set the peers yet. This
16118 might happen for example when a queue gets linked to a downstream
16119 element, as queue starts a streaming task when its source pad
16120 gets linked. Happens in real life when playing back flac/musepack
16121 files in playbin (#332390).
16123 2006-04-08 Stefan Kost <ensonic@users.sf.net>
16127 * libs/gst/base/gstadapter.h:
16128 * libs/gst/base/gstbasesink.h:
16129 * libs/gst/base/gstbasesrc.h:
16130 * libs/gst/base/gstbasetransform.h:
16131 * libs/gst/base/gstcollectpads.h:
16132 * libs/gst/base/gstpushsrc.h:
16133 Fix broken GObject macros
16135 2006-04-07 Wim Taymans <wim@fluendo.com>
16137 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16138 Initialize start and stop times, thanks valgrind.
16140 2006-04-07 Wim Taymans <wim@fluendo.com>
16142 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16143 Be a bit nicer to badly behaving upstream elements that expect
16144 us to deal with non TIME segments and timestamps (such as fakesrc
16147 2006-04-07 Wim Taymans <wim@fluendo.com>
16150 Small documentation clarification about the signal watch.
16152 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16153 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16154 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16155 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16156 (gst_base_sink_get_position_last),
16157 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16158 Convert and store timestamps in stream time and running time, the
16159 raw timestamps are not useful, also document this better.
16160 Use different window sizes for good and bad QoS observations so
16161 we react to badness a little quicker.
16162 Keep track of the amount of rendered and dropped buffers.
16163 Send QoS timestamps in running time.
16165 * libs/gst/base/gstbasetransform.c:
16166 (gst_base_transform_sink_eventfunc),
16167 (gst_base_transform_handle_buffer):
16168 Compare QoS timestamps against running time.
16170 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
16173 Typo fixes in docs.
16175 2006-04-06 Michael Smith <msmith@fluendo.com>
16177 * gst/gstpad.c: (gst_pad_set_property):
16178 Use g_value_get_object() instead of g_value_dup_gst_object(),
16179 to avoid double-reffing the pad template (which we then sink,
16180 so this worked previously if (and only if) the pad template
16183 * gst/gstpadtemplate.c: (gst_pad_template_init),
16184 (gst_pad_template_pad_created):
16185 Never return floating references to pad templates, create
16186 them as initially-sunken.
16188 Document an extra function (and make this stop sinking our
16189 pad template, since that is now guaranteed to do nothing,
16190 since we created it sunken).
16192 * gst/gstghostpad.c:
16195 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
16197 * gst/gstinfo.c: (__gst_in_valgrind):
16200 * plugins/elements/gsttypefindelement.c:
16201 (gst_type_find_element_chain):
16202 Don't leak buffer caps.
16204 2006-04-06 Michael Smith <msmith@fluendo.com>
16206 * gst/parse/grammar.y:
16207 Fix a leak in parse-launch for any source-or-sink named element
16210 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16211 Unref the pipeline if it exists after we've failed parsing.
16213 2006-04-05 Michael Smith <msmith@fluendo.com>
16215 * gst/gstpipeline.c: (gst_pipeline_init):
16216 When we create a pipeline bus, initially create it in flushing mode.
16217 Fixes leaks in at least one test, and makes a new pipeline work the
16218 same as one that has gone to READY and then back to NULL.
16220 * gst/gstelement.c:
16223 2006-04-05 Michael Smith <msmith@fluendo.com>
16225 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16226 Unref a pad we reffed.
16227 * tests/check/gst/gstutils.c: (GST_START_TEST):
16230 2006-04-05 Michael Smith <msmith@fluendo.com>
16232 * gst/gstquery.c: (gst_query_set_formats),
16233 (gst_query_set_formatsv):
16234 Fix leaking GValues in queries, as shown by valgrind/testsuite.
16236 2006-04-05 Michael Smith <msmith@fluendo.com>
16238 * tests/check/generic/sinks.c: (GST_START_TEST):
16239 Fix a variety of memleaks in sinks check, which are only sometimes
16240 shown by running the tests under valgrind (weird?).
16242 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
16244 * docs/version.entities.in:
16245 Fix the substituted entity name after thomas' changes on the
16248 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
16250 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16253 2006-04-05 Andy Wingo <wingo@pobox.com>
16255 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16257 * libs/gst/base/gstbasetransform.c
16258 (gst_base_transform_sink_eventfunc): When resetting our segment on
16259 FLUSH_STOP, also update the flag saying we haven't seen a
16262 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16264 Patch by: Paolo Borelli <pborelli at katamail dot com>
16266 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16267 (gst_plugin_check_license):
16268 minor clean-ups: G_DEFINE_TYPE already takes care of the
16269 parent_class stuff, no need to do it twice. Mark array of
16270 license strings as constant. (#337103)
16272 2006-04-04 Michael Smith <msmith@fluendo.com>
16274 * tools/gst-inspect.c: (print_element_list):
16275 Free the right plugin list; fixes a memory leak.
16277 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16279 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
16281 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16282 Don't error out on empty buffers (#336945).
16284 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
16286 * docs/libs/gstreamer-libs-sections.txt:
16287 * gst/gsttaglist.c:
16288 * libs/gst/base/gstbasesink.c:
16289 * libs/gst/base/gstbasesink.h:
16290 * libs/gst/base/gstbasesrc.c:
16291 * libs/gst/base/gstbasesrc.h:
16292 Documentation updates. Make BaseSink and BaseSrc docs contain the
16293 class structure so that people can actually see the prototypes for
16294 virtual functions they're supposed to be overriding.
16296 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16298 * plugins/elements/gsttypefindelement.c:
16299 (gst_type_find_element_chain):
16300 More debug info; when skipping typefinding, send cached
16301 events in all cases.
16303 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16306 use new AS_VERSION and AS_NANO macros
16307 * gst/gst-i18n-lib.h:
16310 * gst/gstversion.h.in:
16311 * win32/common/config.h:
16312 * win32/common/config.h.in:
16315 2006-03-31 Michael Smith <msmith@fluendo.com>
16317 * plugins/elements/gsttypefindelement.c:
16318 (gst_type_find_element_chain):
16319 Do not typefind content if the buffers already have caps.
16320 Neccesary for icydemux (#333657), and the right thing to do anyway.
16322 2006-03-30 Wim Taymans <wim@fluendo.com>
16324 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16325 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16326 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16327 (gst_base_sink_record_qos_observation),
16328 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16329 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16330 (gst_base_sink_change_state):
16331 More QoS measurements as described in the design doc.
16332 Get rid of ringbuffer with observations, running average is
16333 more simple and equally good.
16334 Calculates valid proportion now.
16335 Added beginning of flood measurement.
16337 2006-03-29 Wim Taymans <wim@fluendo.com>
16339 * docs/design/part-qos.txt:
16341 Small documentation updates and additions.
16343 2006-03-29 Wim Taymans <wim@fluendo.com>
16345 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16346 (gst_base_src_send_event), (gst_base_src_loop),
16347 (gst_base_src_change_state):
16348 Perform the EOS logic when we reach the segment stop position.
16349 Fix compilation on gcc4.1
16351 2006-03-29 Wim Taymans <wim@fluendo.com>
16353 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16355 * plugins/elements/gstqueue.c: (gst_queue_init),
16356 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16357 (gst_queue_set_property):
16358 * plugins/elements/gstqueue.h:
16359 In queue, when EOS is received, if minimum threshold > max_size -
16360 current_level, there is chance that queue blocks forever in conditional
16361 item del wait. This is because the queue is not emptied completely due
16362 to minimum threshold. Here is another approach. Instead of setting
16363 cur_levels to max in EOS, just zero all minimum threshold levels. This
16364 should make sure that queue gives out all data. When going to READY
16365 (stop) state, just reset the original minimum threshold levels.
16368 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16370 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16371 (gst_type_find_element_handle_event),
16372 (gst_type_find_element_send_cached_events),
16373 (gst_type_find_element_change_state):
16374 * plugins/elements/gsttypefindelement.h:
16375 When typefinding is done in push mode, we should cache
16376 events we receive during typefinding instead of just
16377 dropping them (e.g. newsegment, custom events from
16378 dvdreadsrc etc.) and then send them out once we've
16379 determined the type of the stream (and decodebin
16380 has had a chance to plug in a decoder/demuxer).
16382 2006-03-27 Wim Taymans <wim@fluendo.com>
16384 * docs/design/part-qos.txt:
16387 2006-03-27 Wim Taymans <wim@fluendo.com>
16389 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16391 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16392 (gst_base_src_send_event), (gst_base_src_change_state):
16393 Handle element seek correctly when we are streaming.
16396 2006-03-24 Michael Smith <msmith@fluendo.com>
16398 * docs/faq/gst-uninstalled:
16399 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16400 allow you to correctly run intalled applications built against old
16401 core, using plugins that require updated core (e.g. running
16402 installed totem against a full uninstalled gstreamer stack)
16404 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16406 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16409 2006-03-24 Wim Taymans <wim@fluendo.com>
16411 * docs/gst/gstreamer-sections.txt:
16412 Rearrange the order of the methods so that related methods
16413 are grouped together in sections.
16415 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16417 * gst/gstelement.c:
16418 Little clarification in the docs
16420 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16424 * plugins/elements/gstidentity.c:
16425 * plugins/elements/gstqueue.c:
16426 * plugins/elements/gsttee.c:
16427 * plugins/elements/gsttypefindelement.c:
16428 GST_ELEMENT_DETAILS formatting
16430 2006-03-24 Wim Taymans <wim@fluendo.com>
16432 * libs/gst/base/gstbasesink.h:
16433 Only add fields, not insert or we break ABI.
16435 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16437 * win32/common/libgstbase.def:
16438 * win32/common/libgstreamer.def:
16439 Update, add recently added functions.
16441 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16443 * docs/gst/gstreamer-sections.txt:
16444 * gst/gstutils.c: (gst_pad_query_peer_position),
16445 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16447 API: add some new utility functions:
16448 - gst_pad_query_peer_position()
16449 - gst_pad_query_peer_duration()
16450 - gst_pad_query_peer_convert()
16452 2006-03-23 Wim Taymans <wim@fluendo.com>
16454 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16455 (gst_base_sink_init), (gst_base_sink_finalize),
16456 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16457 (gst_base_sink_set_property), (gst_base_sink_get_property),
16458 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16459 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16460 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16461 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16462 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16463 (gst_base_sink_preroll_object), (gst_base_sink_event),
16464 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16465 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16466 (gst_base_sink_query), (gst_base_sink_change_state):
16467 Decouple max-lateness and the fact that QoS messages are generated
16468 with a new property (qos).
16469 added API: GstBaseSink::async_play()
16470 Add vmethod so subclasses can be notified of ASYNC playing
16472 Collect timestamp start and stop to report better current
16473 position in EOS/PLAYING/PAUSED/READY/NULL.
16474 Refactor QoS/frame dropping and other measurements.
16475 API: GstBaseSrc::qos
16478 * libs/gst/base/gstbasesink.h:
16479 Added Private struct.
16480 API: gst_base_sink_set_qos_enabled()
16481 API: gst_base_sink_is_qos_enabled()
16483 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16485 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16486 If compiling against GLib-2.8 or newer, try to read the
16487 registry file using GMappedFile first before falling back
16488 to fopen() + fread() (#332151).
16490 2006-03-22 Wim Taymans <wim@fluendo.com>
16492 * gst/gstinfo.c: (gst_debug_set_active),
16493 (gst_debug_category_set_threshold):
16494 Disable debugging unless explicitly activated.
16497 2006-03-22 Wim Taymans <wim@fluendo.com>
16499 * gst/gstelement.c: (gst_element_set_locked_state),
16500 (gst_element_dispose):
16501 Cleanup the error case.
16503 * gst/gstobject.c: (gst_object_dispose):
16504 print a critical when some object was disposed with
16505 a parent, also revive the object since it might
16508 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16510 * tools/gst-launch.1.in:
16513 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16516 * tests/check/Makefile.am:
16517 disable some tests when we don't have a registry
16518 * tests/check/gst/gstutils.c: (gst_utils_suite):
16519 don't build the part that needs parsing
16521 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16524 * tests/examples/Makefile.am:
16525 fix --disable-parse build
16527 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16529 * tools/gst-feedback.1.in:
16530 Fix typo: s/feeback/feedback/ (#133494).
16532 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16534 * tools/Makefile.am:
16535 * tools/gst-launch.1.in:
16536 Add FILES section and correct entry about GST_REGISTRY_PATH
16537 environment variable (#133495; #133494).
16539 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16541 * tools/Makefile.am:
16542 * tools/gst-md5sum.1.in:
16543 * tools/gst-md5sum.c:
16544 Remove gst-md5sum and man page (the md5sink element
16545 required was removed ages ago)
16547 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16549 * gst/gststructure.c: (gst_structure_id_set_value):
16550 Make sure that string fields in structures/taglists
16551 contain valid UTF-8 - we don't want to pass rubbish to
16552 applications because of a buggy plugin (cp. #334167).
16554 2006-03-21 Edward Hervey <edward@fluendo.com>
16556 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16557 (gst_bin_handle_message_func):
16558 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16559 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16560 (gst_element_set_bus_func):
16561 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16562 * gst/gstminiobject.c: (gst_value_set_mini_object),
16563 (gst_value_take_mini_object):
16564 * gst/gstpad.c: (gst_pad_set_pad_template):
16565 * gst/gstpipeline.c: (gst_pipeline_dispose),
16566 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16567 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16568 (gst_collect_pads_chain):
16569 * libs/gst/net/gstnettimeprovider.c:
16570 (gst_net_time_provider_set_property):
16571 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16572 It's in fact all issues with gst_*object_replace().
16574 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16576 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16578 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16579 * pkgconfig/gstreamer-check.pc.in:
16580 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16582 2006-03-21 Edward Hervey <edward@fluendo.com>
16586 * gst/gstmessage.h:
16587 gst_[buffer|event|message]_ref() macros are replaced by a static
16588 inline functions because gcc-4.1 will about if the return value
16590 * tests/check/gst/gstevent.c: (event_probe):
16591 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16593 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16596 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16597 the type' case. (Closes: #335195 for now). In the future, when we
16598 depend on GLib 2.10, we could also intern the type name using
16599 g_intern_static_string()
16601 2006-03-20 Wim Taymans <wim@fluendo.com>
16603 * gst/gstbin.c: (gst_bin_handle_message_func),
16604 (bin_query_max_init), (bin_query_position_fold),
16605 (bin_query_position_done), (gst_bin_query):
16606 Position query should also take max of all streams.
16608 2006-03-20 Wim Taymans <wim@fluendo.com>
16610 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16611 (gst_fake_src_finalize):
16612 Fix leaks in fakesrc.
16614 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16615 Fix leaks in the testcase.
16617 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16619 * gst/gst_private.h:
16620 add win32 specific import decoration(__declspec(dllimport))
16621 for all extern GstDebugCategory * variables
16622 * win32/common/libgstbase.def:
16623 * win32/common/libgstcontroller.def:
16624 * win32/common/libgstreamer.def:
16625 Add some exports, remove empty lines
16626 * win32/common/libgstdataprotocol.def:
16627 * win32/common/libgstdataprotocol.dsp:
16628 * win32/common/libgstnet.def:
16629 * win32/common/libgstnet.dsp:
16630 new project files and exportation files added
16632 2006-03-19 Wim Taymans <wim@fluendo.com>
16634 * tests/check/libs/basesrc.c: (eos_event_counter):
16635 Use proper return value for probe.
16637 2006-03-17 Wim Taymans <wim@fluendo.com>
16639 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16641 Don't leak buffers, caps and pads on negotiation errors.
16643 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16645 * docs/faq/cvs.xml:
16646 * docs/faq/dependencies.xml:
16647 * docs/faq/developing.xml:
16648 * docs/faq/faq.xml:
16649 * docs/faq/general.xml:
16650 * docs/faq/getting.xml:
16651 * docs/faq/legal.xml:
16652 * docs/faq/troubleshooting.xml:
16653 * docs/faq/using.xml:
16654 Faq review and update.
16656 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16658 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16660 Don't pound the cpu to pieces by checking get_caps when accept_caps
16661 is called with the same caps as the pad already has.
16662 Use GST_DEBUG_OBJECT when outputting caps change information.
16664 2006-03-15 Wim Taymans <wim@fluendo.com>
16666 * gst/gstclock.c: (gst_clock_class_init):
16669 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16674 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16675 (gst_pad_accept_caps), (gst_pad_configure_sink),
16676 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16677 Make the default acceptcaps behaviour be to check the requested
16678 caps against the gst_pad_get_caps output.
16680 Ensure that gst_pad_accept_caps is used to check caps when a pad
16681 doesn't have a setcaps function, so that pads automatically refuse
16682 caps that they don't allow in their pad template. (Fixes #332986)
16684 When a buffer with attached caps is pushed, ensure that the source
16685 pad receives those caps even if the element didn't call
16686 gst_pad_set_caps first.
16688 2006-03-15 Wim Taymans <wim@fluendo.com>
16690 * libs/gst/base/gstadapter.c:
16693 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16695 * win32/common/libgstbase.def:
16696 * win32/common/libgstcontroller.def:
16697 * win32/common/libgstreamer.def:
16698 Add a whole bunch of missing functions (#334434).
16700 2006-03-14 Wim Taymans <wim@fluendo.com>
16702 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16703 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16704 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16705 Better debug info when we receive a segment event.
16706 Reorganize a bit so we can pass the get_times() results around.
16707 Use the segment format when calculating the running time.
16708 Don't do QoS is sync is disabled or we have no clock or the
16709 element does not want us to sync to the clock.
16710 Don't drop buffers if QoS is disabled for now.
16712 2006-03-14 Wim Taymans <wim@fluendo.com>
16714 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16715 Marked the stats property as unimplemented so people don't get
16717 Add debug message when regression goes wrong.
16718 Added some more docs.
16720 2006-03-14 Wim Taymans <wim@fluendo.com>
16722 * gst/gstsegment.c: (gst_segment_to_stream_time):
16723 Return correct return type in case of errors.
16725 2006-03-14 Wim Taymans <wim@fluendo.com>
16727 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16728 Don't segfault on invalid formats.
16730 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16732 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16733 Can't use gst_segment_to_running_time() when the segment
16734 is not in GST_TIME_FORMAT (like with filesink, for example).
16735 Stops flac encoding pipelines from spewing critical warnings
16738 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16740 * gst/gstpipeline.c: (gst_pipeline_class_init):
16741 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16743 * plugins/elements/gsttypefindelement.c:
16744 (gst_type_find_element_handle_event):
16745 Don't try to typefind empty streams.
16747 2006-03-14 Wim Taymans <wim@fluendo.com>
16749 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16750 (gst_base_sink_do_qos):
16751 Separate QoS calculation.
16752 Only drop buffers when lateness is bigger than the
16753 duration of the buffer.
16755 2006-03-13 Wim Taymans <wim@fluendo.com>
16757 * gst/gstpipeline.c: (gst_pipeline_set_property),
16758 (gst_pipeline_get_property), (do_pipeline_seek),
16759 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16760 (gst_pipeline_get_delay):
16761 Don't deadlock when reading properties.
16763 2006-03-13 Wim Taymans <wim@fluendo.com>
16765 * libs/gst/base/gstbasetransform.c:
16766 (gst_base_transform_class_init), (gst_base_transform_init),
16767 (gst_base_transform_sink_event),
16768 (gst_base_transform_sink_eventfunc),
16769 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16770 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16771 (gst_base_transform_set_property),
16772 (gst_base_transform_get_property),
16773 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16774 (gst_base_transform_set_qos_enabled),
16775 (gst_base_transform_is_qos_enabled):
16776 * libs/gst/base/gstbasetransform.h:
16777 Make basetransform virtual method for src events too.
16778 Handle QOS in basetransform.
16779 API: gst_base_transform_update_qos()
16780 API: gst_base_transform_set_qos_enabled()
16781 API: gst_base_transform_is_qos_enabled()
16783 2006-03-13 Wim Taymans <wim@fluendo.com>
16785 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16786 (gst_base_sink_do_sync):
16788 Use QOS debug category.
16790 2006-03-13 Wim Taymans <wim@fluendo.com>
16792 * plugins/elements/gstqueue.c:
16793 Very small doc update.
16795 2006-03-13 Wim Taymans <wim@fluendo.com>
16797 * gst/gst_private.h:
16798 * gst/gstinfo.c: (_gst_debug_init):
16799 Added QOS debug category
16801 2006-03-13 Wim Taymans <wim@fluendo.com>
16803 * docs/gst/gstreamer-sections.txt:
16804 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16806 * gst/gstbus.c: (gst_bus_class_init):
16809 * gst/gstelement.c: (gst_element_set_locked_state):
16810 * gst/gstsegment.c:
16811 Documentation updates.
16813 * gst/gstpipeline.c: (gst_pipeline_get_type),
16814 (gst_pipeline_class_init), (gst_pipeline_init),
16815 (gst_pipeline_dispose), (gst_pipeline_set_property),
16816 (gst_pipeline_get_property), (do_pipeline_seek),
16817 (gst_pipeline_send_event), (gst_pipeline_change_state),
16818 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16819 (gst_pipeline_get_delay):
16820 * gst/gstpipeline.h:
16821 Added methods for setting the delay.
16822 API: gst_pipeline_set_delay()
16823 API: gst_pipeline_get_delay()
16824 Add pipeline debug category
16827 Don't reset stream time when seek failed.
16829 2006-03-13 Wim Taymans <wim@fluendo.com>
16831 * docs/design/draft-klass.txt:
16832 * docs/design/part-clocks.txt:
16833 * docs/design/part-events.txt:
16834 * docs/design/part-gstbin.txt:
16835 * docs/design/part-gstpipeline.txt:
16836 * docs/design/part-messages.txt:
16837 * docs/design/part-negotiation.txt:
16838 * docs/design/part-overview.txt:
16839 * docs/design/part-preroll.txt:
16840 * docs/design/part-seeking.txt:
16841 * docs/design/part-states.txt:
16842 * docs/design/part-streams.txt:
16843 Documentation updates.
16845 2006-03-12 Julien MOUTTE <julien@moutte.net>
16847 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16848 us to leak strings...
16850 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16852 * libs/gst/net/gstnettimeprovider.c:
16854 * win32/common/config.h:
16857 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16859 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16862 Don't check for libgnomeui (leftover from old examples
16863 that aren't built or disted any longer) (#334303).
16865 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16867 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16868 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16869 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16870 there's no space left on the device.
16872 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16875 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16876 to cast the input to GstClockTime before comparing with
16877 another GstClockTime value.
16879 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16884 === release 0.10.4 ===
16886 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16889 releasing 0.10.4, "Light"
16891 2006-03-10 Michael Smith <msmith@fluendo.com>
16893 * libs/gst/dataprotocol/dataprotocol.c:
16894 Fix docs for dataprocotol to not get the return types completely
16895 wrong for a few functions.
16897 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16899 * docs/gst/gstreamer-sections.txt:
16900 * gst/gstpipeline.c: (gst_pipeline_class_init),
16901 (gst_pipeline_init), (gst_pipeline_set_property),
16902 (gst_pipeline_get_property), (gst_pipeline_change_state),
16903 (gst_pipeline_set_auto_flush_bus),
16904 (gst_pipeline_get_auto_flush_bus):
16905 * gst/gstpipeline.h:
16906 Add new API: gst_pipeline_set_auto_flush_bus() and
16907 gst_pipeline_get_auto_flush_bus() to disable automatic
16908 flushing of the pipeline's GstBus when going from READY
16909 to NULL state (#332045).
16911 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16913 * docs/gst/gstreamer-sections.txt:
16914 * gst/gsturi.c: (gst_uri_has_protocol):
16916 Add new API: gst_uri_has_protocol() (#333779).
16918 2006-03-09 Wim Taymans <wim@fluendo.com>
16920 * gst/gstclock.c: (gst_clock_entry_new),
16921 (gst_clock_id_compare_func), (gst_clock_id_wait),
16922 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16923 (gst_clock_init), (gst_clock_get_internal_time),
16924 (gst_clock_set_master), (do_linear_regression),
16925 (gst_clock_add_observation), (gst_clock_set_property):
16929 Fix a possible segfault when the window-size is made smaller.
16930 Calculate jitter before performing the clock wait. Ideally
16931 the clock implementation should calculate jitter but we need
16932 API breakage for that.
16934 * gst/gstsystemclock.c: (gst_system_clock_init):
16937 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16938 Remove leftover else
16940 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16941 (gst_systemclock_suite):
16942 Added check to test GST_CLOCK_DIFF.
16944 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16946 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16947 (gst_type_find_helper_get_range):
16948 If we are provided with the size, we should implement
16949 GstTypeFind::get_length, so that typefind functions who
16950 want to can actually peek at the middle of a file.
16952 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16954 * docs/manual/advanced-dataaccess.xml:
16955 Add some very very basic error checking.
16957 * docs/pwg/appendix-checklist.xml:
16958 Some updates to the list of things to check when writing an element.
16960 2006-03-08 Wim Taymans <wim@fluendo.com>
16962 * docs/design/part-element-transform.txt:
16963 Added some docs about the design of tranform elements.
16965 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16966 (gst_base_src_loop), (gst_base_src_change_state):
16967 Mark buffers with the DISCONT flag.
16969 2006-03-08 Michael Smith <msmith@fluendo.com>
16971 * gst/gstregistry.h:
16972 * gst/gstregistryxml.c: (gst_registry_save),
16973 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16974 (gst_registry_xml_save_pad_template),
16975 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16976 (gst_registry_xml_write_cache):
16977 Rewrite registry-saving to avoid race conditions and check for
16980 2006-03-08 Wim Taymans <wim@fluendo.com>
16982 * libs/gst/base/gstbasetransform.c:
16983 (gst_base_transform_transform_caps),
16984 (gst_base_transform_transform_size),
16985 (gst_base_transform_prepare_output_buffer),
16986 (gst_base_transform_get_unit_size),
16987 (gst_base_transform_buffer_alloc),
16988 (gst_base_transform_handle_buffer),
16989 (gst_base_transform_change_state):
16990 Cleanups, separate normal flow from errors, add sensible
16992 Don't try to renegotiate when allocating an output buffer.
16993 Also copy DISCONT buffer flag when copying a buffer.
16994 Reset the transform after we finish streaming, not during.
16996 2006-03-08 Wim Taymans <wim@fluendo.com>
16998 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16999 Use last buffer timestamp in qos message.
17001 2006-03-07 Wim Taymans <wim@fluendo.com>
17003 Patch by: Christophe Fergeau
17005 * docs/pwg/advanced-tagging.xml:
17006 * docs/pwg/building-pads.xml:
17009 2006-03-07 Wim Taymans <wim@fluendo.com>
17011 * docs/libs/gstreamer-libs-sections.txt:
17012 Added basesink new methods.
17016 Docs updates. Flesh out the QoS docs.
17018 * libs/gst/base/gstadapter.c:
17019 Small doc clarification about ownership and flushing.
17021 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
17022 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
17023 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
17024 (gst_base_sink_get_property), (gst_base_sink_do_sync):
17025 * libs/gst/base/gstbasesink.h:
17027 Added new methods to allow subclass to control max-lateness
17029 Generate very basic QoS events based on last sync observation.
17030 Updated docs, fix typo, added some QoS blurb.
17032 * libs/gst/base/gstbasesrc.c:
17033 Remove obsolete _get_state() calls from docs.
17035 2006-03-07 Wim Taymans <wim@fluendo.com>
17037 * docs/libs/gstreamer-libs-sections.txt:
17038 * libs/gst/base/gstbasetransform.h:
17039 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
17040 Fix docs for GstBaseSrc.
17042 2006-03-07 Wim Taymans <wim@fluendo.com>
17044 * docs/gst/gstreamer-sections.txt:
17047 * libs/gst/base/gstbasetransform.h:
17048 Small documentation fixes.
17050 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
17053 Document thread-unsafety of gst_value_register_foo_func()
17054 when used at the same time as gst_value_foo() (#322628).
17056 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
17058 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
17059 (gst_push_src_check_get_range):
17060 Push sources don't support pull mode by default.
17062 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
17064 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17065 (gst_base_src_init), (gst_base_src_pad_check_get_range),
17066 (gst_base_src_default_check_get_range):
17067 * libs/gst/base/gstbasesrc.h:
17068 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
17069 provide default implementation, and rename
17070 gst_base_src_check_get_range() to
17071 gst_base_src_pad_check_get_range() for clarity.
17073 2006-03-06 Wim Taymans <wim@fluendo.com>
17075 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17076 Make property overridable.
17078 2006-03-06 Wim Taymans <wim@fluendo.com>
17080 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17081 (gst_base_sink_init), (gst_base_sink_set_property),
17082 (gst_base_sink_get_property), (gst_base_sink_do_sync):
17083 * libs/gst/base/gstbasesink.h:
17084 API addition: Make max-lateness a property.
17086 2006-03-06 Wim Taymans <wim@fluendo.com>
17088 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17089 (gst_base_sink_do_sync), (gst_base_sink_render_object):
17090 Don't ever draw a frame that is >10ms late.
17092 2006-03-06 Michael Smith <msmith@fluendo.com>
17094 * gst/gstmessage.c: (_gst_message_copy):
17095 When copying a message, set the parent_refcount of the enclosed
17096 structure to point at the copy, not the original message.
17098 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
17100 Patch by: Christophe Fergeau
17103 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17104 usable in c++ code (#333417)
17106 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
17109 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17111 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
17113 * libs/gst/base/gstbasetransform.c:
17114 (gst_base_transform_transform_caps):
17115 Make sure caps are writable before passing them to
17118 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
17121 Fix some minor docs errors.
17123 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
17125 Patch by: Ross Burton <ross at burtonini dot com>
17127 * gst/gsterror.c: (_gst_resource_errors_init):
17129 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17131 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
17134 Add a check and output a g_warning when GStreamer is built
17135 against GLib 2.6 but running against 2.8 or higher, and vice
17136 versa. (Closes: #323542)
17138 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
17140 * gst/parse/parse.l:
17141 Commit patch for parse_launch syntax from #331255. Removes
17142 support for quoted strings and mimetypes when writing filtered
17143 caps. See the bug report for more details - I'm pretty sure this
17144 obscure feature is not in use by _anyone_ anywhere.
17146 With this simple change, the size of the gstreamer.so here
17147 drops from 2193KB to 1565KB.
17149 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
17151 * plugins/elements/gsttypefindelement.h:
17152 * plugins/elements/gsttypefindelement.c:
17153 (gst_type_find_element_src_event), (start_typefinding),
17154 (stop_typefinding), (gst_type_find_element_handle_event),
17155 (gst_type_find_element_chain),
17156 (gst_type_find_element_chain_do_typefinding):
17157 Use gst_type_find_helper_for_buffer() for chain-based
17160 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
17162 * plugins/elements/gsttypefindelement.c:
17163 (gst_type_find_element_class_init),
17164 (gst_type_find_element_set_property),
17165 (gst_type_find_element_get_property):
17166 Deprecate "maximum" property (not only was it only taken into
17167 account for typefinding in push-mode anyway, it also was never
17168 actually possible to set it in the first place because the
17169 property was registered with the numeric property ID for the
17170 "minimum" property). Register "maximum" property correctly,
17171 for the sake of future copy'n'pasters. Remove some cruft
17172 from property get/set functions.
17174 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
17176 * plugins/elements/gsttypefindelement.c:
17177 (gst_type_find_element_activate):
17178 Use gst_type_find_helper_get_range() here, so we
17179 can honour the "minimum" property and also emit
17180 the signal with the correct probability of the found caps.
17182 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
17184 * docs/libs/gstreamer-libs-sections.txt:
17185 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17186 (helper_find_suggest), (gst_type_find_helper_get_range),
17187 (gst_type_find_helper):
17188 * libs/gst/base/gsttypefindhelper.h:
17189 New API: gst_type_find_helper_get_range() (#333042).
17191 2006-03-02 Michael Smith <msmith@fluendo.com>
17193 * gst/gstregistryxml.c: (load_feature):
17194 Asserting on a failure to read part of the registry is Not Cool.
17195 Just log a warning and return NULL (which is already handled)
17197 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
17199 * win32/common/libgstbase.def:
17200 added export of gst_type_find_helper_for_buffer
17201 * win32/common/libgstbase.def:
17202 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17203 gst_ghost_pad_get_target
17205 2006-02-28 Wim Taymans <wim@fluendo.com>
17207 * docs/design/draft-klass.txt:
17209 Added Connector to mark elements that are only used to
17210 allow pipeline connections.
17211 Moved Debug to extra feature since most of them are
17212 functionally something else.
17214 2006-02-28 Wim Taymans <wim@fluendo.com>
17216 * docs/design/draft-klass.txt:
17217 Some updates and clarifications.
17219 2006-02-28 Wim Taymans <wim@fluendo.com>
17221 * docs/design/draft-klass.txt:
17222 Proposal for klass field values.
17224 * docs/design/part-streams.txt:
17225 Start of a doc describing stream anatomy.
17227 2006-02-28 Wim Taymans <wim@fluendo.com>
17229 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17230 Help the compiler a bit with type registration.
17231 Use existing forward cod path instead of duplicating it when
17232 handling a message.
17234 * gst/gstbus.c: (gst_bus_get_type):
17235 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17236 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17237 * gst/gstclock.c: (gst_clock_get_type):
17238 * gst/gstelement.c: (gst_element_get_type),
17239 * gst/gstelementfactory.c: (gst_element_factory_get_type):
17240 * gst/gstindexfactory.c: (gst_index_factory_get_type):
17241 * gst/gstminiobject.c: (gst_mini_object_get_type):
17242 * gst/gstpad.c: (gst_pad_get_type):
17243 * gst/gstsegment.c: (gst_segment_get_type):
17244 * gst/gststructure.c: (gst_structure_get_type):
17245 * gst/gstsystemclock.c: (gst_system_clock_get_type):
17246 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17248 Help compiler with type registration.
17250 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17253 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17255 * plugins/elements/gsttypefindelement.c:
17256 (gst_type_find_element_handle_event):
17257 When we get an EOS event and have not found a type yet
17258 (most likely because we had not yet accumulated
17259 TYPE_FIND_MIN_SIZE of data yet), try to determine the
17260 type given the data we have so far. Fixes typefinding
17261 for very short streams again, most notably quicktime
17262 redirections as used on Apple's trailer site (#331701).
17264 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17266 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17267 (gst_type_find_helper):
17268 Try typefinding factories with the highest rank first.
17270 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17272 * docs/libs/gstreamer-libs-docs.sgml:
17273 * docs/libs/gstreamer-libs-sections.txt:
17274 * libs/gst/base/gsttypefindhelper.c:
17275 Add section for typefind helper and add documentation
17276 for the old and the new function.
17278 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17280 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17281 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17282 (gst_type_find_helper_for_buffer):
17283 * libs/gst/base/gsttypefindhelper.h:
17284 New API: gst_type_find_helper_for_buffer() (#332723).
17286 2006-02-27 Michael Smith <msmith@fluendo.com>
17288 Patch by: Loïc Minier
17291 * docs/Makefile.am:
17292 * docs/slides/Makefile.am:
17293 prevent CVS directories getting disted.
17295 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17297 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17298 Use the REFCOUNTING category for caps refcounting.
17300 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17302 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17303 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17305 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17307 * plugins/elements/gsttypefindelement.c:
17308 (gst_type_find_element_activate):
17309 Use gst_pad_check_pull_range() before _activate_pull()
17310 to avoid unnecessary open/close (see #331690).
17312 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17315 Docs enhancement: make it crystal clear what the
17316 gst_pad_add_*_probe() callbacks should look like.
17318 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17320 * libs/gst/base/gstbasesrc.c:
17321 Document how applications can stop recording from
17322 live sources (see #330996).
17324 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17326 * tests/check/Makefile.am:
17327 * tests/check/libs/basesrc.c: (eos_event_counter),
17328 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17329 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17330 (gst_basesrc_suite), (main):
17331 ... and add some tests for the base source EOS stuff.
17333 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17335 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17336 Test case originally showed the problem fixed below,
17337 but was then amended. Add checks back at the place
17338 where they used to be.
17340 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17342 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17343 (gst_base_src_init), (gst_base_src_loop),
17344 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17345 (gst_base_src_change_state):
17346 * libs/gst/base/gstbasesrc.h:
17347 Don't unconditionally send EOS when going from PAUSED to
17348 READY state, esp. make sure we don't send two EOS events
17349 in some cases (e.g. one when reaching EOS and one when
17350 going from PAUSED to READY). Also, we don't want to send
17351 EOS events when operating in pull mode. However, we do
17352 want to send an EOS event when shutting down a live
17353 source explicitly, for example (fixes #330996).
17355 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17357 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17358 Update src->read_position after a seek when not using mmap.
17359 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17361 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17367 Make things work with --disable-parse as they do with
17368 --disable-load-save - the symbols involved disappear, but the
17369 header is still installed and GST_DISABLE_PARSE is included via
17372 2006-02-20 Julien MOUTTE <julien@moutte.net>
17374 * libs/gst/base/gstbasetransform.c:
17375 (gst_base_transform_change_state): Fix a stupid bug. I was
17376 sure I compiled that.
17378 2006-02-20 Julien MOUTTE <julien@moutte.net>
17380 * gst/gstpad.c: (gst_pad_set_blocked_async):
17381 * gst/gstutils.c: (gst_pad_add_data_probe),
17382 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17383 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17384 (gst_pad_remove_buffer_probe): Make those function act on the
17385 ghostpad target when it's a ghostpad. (Closes #331727)
17387 2006-02-20 Julien MOUTTE <julien@moutte.net>
17389 * libs/gst/base/gstbasetransform.c:
17390 (gst_base_transform_change_state): Make basetransform reusable.
17393 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17395 * docs/random/release:
17396 Move the current documentation of how to do a release to the top
17399 * gst/gstbin.c: (gst_bin_class_init),
17400 (gst_bin_handle_message_func):
17401 Allow multiple state-recalculation threads. (Closes #328873)
17403 2006-02-19 Julien MOUTTE <julien@moutte.net>
17405 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17406 * gst/gstpad.c: (gst_pad_set_event_function),
17407 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17408 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17409 2 strings. You can't use the STR_NULL macro on that.
17411 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17413 * gst/gstpad.c: (gst_pad_set_event_function),
17414 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17415 (gst_pad_set_getcaps_function)
17416 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17417 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17418 So now, we can use --gst-debug-level=5 on Windows
17419 * win32/common/libgstcontroller.def:
17420 Added export of gst_controller_init
17421 * win32/vs6/libgstcontroller.dsp:
17422 Fixed Release post build configuration
17424 2006-02-17 Wim Taymans <wim@fluendo.com>
17426 * tests/check/gst/gstquery.c: (GST_START_TEST):
17427 Added another check.
17429 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17431 * plugins/elements/gsttypefindelement.c: (find_peek):
17432 We can do peeks at non-zero offsets, as long as they
17433 fall within the buffer we have.
17435 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17437 * tests/check/Makefile.am:
17438 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17439 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17440 (parse_suite), (main):
17441 Add testsuite for parse launch syntax
17443 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17445 * plugins/elements/gsttypefindelement.c:
17446 (gst_type_find_element_chain):
17447 When typefinding is unsuccessful in the chain function, don't
17448 error out immediately. Only error out with NO_CAPS_FOUND if
17449 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17450 otherwise simply wait for more data so we can try typefinding
17451 again with more data later. Also, don't attempt to typefind
17452 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17453 this should improve typefinding from network sources where the
17454 size of the first buffer can be somewhat random.
17456 2006-02-14 Wim Taymans <wim@fluendo.com>
17458 * docs/gst/gstreamer-sections.txt:
17459 * gst/gstpadtemplate.c:
17460 * gst/gstpadtemplate.h:
17461 Fix padtemplate docs, fixes #328805.
17463 2006-02-14 Wim Taymans <wim@fluendo.com>
17465 * tools/gst-launch.c: (main):
17466 NO_PREROLL is not an ERROR so don't send confusing messages
17469 2006-02-14 Wim Taymans <wim@fluendo.com>
17471 Patch by: Torsten Schoenfeld
17473 * gst/gstregistry.c: (gst_registry_get_default),
17474 (_gst_registry_cleanup):
17475 Protect default registry with lock and ref/sink it.
17478 2006-02-14 Wim Taymans <wim@fluendo.com>
17481 * gst/gstquery.c: (gst_query_list_add_format),
17482 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17483 (gst_query_parse_formats_nth):
17484 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17487 2006-02-14 Wim Taymans <wim@fluendo.com>
17489 * docs/gst/gstreamer-sections.txt:
17490 Reworked query docs.
17492 * gst/gstquery.c: (gst_query_new_formats),
17493 (gst_query_list_add_format), (gst_query_set_formats),
17494 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17495 (gst_query_parse_formats_nth):
17497 Flesh out formats query, added some new methods.
17498 Fix part of #324398.
17500 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17501 Added query creation tests.
17503 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17505 * gst/gstpad.c: (fixate_value):
17506 Add a default fixation for fraction lists.
17508 2006-02-13 Wim Taymans <wim@fluendo.com>
17510 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17511 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17514 Detect and warn for obvious deadlocks. fixes #320340
17515 Fix error case where lock was not released.
17517 * tests/check/Makefile.am:
17518 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17519 (task_func), (gst_element_suite), (main):
17522 2006-02-13 Wim Taymans <wim@fluendo.com>
17524 * docs/gst/gstreamer-sections.txt:
17526 Add new functions to docs.
17528 2006-02-13 Wim Taymans <wim@fluendo.com>
17530 * docs/design/part-TODO.txt:
17531 Updated TODO list, basesrc supports seeking to non-bytes
17534 * docs/design/part-element-sink.txt:
17537 * gst/gstbin.c: (bin_replace_message),
17538 (gst_bin_handle_message_func):
17539 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17540 * gst/gstevent.c: (gst_event_finalize):
17541 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17542 (gst_pad_send_event):
17543 Use shiny new _TYPE_NAME macros.
17545 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17546 Move debug statement up.
17548 * gst/gstelement.c: (gst_element_set_locked_state):
17549 Add some debugging.
17551 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17553 * docs/gst/gstreamer-sections.txt:
17554 * gst/gstmessage.h:
17556 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17557 macros (#330906). Also, document the already existing
17558 GST_QUERY_TYPE macro.
17560 2006-02-13 Wim Taymans <wim@fluendo.com>
17562 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17563 (event_probe), (GST_START_TEST):
17564 Only events up to the pipeline EOS are counted, there are
17565 some more when going to NULL currently which we don't care
17568 2006-02-13 Wim Taymans <wim@fluendo.com>
17570 * gst/gstpad.c: (gst_pad_send_event):
17571 Correctly check flushing and emit probes. fixes #330125
17573 2006-02-10 Andy Wingo <wingo@pobox.com>
17575 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17577 (gst_bus_init): Cache the location of the private data in the
17578 instance structure.
17579 (gst_bus_enable_sync_message_emission)
17580 (gst_bus_disable_sync_message_emission): Implement new public
17582 (gst_bus_post): Emit the sync-message signal if the user asked for
17585 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17586 location of the bus-private structure.
17587 (gst_bus_enable_sync_message_emission)
17588 (gst_bus_disable_sync_message_emission): API addition
17590 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17592 Patch by: Vincent Torri
17594 * docs/pwg/building-boiler.xml:
17595 PWG patch from #326800
17597 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17600 * docs/Makefile.am:
17601 * docs/design/Makefile.am:
17604 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17609 === release 0.10.3 ===
17611 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17614 releasing 0.10.3, "Like a virgin"
17616 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17619 2nd prerelease of 0.10.3
17620 Bump libtool versioning.
17622 2006-02-07 Andy Wingo <wingo@pobox.com>
17624 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17625 update last_stop if we're in TIME format and the timestamp is
17628 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17629 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17630 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17631 If we get a new newsegment with a different format, adapt
17634 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17635 of 0. Not a problem, really.
17637 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17640 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17645 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17648 project files updated to the default vs7 configuration
17649 * win32/common/libgstbase.def:
17650 * win32/common/libgstreamer.def:
17652 removed empty lines,
17653 sorted all exported symbols alphabetically
17654 * win32/common/dirent.c:
17655 * win32/common/dirent.h:
17656 * win32/common/gchar.h:
17657 use windows line end.
17659 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17661 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17662 Send EOS event when stopping.
17664 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17667 Tell folks what to do if the plugin-foobar.xml file
17668 hasn't been generated for a newly-added plugin.
17670 2006-02-05 Julien MOUTTE <julien@moutte.net>
17672 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17673 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17674 (gst_collect_pads_start), (gst_collect_pads_stop),
17675 (gst_collect_pads_event): Collectpads now holds a reference
17676 to the GstPad that was added. Indeed we don't want to look
17677 at pads that might just go away with no warning...
17679 2006-02-05 Julien MOUTTE <julien@moutte.net>
17681 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17682 (gst_collect_pads_start), (gst_collect_pads_stop),
17683 (gst_collect_pads_event), (gst_collect_pads_chain):
17684 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17685 Mark Nauwelaerts's patch on bug #328491.
17687 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17689 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17691 Add some simple tests for gst_parse_bin_from_description() and
17692 gst_bin_find_unconnected_pad() (#329069).
17694 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17696 * tools/gst-launch.c: (event_loop), (main):
17697 Catch errors during preroll (#320084).
17699 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17701 * plugins/elements/gsttypefindelement.c:
17702 (gst_type_find_element_activate):
17703 Post TYPE_NOT_FOUND error message when typefinding
17704 is unsuccessful in the activate function as well.
17706 2006-02-02 Wim Taymans <wim@fluendo.com>
17708 * docs/design/part-element-sink.txt:
17711 2006-02-02 Wim Taymans <wim@fluendo.com>
17713 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17714 (gst_base_sink_render_object),
17715 (gst_base_sink_queue_object_unlocked):
17716 Only keep track of prerollable items when we are
17718 Before rendering after preroll, always check if we
17720 Added some more debugging.
17722 2006-02-02 Wim Taymans <wim@fluendo.com>
17724 * gst/gstelement.c: (gst_element_continue_state),
17725 (gst_element_set_state_func), (gst_element_change_state):
17726 Fixed #326576, been running this for quite some time with
17727 no regressions at all.
17729 2006-02-02 Wim Taymans <wim@fluendo.com>
17732 Added more suppressions
17734 2006-02-02 Wim Taymans <wim@fluendo.com>
17736 * docs/design/part-element-sink.txt:
17739 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17740 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17741 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17742 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17743 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17744 (gst_base_sink_preroll_object),
17745 (gst_base_sink_queue_object_unlocked),
17746 (gst_base_sink_queue_object), (gst_base_sink_event),
17747 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17748 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17749 (gst_base_sink_get_position), (gst_base_sink_change_state):
17750 * libs/gst/base/gstbasesink.h:
17751 Totally refactored matching the design doc.
17752 Use two segments, one to clip incomming buffers and another to
17754 Handle queueing correctly, bypass the queue when playing.
17755 Make EOS cancelable.
17756 Handle errors correctly when operating in pull based mode.
17758 * tests/check/elements/fakesink.c: (GST_START_TEST),
17760 Added new check for sinks.
17762 2006-02-02 Wim Taymans <wim@fluendo.com>
17764 * gst/gstsegment.c: (gst_segment_clip):
17765 No reason to refuse to clip when start == -1
17767 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17770 * docs/manual/intro-basics.xml:
17771 * docs/manual/intro-preface.xml:
17772 * docs/manual/manual.xml:
17773 * docs/pwg/advanced-dparams.xml:
17774 * docs/pwg/intro-basics.xml:
17775 * docs/pwg/intro-preface.xml:
17776 * docs/pwg/pwg.xml:
17777 describe dparams (controller) for plugins
17778 unify docs a little more
17780 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17782 * docs/gst/gstreamer-sections.txt:
17783 * gst/gstutils.c: (element_find_unconnected_pad),
17784 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17786 Add new API: gst_parse_bin_from_description() and
17787 gst_bin_find_unconnected_pad() (#329069).
17789 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17791 * docs/manual/README:
17792 uncover a nasty detail of the docs build
17794 2006-01-31 Wim Taymans <wim@fluendo.com>
17796 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17797 Don't cache duration messages if we're not going to use or
17800 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17802 * docs/manual/advanced-dparams.xml:
17803 * docs/pwg/advanced-dparams.xml:
17807 * libs/gst/controller/lib.c: (gst_controller_init):
17810 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17812 * gst/gstelement.c: (gst_element_message_full):
17813 also show file/line/func if no additional debug was given
17815 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17817 * win32/vs7/grammar.vcproj:
17818 activate copy of autogenerated files for Release mode
17820 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17822 * win32/common/libgstreamer.def:
17823 export gst_value_compare
17825 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17827 * plugins/elements/Makefile.am:
17828 * plugins/elements/gstelements.c:
17829 * plugins/elements/gstfdsink.c: (_do_init),
17830 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17831 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17832 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17833 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17834 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17835 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17836 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17837 * plugins/elements/gstfdsink.h:
17838 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17840 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17842 * docs/manual/advanced-dparams.xml:
17843 describe controller
17844 * docs/manual/advanced-position.xml:
17845 * docs/manual/basics-init.xml:
17846 * docs/manual/manual.xml:
17847 * docs/manual/titlepage.xml:
17848 * docs/pwg/pwg.xml:
17849 * docs/pwg/titlepage.xml:
17850 cleanup xml (more to come)
17851 * libs/gst/controller/gstcontroller.c:
17854 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17856 * win32/vs6/grammar.dsp:
17857 add autogen of gstmarshal.c,h for Release mode
17859 2006-01-30 Wim Taymans <wim@fluendo.com>
17861 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17862 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17863 (gst_base_sink_handle_object), (gst_base_sink_event),
17864 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17865 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17866 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17867 (gst_base_sink_deactivate), (gst_base_sink_activate),
17868 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17869 (gst_base_sink_query), (gst_base_sink_change_state):
17870 Basesink cleanups, remove some old code.
17871 Handle the case where a subclass can preroll in the render
17872 method (mostly audiosinks).
17873 Handle more events.
17874 Remove some locks around variables that are now protected
17875 with the PREROLL_LOCK (clock_id, flushing, ..).
17876 Optimize position query some more, do correct locking.
17877 Remove old code to push queue in state change, this is not
17878 needed anymore since preroll blocks on all prerollable items
17880 Almost implemented as described in design doc.
17882 2006-01-30 Wim Taymans <wim@fluendo.com>
17884 * tests/check/gst/gstbin.c: (GST_START_TEST):
17885 Wait for refcount to settle down before checking.
17887 2006-01-30 Wim Taymans <wim@fluendo.com>
17889 * docs/design/part-element-sink.txt:
17890 Pseudo code overview of desired sink behaviour regarding
17893 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17894 * win32/vs6/grammar.dsp:
17895 fix some bugs in Release mode for autogenerated files
17897 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17898 * win32/common/libgstbase.def:
17899 * win32/common/libgstreamer.def:
17900 export some new symbols: gst_base_src_set_format,
17901 gst_iterator_next, gst_structure_set_valist
17903 2006-01-29 Julien MOUTTE <julien@moutte.net>
17905 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17906 Set pad functions unconditionally. Fixes #329105.
17908 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17910 add vs8 project files created by Sergey Scobich
17912 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17914 * gst/gstutils.c: (gst_element_unlink_pads):
17915 Don't leak pad references.
17917 * tests/check/elements/fakesink.c: (GST_START_TEST):
17918 * tests/check/generic/sinks.c: (GST_START_TEST):
17919 * tests/check/generic/states.c: (GST_START_TEST):
17920 * tests/check/gst/gstbin.c: (GST_START_TEST):
17921 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17922 * tests/check/gst/gstelement.c: (GST_START_TEST):
17923 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17924 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17925 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17926 Fix a bunch of leaks. Make generic/sinks.c
17927 use a bit less cpu by slowing the buffer rate
17928 between fakesrc and fakesink.
17930 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17932 * gst/gstelement.c: (gst_element_send_event):
17935 * gst/gstiterator.c:
17936 * gst/gstiterator.h:
17937 * gst/gstpad.c: (gst_pad_send_event):
17938 * gst/gststructure.c:
17942 * libs/gst/base/gstadapter.c:
17943 doc fixes, to link to function, just write gst_cool_function(), don't
17946 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17948 * plugins/elements/gsttee.c: (gst_tee_do_push),
17949 (gst_tee_handle_buffer):
17950 Always prefer an actual return value from a src
17951 pad in place of NOT_LINKED. This means we return
17952 WRONG_STATE when all src pads are WRONG_STATE
17953 instead of NOT_LINKED.
17955 Lock when replacing the last message to prevent
17956 racing with the get_property method.
17960 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17962 * tests/check/Makefile.am:
17963 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17965 Add a very simple check that should have caught the memleak I fixed
17966 last night (if not for the slice allocator hiding it)
17968 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17970 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17971 (gst_bin_remove_func), (gst_bin_handle_message_func),
17972 (bin_query_duration_fold), (bin_query_generic_fold):
17973 Clean up references to the clock provider when disposed or when
17974 handling a clock-lost message from it.
17976 Unref sinks when performing a query via gst_iterator_fold, as the
17977 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17979 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17980 (gst_clock_set_master):
17981 Drop our reference to the master clock, if any, when we are disposed.
17983 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17984 Chain up in dispose.
17986 2006-01-26 Wim Taymans <wim@fluendo.com>
17988 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17989 Add some debugging.
17991 2006-01-26 Julien MOUTTE <julien@moutte.net>
17993 * plugins/elements/gsttee.c: (gst_tee_do_push),
17994 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17995 handles pad being NOT_LINKED or in WRONG_STATE.
17997 2006-01-26 Stefan Kost <ensonic@users.sf.net>
18002 2006-01-26 Stefan Kost <ensonic@users.sf.net>
18005 remove obsolete entry
18007 2006-01-26 Stefan Kost <ensonic@users.sf.net>
18009 * docs/gst/gstreamer-sections.txt:
18010 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
18011 (gst_bin_iterate_sources), (gst_bin_send_event):
18013 * gst/gstelement.c: (gst_element_send_event):
18015 * gst/gstpad.c: (gst_pad_send_event):
18016 added code for downstream events, reviewed docs in gstevent.c
18018 2006-01-25 Julien MOUTTE <julien@moutte.net>
18020 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18021 We only query position using the clock in the playing state.
18022 Query peer in the other cases.
18023 * win32/common/config.h: Updates.
18025 2006-01-24 Wim Taymans <wim@fluendo.com>
18027 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18028 A clock entry that is scheduled for the exact time of the
18029 clock is still in time.
18031 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18032 (gst_base_sink_do_sync):
18033 Add some more debug info.
18035 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
18038 Add new vs7 project files and solution.
18040 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
18043 all files removed as they were out-dated.
18045 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
18047 * docs/random/release:
18049 * gst/gstbin.c: (gst_bin_init):
18050 * gst/gstbus.c: (gst_bus_new):
18052 * gst/gstpipeline.c: (gst_pipeline_init):
18053 use gst_bus_new(), improve logging, fix docs
18054 * win32/common/config.h:
18055 update for cvs build
18057 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
18060 up required version of automake to 1.7
18062 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
18064 * win32/common/libgstreamer.def:
18065 export gst_buffer_is_metadata_writable
18067 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
18069 * docs/gst/gstreamer-sections.txt:
18071 Add gst_event_replace() (#327001)
18073 2006-01-20 Wim Taymans <wim@fluendo.com>
18075 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18076 Make it actually compile too..
18078 2006-01-20 Wim Taymans <wim@fluendo.com>
18081 Clarify behaviour of _is_equal() when passing NULL parameters.
18083 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18084 (gst_pad_set_caps):
18085 Cleanups. Don't unref NULL caps.
18086 When setting the same caps, protect caps of the pad with
18088 Use full functionality of _is_equal() when comparing caps.
18090 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
18092 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
18093 Don't loop infinitely if there are no buffers to present. Partially
18094 fixes #327197, but collectpads is just broken for reusing elements
18095 to do multiple encodes atm.
18097 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
18099 * tools/gst-inspect.c: (print_element_features):
18100 * tools/gst-xmlinspect.c: (main):
18101 URL_HANDLER is not a plugin feature we can search for in
18104 2006-01-19 Edward Hervey <edward@fluendo.com>
18106 * gst/gstelement.c: (gst_element_pads_activate):
18107 When activating, do src pads first, then sink pads.
18108 When de-activating, do sink pads first, then src pads.
18110 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
18112 * docs/gst/gstreamer-sections.txt:
18113 Add gst_index_add_associationv to the docs
18115 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
18120 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18121 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18122 Do some refactoring. Doesn't actually change functionality,
18123 but makes landing the DRAIN event easier later.
18125 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
18127 * docs/pwg/advanced-scheduling.xml:
18128 Update from 0.9.x to 0.10 API and make example a bit
18131 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
18133 * docs/gst/gstreamer-sections.txt:
18134 Add gst_buffer_(is|make)_metadata_writable methods.
18136 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
18138 * docs/design/part-sparsestreams.txt:
18139 Update sparse streams doc, hopefully for greater clarity
18141 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
18143 * docs/design/part-events.txt:
18144 Remove mention of FILLER events.
18147 * docs/design/part-sparsestreams.txt:
18148 Write some things about using NEWSEGMENT to keep sparse streams
18151 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
18153 * gst/gstbin.c: (gst_bin_dispose):
18154 Guard gst_object_unref call against a NULL object (dispose
18155 can theoretically be called multiple times).
18157 2006-01-18 Wim Taymans <wim@fluendo.com>
18159 * gst/gstbin.c: (gst_bin_element_set_state):
18160 * gst/gstclock.c: (gst_clock_id_wait):
18161 Added some more debug info.
18163 * libs/gst/base/gstadapter.c:
18166 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18167 (gst_base_sink_do_sync), (gst_base_sink_chain):
18168 Added some comments.
18170 2006-01-18 Wim Taymans <wim@fluendo.com>
18172 * tests/check/Makefile.am:
18173 * tests/check/elements/fakesink.c: (chain_async_buffer),
18174 (chain_async), (chain_async_return), (GST_START_TEST),
18175 (fakesink_suite), (main):
18176 Added fakesink test that checks prerolling and clipping
18179 * tests/check/gst/gstutils.c: (GST_START_TEST):
18180 Make check run faster so that buildbots don't timeout.
18182 2006-01-18 Wim Taymans <wim@fluendo.com>
18184 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18185 (gst_base_sink_do_sync):
18187 When the sink finishes blocking on the preroll buffer, it can
18188 immediatly render it instead of rendering when the next buffer
18191 2006-01-18 Wim Taymans <wim@fluendo.com>
18193 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18194 (gst_base_sink_get_property), (gst_base_sink_do_sync),
18195 (gst_base_sink_chain):
18197 GST_ELEMENT_CLOCK and sync are protected with LOCK.
18198 Don't store _last_stop if the buffer is dropped.
18200 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
18202 * plugins/elements/gsttypefindelement.c:
18203 (gst_type_find_element_class_init):
18204 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18205 object method handler that sets the caps on the pad and we want
18206 that to happen before we emit the signal (fixes e.g. feeding a
18207 plain text file to decodebin).
18209 2006-01-18 Christian Schaller <Christian@fluendo.com>
18211 * gst/gstplugin.c: Add MPL and Proprietary as license options
18213 2006-01-18 Andy Wingo <wingo@pobox.com>
18215 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18216 symbol was exported before, it appears this was just an oversight.
18218 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18220 * gst/gstindex.c (gst_index_add_associationv): Changed int in
18221 prototype to gint. OK since this prototype was not in the header.
18223 2006-01-17 Andy Wingo <wingo@pobox.com>
18225 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18226 registry while we remove plugins.
18228 * tools/gst-inspect.c (print_element_info): Don't unref the
18229 factory arg, that should be the responsibility of whatever code
18230 received the ref. Fixes a double-free when called from
18231 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18232 (main): Unref the factory if we have one.
18233 (print_element_list): No change -- relies on the
18234 plugin_feature_list_free to free the list of features.
18236 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
18238 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18239 (gst_buffer_make_metadata_writable):
18241 * libs/gst/base/gstbasetransform.c:
18242 (gst_base_transform_prepare_output_buf):
18243 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18244 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18245 Replace gst_buffer_(make|is)_metadata_writable patch now
18246 that the release is out.
18248 2006-01-17 Andy Wingo <wingo@pobox.com>
18250 * gst/gstregistry.c: Reflow design comment. Update so as to speak
18251 in the present tense without reference to versions.
18253 * gst/gstregistry.c (gst_registry_add_plugin)
18254 (gst_registry_remove_plugin, gst_registry_remove_feature)
18255 (gst_registry_find_feature, gst_registry_get_feature_list)
18256 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18257 (gst_registry_lookup, gst_registry_scan_path)
18258 (_gst_registry_remove_cache_plugins)
18259 (gst_registry_get_feature_list_by_plugin): Add argument
18262 === release 0.10.2 ===
18264 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
18267 releasing 0.10.2, "If man is five"
18269 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18273 * libs/gst/base/gstbasetransform.c:
18274 (gst_base_transform_prepare_output_buf):
18275 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18276 * tests/check/gst/gstbuffer.c: (gst_test_suite):
18277 Back out patch until after the release.
18279 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18281 * gst/gstminiobject.c:
18282 Spelling fix in docs.
18283 * ChangeLog - remove conflict indicator
18285 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18287 Reviewed By: Andy Wingo
18289 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18290 (gst_buffer_make_metadata_writable):
18292 Add gst_buffer_(is|make)_metadata_writable as analogues of
18293 gst_buffer_(is|make)_writable.
18295 * libs/gst/base/gstbasetransform.c:
18296 (gst_base_transform_prepare_output_buf):
18297 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18298 Use name gst_buffer_(is|make)_metadata_writable functions.
18300 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18301 Test gst_buffer_(is|make)_metadata_writable
18305 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18307 * docs/manual/Makefile.am:
18308 don't do parallel make
18311 * win32/common/config.h.in:
18312 add generations for HOST_CPU and GST_MAJORMINOR
18313 * win32/common/config.h:
18314 commit generated result
18316 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18318 * docs/manual/appendix-integration.xml:
18319 Update GNOME integration section to use gst_init_get_option_group()
18320 instead of the old popt stuff (#322911). Also, GNOME applications
18321 should now use gconf*sink and gconf*src instead of the old gconf
18324 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18327 * docs/gst/gstreamer-docs.sgml:
18328 * docs/gst/gstreamer-sections.txt:
18329 * docs/libs/gstreamer-libs-sections.txt:
18330 add new API entries to the docs
18331 * libs/gst/controller/Makefile.am:
18332 * libs/gst/controller/gstcontroller.c:
18333 * libs/gst/controller/gstcontroller.h:
18334 * libs/gst/controller/gstcontrollerprivate.h:
18335 * libs/gst/controller/gsthelper.c:
18336 * libs/gst/controller/gstinterpolation.c:
18337 move private structs to private header
18339 gstreamer-0.7 -> gstreamer-0.10
18340 * tests/check/libs/struct_i386.h:
18341 remove private structs
18343 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18345 * plugins/indexers/Makefile.am:
18346 Fixes as part of #317048
18348 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18350 * plugins/indexers/Makefile.am:
18351 fix #316086 - compilation when mmap is missing
18353 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18355 * libs/gst/base/gstbasesink.c:
18356 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18357 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18358 * win32/common/config.h:
18359 added some defines GST_MAJORMINOR and HOST_CPU
18360 * win32/common/libgstbase.def:
18361 * win32/common/libgstreamer.def:
18362 added some exported functions.
18364 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18366 * libs/gst/controller/gstcontroller.c:
18367 (gst_controlled_property_set_interpolation_mode),
18368 (gst_controlled_property_new):
18369 * libs/gst/controller/gstcontroller.h:
18370 * libs/gst/controller/gstinterpolation.c:
18371 (interpolate_none_get_string_value_array):
18372 make G_TYPE_STRING controlable
18374 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18377 * tools/gst-feedback.1.in:
18378 * tools/gst-inspect.1.in:
18379 * tools/gst-launch.1.in:
18380 * tools/gst-md5sum.1.in:
18381 * tools/gst-typefind.1.in:
18382 * tools/gst-xmlinspect.1.in:
18383 * tools/gst-xmllaunch.1.in:
18384 cleanup man-pages, remove reference to gst-register, document env-vars
18386 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18388 * gst/gstbuffer.c: (gst_buffer_span):
18389 gst_buffer_span should copy the timestamp of the first buffer
18390 if they were both originally overlapping subbuffers of the
18391 same parent, using the same logic as the 'slow copy' case.
18393 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18395 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18396 Need to awaken ALL the pads when we pop a buffer, otherwise
18397 collectpads only works when there is 2 input streams.
18399 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18401 * docs/random/ensonic/media-device-daemon.txt:
18404 fix doc example, add clarification
18405 * tools/gst-launch.1.in:
18406 add initial info about GST_PLUGIN_PATH, needs more work
18408 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18410 * docs/manual/basics-bins.xml:
18411 * docs/manual/basics-elements.xml:
18412 * docs/manual/intro-basics.xml:
18413 Some more minor docs additions and updates.
18415 2006-01-11 Wim Taymans <wim@fluendo.com>
18417 * docs/manual/basics-bins.xml:
18418 * docs/manual/basics-elements.xml:
18419 Some small fixes as pointed out by Ser-ver on IRC.
18421 2006-01-10 Edward Hervey <edward@fluendo.com>
18423 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18424 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18425 the single-segment mode.
18427 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18429 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18431 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18432 (gst_base_src_perform_seek), (gst_base_src_send_event),
18433 (gst_base_src_set_property), (gst_base_src_get_property),
18434 (gst_base_src_loop), (gst_base_src_start),
18435 (gst_base_src_activate_push):
18436 * libs/gst/base/gstbasesrc.h:
18437 Name (private) union; makes Sun's Forte compiler happy (#324900).
18439 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18442 gst-register is gone.
18444 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18446 * gst/gstvalue.c: (_gst_value_initialize):
18447 make the G_TYPE_DATE instantiation work if debug is disabled
18449 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18451 * gst/gstmessage.c: (gst_message_parse_tag),
18452 (gst_message_parse_error), (gst_message_parse_warning):
18453 Don't crash when return location for error/warning debug
18454 string is NULL; add fact that return locations can be
18455 NULL to docs where appropriate.
18457 2006-01-05 Wim Taymans <wim@fluendo.com>
18459 * gst/gstplugin.c: (gst_plugin_load_file):
18460 Replace strdup by g_strdup.
18462 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18464 * docs/pwg/advanced-types.xml:
18467 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18469 submitted by: Abel Cheung
18473 Added Chinese (traditional) translation
18475 2006-01-04 Wim Taymans <wim@fluendo.com>
18477 * docs/manual/basics-pads.xml:
18478 * docs/plugins/Makefile.am:
18479 * docs/plugins/gstreamer-plugins-docs.sgml:
18480 * docs/plugins/gstreamer-plugins-sections.txt:
18481 * docs/pwg/advanced-clock.xml:
18482 * docs/pwg/advanced-scheduling.xml:
18483 * docs/pwg/advanced-types.xml:
18484 * plugins/elements/gstfdsink.c:
18485 * plugins/elements/gstfdsrc.c:
18486 * plugins/elements/gstfdsrc.h:
18487 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18488 * plugins/elements/gstidentity.h:
18489 * plugins/elements/gstqueue.h:
18490 * plugins/elements/gsttee.c:
18491 * plugins/elements/gsttee.h:
18492 * plugins/elements/gsttypefindelement.c:
18493 (gst_type_find_element_class_init):
18494 * plugins/elements/gsttypefindelement.h:
18495 Small updates to various docs.
18496 Added core plugins to docs.
18498 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18501 add a suppression for liboil's uninitialized variable
18503 2006-01-02 James Livingston <jrl at ids dot org dot au>
18505 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18508 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18509 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18510 compiler switch is being used (#325429).
18512 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18514 * gst/gstbin.c: (gst_bin_query):
18515 Disable duration query caching in bins until it gets
18516 fixed (see #324807).
18518 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18520 * tools/gst-inspect.c: (print_element_properties_info):
18521 Handle properties of POINTER and BOXED type.
18523 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18525 * gst/gst.c: (init_post):
18526 Init tags stuff and some other things before loading
18527 any static plugins (there may be other static plugins
18528 than just the GStreamer ones, and they may want to
18529 register their own tags or formats or whatever, and
18530 preferably without segfaulting).
18532 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18533 Print at least a warning in the debug logs if we drop a
18534 query just because we don't know how to adjust the value
18535 in the particular format.
18537 2005-12-24 David Schleef <ds@schleef.org>
18539 * tools/gstreamer-completion:
18540 Replacement for gst-complete written in sh and sed. Only
18541 completes names of features, but that's 90% of what I want
18542 it for. Properties are not available in registry.xml. (Maybe
18545 === release 0.10.1 ===
18547 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18550 releasing 0.10.1, "Nollaig chridheil"
18552 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18554 * docs/faq/cvs.xml:
18555 Add missing quote, should be make ERROR_CFLAGS="".
18557 2005-12-20 Wim Taymans <wim@fluendo.com>
18559 * docs/design/part-trickmodes.txt:
18560 More documentation on trickmodes.
18562 2005-12-20 Edward Hervey <edward@fluendo.com>
18564 * gst/gstcaps.c: (gst_static_caps_get_type):
18566 API addition: GST_TYPE_STATIC_CAPS
18567 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18568 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18569 * gst/gstpadtemplate.h:
18570 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18571 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18574 2005-12-18 Wim Taymans <wim@fluendo.com>
18576 * libs/gst/base/gstadapter.c:
18577 * libs/gst/base/gstadapter.h:
18578 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18579 (gst_base_sink_get_position):
18580 * libs/gst/base/gstbasesink.h:
18581 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18582 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18583 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18584 (gst_base_src_send_event), (gst_base_src_update_length),
18585 (gst_base_src_get_range), (gst_base_src_loop),
18586 (gst_base_src_start):
18587 * libs/gst/base/gstbasesrc.h:
18588 * libs/gst/base/gstbasetransform.h:
18589 * libs/gst/base/gstcollectpads.h:
18590 * libs/gst/base/gstpushsrc.c:
18591 * libs/gst/base/gstpushsrc.h:
18592 * libs/gst/dataprotocol/dataprotocol.c:
18593 * libs/gst/dataprotocol/dataprotocol.h:
18594 * libs/gst/net/gstnetclientclock.h:
18595 * libs/gst/net/gstnettimeprovider.h:
18596 Documentation updates.
18598 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18600 * docs/manual/basics-helloworld.xml:
18601 Remove superfluous closing bracket in helloworld example.
18603 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18605 * tools/gst-launch.1.in:
18606 Update gst-launch man page; add a section with useful
18607 environment variables. Fixes #323882.
18609 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18612 * gst/gst_private.h:
18613 change some char* into char[]
18615 2005-12-16 Wim Taymans <wim@fluendo.com>
18617 * gst/gstregistryxml.c: (load_feature):
18619 Don't use g_object_unref on GstObjects so that we avoid
18620 leaks on unsafe glibs.
18622 2005-12-16 Wim Taymans <wim@fluendo.com>
18624 * gst/gstbin.c: (gst_bin_recalc_state):
18627 2005-12-16 Wim Taymans <wim@fluendo.com>
18629 * common/check.mak:
18630 Added make forever target for check.
18632 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18634 * gst/gst.c: (init_post):
18635 make the registry cache file HOST_CPU-dependent
18637 2005-12-16 Andy Wingo <wingo@pobox.com>
18639 * plugins/elements/gstbufferstore.c
18640 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18643 * tests/check/gst/gstobject.c
18644 (test_fake_object_name_threaded_unique): Pay attention to
18645 g_list_sort return value.
18647 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18649 * tools/gst-feedback-m.m:
18650 Update for 0.9/0.10 (fixes #323870).
18652 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18654 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18655 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18657 * tests/check/gst/gstminiobject.c: (my_foo_init),
18658 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18659 (test_value_collection), (gst_mini_object_suite):
18660 Add test to ensure refcounts end up as expected when passing
18661 GstMiniObjects through g_object_get() and g_object_set().
18663 2005-12-14 Julien MOUTTE <julien@moutte.net>
18665 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18666 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18667 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18668 of collectpads. This version removes a lot of races without
18669 touching API/ABI. Yay !
18671 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18673 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18674 Don't allow activation of a srcpad in pull_range if it has no
18676 Change some debug statements to be a little clearer
18678 * plugins/elements/gsttypefindelement.c:
18679 (gst_type_find_handle_src_query):
18680 Check that we have a peer before executing queries thereupon.
18682 * tests/examples/metadata/read-metadata.c: (message_loop):
18683 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18684 immediately return us any available message with 0 timeout.
18686 2005-12-12 Michael Smith <msmith@fluendo.com>
18688 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18689 Don't unref factories after calling them.
18690 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18691 * plugins/elements/gsttypefindelement.c:
18692 (gst_type_find_element_chain):
18693 Free lists of factories after using them. Fixing typefinding memory
18696 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18698 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18699 (gst_plugin_feature_load):
18700 more meaningful debug output
18702 * tests/Makefile.am:
18703 * tests/old/examples/Makefile.am:
18704 make make distcheck happy again
18706 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18708 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18709 Catch the special case where we are operating chain-based,
18710 but the downstream peer pad has no chain function. Emit a
18711 custom error message in this case instead of letting the
18712 core generate one implying that this is some sort of core
18713 bug. It's not, it just means that whatever got plugged
18714 into the pipeline downstream when we announced the type
18715 can only operate pull-based, while our source can only
18716 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18717 Error string has not been marked for translation yet, as
18718 it probably needs some more work first.
18720 (gst_type_find_element_get_best_possibility):
18721 Add helper function to find the best of all available
18722 found possibilities that qualify given the min. threshold.
18724 (gst_type_find_element_handle_event):
18725 Fix the case where we get an EOS while still in TYPEFIND
18726 mode (we want to chose the best of all possible types,
18727 not just the first type that happens to be in our unsorted
18728 list of possible types).
18730 (gst_type_find_element_chain):
18731 Make sure we return GST_FLOW_ERROR when we errored out
18732 in stop_typefinding(); also, don't just find the best of
18733 all found type entries and then use the last examined
18734 type entry, but actually use the best entry.
18736 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18738 * tests/examples/typefind/typefind.c: (type_found):
18739 * tests/examples/xml/runxml.c: (xml_loaded):
18740 More gcc4 fixes and a mem leak fix.
18742 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18744 * tests/examples/xml/createxml.c: (object_saved):
18747 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18749 * tests/Makefile.am:
18750 enable the examples even more
18752 2005-12-12 Andy Wingo <wingo@pobox.com>
18754 * libs/gst/net/gstnettimeprovider.c
18755 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18756 (gst_net_time_provider_set_property)
18757 (gst_net_time_provider_get_property):
18758 API addition: Export "active" as a GObject property.
18759 (gst_net_time_provider_thread): Only respond to time queries if
18760 the time provider is active.
18762 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18763 NetTimeProvider, preserving binary compat.
18765 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18767 * tests/examples/controller/audio-example.c: (main):
18768 * tests/examples/launch/Makefile.am:
18769 convert comments again
18771 2005-12-12 Wim Taymans <wim@fluendo.com>
18773 * libs/gst/base/gstpushsrc.c:
18776 2005-12-12 Wim Taymans <wim@fluendo.com>
18778 * docs/libs/gstreamer-libs-sections.txt:
18779 Added new symbol to docs.
18781 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18782 (gst_base_src_init), (gst_base_src_set_format),
18783 (gst_base_src_default_query), (gst_base_src_query),
18784 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18785 (gst_base_src_perform_seek), (gst_base_src_send_event),
18786 (gst_base_src_default_event), (gst_base_src_event_handler),
18787 (gst_base_src_set_property), (gst_base_src_get_property),
18788 (gst_base_src_wait), (gst_base_src_do_sync),
18789 (gst_base_src_update_length), (gst_base_src_get_range),
18790 (gst_base_src_check_get_range), (gst_base_src_loop),
18791 (gst_base_src_default_negotiate), (gst_base_src_start),
18792 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18793 (gst_base_src_change_state):
18794 * libs/gst/base/gstbasesrc.h:
18795 Implement seeking to other formats than _BYTES.
18796 Implement more seeking methods correctly.
18798 Added query vmethod.
18799 Added do_seek vmethod to make life easier for subclasses
18801 API addition: gst_base_src_set_format()
18803 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18805 * tests/examples/Makefile.am:
18808 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18811 * docs/random/ensonic/media-device-daemon.txt:
18812 * tests/examples/controller/.cvsignore:
18813 * tests/examples/controller/Makefile.am:
18814 * tests/examples/controller/audio-example.c: (main):
18815 * tests/examples/helloworld/.cvsignore:
18816 * tests/examples/helloworld/Makefile.am:
18817 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18818 * tests/examples/launch/.cvsignore:
18819 * tests/examples/launch/Makefile.am:
18820 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18821 * tests/examples/metadata/.cvsignore:
18822 * tests/examples/metadata/Makefile.am:
18823 * tests/examples/metadata/read-metadata.c: (message_loop),
18824 (make_pipeline), (print_tag), (main):
18825 * tests/examples/queue/.cvsignore:
18826 * tests/examples/queue/Makefile.am:
18827 * tests/examples/queue/queue.c: (event_loop), (main):
18828 * tests/examples/typefind/.cvsignore:
18829 * tests/examples/typefind/Makefile.am:
18830 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18832 * tests/examples/xml/.cvsignore:
18833 * tests/examples/xml/Makefile.am:
18834 * tests/examples/xml/createxml.c: (object_saved), (main):
18835 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18836 * tests/old/examples/Makefile.am:
18837 * tests/old/examples/TODO:
18838 * tests/old/examples/controller/.cvsignore:
18839 * tests/old/examples/controller/Makefile.am:
18840 * tests/old/examples/controller/audio-example.c:
18841 * tests/old/examples/helloworld/.cvsignore:
18842 * tests/old/examples/helloworld/Makefile.am:
18843 * tests/old/examples/helloworld/helloworld.c:
18844 * tests/old/examples/launch/.cvsignore:
18845 * tests/old/examples/launch/Makefile.am:
18846 * tests/old/examples/launch/mp3parselaunch.c:
18847 * tests/old/examples/launch/mp3play:
18848 * tests/old/examples/manual/Makefile.am:
18849 * tests/old/examples/metadata/Makefile.am:
18850 * tests/old/examples/metadata/read-metadata.c:
18851 * tests/old/examples/queue/.cvsignore:
18852 * tests/old/examples/queue/Makefile.am:
18853 * tests/old/examples/queue/queue.c:
18854 * tests/old/examples/typefind/.cvsignore:
18855 * tests/old/examples/typefind/Makefile.am:
18856 * tests/old/examples/typefind/typefind.c:
18857 * tests/old/examples/xml/.cvsignore:
18858 * tests/old/examples/xml/Makefile.am:
18859 * tests/old/examples/xml/createxml.c:
18860 * tests/old/examples/xml/runxml.c:
18861 applied some simple fixing to some examples
18862 re-enabled the working examples
18864 2005-12-12 Wim Taymans <wim@fluendo.com>
18866 * gst/gstsegment.c: (gst_segment_init),
18867 (gst_segment_set_last_stop), (gst_segment_set_seek),
18868 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18869 (gst_segment_to_running_time):
18870 Added more documentation.
18871 Make sure the last_pos value is updated properly.
18872 Make sure to_stream_time and to_running_time don't
18873 operate on wrong values.
18875 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18878 2005-12-12 Michael Smith <msmith@fluendo.com>
18880 * plugins/elements/gsttypefindelement.c: (free_entry),
18881 (gst_type_find_element_chain):
18882 Now that we're not leaking factories, make sure we keep references
18883 to them while we need them.
18885 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18887 * tests/check/gst/struct_i386.h:
18888 ifdef out the XML structs
18890 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18892 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18893 floor is not needed, F is always positive; this obviates the
18894 need for adding -lm when building without libxml
18896 2005-12-12 Wim Taymans <wim@fluendo.com>
18898 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18899 Take current playback rate into account when reporting
18902 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18904 * docs/manual/mime-world.fig:
18905 Let's try this again, this time with a file that is
18906 actually in XFig format.
18908 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18910 * docs/manual/mime-world.fig:
18911 Add audioconvert element to diagram so that it
18912 matches the text and the code (fixes #319526).
18914 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18916 * docs/pwg/building-chainfn.xml:
18917 * docs/pwg/building-pads.xml:
18918 * docs/pwg/building-state.xml:
18919 * docs/pwg/other-source.xml:
18920 Update state change stuff for 0.10 (fixes #322969).
18922 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18924 * docs/manual/advanced-dataaccess.xml:
18925 * docs/manual/appendix-checklist.xml:
18926 * docs/manual/appendix-programs.xml:
18927 * docs/manual/basics-pads.xml:
18928 * docs/manual/highlevel-components.xml:
18929 * docs/manual/manual.xml:
18930 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18931 add converters in front of pipelines; remove curly
18932 brackets for threads stuff, they no longer exist; use
18933 GST_TYPE_FRACTION for framerates; update some pieces of
18934 code to 0.10, but there's plenty more to do.
18936 * docs/manual/appendix-porting.xml:
18937 Expand on asynchroneous state changes; s/0.9/0.10/;
18938 mention disappearance of gst_init_get_popt_table()
18941 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18943 * docs/faq/using.xml:
18944 Spider no longer exists, and neither does gst-launch-ext.
18945 Update examples to use decodebin and playbin and put
18946 converters in front of sinks (fixes #323726).
18948 2005-12-09 Michael Smith <msmith@fluendo.com>
18950 * plugins/elements/gsttypefindelement.c: (find_peek),
18951 (gst_type_find_element_chain):
18952 Fix leaking element factories in typefinding.
18953 Fix problem where we forgot about a probable type on non-seekable
18954 files, and thus later mis-typefound it.
18956 2005-12-09 Michael Smith <msmith@fluendo.com>
18958 * common/m4/gst-makecontext.m4:
18959 * common/m4/gst-mcsc.m4:
18961 * win32/common/config.h:
18962 * win32/common/config.h.in:
18963 Remove makecontext stuff; not used in 0.10 and causes problems on
18964 HPUX according to bug #322441
18966 2005-12-07 Wim Taymans <wim@fluendo.com>
18968 * tests/check/Makefile.am:
18969 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18971 * tests/check/libs/struct_i386.h:
18972 Added ABI check for libs
18974 2005-12-07 Wim Taymans <wim@fluendo.com>
18976 * tests/check/Makefile.am:
18977 And add the struct_i386.h to dist.
18979 2005-12-07 Wim Taymans <wim@fluendo.com>
18981 * tests/check/Makefile.am:
18982 * tests/check/gst/.cvsignore:
18983 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18985 * tests/check/gst/struct_i386.h:
18986 Added check for ABI compatibility.
18988 2005-12-07 Wim Taymans <wim@fluendo.com>
18990 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18991 (gst_fake_src_get_times), (gst_fake_src_create):
18992 Fix broken sync option, fixes #323259
18994 2005-12-07 Wim Taymans <wim@fluendo.com>
18999 * gst/gstcaps.c: (gst_caps_is_equal):
19000 Don't assert on NULL <--> X. Fixes #323260
19002 * gst/gstminiobject.c: (gst_mini_object_replace):
19003 If we're doing atomic operations, we might just as well use
19004 the proper way to get an atomic pointer.
19006 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
19007 Clean up debugging.
19009 2005-12-07 Michael Smith <msmith@fluendo.com>
19011 * gst/parse/grammar.y:
19012 Remove handling of { } for threads.
19014 2005-12-06 David Schleef <ds@schleef.org>
19016 * libs/gst/base/gstbasetransform.c: speling fix.
19018 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
19020 * docs/libs/tmpl/gstdataprotocol.sgml:
19021 * docs/random/omega/testing/gstobject.c:
19024 * gst/gstelement.c:
19025 * gst/gstelementfactory.c:
19028 * gst/gstghostpad.c:
19030 * gst/gstpadtemplate.c:
19031 * gst/gstregistryxml.c:
19032 * gst/gsttaglist.c:
19033 * gst/gsttagsetter.c:
19034 * gst/gsttypefind.c:
19036 * libs/gst/base/gstbasesrc.c:
19037 * libs/gst/net/gstnetclientclock.c:
19038 * libs/gst/net/gstnettimeprovider.c:
19039 * plugins/elements/gstfakesrc.c:
19040 * plugins/elements/gstfdsrc.c:
19041 * plugins/elements/gstfilesrc.c:
19042 * plugins/elements/gstidentity.c:
19043 * plugins/elements/gstqueue.c:
19044 * plugins/elements/gsttypefindelement.c:
19045 * plugins/indexers/gstfileindex.c:
19046 * plugins/indexers/gstmemindex.c:
19047 * tests/check/gst/gsttag.c:
19048 * tests/old/examples/cutter/cutter.c:
19049 * tests/old/examples/mixer/mixer.c:
19050 * tests/old/examples/xml/runxml.c: (main):
19051 * tests/old/testsuite/caps/normalisation.c:
19052 * tests/old/testsuite/debug/global.c:
19053 * tests/old/testsuite/parse/parse1.c:
19054 * tools/gst-xmlinspect.c:
19055 * win32/common/dirent.c:
19058 === release 0.10.0 ===
19060 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19063 releasing 0.10.0, "Maroilles"
19065 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
19067 submitted by: Funda Wang <fundawang@linux.net.cn>
19071 added Chinese (Traditional) translation
19073 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
19075 * docs/gst/gstreamer-sections.txt:
19076 * docs/libs/tmpl/gstdataprotocol.sgml:
19077 * docs/random/thomasvs/TODO:
19082 2005-12-05 Andy Wingo <wingo@pobox.com>
19084 patch by: Wim Taymans <wim@fluendo.com>
19086 * libs/gst/base/gstbasetransform.c
19087 (gst_base_transform_prepare_output_buf)
19088 (gst_base_transform_buffer_alloc):
19089 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
19090 alloc_buffer_and_set_caps.
19092 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
19093 set_caps on the source pad.
19094 (gst_pad_alloc_buffer_and_set_caps): New function, does what
19095 alloc_buffer used to do. Fixes #322874.
19097 * docs/gst/gstreamer-sections.txt:
19098 * docs/design/part-negotiation.txt:
19099 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
19102 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
19104 patch by: Sebastien Moutte
19107 * win32/common/config.h.in:
19108 * win32/vs6/libgstcontroller.dsp:
19111 2005-12-05 Wim Taymans <wim@fluendo.com>
19113 * gst/gstcaps.c: (gst_caps_is_equal):
19114 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19115 (gst_fake_src_create):
19116 Back out previous code changes, leave doc updates, file bugs
19119 2005-12-05 Wim Taymans <wim@fluendo.com>
19121 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19122 (gst_fake_src_get_times), (gst_fake_src_create):
19123 * plugins/elements/gstfakesrc.h:
19124 Fix broken sync code.
19126 2005-12-05 Wim Taymans <wim@fluendo.com>
19128 * gst/gstcaps.c: (gst_caps_is_equal):
19129 Comparing NULL against !NULL yields different caps, not a
19132 2005-12-05 Wim Taymans <wim@fluendo.com>
19134 * gst/gstpipeline.c:
19135 Fix small typo in docs.
19137 2005-12-05 Andy Wingo <wingo@pobox.com>
19139 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
19141 * gst/gst.c (init_post): remove hard-coded 0.9 location for
19142 registries/plugins with a MAJORMINOR one.
19143 (plugin_desc): Rename library from gstcoreleements to
19144 staticelements. Fixes #323222.
19146 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
19148 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19149 Change debug category to 'collectpads' from 'collect_pads'
19152 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
19154 patch by: Sebastien Moutte
19156 * libs/gst/controller/gstinterpolation.c:
19157 use convert function for uint64/double
19158 * win32/vs6/libgstcontroller.dsp:
19161 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
19163 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19164 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19166 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19167 add tests that seem to show that the guint64/gdouble conversions
19170 2005-12-02 Wim Taymans <wim@fluendo.com>
19172 * gst/gstregistry.c: (gst_registry_add_path):
19173 * gst/gstregistry.h:
19174 * gst/gstregistryxml.c:
19177 2005-12-02 Wim Taymans <wim@fluendo.com>
19179 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19180 (gst_util_uint64_scale_int):
19183 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19184 Add debug log line.
19186 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19189 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
19192 * win32/common/config.h:
19193 * win32/vs6/gstreamer.dsw:
19194 * win32/vs6/libgstcoreelements.dsp:
19195 * win32/vs6/libgstelements.dsp:
19196 renamed core elements plugin
19198 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
19200 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19202 do piece-wise major/minor comparison so 0.9 < 0.10
19203 also allow .exe extensions for tools
19205 2005-12-02 Michael Smith <msmith@fluendo.com>
19208 Escape a % to make gtkdoc happier; bug 322958.
19210 === release 0.9.7 ===
19212 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19215 releasing 0.9.7, "My Dog Has No Nose"
19217 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19219 * common/gst-xmlinspect.py:
19221 * docs/libs/tmpl/gstdataprotocol.sgml:
19222 * docs/random/release:
19241 * win32/common/config.h:
19242 * win32/common/config.h.in:
19243 * win32/vs6/gst_inspect.dsp:
19244 * win32/vs6/gst_launch.dsp:
19245 * win32/vs6/libgstbase.dsp:
19246 * win32/vs6/libgstelements.dsp:
19247 * win32/vs6/libgstreamer.dsp:
19248 * win32/vs7/GStreamer.vcproj:
19249 * win32/vs7/gst-inspect.vcproj:
19250 * win32/vs7/gst-launch.vcproj:
19251 * win32/vs7/libgstbase.vcproj:
19252 bump GST_MAJORMINOR to 0.10
19253 reset libtool version
19255 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19259 Added Bulgarian translation by (Alexander Shopov)
19261 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19263 * tests/check/gst/gstplugin.c:
19266 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19268 * common/gst-xmlinspect.py:
19269 * common/gtk-doc-plugins.mak:
19271 * docs/Makefile.am:
19272 * docs/gst/Makefile.am:
19273 * docs/gst/gstreamer-docs.sgml:
19274 * docs/gst/gstreamer-sections.txt:
19275 * docs/gst/gstreamer.types:
19276 * docs/gst/gstreamer.types.in:
19277 * docs/plugins/Makefile.am:
19278 * docs/plugins/gstreamer-plugins-docs.sgml:
19279 * docs/plugins/gstreamer-plugins-sections.txt:
19280 * docs/plugins/gstreamer-plugins.types:
19281 * docs/plugins/inspect.stamp:
19282 * docs/plugins/inspect/plugin-coreelements.xml:
19283 * docs/plugins/inspect/plugin-coreindexers.xml:
19284 * docs/plugins/scanobj-build.stamp:
19285 * gstreamer.spec.in:
19286 * plugins/elements/Makefile.am:
19287 * plugins/elements/gstelements.c:
19288 * plugins/elements/gstfakesink.c:
19289 * plugins/elements/gstfakesrc.c:
19290 * plugins/elements/gstfilesink.c:
19291 * plugins/elements/gstfilesrc.c:
19292 * plugins/elements/gstqueue.c:
19293 * plugins/indexers/Makefile.am:
19294 * plugins/indexers/gstindexers.c:
19295 document core plugins in a separate document just like all the
19297 rename these plugins to something starting with core
19299 2005-12-01 Andy Wingo <wingo@pobox.com>
19301 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19302 padding here before, but it missed the commit.
19304 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19306 * libs/gst/controller/gstinterpolation.c:
19307 whitespace prices have crashed, we should feel free to use some now
19308 use gst_guint64_to_gdouble
19310 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19312 * libs/gst/controller/gstcontroller.c:
19313 * libs/gst/controller/gsthelper.c:
19314 * libs/gst/controller/gstinterpolation.c:
19315 * libs/gst/controller/lib.c:
19316 wrap config.h include
19318 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19320 * docs/gst/gstreamer-sections.txt:
19323 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19325 * plugins/elements/gstelements.c:
19326 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19327 (gst_fd_sink__class_init), (gst_fd_sink__init),
19328 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19329 (gst_fd_sink__get_property):
19330 * plugins/elements/gstfdsink.h:
19331 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19332 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19333 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19334 (gst_fd_src_unlock), (gst_fd_src_set_property),
19335 (gst_fd_src_get_property), (gst_fd_src_create),
19336 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19337 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19338 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19339 (gst_fd_src_uri_handler_init):
19340 * plugins/elements/gstfdsrc.h:
19341 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19344 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19346 * docs/gst/Makefile.am:
19347 * docs/gst/gstreamer.types.in:
19351 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19357 * gst/gstregistry.h:
19358 * tests/benchmarks/complexity.c:
19359 * tests/benchmarks/mass-elements.c:
19360 * tests/check/Makefile.am:
19361 * tools/Makefile.am:
19362 * tools/gst-inspect.c:
19363 * tools/gst-xmlinspect.c:
19364 various fixes to make
19365 --disable-nls --disable-registry --disable-loadsave
19366 --disable-parse --disable-gst-debug
19367 work and get the core .so down to 360444 bytes after stripping
19369 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19374 * docs/random/thomasvs/TODO:
19375 * tests/Makefile.am:
19379 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19381 * win32/GStreamer.vcproj:
19384 * win32/Makefile.inspect:
19385 * win32/Makefile.launch:
19386 * win32/Makefile.register:
19387 * win32/README.txt:
19388 * win32/gst-inspect.vcproj:
19389 * win32/gst-launch.vcproj:
19390 * win32/gst-register.vcproj:
19391 * win32/gstelements.vcproj:
19392 * win32/gstgetbits.def:
19393 * win32/gstgetbits.vcproj:
19394 * win32/gstreamer-dbg.def:
19395 * win32/gstreamer.def:
19396 * win32/libgstbase.def:
19397 * win32/libgstbase.vcproj:
19398 * win32/link_oldruntime.c:
19402 * win32/msvc71.sln:
19403 move even more stuff, win32/ is nice and clean now
19405 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19407 * libs/gst/control/.cvsignore:
19412 * win32/gstbytestream.def:
19413 * win32/gstbytestream.vcproj:
19414 * win32/gstconfig.h:
19415 * win32/gstenumtypes.c:
19416 * win32/gstenumtypes.h:
19417 * win32/gstoptimalscheduler.vcproj:
19418 * win32/gstversion.h:
19420 * win32/testsuite/bins.vcproj:
19421 * win32/testsuite/bytestream.vcproj:
19422 * win32/testsuite/caps.vcproj:
19423 * win32/testsuite/cleanup.vcproj:
19424 * win32/testsuite/clock.vcproj:
19425 * win32/testsuite/debug.vcproj:
19426 * win32/testsuite/dlopen.vcproj:
19427 * win32/testsuite/dynparams.vcproj:
19428 * win32/testsuite/elements.vcproj:
19429 * win32/testsuite/ghostpads.vcproj:
19430 * win32/testsuite/indexers.vcproj:
19431 * win32/testsuite/negotiation.vcproj:
19432 * win32/testsuite/parse.vcproj:
19433 * win32/testsuite/plugin.vcproj:
19434 * win32/testsuite/refcounting.vcproj:
19435 * win32/testsuite/schedulers.vcproj:
19436 * win32/testsuite/states.vcproj:
19437 * win32/testsuite/tags.vcproj:
19438 * win32/testsuite/threads.vcproj:
19439 remove old win32 stuff that isn't maintained and should be
19442 2005-11-30 Andy Wingo <wingo@pobox.com>
19444 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19445 loading the gst.interfaces python module bork.
19447 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19448 available since GLib 2.2. Fixes #318031.
19450 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19453 * check/.cvsignore:
19454 * check/Makefile.am:
19455 * check/elements/.cvsignore:
19456 * check/elements/fakesrc.c:
19457 * check/elements/fdsrc.c:
19458 * check/elements/identity.c:
19459 * check/generic/.cvsignore:
19460 * check/generic/states.c:
19461 * check/gst-libs/.cvsignore:
19462 * check/gst-libs/controller.c:
19463 * check/gst-libs/gdp.c:
19464 * check/gst/.cvsignore:
19465 * check/gst/capslist.h:
19467 * check/gst/gstbin.c:
19468 * check/gst/gstbuffer.c:
19469 * check/gst/gstbus.c:
19470 * check/gst/gstcaps.c:
19471 * check/gst/gstelement.c:
19472 * check/gst/gstevent.c:
19473 * check/gst/gstghostpad.c:
19474 * check/gst/gstiterator.c:
19475 * check/gst/gstmessage.c:
19476 * check/gst/gstminiobject.c:
19477 * check/gst/gstobject.c:
19478 * check/gst/gstpad.c:
19479 * check/gst/gstpipeline.c:
19480 * check/gst/gstplugin.c:
19481 * check/gst/gstsegment.c:
19482 * check/gst/gststructure.c:
19483 * check/gst/gstsystemclock.c:
19484 * check/gst/gsttag.c:
19485 * check/gst/gstutils.c:
19486 * check/gst/gstvalue.c:
19487 * check/net/.cvsignore:
19488 * check/net/gstnetclientclock.c:
19489 * check/net/gstnettimeprovider.c:
19490 * check/pipelines/.cvsignore:
19491 * check/pipelines/cleanup.c:
19492 * check/pipelines/simple_launch_lines.c:
19493 * check/pipelines/stress.c:
19494 * check/states/.cvsignore:
19495 * check/states/sinks.c:
19497 * examples/Makefile.am:
19498 * examples/appreader/.cvsignore:
19499 * examples/appreader/Makefile.am:
19500 * examples/appreader/appreader.c:
19501 * examples/controller/.cvsignore:
19502 * examples/controller/Makefile.am:
19503 * examples/controller/audio-example.c:
19504 * examples/cutter/.cvsignore:
19505 * examples/cutter/Makefile.am:
19506 * examples/cutter/cutter.c:
19507 * examples/cutter/cutter.h:
19508 * examples/events/Makefile.am:
19509 * examples/events/seek.c:
19510 * examples/helloworld/.cvsignore:
19511 * examples/helloworld/Makefile.am:
19512 * examples/helloworld/helloworld.c:
19513 * examples/helloworld2/.cvsignore:
19514 * examples/helloworld2/Makefile.am:
19515 * examples/helloworld2/helloworld2.c:
19516 * examples/launch/.cvsignore:
19517 * examples/launch/Makefile.am:
19518 * examples/launch/mp3parselaunch.c:
19519 * examples/launch/mp3play:
19520 * examples/manual/.cvsignore:
19521 * examples/manual/Makefile.am:
19522 * examples/manual/extract.pl:
19523 * examples/metadata/Makefile.am:
19524 * examples/metadata/read-metadata.c:
19525 * examples/mixer/.cvsignore:
19526 * examples/mixer/Makefile.am:
19527 * examples/mixer/mixer.c:
19528 * examples/mixer/mixer.h:
19529 * examples/pingpong/.cvsignore:
19530 * examples/pingpong/Makefile.am:
19531 * examples/pingpong/pingpong.c:
19532 * examples/plugins/.cvsignore:
19533 * examples/plugins/Makefile.am:
19534 * examples/plugins/example.c:
19535 * examples/plugins/example.h:
19536 * examples/pwg/.cvsignore:
19537 * examples/pwg/Makefile.am:
19538 * examples/pwg/extract.pl:
19539 * examples/queue/.cvsignore:
19540 * examples/queue/Makefile.am:
19541 * examples/queue/queue.c:
19542 * examples/queue2/.cvsignore:
19543 * examples/queue2/Makefile.am:
19544 * examples/queue2/queue2.c:
19545 * examples/queue3/.cvsignore:
19546 * examples/queue3/Makefile.am:
19547 * examples/queue3/queue3.c:
19548 * examples/queue4/.cvsignore:
19549 * examples/queue4/Makefile.am:
19550 * examples/queue4/queue4.c:
19551 * examples/retag/.cvsignore:
19552 * examples/retag/Makefile.am:
19553 * examples/retag/retag.c:
19554 * examples/retag/transcode.c:
19555 * examples/thread/.cvsignore:
19556 * examples/thread/Makefile.am:
19557 * examples/thread/thread.c:
19558 * examples/typefind/.cvsignore:
19559 * examples/typefind/Makefile.am:
19560 * examples/typefind/typefind.c:
19561 * examples/xml/.cvsignore:
19562 * examples/xml/Makefile.am:
19563 * examples/xml/createxml.c:
19564 * examples/xml/runxml.c:
19565 * tests/Makefile.am:
19566 * tests/check/Makefile.am:
19567 * testsuite/.cvsignore:
19568 * testsuite/Makefile.am:
19570 * testsuite/caps/.cvsignore:
19571 * testsuite/caps/Makefile.am:
19572 * testsuite/caps/app_fixate.c:
19573 * testsuite/caps/audioscale.c:
19574 * testsuite/caps/caps.c:
19575 * testsuite/caps/caps.h:
19576 * testsuite/caps/caps_strings:
19577 * testsuite/caps/compatibility.c:
19578 * testsuite/caps/deserialize.c:
19579 * testsuite/caps/enumcaps.c:
19580 * testsuite/caps/eratosthenes.c:
19581 * testsuite/caps/filtercaps.c:
19582 * testsuite/caps/fixed.c:
19583 * testsuite/caps/fraction-convert.c:
19584 * testsuite/caps/fraction-multiply-and-zero.c:
19585 * testsuite/caps/intersect2.c:
19586 * testsuite/caps/intersection.c:
19587 * testsuite/caps/normalisation.c:
19588 * testsuite/caps/random.c:
19589 * testsuite/caps/renegotiate.c:
19590 * testsuite/caps/sets.c:
19591 * testsuite/caps/simplify.c:
19592 * testsuite/caps/string-conversions.c:
19593 * testsuite/caps/structure.c:
19594 * testsuite/caps/subtract.c:
19595 * testsuite/caps/union.c:
19596 * testsuite/debug/.cvsignore:
19597 * testsuite/debug/Makefile.am:
19598 * testsuite/debug/category.c:
19599 * testsuite/debug/commandline.c:
19600 * testsuite/debug/global.c:
19601 * testsuite/debug/output.c:
19602 * testsuite/debug/printf_extension.c:
19603 * testsuite/dlopen/.cvsignore:
19604 * testsuite/dlopen/Makefile.am:
19605 * testsuite/dlopen/dlopen_gst.c:
19606 * testsuite/dlopen/loadgst.c:
19607 * testsuite/elements/.cvsignore:
19608 * testsuite/elements/Makefile.am:
19609 * testsuite/elements/gst-inspect-check.in:
19610 * testsuite/elements/struct_i386.h:
19611 * testsuite/elements/struct_size.c:
19612 * testsuite/indexers/.cvsignore:
19613 * testsuite/indexers/Makefile.am:
19614 * testsuite/indexers/cache1.c:
19615 * testsuite/indexers/indexdump.c:
19616 * testsuite/parse/.cvsignore:
19617 * testsuite/parse/Makefile.am:
19618 * testsuite/parse/parse1.c:
19619 * testsuite/parse/parse2.c:
19620 * testsuite/plugin/.cvsignore:
19621 * testsuite/plugin/Makefile.am:
19622 * testsuite/plugin/README:
19623 * testsuite/plugin/dynamic.c:
19624 * testsuite/plugin/linked.c:
19625 * testsuite/plugin/loading.c:
19626 * testsuite/plugin/registry.c:
19627 * testsuite/plugin/static.c:
19628 * testsuite/plugin/static2.c:
19629 * testsuite/plugin/testplugin.c:
19630 * testsuite/plugin/testplugin2.c:
19631 * testsuite/plugin/testplugin2_s.c:
19632 * testsuite/plugin/testplugin_s.c:
19633 * testsuite/refcounting/.cvsignore:
19634 * testsuite/refcounting/Makefile.am:
19635 * testsuite/refcounting/bin.c:
19636 * testsuite/refcounting/element.c:
19637 * testsuite/refcounting/element_pad.c:
19638 * testsuite/refcounting/mainloop.c:
19639 * testsuite/refcounting/mem.c:
19640 * testsuite/refcounting/mem.h:
19641 * testsuite/refcounting/object.c:
19642 * testsuite/refcounting/pad.c:
19643 * testsuite/refcounting/sched.c:
19644 * testsuite/refcounting/thread.c:
19645 * testsuite/states/.cvsignore:
19646 * testsuite/states/Makefile.am:
19647 * testsuite/states/bin.c:
19648 * testsuite/states/locked.c:
19649 * testsuite/states/parent.c:
19650 * testsuite/threads/.cvsignore:
19651 * testsuite/threads/159566.c:
19652 * testsuite/threads/159852.c:
19653 * testsuite/threads/Makefile.am:
19654 * testsuite/threads/queue.c:
19655 * testsuite/threads/signals.c:
19656 * testsuite/threads/staticrec.c:
19657 * testsuite/threads/thread.c:
19658 * testsuite/threads/threadb.c:
19659 * testsuite/threads/threadc.c:
19660 * testsuite/threads/threadd.c:
19661 * testsuite/threads/threade.c:
19662 * testsuite/threads/threadf.c:
19663 * testsuite/threads/threadg.c:
19664 * testsuite/threads/threadh.c:
19665 * testsuite/threads/threadi.c:
19666 move all of these under tests
19668 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19671 * tests/Makefile.am:
19674 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19676 * docs/gst/gstreamer-sections.txt:
19677 * tests/sched/.cvsignore:
19678 * tests/sched/Makefile.am:
19679 * tests/sched/cases/(fs-fs).xml:
19680 * tests/sched/cases/(fs-i-fs).xml:
19681 * tests/sched/cases/(fs-i-i-fs).xml:
19682 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19683 * tests/sched/dynamic-pipeline.c:
19684 * tests/sched/interrupt1.c:
19685 * tests/sched/interrupt2.c:
19686 * tests/sched/interrupt3.c:
19687 * tests/sched/runtestcases:
19688 * tests/sched/runxml.c:
19689 * tests/sched/sched-stress.c:
19690 * tests/sched/sort.c:
19691 * tests/sched/testcases:
19692 * tests/sched/testcases1.tc:
19693 * tests/seeking/.cvsignore:
19694 * tests/seeking/Makefile.am:
19695 * tests/seeking/seeking1.c:
19696 * tests/threadstate/.cvsignore:
19697 * tests/threadstate/Makefile.am:
19698 * tests/threadstate/test1.c:
19699 * tests/threadstate/test2.c:
19700 * tests/threadstate/threadstate1.c:
19701 * tests/threadstate/threadstate2.c:
19702 * tests/threadstate/threadstate3.c:
19703 * tests/threadstate/threadstate4.c:
19704 * tests/threadstate/threadstate5.c:
19705 remove obsolete tests
19707 * tests/bench-complexity.scm:
19708 * tests/bench-mass_elements.scm:
19709 * tests/complexity.c:
19710 * tests/complexity.gnuplot:
19711 * tests/instantiate/.cvsignore:
19712 * tests/instantiate/Makefile.am:
19713 * tests/instantiate/caps.c:
19714 * tests/mass_elements.c:
19715 * tests/network-clock-utils.scm:
19716 * tests/network-clock.scm:
19718 First pass at cleaning up tests/ dir before moving the rest
19719 Combined with CVS surgery
19721 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19724 queue has moved, update
19726 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19728 * docs/gst/gstreamer-sections.txt:
19729 remove double entries from the docs
19730 * gst/gst_private.h:
19731 * gst/gstinfo.c: (_gst_debug_init):
19732 remove the THREAD debug category
19736 * docs/gst/gstreamer.types:
19737 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19738 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19739 completely move queue and fix up debugging categories
19741 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19743 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19744 make initialization portable, using LL is not
19746 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19748 * win32/common/gstconfig.h:
19751 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19753 * win32/common/libgstreamer.def:
19754 rename symbols; sort base section
19756 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19758 * gst/gstclock.c: (do_linear_regression):
19759 remove crack non-portable handrolled DEBUG macro
19761 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19763 * docs/random/release:
19765 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19766 (gst_object_flags_get_type), (register_gst_bin_flags),
19767 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19768 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19769 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19770 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19771 (gst_caps_flags_get_type), (register_gst_clock_return),
19772 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19773 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19774 (gst_clock_flags_get_type), (register_gst_state),
19775 (gst_state_get_type), (register_gst_state_change_return),
19776 (gst_state_change_return_get_type), (register_gst_state_change),
19777 (gst_state_change_get_type), (register_gst_element_flags),
19778 (gst_element_flags_get_type), (register_gst_core_error),
19779 (gst_core_error_get_type), (register_gst_library_error),
19780 (gst_library_error_get_type), (register_gst_resource_error),
19781 (gst_resource_error_get_type), (register_gst_stream_error),
19782 (gst_stream_error_get_type), (register_gst_event_type_flags),
19783 (gst_event_type_flags_get_type), (register_gst_event_type),
19784 (gst_event_type_get_type), (register_gst_seek_type),
19785 (gst_seek_type_get_type), (register_gst_seek_flags),
19786 (gst_seek_flags_get_type), (register_gst_format),
19787 (gst_format_get_type), (register_gst_index_certainty),
19788 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19789 (gst_index_entry_type_get_type),
19790 (register_gst_index_lookup_method),
19791 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19792 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19793 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19794 (gst_index_flags_get_type), (register_gst_debug_level),
19795 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19796 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19797 (gst_iterator_result_get_type), (register_gst_iterator_item),
19798 (gst_iterator_item_get_type), (register_gst_message_type),
19799 (gst_message_type_get_type), (register_gst_mini_object_flags),
19800 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19801 (gst_pad_link_return_get_type), (register_gst_flow_return),
19802 (gst_flow_return_get_type), (register_gst_activate_mode),
19803 (gst_activate_mode_get_type), (register_gst_pad_direction),
19804 (gst_pad_direction_get_type), (register_gst_pad_flags),
19805 (gst_pad_flags_get_type), (register_gst_pad_presence),
19806 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19807 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19808 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19809 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19810 (gst_plugin_flags_get_type), (register_gst_rank),
19811 (gst_rank_get_type), (register_gst_query_type),
19812 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19813 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19814 (gst_tag_flag_get_type), (register_gst_task_state),
19815 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19816 (gst_alloc_trace_flags_get_type),
19817 (register_gst_type_find_probability),
19818 (gst_type_find_probability_get_type), (register_gst_uri_type),
19819 (gst_uri_type_get_type), (register_gst_parse_error),
19820 (gst_parse_error_get_type):
19821 * win32/common/gstenumtypes.h:
19822 * win32/common/gstversion.h:
19823 update visual studio generated files
19825 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19827 * win32/vs6/libgstbase.dsp:
19828 * win32/vs6/libgstelements.dsp:
19829 update project files for new locations
19831 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19836 reinstate and update
19841 * docs/random/LICENSE:
19844 2005-11-30 Edward Hervey <edward@fluendo.com>
19846 * gst/gsttypefind.c: (gst_type_find_register):
19847 * gst/gsttypefind.h:
19848 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19849 (gst_type_find_factory_dispose):
19850 * gst/gsttypefindfactory.h:
19851 Fix memory leak in GstTypeFindFactory.
19853 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19856 * plugins/elements/Makefile.am:
19857 * plugins/elements/gstelements.c:
19858 * plugins/elements/gstqueue.c:
19859 move queue from core to the elements plugin
19861 2005-11-29 Andy Wingo <wingo@pobox.com>
19863 * libs/gst/base/gstbasetransform.h:
19864 * libs/gst/base/gstbasesrc.h:
19865 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19867 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19868 of pointers by which to pad very extensible base classes (like the
19869 ones in libs/gst/base).
19871 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19873 * docs/gst/gstreamer-docs.sgml:
19874 * docs/gst/gstreamer-sections.txt:
19875 * docs/libs/gstreamer-libs-docs.sgml:
19876 * docs/libs/gstreamer-libs-sections.txt:
19877 moving documentation from core to lib
19879 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19881 * check/Makefile.am:
19883 * docs/gst/Makefile.am:
19885 * gst/base/.cvsignore:
19886 * gst/base/Makefile.am:
19888 * gst/base/gstadapter.c:
19889 * gst/base/gstadapter.h:
19890 * gst/base/gstbasesink.c:
19891 * gst/base/gstbasesink.h:
19892 * gst/base/gstbasesrc.c:
19893 * gst/base/gstbasesrc.h:
19894 * gst/base/gstbasetransform.c:
19895 * gst/base/gstbasetransform.h:
19896 * gst/base/gstcollectpads.c:
19897 * gst/base/gstcollectpads.h:
19898 * gst/base/gstpushsrc.c:
19899 * gst/base/gstpushsrc.h:
19900 * gst/base/gsttypefindhelper.c:
19901 * gst/base/gsttypefindhelper.h:
19902 * gst/check/Makefile.am:
19903 * gst/check/gstcheck.c:
19904 * gst/check/gstcheck.h:
19905 * gst/net/Makefile.am:
19906 * gst/net/gstnet.h:
19907 * gst/net/gstnetclientclock.c:
19908 * gst/net/gstnetclientclock.h:
19909 * gst/net/gstnettimepacket.c:
19910 * gst/net/gstnettimepacket.h:
19911 * gst/net/gstnettimeprovider.c:
19912 * gst/net/gstnettimeprovider.h:
19913 * libs/gst/Makefile.am:
19914 * libs/gst/base/Makefile.am:
19915 * libs/gst/base/gstbasetransform.c:
19916 * libs/gst/check/Makefile.am:
19917 * plugins/elements/Makefile.am:
19919 CVS surgery + support to move base, check, and net out of gst
19922 2005-11-29 Andy Wingo <wingo@pobox.com>
19924 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19926 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19929 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19931 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19933 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19935 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19936 padding; reduces object size by about 30%. We don't expect
19937 anything else to go into gstobject.
19939 * gst/gstminiobject.h (struct _GstMiniObject)
19940 (struct _GstMiniObjectClass): Only one pointer of padding; the
19941 payload is only a pointer and two ints anyway. For the class there
19942 are only two methods as well.
19944 * gst/gstelement.h (struct _GstElementClass): Removed
19945 the state_changed signal callback, it is not used.
19947 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19949 * docs/gst/gstreamer.types:
19950 fix includes, though they are a little dinky
19952 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19954 * check/Makefile.am:
19955 look in the right place for elements, a lot more chance of
19958 remove indexers and elements subdirs
19959 * plugins/Makefile.am:
19960 make indexers conditional
19962 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19966 * plugins/elements/Makefile.am:
19967 * plugins/elements/gstcapsfilter.c:
19968 * plugins/elements/gstfilesink.c:
19969 * plugins/elements/gstfilesrc.c:
19970 * plugins/elements/gstidentity.c:
19971 * plugins/indexers/Makefile.am:
19972 do CVS surgery and related build fixery to move elements
19973 and indexers in a new gstreamer/plugins directory, out of the
19976 2005-11-29 Andy Wingo <wingo@pobox.com>
19978 * check/Makefile.am:
19979 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19980 * pkgconfig/gstreamer-net.pc.in:
19981 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19984 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19986 * tools/Makefile.am:
19987 * tools/gst-complete.1.in:
19988 * tools/gst-complete.c:
19989 * tools/gst-compprep.1.in:
19990 * tools/gst-compprep.c:
19991 removing -compprep and -complete
19993 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19995 * gst/gstevent.c: (gst_event_new_new_segment),
19996 (gst_event_parse_new_segment):
19998 fix #320529 - clean up new_segment API and structure.
19999 Let's hope everyone was using the methods, and not the structure.
20001 2005-11-29 Edward Hervey <edward@fluendo.com>
20003 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20004 (gst_base_sink_event), (gst_base_sink_do_sync),
20005 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20006 Properly handle non GST_FORMAT_TIME segment
20007 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20008 Properly handle non GST_FORMAT_TIME segment
20009 * gst/gstsegment.c:
20010 This function is valid if the accumulator is 0 and the format
20011 is different from the requested format.
20013 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
20015 * docs/gst/gstreamer-sections.txt:
20016 Add gst_query_new_seeking and gst_query_parse_seeking to the
20019 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
20021 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20022 Treat a pad alloc with new caps the same as if we were not
20023 negotiated, in order to allow a changing upstream output
20024 to produce a new format of data.
20026 2005-11-29 Edward Hervey <edward@fluendo.com>
20028 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20029 (gst_base_transform_event), (gst_base_transform_eventfunc):
20030 The event virtual method is now properly implemented, with a default
20032 Sub classes should call the parent_class event method. They should
20033 return FALSE if they had a problem handling the given event, or don't
20034 want GstBaseTransform to send that even downstream
20035 * gst/elements/gstidentity.c: (gst_identity_class_init),
20036 (gst_identity_init), (gst_identity_event),
20037 (gst_identity_transform_ip), (gst_identity_set_property),
20038 (gst_identity_get_property):
20039 * gst/elements/gstidentity.h:
20040 Added the single-segment boolean property.
20041 If set to TRUE, it will output a single segment of data, starting from
20042 0, will eat up all incoming newsegment, and modify the timestamp of the
20043 buffers accordingly
20045 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
20047 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
20048 Don't ref NULL target pad (#322751). Improve docs.
20050 2005-11-29 Michael Smith <msmith@fluendo.com>
20052 * gst/gstregistryxml.c: (load_plugin):
20053 Don't crash if we failed to load a feature from a plugin.
20055 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
20057 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20059 use more check API and less GLib API
20061 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
20064 don't run checks if we don't have check
20065 * common/check.mak:
20066 remove the registry when running make torture
20067 * docs/gst/gstreamer-sections.txt:
20068 remove second multiply
20069 * gst/gstqueue.c: (gst_queue_loop):
20070 fix a compile warning when disabling debug
20072 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
20075 Hey! Let's print the pad name if the pointer != NULL instead
20076 of when it == NULL :-)
20078 2005-11-28 Wim Taymans <wim@fluendo.com>
20080 * check/gst/gstutils.c: (GST_START_TEST):
20081 Updated check, add some scaling accuracy checking code.
20083 * gst/gstutils.c: (gst_util_div128_64),
20084 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
20085 (gst_util_uint64_scale_int):
20086 Fix 6 times faster division code. Optimize for common
20087 1/1 and less common X/1 cases.
20089 2005-11-28 Wim Taymans <wim@fluendo.com>
20091 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20094 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
20095 (do_linear_regression), (gst_clock_add_observation):
20097 Release lock when the clock cannot be slaved.
20098 Catch the case where the regression returned an invalid denominator.
20100 * gst/gstutils.c: (gst_util_div128_64_iterate),
20101 (gst_util_div128_64), (gst_util_uint64_scale_int64),
20102 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20103 Add protentially more performant non-iterative 128/64 divide function
20104 that unfortunatly does not work yet.
20105 Shortcut the trivial 0/X = 0 case.
20106 Remove the warnings on overflow.
20108 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
20110 * gst/gstplugin.c: (gst_plugin_register_func):
20111 everything causing a plugin not to load should be at least a WARNING
20113 2005-11-28 Stefan Kost <ensonic@users.sf.net>
20115 * docs/random/ensonic/dparams.txt:
20116 some TODOs for the next dev cycle
20117 * libs/gst/controller/gstcontroller.c:
20118 (gst_controlled_property_set_interpolation_mode),
20119 (gst_controlled_property_new):
20120 * libs/gst/controller/gstcontroller.h:
20121 use base type to assign acccessor functions
20123 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
20125 * check/Makefile.am:
20126 Oops, that should have been top_srcdir
20128 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
20130 * check/Makefile.am:
20131 * check/elements/fdsrc.c: (GST_START_TEST):
20132 Use a cmdline define to specify the location of a file to use for
20133 testing, to avoid breaking distcheck.
20135 2005-11-28 Andy Wingo <wingo@pobox.com>
20137 * gst/gstpad.c (fixate_value): Use array functions for arrays.
20139 2005-11-28 Edward Hervey <edward@fluendo.com>
20141 * tools/gst-launch.c: (main):
20142 Clarify the output strings, makes it easier to translate.
20145 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
20148 don't try and build net if we don't even have <sys/socket.h>
20150 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
20152 * check/Makefile.am:
20153 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20154 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20155 Add tests for fdsrc seekability
20157 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20158 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20159 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20160 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20161 * gst/elements/gstfdsrc.h:
20162 fdsrc should not be a 'live' source.
20163 Implement seeking on seekable fd's.
20165 * gst/gstquery.c: (gst_query_new_seeking),
20166 (gst_query_parse_seeking):
20168 Implement SEEKING query functions:
20169 *_new_seeking and *_parse_seeking
20171 2005-11-27 Stefan Kost <ensonic@users.sf.net>
20173 * gst/gstelement.c: (gst_element_dispose):
20176 * gst/gstiterator.c:
20177 * gst/gststructure.c:
20180 * libs/gst/controller/gstcontroller.c:
20181 (gst_controlled_property_set_interpolation_mode):
20182 * libs/gst/controller/gstcontroller.h:
20183 * libs/gst/controller/gstinterpolation.c:
20184 (interpolate_none_get_enum_value_array):
20185 support controlling enums
20187 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
20190 Improve documentation for gst_value_union().
20193 Change return value for union, intersect and subtract functions
20194 from gint to gboolean.
20196 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
20198 * gst/gstvalue.c: (gst_value_serialize_any_list),
20199 (gst_value_transform_any_list_string),
20200 (gst_value_deserialize_list), (gst_value_deserialize_array),
20201 (gst_value_set_int_range), (gst_value_deserialize_int_range),
20202 (gst_value_set_double_range), (gst_value_deserialize_double_range),
20203 (gst_value_set_fraction_range_full),
20204 (gst_value_deserialize_fraction_range),
20205 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20206 (gst_value_deserialize_boolean),
20207 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20208 (gst_value_serialize_float), (gst_value_deserialize_float),
20209 (gst_string_wrap), (gst_value_deserialize_string),
20210 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20211 (gst_value_union_int_range_int_range),
20212 (gst_value_intersect_int_range_int_range),
20213 (gst_value_intersect_double_range_double_range),
20214 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20215 (gst_value_subtract_int_range_int_range),
20216 (gst_value_subtract_double_double_range),
20217 (gst_value_subtract_double_range_double_range),
20218 (gst_value_deserialize_fraction):
20220 Use gint, gdouble and gchar in our API instead of int, double and
20221 char (and make usage in gstvalue.c more consistent).
20223 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20225 * check/Makefile.am:
20226 * libs/gst/controller/Makefile.am:
20227 * libs/gst/dataprotocol/Makefile.am:
20228 fix up Makefile.am and remove GST_ENABLE_NEW
20230 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20234 * gst/base/Makefile.am:
20235 * gst/check/Makefile.am:
20236 * gst/elements/Makefile.am:
20237 * gst/net/Makefile.am:
20238 update LDFLAGS use some more
20240 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20242 * common/m4/gst-doc.m4:
20245 2005-11-26 Edward Hervey <edward@fluendo.com>
20247 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20248 This shouldn't issue a g_warning since it returns NULL if it
20249 couldn't find the plugin, and all functions using this behave
20250 properly on a NULL return. Switching to a GST_WARNING.
20252 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
20254 * gst/gstbin.c: (gst_bin_handle_message_func):
20255 Don't leak clock messages.
20257 2005-11-25 Wim Taymans <wim@fluendo.com>
20259 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20260 (gst_util_uint64_scale_int):
20261 Optimisations, remove unneeded vars.
20263 2005-11-25 Wim Taymans <wim@fluendo.com>
20265 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20266 Added more checks for the high precision uint64 cases.
20268 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20269 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20270 Implement high precision (guint64 * guint64) / guint64.
20272 2005-11-24 Wim Taymans <wim@fluendo.com>
20274 * gst/base/gstbasesrc.c: (gst_base_src_query):
20275 Fix wrong percentage query.
20277 * gst/gstutils.c: (gst_util_uint64_scale),
20278 (gst_util_uint64_scale_int):
20279 Add some more common cases that can be handled
20280 efficiently to _scale.
20282 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20284 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20285 (gst_mini_object_suite):
20286 don't use check calls from threads; check probably isn't
20287 threadsafe and using a lock to make it threadsafe would
20288 defeat the purpose of this check
20289 * gst/check/gstcheck.c:
20290 * gst/check/gstcheck.h:
20291 use GST_DEBUG some more
20293 2005-11-24 Wim Taymans <wim@fluendo.com>
20295 * gst/gstutils.c: (gst_util_uint64_scale),
20296 (gst_util_uint64_scale_int):
20297 Chain trivial case to _scale_int.
20299 2005-11-24 Wim Taymans <wim@fluendo.com>
20301 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20302 Added test for scaling.
20307 * gst/gstutils.c: (gst_util_uint64_scale_int):
20308 Implemented high precision scaling code.
20310 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20313 do not crash on pad==NULL
20315 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20317 Patch by: Stefan Kost
20319 * common/gtk-doc.mak:
20320 * docs/gst/Makefile.am:
20321 * docs/libs/Makefile.am:
20322 Fix distcheck issues for the libraries docs build
20325 2005-11-24 Michael Smith <msmith@fluendo.com>
20327 * docs/manual/basics-helloworld.xml:
20328 Fix bug #315027: memory leak in example code in docs.
20330 2005-11-24 Michael Smith <msmith@fluendo.com>
20332 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20333 Unlock the PREROLL_LOCK in a failure case.
20335 2005-11-24 Wim Taymans <wim@fluendo.com>
20337 * docs/gst/gstreamer-sections.txt:
20338 * gst/base/gstadapter.h:
20339 * gst/base/gstbasesink.h:
20340 * gst/base/gstbasesrc.h:
20341 * gst/base/gstbasetransform.h:
20342 * gst/base/gstpushsrc.h:
20343 * gst/elements/gstfakesink.h:
20344 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20345 * gst/elements/gstfakesrc.h:
20346 * gst/elements/gstfilesink.h:
20347 * gst/elements/gstfilesrc.h:
20350 * gst/gstbuffer.c: (_gst_buffer_copy):
20353 * gst/gstchildproxy.c:
20355 * gst/gstelement.c:
20356 * gst/gstelementfactory.c:
20357 * gst/gstelementfactory.h:
20359 * gst/gstghostpad.h:
20361 * gst/gstinterface.h:
20362 * gst/gstminiobject.c:
20363 * gst/gstminiobject.h:
20366 * gst/gstpadtemplate.h:
20367 * gst/gstpipeline.h:
20368 * gst/gstpluginfeature.h:
20371 * gst/gsttaglist.c:
20372 * gst/gsttaglist.h:
20373 * gst/gsttagsetter.c:
20374 * gst/gsttagsetter.h:
20377 * gst/gsttypefind.h:
20380 * gst/net/gstnetclientclock.c:
20381 * gst/net/gstnetclientclock.h:
20382 * gst/net/gstnettimepacket.c:
20383 * gst/net/gstnettimeprovider.c:
20384 * gst/net/gstnettimeprovider.h:
20387 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20389 * configure.ac: back to HEAD
20391 === release 0.9.6 ===
20393 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20396 releasing 0.9.6, "Always On Time"
20398 2005-11-23 Wim Taymans <wim@fluendo.com>
20400 * docs/gst/gstreamer-sections.txt:
20401 * gst/glib-compat.c:
20402 * gst/gsttagsetter.c:
20404 * gst/net/gstnetclientclock.c:
20405 * gst/net/gstnettimepacket.h:
20408 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20410 * docs/faq/using.xml:
20411 * docs/libs/tmpl/gstcontrol.sgml:
20412 * docs/manual/advanced-dparams.xml:
20413 * docs/manual/appendix-checklist.xml:
20414 * docs/manual/basics-elements.xml:
20415 * docs/pwg/other-source.xml:
20416 * docs/random/moving-plugins:
20418 * tools/gst-launch.1.in:
20419 remove mentions of sinesrc
20421 2005-11-23 Michael Smith <msmith@fluendo.com>
20423 * docs/gst/gstreamer-sections.txt:
20424 Update for new API and API changes.
20426 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20428 Documentation typo fix.
20429 * gst/net/gstnettimepacket.c:
20430 Documentation fixes for arguments.
20432 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20434 * gst/gststructure.c: (gst_structure_get_fraction),
20435 (gst_structure_parse_value),
20436 (gst_structure_fixate_field_nearest_fraction):
20437 * gst/gststructure.h:
20438 * gst/gstutils.c: (gst_util_uint64_scale_int):
20440 * scripts/update-funcnames:
20442 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20443 Make gst_structure_fixate_field_nearest_fraction take a numerator
20444 and denominator argument instead of a GValue
20445 add gst_structure_get_fraction helper function.
20447 2005-11-23 Wim Taymans <wim@fluendo.com>
20449 * docs/design/part-TODO.txt:
20452 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20453 * gst/net/gstnetclientclock.h:
20454 Use parent fields for timeout and window_size.
20456 2005-11-23 Andy Wingo <wingo@pobox.com>
20458 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20459 rate_num/rate_denom change.
20461 * gst/net/gstnetclientclock.c
20462 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20463 OBJECT_LOCK. Don't call add_observation with the lock.
20465 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20467 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20469 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20470 deal with rate as a fraction whose numerator and denominator are
20471 GstClockTime values.
20472 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20473 master; the other fields are protected by the SLAVE_LOCK.
20474 (do_linear_regression): Note that this must be called with the
20476 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20477 OBJECT_LOCK. Call set_calibration instead of touching the
20478 variables directly.
20479 (gst_clock_set_property, gst_clock_get_property): Protect
20480 master/slave parameters with the SLAVE_LOCK.
20482 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20483 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20484 note that all of the instance variables that add_observation and
20485 the set_master functions use are protected by that lock and not
20487 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20489 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20490 the caller to take the object lock.
20492 2005-11-23 Wim Taymans <wim@fluendo.com>
20494 * gst/gsterror.c: (_gst_core_errors_init):
20496 Add error for clock stuff.
20498 * gst/gstpipeline.c: (gst_pipeline_change_state),
20499 (gst_pipeline_set_clock):
20500 Post clock error when clock cannot be used in a pipeline.
20502 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20504 * docs/gst/gstreamer-sections.txt:
20505 make two symbols from gstinfo private for the docs
20506 * gst/base/gstcollectpads.h:
20508 fix doc typos, update docs
20510 2005-11-22 Wim Taymans <wim@fluendo.com>
20512 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20513 (gst_base_sink_wait), (gst_base_sink_do_sync),
20514 (gst_base_sink_handle_event):
20515 * gst/base/gstbasesink.h:
20516 No need to store the clock, the parent element class already
20519 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20520 Updates for clock_set returning a gboolean
20522 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20523 (gst_clock_id_wait_async), (gst_clock_class_init),
20524 (gst_clock_init), (gst_clock_finalize),
20525 (gst_clock_get_internal_time), (gst_clock_get_time),
20526 (gst_clock_slave_callback), (gst_clock_set_master),
20527 (gst_clock_get_master), (do_linear_regression),
20528 (gst_clock_add_observation), (gst_clock_set_property),
20529 (gst_clock_get_property):
20531 Implement master/slave. When setting a clock as a slave, a
20532 periodic timeout is scheduled to sample master and slave times.
20533 Then the slave clock is recalibrated to match offset and rate
20534 of the master clock.
20535 Update logging a bit.
20536 Add flag so that a clock can state that is cannot be slaved to
20539 * gst/gstelement.c: (gst_element_set_clock):
20540 * gst/gstelement.h:
20541 The set clock returns a gboolean for when an element cannot
20542 deal with the selected clock in the pipeline.
20544 * gst/gstpipeline.c: (gst_pipeline_change_state),
20545 (gst_pipeline_set_clock):
20546 * gst/gstpipeline.h:
20547 Handle the case where the selected clock cannot be set on
20550 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20551 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20552 (gst_net_client_clock_set_property),
20553 (gst_net_client_clock_get_property),
20554 (gst_net_client_clock_observe_times):
20555 * gst/net/gstnetclientclock.h:
20556 Use regression code in GstClock parent, remove duplicated
20559 2005-11-22 Michael Smith <msmith@fluendo.com>
20561 * gst/gstutils.c: (gst_util_clock_time_scale):
20563 * docs/gst/gstreamer-sections.txt:
20564 Rename method to have extra underscore.
20566 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20568 * gst/elements/Makefile.am:
20569 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20570 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20571 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20572 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20573 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20574 * gst/elements/gstfakesrc.h:
20575 * gst/gstqueue.c: (queue_leaky_get_type):
20576 correctly fix GEnumValues so that nick is the short lowercase
20578 * tools/gst-inspect.c: (print_element_properties_info):
20579 also show the nick, since it's useful to use from parse_launch
20583 2005-11-22 Michael Smith <msmith@fluendo.com>
20585 * gst/gstutils.c: (gst_util_clocktime_scale):
20587 * docs/gst/gstreamer-sections.txt:
20588 Add util method for scaling a clocktime by a fraction. Useful
20589 implementation is left as an exercise for the reader.
20591 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20593 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20594 If needed, allocate storage in the destination value during
20597 2005-11-22 Edward Hervey <edward@fluendo.com>
20599 * docs/gst/gstreamer-sections.txt:
20602 * gst/gsturitype.c:
20603 * gst/gsturitype.h:
20604 * gst/gstutils.c: (gst_util_set_object_arg):
20605 * tools/gst-compprep.c: (main):
20606 * tools/gst-inspect.c: (print_element_properties_info):
20607 Removed GstURI, closes bug #321061
20609 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20611 * check/gst/gststructure.c: (GST_START_TEST):
20612 * gst/gststructure.c: (gst_structure_parse_value):
20613 Oops, broke automatic string type parsing.
20614 Add a test to catch it in future.
20616 2005-11-22 Andy Wingo <wingo@pobox.com>
20618 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20619 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20620 Actually rename the function implementations. Grr.
20622 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20624 * check/gst/capslist.h:
20626 * check/gst/gststructure.c: (GST_START_TEST),
20627 (gst_structure_suite):
20628 Test automatic value type detection in gst_structure_from_string.
20629 * gst/gststructure.c: (gst_structure_parse_value):
20630 Add fraction as a type we try and guess automatically in
20631 caps/structure strings.
20633 2005-11-22 Andy Wingo <wingo@pobox.com>
20635 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20637 * gst/gsttagsetter.h:
20638 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20639 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20640 (gst_tag_setter_add_tag_valist)
20641 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20642 _add_values, _add_valist, and _add_valist_values. Since this is an
20643 interface the function suffixes should be more explicit so
20644 language binding don't end up with element.add_valist ->
20645 gst_tag_setter_add_valist, for example. Fixes #322069.
20647 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20649 * check/gst/gstcaps.c: (GST_START_TEST):
20650 Extend caps string tests to check that a caps to string
20651 conversion is reversible and produces the same caps.
20653 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20654 Output "fraction" as the generic type fraction range, so caps
20655 serialisation and deserialisation works.
20656 * check/gst/capslist.h:
20657 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20658 Support 'MIN' and 'MAX' for deserialising fractions.
20660 2005-11-22 Andy Wingo <wingo@pobox.com>
20662 * gst/gstevent.h (gst_event_new_new_segment)
20663 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20664 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20665 Renamed from *_newsegment, *_buffersize, *_notarget.
20667 * scripts/update-funcnames: New script, performs the changes
20670 2005-11-22 Wim Taymans <wim@fluendo.com>
20672 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20673 Make sure the GstFlowReturn is returned.
20675 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20676 (gst_bus_add_signal_watch):
20678 add gst_bus_add_signal_watch_full.
20680 * gst/gstplugin.c: (gst_plugin_load_file):
20681 Small style cleanup.
20683 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20685 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20686 Block the fakesrc srcpad when we send an event, to avoid
20687 contention on the stream_lock causing random test failures.
20689 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20691 * check/gst/gstvalue.c: (GST_START_TEST):
20692 * gst/gstvalue.c: (gst_value_fraction_subtract):
20695 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20698 include "gstchildproxy.h"
20699 * gst/gstchildproxy.h:
20700 * libs/gst/controller/gstcontroller.h:
20701 use G_GNUC_NULL_TERMINATED
20703 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20705 * check/gst/capslist.h:
20706 * check/gst/gstcaps.c: (GST_START_TEST):
20707 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20708 * gst/gststructure.c: (gst_structure_parse_range),
20709 (gst_structure_fixate_field_nearest_fraction):
20710 * gst/gststructure.h:
20711 * gst/gstvalue.c: (gst_value_init_fraction_range),
20712 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20713 (gst_value_collect_fraction_range),
20714 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20715 (gst_value_set_fraction_range_full),
20716 (gst_value_get_fraction_range_min),
20717 (gst_value_get_fraction_range_max),
20718 (gst_value_serialize_fraction_range),
20719 (gst_value_transform_fraction_range_string),
20720 (gst_value_compare_fraction_range),
20721 (gst_value_deserialize_fraction_range),
20722 (gst_value_intersect_fraction_fraction_range),
20723 (gst_value_intersect_fraction_range_fraction_range),
20724 (gst_value_subtract_fraction_fraction_range),
20725 (gst_value_subtract_fraction_range_fraction),
20726 (gst_value_subtract_fraction_range_fraction_range),
20727 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20728 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20729 (gst_value_transform_string_fraction), (_gst_value_initialize):
20731 Implement fraction ranges and extend GstFraction to support
20732 arithmetic subtraction, as well as deserialization from integer
20733 strings such as "100"
20734 Add a testsuite as for int and double range set operations
20736 2005-11-21 Andy Wingo <wingo@pobox.com>
20738 * gst/gsttaglist.h:
20740 * gst/gststructure.h: Add glib-compat.h.
20742 2005-11-21 Wim Taymans <wim@fluendo.com>
20744 * gst/gstbin.c: (gst_bin_change_state_func):
20747 2005-11-21 Wim Taymans <wim@fluendo.com>
20749 * gst/gstsegment.h:
20750 And add a nice define too.
20752 2005-11-21 Wim Taymans <wim@fluendo.com>
20754 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20755 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20756 (gst_segment_set_duration), (gst_segment_set_last_stop),
20757 (gst_segment_set_seek), (gst_segment_set_newsegment),
20758 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20759 (gst_segment_clip):
20760 * gst/gstsegment.h:
20761 Make binding friendly.
20763 2005-11-21 Andy Wingo <wingo@pobox.com>
20765 * gst/gsttagsetter.h:
20766 * gst/gsttaglist.h:
20767 * gst/gststructure.h:
20769 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20772 * gst/gsterror.c (_gst_core_errors_init):
20773 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20776 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20777 (noinst_HEADERS): noinst the -private.
20779 2005-11-21 Michael Smith <msmith@fluendo.com>
20782 * gst/gstregistry.h:
20783 Remove unimplemented declarations for which we can see no sensible
20786 2005-11-21 Andy Wingo <wingo@pobox.com>
20788 * gst/gst.h: Include glib-compat.h.
20790 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20792 * gst/glib-compat.c: Include the public and the private header.
20794 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20798 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20800 * check/gst/gstevent.c (create_custom_events): Check that
20801 FLUSH_STOP is serialized.
20803 * check/elements/identity.c (event_func):
20804 * check/elements/fakesrc.c (event_func): No stream lock, the core
20807 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20808 stream lock taking, yay.
20810 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20811 ensure that core takes the stream lock.
20813 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20816 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20817 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20818 it already. For the flush start we do take it though so we get the
20819 right preroll state change messages.
20821 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20822 the stream lock here, the core does it for us.
20824 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20825 GST_STREAM_GET_LOCK.
20826 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20827 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20828 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20829 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20830 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20831 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20833 * gst/gstpad.c: Update for stream lock name change.
20835 * gst/base/gstbasesink.c: Update for preroll lock name change.
20837 2005-11-21 Wim Taymans <wim@fluendo.com>
20839 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20840 (gst_clock_get_master):
20842 * gst/gstsystemclock.c: (gst_system_clock_init):
20843 Convert Clock flags to object flags.
20844 Added methods to manage master/slave clocks.
20846 2005-11-21 Wim Taymans <wim@fluendo.com>
20848 * check/gst/gstsegment.c: (GST_START_TEST):
20849 * docs/design/part-TODO.txt:
20850 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20851 (gst_base_sink_event), (gst_base_sink_do_sync),
20852 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20853 (gst_base_sink_query), (gst_base_sink_change_state):
20854 * gst/base/gstbasesink.h:
20855 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20856 (gst_base_src_default_newsegment),
20857 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20858 (gst_base_src_get_range), (gst_base_src_loop),
20859 (gst_base_src_change_state):
20860 * gst/base/gstbasesrc.h:
20861 * gst/base/gstbasetransform.c:
20862 (gst_base_transform_prepare_output_buf),
20863 (gst_base_transform_event), (gst_base_transform_change_state):
20864 * gst/base/gstbasetransform.h:
20865 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20866 (gst_collect_pads_event):
20867 * gst/base/gstcollectpads.h:
20868 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20869 (gst_fake_src_create):
20870 * gst/elements/gstfakesrc.h:
20871 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20872 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20873 (gst_segment_set_last_stop), (gst_segment_set_seek),
20874 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20875 (gst_segment_to_running_time), (gst_segment_clip):
20876 * gst/gstsegment.h:
20877 More segment updates, replace code in plugins with segment
20880 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20882 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20883 Don't ignore sscanf results
20885 2005-11-21 Andy Wingo <wingo@pobox.com>
20887 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20890 * *.c: Ran scripts/update-macros. Oh yes.
20892 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20893 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20896 * scripts/update-macros: New script. Run it on your files to
20897 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20900 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20902 * docs/gst/Makefile.am:
20903 * docs/gst/gstreamer-docs.sgml:
20904 * docs/gst/gstreamer-sections.txt:
20905 * docs/gst/gstreamer.types:
20907 more docs fixes, add new api to the docs
20909 2005-11-21 Andy Wingo <wingo@pobox.com>
20911 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20912 state_broadcast call.
20914 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20916 2005-11-21 Julien MOUTTE <julien@moutte.net>
20918 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20919 function calls for arrays.
20921 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20923 * docs/random/ensonic/media-device-daemon.txt:
20924 wild idea, can this be done?
20925 * docs/gst/gstreamer-sections.txt:
20930 * gst/gstpluginfeature.c:
20934 doc fixes and additions
20936 2005-11-21 Andy Wingo <wingo@pobox.com>
20938 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20939 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20940 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20941 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20942 private to the basesrc implementation.
20944 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20945 behalf of event function if necessary. It should no longer be
20946 necessary to take the stream lock in pad's event functions. Fixes
20949 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20950 * docs/gst/gstreamer-sections.txt:
20951 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20952 (gst_structure_fixate_field_nearest_double),
20953 (gst_structure_fixate_field_boolean):
20954 * gst/gststructure.h:
20955 * win32/common/libgstreamer.def:
20956 * win32/gstreamer.def:
20958 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20961 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20963 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20964 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20965 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20966 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20967 (gst_fdsrc_uri_handler_init):
20968 * gst/elements/gstfdsrc.h:
20969 Port fd:// URI handler from 0.8 to fdsrc
20971 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20973 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20974 (gst_value_serialize_fourcc):
20976 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20977 consistent with our other format defines (#320324).
20979 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20981 * gst/gstvalue.c: (gst_value_is_fixed):
20982 Revert previous commit. Value lists are by definition
20983 not fixed, as they are a list of possible values.
20985 2005-11-21 Andy Wingo <wingo@pobox.com>
20987 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20988 during the stable series if we need it. Fixes #319178.
20990 * gst/gstevent.c (gst_event_new_filler): Removed.
20992 * check/gst/gstevent.c: Update comment about filler events.
20994 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20996 * gst/gstvalue.c: (gst_value_is_fixed):
20997 Should handle both value arrays and value lists.
20999 2005-11-21 Andy Wingo <wingo@pobox.com>
21001 patch by: Alessandro Dessina <alessandro nnva org>
21003 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
21004 functions to access arrays. Fixes #321962.
21006 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
21008 * docs/gst/gstreamer.types:
21009 gst_collectpads_get_type => gst_collect_pads_get_type.
21011 * gst/base/gstbasetransform.c:
21012 Remove unused SIGNAL_HANDOFF enum.
21014 2005-11-21 Andy Wingo <wingo@pobox.com>
21016 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
21017 the event type (upstream, downstream, serialized). Renamed
21018 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
21019 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
21020 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
21022 * gst/gstevent.c: Update for new CUSTOM event names.
21024 * check/gst/gstevent.c: Update check for new CUSTOM event names.
21027 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
21030 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
21032 * docs/gst/gstreamer-sections.txt:
21033 * win32/common/libgstbase.def:
21034 * win32/libgstbase.def:
21035 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
21036 (gst_collect_pads_class_init), (gst_collect_pads_init),
21037 (gst_collect_pads_finalize), (gst_collect_pads_new),
21038 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
21039 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
21040 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
21041 (gst_collect_pads_start), (gst_collect_pads_stop),
21042 (gst_collect_pads_peek), (gst_collect_pads_pop),
21043 (gst_collect_pads_available), (gst_collect_pads_read),
21044 (gst_collect_pads_flush), (gst_collect_pads_event),
21045 (gst_collect_pads_chain):
21046 * gst/base/gstcollectpads.h:
21047 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
21048 unimplemented functions as unimplemented. Add padding to
21049 GstCollectData. (#320766, #320423)
21051 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
21053 * gst/gstmessage.c:
21054 Improve docs for DURATION message (usage of duration parameter)
21057 2005-11-20 Wim Taymans <wim@fluendo.com>
21059 * check/Makefile.am:
21060 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
21064 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
21065 (gst_segment_set_seek), (gst_segment_set_newsegment),
21066 (gst_segment_to_stream_time), (gst_segment_to_running_time),
21067 (gst_segment_clip):
21068 * gst/gstsegment.h:
21069 Added segment helper structure and methods. Not fully implemented
21071 Added segment check.
21073 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
21075 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21076 Add a deserialisation test for fractions
21077 * examples/metadata/read-metadata.c: (message_loop),
21078 (make_pipeline), (main):
21079 Fix up metadata reading sample.
21080 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21082 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21083 Don't try and fixate empty caps
21084 * gst/gst_private.h:
21085 Wrap in G_BEGIN_DECLS/G_END_DECLS
21086 * gst/gstvalue.c: (gst_value_collect_fraction),
21087 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
21088 (gst_value_transform_string_fraction),
21089 (gst_value_compare_fraction):
21090 Add some extra guards to ensure that we don't end up
21091 with an invalid denominator of 0 in a gstfraction and
21092 that fractions always get reduced.
21094 2005-11-20 Wim Taymans <wim@fluendo.com>
21096 * docs/gst/gstreamer-sections.txt:
21098 * gst/gstelement.c:
21107 2005-11-20 Wim Taymans <wim@fluendo.com>
21109 * docs/design/part-TODO.txt:
21111 Make a proper enum of the flag.
21113 2005-11-19 Wim Taymans <wim@fluendo.com>
21115 * docs/design/part-TODO.txt:
21116 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21117 (gst_format_to_quark), (gst_format_register):
21119 * gst/gstquery.c: (_gst_query_initialize),
21120 (gst_query_type_get_name), (gst_query_type_to_quark),
21121 (gst_query_type_register):
21123 Add type to quark and type to string conversions.
21125 2005-11-19 Andy Wingo <wingo@pobox.com>
21127 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21130 2005-11-19 Wim Taymans <wim@fluendo.com>
21132 * docs/design/part-TODO.txt:
21133 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21134 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21135 (gst_bin_handle_message_func):
21137 Make message handling overridable.
21139 2005-11-19 Andy Wingo <wingo@pobox.com>
21141 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21144 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21146 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21147 is a GstClockTime. Fixes #321710.
21149 * gst/gstclock.h (GstClock): Remove offset property. Add
21150 internal_calibration and external_calibration. Fix padding. Pad
21151 also by GstClockTime so we don't run into problems.
21153 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21154 (gst_clock_get_rate_offset): Remove.
21155 (gst_clock_set_time_adjust): Remove. Fixes #321712.
21158 * gst/gstutils.c (g_static_rec_cond_wait)
21159 (g_static_rec_cond_timed_wait): Removed, no longer needed.
21161 * gst/gstbin.c: Remove terrible continue_state prototype.
21163 * gst/gstelement.h (gst_element_continue_state): Make public.
21165 * gst/gstelement.h:
21166 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21167 by continue_state. Fixes #319389.
21169 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21170 Really fixes #168438. However I don't see anywhere where the
21171 filter function is called... stupid GStreamer...
21173 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21174 don't have a dispose function, so it won't get called when the
21175 object is unreffed, but oh well!
21177 * gst/gstindex.c (gst_index_set_filter_full): New API function,
21178 allows a destroy function to be set so user_data can be freed.
21180 (gst_index_set_filter): Call gst_index_set_filter_full.
21182 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21184 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21185 string should produce an error, given the lack of a way to
21186 represent NULL strings. Fixes #165650.
21189 * gst/gstvalue.c (gst_value_array_append_value)
21190 (gst_value_array_prepend_value, gst_value_array_get_size)
21191 (gst_value_array_get_value): New API, copied from
21192 gst_value_list_*, only operates on arrays.
21193 (gst_value_list_append_value, gst_value_list_prepend_value)
21194 (gst_value_list_concat, gst_value_list_get_size)
21195 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21197 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21198 init_list, because it works on both.
21199 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21200 (gst_value_copy_list_or_array): Renamed from copy_list.
21201 (gst_value_free_list_or_array): Renamed from free_list.
21202 (gst_value_collect_list_or_array): Renamed from collect_list.
21203 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21204 (gst_value_list_or_array_peek_pointer): Renamed from
21206 (_gst_value_array_value_table, _gst_value_list_value_table):
21207 Update value table functions.
21208 (gst_value_compare_list_or_array): Renamed from compare_list.
21210 * gsttaglist.h: Whoops, foreach function returns void. Also fix
21213 * gst/gsttaglist.c:
21214 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21215 GstTagList*. Fixes #143472.
21217 * gst/gststructure.h: Clarify what the foreach/map functions can
21218 or can't do to their arguments.
21220 2005-11-18 Wim Taymans <wim@fluendo.com>
21222 * gst/gstclock.c: (gst_clock_set_calibration),
21223 (gst_clock_get_calibration):
21225 Calibration can be set with internal time equal to current
21228 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
21234 2005-11-18 Andy Wingo <wingo@pobox.com>
21237 * pkgconfig/gstreamer-net.pc.in:
21238 * pkgconfig/gstreamer-net-uninstalled.pc.in:
21239 * pkgconfig/Makefile.am: Add net pkgconfig files.
21241 2005-11-18 Stefan Kost <ensonic@users.sf.net>
21244 * gst/gstghostpad.c:
21250 2005-11-18 Andy Wingo <wingo@pobox.com>
21252 * gst/net/gstnetclientclock.c: Turn off debugging.
21254 * check/net/gstnetclientclock.c (test_functioning): Assert that the
21255 times connverge somewhat. Can't make a real test.
21257 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21258 integer arithmetic. Return the minimum of the domain, which can be
21259 set as "internal" for gst_clock_set_calibration.
21260 (gst_net_client_clock_observe_times): Call _set_calibration.
21261 (gst_net_client_clock_new): Call _set_calibration instead of
21264 * check/net/gstnetclientclock.c (test_functioning): Use the right
21268 * gst/gstclock.c (gst_clock_get_calibration)
21269 (gst_clock_set_calibration): New functions, obsolete the ones I
21270 added yesterday. Doh. Precision issues mean we have to extrapolate
21271 from a point in the more recent past than 1970.
21272 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21274 (gst_clock_adjust_unlocked): Use the right calibration data.
21276 2005-11-18 Edward Hervey <edward@fluendo.com>
21278 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21279 Also reset the ->current_* values in READY->PAUSED
21281 2005-11-18 Andy Wingo <wingo@pobox.com>
21283 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21284 Whoops, check the right fd. Also add some debugging.
21285 (gst_net_client_clock_observe_times): Adjust for int64 offset.
21286 (do_linear_regression): Add a crapload of debugging. Subtract off
21287 the minimum values from the input series to discard unneeded bits.
21288 Use only int arithmetic. There is still double arithmetic when
21289 calculating the intercept that needs fixing. Return boolean to
21290 indicate success; FALSE would mean the domain or range is too
21291 great. Still needs fixes.
21293 2005-11-18 Wim Taymans <wim@fluendo.com>
21295 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21296 For the current position in stream time, we need to subtract
21299 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21300 Release lock before calling the callback function of async
21303 2005-11-18 Andy Wingo <wingo@pobox.com>
21305 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21306 Port goes all the way to MAXUINT16.
21308 * gst/net/gstnettimeprovider.c: Make the port range the same as
21309 for the kernel: 0 assigns, otherwise ports are less than
21312 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21315 * check/net/gstnetclientclock.c (test_functioning): Add the start
21318 2005-11-18 Wim Taymans <wim@fluendo.com>
21320 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21321 (gst_bin_remove_func), (bin_bus_handler):
21323 Removing a clock provider from a bin, triggers a clock lost message
21324 so that a new clock will be selected.
21325 Adding a clock to a bin triggers a clock provider message.
21326 Make sure we reselect a clock when we received a clock lost message.
21327 Keep a reference to the element that provided the clock.
21329 2005-11-18 Andy Wingo <wingo@pobox.com>
21331 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21332 the clock initially so it produces values around the base time.
21333 (gst_net_client_clock_class_init): Typo fix.
21334 (gst_net_client_clock_thread): Add note on when the socket gets
21337 2005-11-17 Wim Taymans <wim@fluendo.com>
21339 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21340 Free remote and local time arrays.
21342 2005-11-17 Wim Taymans <wim@fluendo.com>
21344 * gst/net/gstnetclientclock.c: (do_linear_regression),
21345 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21346 Fix compilation, uninitialized vars and a forgotten continue.
21348 2005-11-17 Andy Wingo <wingo@pobox.com>
21350 * check/Makefile.am (check_PROGRAMS):
21351 * check/net/gstnetclientclock.c: Add a most minimal test for the
21352 net client clock. More to come later.
21354 * gst/net/gstnet.h:
21355 * gst/net/Makefile.am: Add netclientclock.
21357 * gst/net/gstnetclientclock.h:
21358 * gst/net/gstnetclientclock.c: New files, implement an untested
21359 GstClock that takes its time from a network time provider.
21360 Implements the algorithm in network-clock.scm.
21362 * tests/network-clock.scm (*window-size*): Rename from
21364 * tests/network-clock.scm (network-time):
21365 * tests/network-clock-utils.scm (q-push): Update callers.
21367 2005-11-17 Wim Taymans <wim@fluendo.com>
21369 * gst/gstbin.c: (gst_bin_provide_clock_func),
21370 (gst_bin_sort_iterator_new):
21371 And unref the child too..
21373 2005-11-17 Wim Taymans <wim@fluendo.com>
21375 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21376 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21377 Refactor the sort iterator so it can be used while holding the
21379 Make clock selection select a clock closest to the source.
21381 2005-11-17 Michael Smith <msmith@fluendo.com>
21383 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21384 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21386 Anonymous structs are a gcc (and some other compilers) extension, so
21387 don't use them. Since this is only for ABI-compatibility, and our
21388 API/ABI freeze is over in a few days, this whole thing will only
21389 last a few days, so don't bother trying to think up a meaningful
21390 name for the struct.
21392 2005-11-17 Andy Wingo <wingo@pobox.com>
21394 * gst/gstclock.h (GstClock): Add rate and offset properties,
21395 preserving ABI stability. Add rate/offset accessors. Will file bug
21396 for the freeze break.
21398 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21399 and offset, trying to keep precision and avoiding
21400 underflow/overflow.
21401 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21402 functions. Make gst_clock_set_time_adjust obsolete.
21403 (gst_clock_set_time_adjust): Note that this function is obsolete.
21404 Will file bug soon.
21406 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21407 greppable by using GST_PADDING-1+1.
21409 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21411 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21413 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21414 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21416 * gst/gstpadtemplate.h:
21417 * gst/gstpluginfeature.h:
21418 Don't use c++ style comments in headers (#321638).
21420 2005-11-16 Andy Wingo <wingo@pobox.com>
21422 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21425 * check/net/gstnettimeprovider.c: Check to see that the time
21426 provider actually provides times. Works, yo!
21428 2005-11-16 Wim Taymans <wim@fluendo.com>
21430 * check/Makefile.am:
21433 * check/elements/fakesrc.c: (GST_START_TEST):
21434 Set element to NULL before disposing it.
21436 2005-11-16 Andy Wingo <wingo@pobox.com>
21438 * gst/net/Makefile.am:
21439 * gst/net/gstnet.h:
21440 * gst/net/gstnettimeprovider.c:
21441 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21442 provider, include it from gstnet.h, and add it to the build.
21444 * gst/net/gstnettimepacket.h:
21445 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21446 sending and receiving.
21448 2005-11-16 Wim Taymans <wim@fluendo.com>
21450 * check/Makefile.am:
21451 Enable valgrind check.
21453 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21454 (gst_fake_src_alloc_buffer):
21457 2005-11-16 Wim Taymans <wim@fluendo.com>
21459 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21460 Call parent finalize too.
21462 2005-11-16 Wim Taymans <wim@fluendo.com>
21464 * check/Makefile.am:
21465 Enable valgrind check that should work fine now.
21467 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21468 * gst/gstqueue.c: (gst_queue_init):
21469 Fix memleaks in pad allocation.
21471 2005-11-16 Andy Wingo <wingo@pobox.com>
21473 * gst/net/Makefile.am:
21474 * gst/net/gstnet.h: New part of core to hold network elements and
21475 objects. Put in core because it exposes API that applications want
21476 to use. The library is named libgstnet-tempname right now because
21477 of the existing libgstnet in gst-plugins-base. Solution is
21478 probably to rename the one in plugins-base; will file a bug for
21481 * gst/net/gstnettimeprovider.c:
21482 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21483 get_time call over the network.
21486 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21488 * check/Makefile.am:
21489 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21490 get additions shortly.
21492 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21494 * gst/gstpad.c: (gst_pad_new_from_static_template):
21496 add gst_pad_new_from_static_template functions
21497 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21498 (gst_check_setup_sink_pad):
21499 * gst/elements/gsttee.c: (gst_tee_init):
21502 2005-11-16 Wim Taymans <wim@fluendo.com>
21504 * gst/gstpad.c: (gst_pad_pause_task):
21505 Removed warning, it's not really an error either.
21507 2005-11-16 Wim Taymans <wim@fluendo.com>
21509 * gst/base/gstbasetransform.c:
21510 (gst_base_transform_prepare_output_buf),
21511 (gst_base_transform_event):
21512 Check if the caps are NULL, this can happen if the element
21513 is shutting down and the pad caps are set to NULL.
21515 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21517 * gst/elements/gsttee.c: (gst_tee_init):
21518 fix pad template leak in tee
21520 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21522 * gst/glib-compat.c: (g_value_dup_gst_object):
21523 * gst/glib-compat.h:
21524 * gst/gstpad.c: (gst_pad_set_property):
21525 use gst_object_ref when setting the pad template; this will
21526 trigger the pad template leaks on GLib 2.6 and the slaves
21528 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21530 * gst/glib-compat.c: (gst_flags_get_first_value):
21531 * gst/glib-compat.h:
21532 * gst/gstregistryxml.c:
21533 remove functions copied from GLib 2.6
21535 2005-11-16 Michael Smith <msmith@fluendo.com>
21538 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21539 do, but only breaks with newer valgrind versions. We're not a
21540 valgrind tool, we have no link-time dependencies on libcoregrind.
21542 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21544 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21546 * gst/gstmessage.h:
21549 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21551 * gst/base/gstbasesrc.c: (gst_base_src_init):
21552 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21553 * gst/gstqueue.c: (gst_queue_init):
21554 * gst/gstregistryxml.c: (load_feature):
21555 Revert all these unrefs, they don't even pass make check !
21557 2005-11-15 Johan Dahlin <johan@gnome.org>
21559 * gst/base/gstbasesrc.c: (gst_base_src_init):
21560 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21561 * gst/gstqueue.c: (gst_queue_init):
21562 Free pad templates, fixes a couple of leaks.
21564 2005-11-15 Daniel Fischer <dan at f3c dot com>
21566 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21568 * gst/gstpad.c: (gst_pad_get_property):
21569 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21570 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21573 2005-11-15 Wim Taymans <wim@fluendo.com>
21578 2005-11-15 Andy Wingo <wingo@pobox.com>
21580 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21582 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21583 using GST_CLOCK_TIME_NONE to disable base time management.
21584 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21585 time if it was NONE before.
21586 (gst_pipeline_change_state): Only munge the base time if
21587 stream_time != GST_CLOCK_TIME_NONE.
21589 * check/gst/gstpipeline.c (test_base_time): Punt around the
21590 problem of the probe not being called, because that's not the
21591 issue I'm looking at. Add a check that setting stream_time to NONE
21592 disables base time management.
21594 2005-11-15 Wim Taymans <wim@fluendo.com>
21596 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21597 segment_stop == -1 at startup.
21599 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21600 (gst_base_transform_change_state):
21601 Init segment values at start.
21603 2005-11-15 Wim Taymans <wim@fluendo.com>
21605 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21606 0 segment values are 0 in any format.
21608 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21609 * gst/base/gstbasetransform.h:
21610 Parse newsegment correctly in basetransform
21612 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21613 Sync to clock using updated segment values.
21615 2005-11-15 Andy Wingo <wingo@pobox.com>
21617 * check/gst/gstpipeline.c (test_base_time): Add check that the
21618 base time and stream time are reset correctly.
21620 2005-11-15 Wim Taymans <wim@fluendo.com>
21622 * docs/design/part-TODO.txt:
21623 Some more TODO items.
21625 2005-11-15 Andy Wingo <wingo@pobox.com>
21627 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21628 error if the user selected "no clock" as the clocking method.
21630 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21631 timestamps with live capture.
21633 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21634 is 0 but we are a live source, timestamp the buffers using the
21637 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21639 * docs/gst/gstreamer-sections.txt:
21641 * gst/gstghostpad.c:
21646 2005-11-14 Wim Taymans <wim@fluendo.com>
21649 add suppressions from Wim's Debian machine
21651 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21654 add suppressions from Andy's AMD64 Ubuntu machine
21656 2005-11-14 Andy Wingo <wingo@pobox.com>
21658 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21659 STATE_LOCK not necessary. Fixes #311489.
21661 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21664 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21665 this function is not implemented.
21667 2005-11-14 Julien MOUTTE <julien@moutte.net>
21669 * gst/base/gstbasetransform.c:
21670 (gst_base_transform_prepare_output_buf):
21671 Ref the source pad caps while we need them.
21674 2005-11-11 Wim Taymans <wim@fluendo.com>
21676 * docs/gst/gstreamer-sections.txt:
21677 Added some docs for GstCollectData.
21679 * gst/base/gstadapter.c:
21680 Some small code example fix.
21682 * gst/base/gstcollectpads.c:
21683 * gst/base/gstcollectpads.h:
21684 Document some more.
21686 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21688 * configure.ac: back to HEAD
21690 === release 0.9.5 ===
21692 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21695 releasing 0.9.5, "Bike Lunch Day"
21697 2005-11-11 Wim Taymans <wim@fluendo.com>
21699 * gst/gstbuffer.c: (_gst_buffer_copy):
21702 * gst/gstcaps.c: (gst_caps_is_equal):
21704 Make _is_equal fast in the trivial cases.
21706 * gst/gstminiobject.c:
21707 * gst/gstminiobject.h:
21708 More docs. Spifify .h file.
21713 2005-11-11 Wim Taymans <wim@fluendo.com>
21715 * gst/base/gstbasetransform.c:
21716 (gst_base_transform_prepare_output_buf),
21717 (gst_base_transform_handle_buffer):
21719 If we're processing a buffer and need to allocate an output
21720 buffer, we cannot accept a format change. If we did get a
21721 format change, we have to alloc a buffer ourselves of the
21724 2005-11-11 Wim Taymans <wim@fluendo.com>
21726 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21727 While checking the flag for reentrancy in the gstcaps function
21728 is nice to detect recursive invocations, it also makes it
21729 impossible to call getcaps from multiple threads, which must be
21730 possible. So, checking for recursive calls has to go.
21732 2005-11-11 Michael Smith <msmith@fluendo.com>
21734 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21735 Don't sync on buffers that fall partially outside our current
21736 segment. Prevents an assertion failure/abort playing some files.
21738 2005-11-10 Andy Wingo <wingo@pobox.com>
21740 * check/gst/gstbin.c (test_message_state_changed_children): Style
21743 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21744 gst_bus_poll with the signal watch. Ensures that poll and a signal
21745 watch see the same messages.
21747 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21748 a poll and a watch at the same time get the same messages.
21750 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21752 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21753 * gst/gstcaps.c: (gst_caps_intersect):
21754 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21755 and it's not needed.
21757 2005-11-10 Wim Taymans <wim@fluendo.com>
21759 * docs/design/part-TODO.txt:
21762 2005-11-10 Wim Taymans <wim@fluendo.com>
21764 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21765 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21766 (gst_base_src_do_sync), (gst_base_src_get_range):
21767 Implement clock sync in base class.
21769 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21771 patch by: Tim-Philipp Müller <tim at centricular dot net>
21773 * gst/gststructure.c: (gst_structure_parse_field),
21774 (gst_structure_from_string):
21775 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21776 so that gst_parse_launch() can deal with spaces in filtered link
21777 caps (fixes #164479)
21778 * check/gst/capslist.h:
21779 * check/gst/gststructure.c: (GST_START_TEST):
21780 add unit tests for this change
21782 2005-11-10 Wim Taymans <wim@fluendo.com>
21784 * docs/gst/gstreamer-sections.txt:
21785 * gst/gstelement.c:
21786 * gst/gstelement.h:
21787 Fix docs, move some STATE macros to private.
21789 2005-11-10 Wim Taymans <wim@fluendo.com>
21791 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21792 Added check for bug #317341
21796 Some more spiffifying.
21798 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21799 Call peer linkfunction if we are a source pad. Totally fixes
21803 Update docs, source pads should call the peer linkfunction
21804 so they can atomically perform the pad link.
21806 2005-11-09 Wim Taymans <wim@fluendo.com>
21810 Uber-spiffy-spiffify some more.
21812 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21814 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21815 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21816 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21817 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21818 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21819 * gst/gstpad.c: (gst_pad_init):
21820 Use GST_DEBUG_FUNCPTR() more extensively.
21822 2005-11-09 Wim Taymans <wim@fluendo.com>
21824 * gst/gstobject.c: (gst_object_class_init):
21826 Documentation fixes.
21828 2005-11-09 Edward Hervey <edward@fluendo.com>
21830 * gst/gsttypefindfactory.c:
21833 2005-11-09 Edward Hervey <edward@fluendo.com>
21835 * gst/base/gsttypefindhelper.c:
21836 * gst/gsttypefind.c:
21837 * gst/gsttypefind.h:
21840 2005-11-09 Wim Taymans <wim@fluendo.com>
21842 * gst/gstiterator.c:
21849 2005-11-09 Wim Taymans <wim@fluendo.com>
21855 2005-11-09 Wim Taymans <wim@fluendo.com>
21857 * docs/gst/gstreamer-sections.txt:
21858 Moved the message async delivery private lock and cond
21859 to the private section.
21861 * gst/gstmessage.c:
21862 * gst/gstmessage.h:
21865 2005-11-09 Edward Hervey <edward@fluendo.com>
21867 * docs/gst/gstreamer-sections.txt:
21870 Document GstURIHandler
21872 2005-11-09 Wim Taymans <wim@fluendo.com>
21874 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21875 (gst_iterator_find_custom):
21876 * gst/gstiterator.h:
21879 2005-11-09 Wim Taymans <wim@fluendo.com>
21882 Document another field.
21884 * gst/gststructure.c:
21885 * gst/gststructure.h:
21888 2005-11-09 Wim Taymans <wim@fluendo.com>
21891 Documented structs.
21893 2005-11-09 Wim Taymans <wim@fluendo.com>
21895 * docs/gst/gstreamer-sections.txt:
21896 Added some new macros.
21903 2005-11-09 Wim Taymans <wim@fluendo.com>
21905 * docs/design/part-TODO.txt:
21906 Some more items for the TODO
21912 2005-11-09 Andy Wingo <wingo@pobox.com>
21914 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21915 to work on something else now tho...
21917 * gst/base/gstadapter.c: More adapter docs.
21919 * gst/elements/gstfilesink.c (gst_file_sink_start)
21920 (gst_file_sink_stop): New functions, replace the state change
21922 (gst_file_sink_class_init): Hook up the start and stop functions.
21923 (gst_file_sink_base_init): Don't set the state change handler any
21924 more. It was a bit ugly too, being set from here...
21925 (gst_file_sink_get_property, gst_file_sink_set_property):
21927 (gst_file_sink_set_location): More robust check that doesn't call
21928 GST_STATE. Ugggggg.
21930 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21932 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21933 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21935 2005-11-08 Wim Taymans <wim@fluendo.com>
21937 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21938 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21939 (gst_base_sink_chain), (gst_base_sink_change_state):
21940 * gst/base/gstbasesink.h:
21941 * gst/base/gstbasesrc.h:
21942 * gst/gstelement.h:
21944 Avoid excessive typechecking in macros.
21946 * gst/gstminiobject.c: (gst_mini_object_get_type),
21947 (gst_mini_object_init), (gst_mini_object_new),
21948 (gst_mini_object_free):
21949 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21950 (gst_object_finalize):
21951 Remove cruft code, optimize alloc_trace.
21953 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21955 * docs/faq/gst-uninstalled:
21956 fix up PS1 for systems that try to reset it
21958 2005-11-07 Wim Taymans <wim@fluendo.com>
21960 * gst/base/gstbasesrc.c: (gst_base_src_init),
21961 (gst_base_src_get_range):
21962 Set the segment_end to -1 initially. Fixed typefind.
21964 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21966 * gst/base/gstadapter.c:
21967 Debug category should be 'adapter', not 'GstAdapter'.
21969 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21970 (gst_collectpads_class_init), (gst_collectpads_init),
21971 (gst_collectpads_peek), (gst_collectpads_pop),
21972 (gst_collectpads_event), (gst_collectpads_chain):
21973 Add debug category and some debugging output. Use boilerplate
21974 macros. Remove some extraneous words from docs.
21976 2005-11-05 Andy Wingo <wingo@pobox.com>
21978 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21981 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21983 * docs/gst/gstreamer-sections.txt:
21986 * gst/gstminiobject.h:
21991 2005-11-04 Wim Taymans <wim@fluendo.com>
21993 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21994 Small update to stop at the configured segment_end
21997 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21999 * gst/gstregistry.c:
22000 * gst/gstregistry.h:
22003 2005-11-04 Edward Hervey <edward@fluendo.com>
22005 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22006 Check if we are doing a segment seek and have arrived at the
22007 end of that segment.
22009 2005-11-04 Wim Taymans <wim@fluendo.com>
22011 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
22012 Don't leak a mutex unlock in case of an error.
22017 2005-11-04 Wim Taymans <wim@fluendo.com>
22019 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
22021 Get the context to wake up only once.
22023 2005-11-03 Wim Taymans <wim@fluendo.com>
22025 * check/states/sinks.c: (GST_START_TEST):
22026 Uncomment fixed check.
22028 * docs/design/part-TODO.txt:
22031 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22032 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22033 (gst_base_sink_get_position):
22034 If we are going to PLAYING, post the right pending state
22035 when we post the intermediate paused message.
22037 * gst/gstelement.c: (gst_element_continue_state),
22038 (gst_element_set_state_func), (gst_element_change_state):
22039 Don't post state changes that were between the same state
22040 and were not ASYNC.
22042 2005-11-03 Stefan Kost <ensonic@users.sf.net>
22044 * docs/gst/gstreamer-sections.txt:
22047 * gst/gstminiobject.h:
22050 more docs and doc style fixes
22052 2005-11-03 Stefan Kost <ensonic@users.sf.net>
22054 * docs/gst/gstreamer-sections.txt:
22055 * gst/gstelement.c:
22056 * gst/gstminiobject.c:
22059 2005-11-03 Andy Wingo <wingo@pobox.com>
22061 * check/states/sinks.c (test_livesrc_sink): Add checks that the
22062 state-changed messages actually have the right order and the right
22065 2005-11-03 Wim Taymans <wim@fluendo.com>
22067 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22068 Added some more checks. Specifically the case where NO_PREROLL
22069 elements are in the pipeline.
22071 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22072 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22073 (gst_base_sink_get_position):
22074 Post READY->PAUSED state change messages too.
22075 Fix bug where VOID was posted as pending state...
22077 * gst/gstbin.c: (gst_bin_recalc_state):
22078 use _element_continue_state() to continue the state change.
22080 * gst/gstelement.c: (gst_element_continue_state),
22081 (gst_element_commit_state), (gst_element_set_state_func),
22082 (gst_element_change_state), (gst_element_change_state_func):
22083 Lots of state change cleanups, assign the STATE_RETURN in
22084 a new continue_state() function that also propagates the
22085 last return value from a state change to the app.
22086 Update some debug statements with proper category.
22088 2005-11-03 Wim Taymans <wim@fluendo.com>
22090 * docs/design/part-events.txt:
22091 * docs/design/part-gstpipeline.txt:
22092 * docs/design/part-messages.txt:
22093 * docs/design/part-overview.txt:
22094 * docs/design/part-seeking.txt:
22095 * docs/design/part-states.txt:
22096 * docs/design/part-trickmodes.txt:
22097 * docs/manual/advanced-position.xml:
22098 Small docs updates.
22101 People think !! is ugly, this looks better.
22103 * gst/gstpad.c: (gst_pad_set_blocked_async):
22104 Remove !! since it's fixed elsewhere now.
22106 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
22108 * gst/gstminiobject.h:
22110 Add !! to _FLAG_IS_SET macros to make the result boolean.
22112 2005-11-03 Edward Hervey <edward@fluendo.com>
22114 * gst/gstpad.c: (gst_pad_set_blocked_async):
22115 comparing a flag and a gboolean rarely returns coherent results...
22116 Added two characters (!!) to make that work correctly.
22118 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
22120 * gst/gstbus.c: (gst_bus_class_init):
22123 * gst/gstqueue.c: (gst_queue_loop):
22124 Don't assume a miniobject that isn't a buffer is an
22125 event (it could be that there is a refcounting
22126 problem somewhere and the pointer is stale and
22127 refers to an already destroyed miniobject).
22129 2005-11-03 Julien MOUTTE <julien@moutte.net>
22131 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22133 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
22135 * docs/manual/advanced-position.xml:
22136 Update seek example and explanations to current 0.9 API.
22138 * gst/elements/gsttypefindelement.c:
22139 (gst_type_find_element_activate):
22140 Remove FIXME comment now that the found caps
22143 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
22145 * gst/gstregistryxml.c: (load_feature):
22146 Add another GST_STR_NULL instance
22148 2005-11-02 Edward Hervey <edward@fluendo.com>
22150 * gst/gstpad.c: (handle_pad_block):
22151 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22153 2005-11-02 Wim Taymans <wim@fluendo.com>
22158 * gst/gstelement.c: (gst_element_commit_state):
22159 Remove unused value.
22161 * gst/gstiterator.c:
22162 Mention that the returned element is reffed in the docs.
22164 2005-11-02 Wim Taymans <wim@fluendo.com>
22166 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22167 (gst_pad_push), (gst_pad_push_event):
22168 Unlock blocked pads when they are flushed.
22170 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22173 * docs/gst/gstreamer-sections.txt:
22176 * gst/gstregistry.c: (gst_registry_scan_path_level):
22177 fix for a nasty little missed situation where an installed plug-in
22178 which was in the cache did not get overridden by an uninstalled one
22179 which was earlier in the plugin path because the newly created plugin
22180 for the uninstalled one (not in the registry) didn't get its
22181 ->registered set to TRUE
22183 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
22185 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22186 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22187 (gst_collectpads_is_active), (gst_collectpads_collect),
22188 (gst_collectpads_collect_range), (gst_collectpads_start),
22189 (gst_collectpads_stop), (gst_collectpads_peek),
22190 (gst_collectpads_pop), (gst_collectpads_available),
22191 (gst_collectpads_read), (gst_collectpads_flush):
22192 Guard public API with assertions.
22195 Fix docs for gst_pad_set_link_function().
22197 2005-11-02 Johan Dahlin <johan@gnome.org>
22199 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
22200 Unref found_caps after we used it.
22202 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
22204 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22205 Don't try to ref NULL.
22207 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22209 * win32/common/config.h.in:
22210 provide a GST_FUNCTION that just gives a string for now
22212 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22214 * win32/common/gstenumtypes.c: (register_gst_object_flags),
22215 (gst_object_flags_get_type), (register_gst_bin_flags),
22216 (gst_bin_flags_get_type), (register_gst_buffer_flag),
22217 (gst_buffer_flag_get_type), (register_gst_bus_flags),
22218 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22219 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22220 (gst_clock_return_get_type), (register_gst_clock_entry_type),
22221 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22222 (gst_clock_flags_get_type), (register_gst_state),
22223 (gst_state_get_type), (register_gst_state_change_return),
22224 (gst_state_change_return_get_type), (register_gst_state_change),
22225 (gst_state_change_get_type), (register_gst_element_flags),
22226 (gst_element_flags_get_type), (register_gst_core_error),
22227 (gst_core_error_get_type), (register_gst_library_error),
22228 (gst_library_error_get_type), (register_gst_resource_error),
22229 (gst_resource_error_get_type), (register_gst_stream_error),
22230 (gst_stream_error_get_type), (register_gst_event_type),
22231 (gst_event_type_get_type), (register_gst_seek_type),
22232 (gst_seek_type_get_type), (register_gst_seek_flags),
22233 (gst_seek_flags_get_type), (register_gst_format),
22234 (gst_format_get_type), (register_gst_index_certainty),
22235 (gst_index_certainty_get_type), (register_gst_index_entry_type),
22236 (gst_index_entry_type_get_type),
22237 (register_gst_index_lookup_method),
22238 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22239 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22240 (gst_index_resolver_method_get_type), (register_gst_index_flags),
22241 (gst_index_flags_get_type), (register_gst_debug_level),
22242 (gst_debug_level_get_type), (register_gst_debug_color_flags),
22243 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22244 (gst_iterator_result_get_type), (register_gst_iterator_item),
22245 (gst_iterator_item_get_type), (register_gst_message_type),
22246 (gst_message_type_get_type), (register_gst_mini_object_flags),
22247 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22248 (gst_pad_link_return_get_type), (register_gst_flow_return),
22249 (gst_flow_return_get_type), (register_gst_activate_mode),
22250 (gst_activate_mode_get_type), (register_gst_pad_direction),
22251 (gst_pad_direction_get_type), (register_gst_pad_flags),
22252 (gst_pad_flags_get_type), (register_gst_pad_presence),
22253 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22254 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22255 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22256 (gst_plugin_error_get_type), (register_gst_plugin_flags),
22257 (gst_plugin_flags_get_type), (register_gst_rank),
22258 (gst_rank_get_type), (register_gst_query_type),
22259 (gst_query_type_get_type), (register_gst_tag_merge_mode),
22260 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22261 (gst_tag_flag_get_type), (register_gst_task_state),
22262 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22263 (gst_alloc_trace_flags_get_type),
22264 (register_gst_type_find_probability),
22265 (gst_type_find_probability_get_type), (register_gst_uri_type),
22266 (gst_uri_type_get_type), (register_gst_parse_error),
22267 (gst_parse_error_get_type):
22268 * win32/common/gstversion.h:
22269 update win32 copies
22271 2005-11-01 Luca Ognibene <luogni@tin.it>
22274 fix docs. popt is dead, long live GOption.
22276 2005-10-31 Wim Taymans <wim@fluendo.com>
22281 2005-10-31 Andy Wingo <wingo@pobox.com>
22285 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22287 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22288 need to serialize property notifications on GLib 2.8. GLib 2.6 has
22289 the possibility of deadlocks here if code calling notify() or
22290 set() has a lock that can be taken in another notify handler (ABBA
22291 with class lock and e.g. python GIL state lock).
22293 2005-10-28 Julien MOUTTE <julien@moutte.net>
22295 * gst/gstbus.c: Doc updates.
22297 2005-10-28 Wim Taymans <wim@fluendo.com>
22299 * docs/design/part-TODO.txt:
22300 * gst/gstiterator.c:
22301 * gst/gstsystemclock.c:
22302 * gst/gstsystemclock.h:
22305 2005-10-28 Edward Hervey <edward@fluendo.com>
22307 * docs/gst/gstreamer-docs.sgml:
22308 * docs/gst/gstreamer-sections.txt:
22309 the GstURIType documentation page is private, it only defines GstURIType
22310 which should be defined in the GstURIHandler page
22312 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22314 * gst/gstbin.c: (gst_bin_class_init):
22317 Documentation updates.
22319 2005-10-28 Wim Taymans <wim@fluendo.com>
22321 * docs/gst/gstreamer-sections.txt:
22324 Documented the clocks.
22326 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22328 * docs/gst/gstreamer-sections.txt:
22329 move some macros to private sections
22330 * gst/gstminiobject.c:
22331 * gst/gstminiobject.h:
22332 add descriptions provided by ds and some more
22334 mark macro as to be removed
22336 2005-10-28 Wim Taymans <wim@fluendo.com>
22338 * docs/design/part-TODO.txt:
22339 Add an item to TODO.
22341 * gst/gstiterator.c: (gst_iterator_fold),
22342 (gst_iterator_find_custom):
22343 * gst/gstiterator.h:
22346 2005-10-28 Wim Taymans <wim@fluendo.com>
22348 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22349 (gst_base_transform_init):
22352 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22353 An EOS event marks the queue as completely filled.
22355 2005-10-27 Wim Taymans <wim@fluendo.com>
22357 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22358 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22359 Some more debugging.
22361 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22362 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22363 (gst_base_transform_event), (gst_base_transform_getrange),
22364 (gst_base_transform_chain):
22365 * gst/base/gstbasetransform.h:
22367 Protect transform and concurrent buffer alloc with a new lock.
22368 Try not to break ABI/API.
22370 2005-10-27 Wim Taymans <wim@fluendo.com>
22372 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22373 (gst_base_src_init), (gst_base_src_query),
22374 (gst_base_src_default_newsegment),
22375 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22376 (gst_base_src_send_event), (gst_base_src_event_handler),
22377 (gst_base_src_pad_get_range), (gst_base_src_loop),
22378 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22379 (gst_base_src_start), (gst_base_src_deactivate),
22380 (gst_base_src_activate_push), (gst_base_src_change_state):
22381 Move some stuff around and cleanup things.
22383 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22385 * gst/base/gstbasesrc.c: (gst_base_src_query):
22386 Add missing break statements.
22388 2005-10-27 Wim Taymans <wim@fluendo.com>
22390 * check/gst/gstbin.c: (GST_START_TEST):
22391 An extra refcount is taken in basesrc.
22393 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22394 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22395 (gst_base_src_loop):
22396 Small cleanups, check for flushing after being unlocked from the
22397 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22398 Don't send out EOS when going to READY.
22400 2005-10-27 Wim Taymans <wim@fluendo.com>
22402 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22403 (gst_base_sink_get_position):
22406 * gst/gstbin.c: (message_check), (bin_replace_message),
22407 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22408 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22409 (bin_query_duration_init), (bin_query_duration_fold),
22410 (bin_query_duration_done), (bin_query_generic_fold),
22412 * tools/gst-launch.c: (main):
22415 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22417 * examples/controller/audio-example.c: (main):
22418 * examples/queue/queue.c: (event_loop):
22419 * gst/base/gstbasetransform.h:
22420 * gst/gstelement.c: (gst_element_send_event):
22422 * gst/gstpad.c: (gst_pad_send_event):
22425 changing log priority in error situations
22427 2005-10-25 Wim Taymans <wim@fluendo.com>
22429 * gst/gstbin.c: (message_check), (bin_replace_message),
22430 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22431 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22432 (bin_query_duration_init), (bin_query_duration_fold),
22433 (bin_query_duration_done), (bin_query_generic_fold),
22435 Some doc and debug updates.
22436 Cache previously requested query DURATION for speed. invalidate
22437 cached duration if element posts a DURATION message.
22439 2005-10-25 Wim Taymans <wim@fluendo.com>
22441 * docs/design/part-TODO.txt:
22444 * gst/gstbin.c: (message_check), (bin_replace_message),
22445 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22446 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22447 (bin_query_duration_init), (bin_query_duration_fold),
22448 (bin_query_duration_done), (bin_query_generic_fold),
22450 Handle SEGMENT_START/DONE messages correctly.
22451 More evolved query algorithm that handles duration queries
22454 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22455 (gst_element_get_state_func), (gst_element_abort_state),
22456 (gst_element_commit_state), (gst_element_lost_state):
22457 Some more debugging.
22459 * gst/gstmessage.h:
22462 2005-10-25 Wim Taymans <wim@fluendo.com>
22464 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22465 Don't use invalid stream_time.
22467 * gst/gstevent.c: (gst_event_new_newsegment):
22468 stream_time in newsegment cannot be undefined.
22470 2005-10-24 Wim Taymans <wim@fluendo.com>
22475 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22477 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22479 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22481 * docs/libs/tmpl/gstdparam.sgml:
22482 * docs/libs/tmpl/gstdplinint.sgml:
22483 * docs/libs/tmpl/gstdpman.sgml:
22484 * docs/libs/tmpl/gstdpsmooth.sgml:
22485 * docs/libs/tmpl/gstunitconvert.sgml:
22488 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22493 === release 0.9.4 ===
22495 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22498 releasing 0.9.4, "Tyrannosaurus Rex"
22500 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22502 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22503 (gst_file_sink_get_current_offset):
22504 Use fseeko() and ftello() if available. When falling back on
22505 lseek() to get the current offset, fflush() first to make sure
22506 everything is up-to-date and we get the right offset.
22508 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22510 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22511 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22512 * gst/gsterror.c: (_gst_stream_errors_init):
22514 * gst/gstqueue.c: (gst_queue_loop):
22516 remove prematurely added error category and clean up the instances
22518 2005-10-21 Wim Taymans <wim@fluendo.com>
22520 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22521 (gst_base_sink_get_position), (gst_base_sink_query),
22522 (gst_base_sink_change_state):
22523 Simply set the right flag when going to playing, that's all
22524 we need to do instead of calling a function inside the object
22525 lock (that could take the lock as well and deadlock)
22527 2005-10-21 Wim Taymans <wim@fluendo.com>
22529 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22530 (gst_base_src_loop):
22531 Don't warn, the peer element knows what to do best when
22532 the seek failed, it might try something else.
22534 2005-10-21 Wim Taymans <wim@fluendo.com>
22536 * gst/base/gstbasesrc.c: (gst_base_src_init),
22537 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22540 2005-10-21 Wim Taymans <wim@fluendo.com>
22542 * docs/design/part-segments.txt:
22545 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22546 Correctly set caps, even on the subbufer.
22548 2005-10-21 Wim Taymans <wim@fluendo.com>
22550 * docs/gst/gstreamer-docs.sgml:
22551 * docs/gst/gstreamer-sections.txt:
22552 * gst/gstelement.h:
22555 * gst/gstmessage.h:
22558 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22562 And 2% more doc coverage.
22564 2005-10-21 Andy Wingo <wingo@pobox.com>
22566 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22567 position reporting.
22569 2005-10-20 Wim Taymans <wim@fluendo.com>
22571 * gst/gsterror.c: (gst_error_get_message):
22574 * gst/gststructure.c:
22579 2005-10-20 Wim Taymans <wim@fluendo.com>
22584 Another 1% more coverage.
22586 2005-10-20 Wim Taymans <wim@fluendo.com>
22588 * docs/gst/gstreamer-sections.txt:
22589 * gst/gstelement.c: (gst_element_get_state_func),
22590 (gst_element_abort_state), (gst_element_commit_state),
22591 (gst_element_lost_state):
22593 * gst/gstquery.c: (gst_query_set_position),
22594 (gst_query_parse_position), (gst_query_set_duration),
22595 (gst_query_parse_duration), (gst_query_new_convert):
22597 Yay! 1% more docs coverage.
22599 2005-10-20 Wim Taymans <wim@fluendo.com>
22602 * gst/gstquery.c: (gst_query_set_position),
22603 (gst_query_parse_position), (gst_query_set_duration),
22604 (gst_query_parse_duration), (gst_query_new_convert):
22606 * gst/gstutils.c: (gst_element_query_convert):
22608 Docs and consistency fixes.
22610 2005-10-20 Wim Taymans <wim@fluendo.com>
22616 2005-10-20 Wim Taymans <wim@fluendo.com>
22618 * gst/gstbin.c: (message_check), (bin_replace_message),
22619 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22620 (update_degree), (gst_bin_sort_iterator_next),
22621 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22622 Reworked the message handling a bit, cache the messages instead of
22623 only the senders. alows us to do more in the future.
22625 2005-10-20 Wim Taymans <wim@fluendo.com>
22627 * docs/design/part-TODO.txt:
22630 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22631 (gst_base_sink_query):
22632 Don't use clock time to report position when in EOS.
22634 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22636 * tools/gst-inspect.c: (print_interfaces),
22637 (print_element_properties_info), (print_element_info):
22638 Fix interface output with gst-inspect -a; don't print
22639 newlines after double/float properties.
22641 2005-10-20 Wim Taymans <wim@fluendo.com>
22643 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22644 (gst_base_sink_query):
22645 Speed up current position calculation.
22647 * gst/base/gstbasesrc.c: (gst_base_src_query),
22648 (gst_base_src_default_newsegment):
22649 Correctly set stream position in newsegment.
22651 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22652 (update_degree), (gst_bin_sort_iterator_next),
22653 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22654 * gst/gstmessage.c: (gst_message_new_custom):
22655 Clean up debugging info
22657 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22658 (gst_queue_loop), (gst_queue_handle_src_query):
22661 2005-10-19 Wim Taymans <wim@fluendo.com>
22663 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22664 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22665 Fix query handling again.
22667 2005-10-19 Wim Taymans <wim@fluendo.com>
22669 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22670 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22671 * gst/base/gstbasesrc.c: (gst_base_src_query):
22672 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22673 * gst/elements/gsttypefindelement.c:
22674 (gst_type_find_handle_src_query), (find_element_get_length),
22675 (gst_type_find_element_activate):
22678 * gst/gstquery.c: (gst_query_new_position),
22679 (gst_query_set_position), (gst_query_parse_position),
22680 (gst_query_new_duration), (gst_query_set_duration),
22681 (gst_query_parse_duration), (gst_query_set_segment),
22682 (gst_query_parse_segment):
22684 Bundling query position/duration is not a good idea since duration
22685 does not change much and we don't want to recalculate it for every
22686 position query, so they are separated again..
22687 Base value in segment query is not needed.
22689 * gst/gstqueue.c: (gst_queue_handle_src_query):
22690 * gst/gstutils.c: (gst_element_query_position),
22691 (gst_element_query_duration), (gst_pad_query_position),
22692 (gst_pad_query_duration):
22694 Updates for query API change.
22695 Added some docs here and there.
22697 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22699 * check/gst/gstbin.c: (GST_START_TEST):
22700 * check/gst/gstghostpad.c: (GST_START_TEST):
22701 * check/pipelines/cleanup.c: (GST_START_TEST):
22702 wait on thread to die so we can check refcount correctly
22704 2005-10-18 Wim Taymans <wim@fluendo.com>
22706 * check/pipelines/stress.c: (GST_START_TEST):
22707 Make check a little more time consuming.
22709 2005-10-18 Wim Taymans <wim@fluendo.com>
22711 * check/Makefile.am:
22712 * check/pipelines/stress.c: (GST_START_TEST),
22713 (simple_launch_lines_suite), (main):
22714 Small state change torture test.
22716 * docs/design/part-states.txt:
22717 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22718 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22719 (gst_base_sink_change_state):
22720 Never take state lock from streaming thread, clean up ugly
22721 hacks. Unfortunatly core does not yet support nice ways to
22722 async commit state.
22724 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22726 Start state recalc if a STATE_DIRTY message is posted, but only
22727 on the toplevel bin.
22729 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22730 (gst_element_get_state_func), (gst_element_abort_state),
22731 (gst_element_commit_state), (gst_element_lost_state),
22732 (gst_element_set_state_func), (gst_element_change_state):
22733 * gst/gstelement.h:
22734 State variables are now protected with the LOCK, the state
22735 lock is only used to serialize _set_state().
22737 2005-10-18 Wim Taymans <wim@fluendo.com>
22739 * check/gst/gstbin.c: (GST_START_TEST):
22740 * check/gst/gstmessage.c: (GST_START_TEST):
22741 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22742 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22744 * gst/gstelement.c: (gst_element_abort_state),
22745 (gst_element_commit_state), (gst_element_lost_state):
22746 * gst/gstmessage.c: (gst_message_new_state_changed),
22747 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22748 (gst_message_new_segment_done), (gst_message_new_duration),
22749 (gst_message_parse_state_changed),
22750 (gst_message_parse_segment_start),
22751 (gst_message_parse_segment_done), (gst_message_parse_duration):
22752 * gst/gstmessage.h:
22753 * tools/gst-launch.c: (event_loop):
22754 Seriously, this is better than a previous commit as we only need
22755 to notify the fact that an element changed state in a streaming
22756 thread, marking the state of the parents dirty, hence the
22757 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22760 2005-10-18 Wim Taymans <wim@fluendo.com>
22762 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22763 (gst_bin_recalc_func):
22764 * gst/gstelement.c: (gst_element_set_clock),
22765 (gst_element_abort_state), (gst_element_lost_state):
22766 Cleanups, prepare for state change fixes.
22768 2005-10-18 Wim Taymans <wim@fluendo.com>
22771 * gst/gstelement.c: (gst_element_class_init),
22772 (gst_element_set_state), (gst_element_set_state_func):
22773 * gst/gstelement.h:
22774 Pending ABI changes.
22775 GThreadPool in GstBinClass to monitor async state changes.
22776 state_cookie in GstElement to detect concurrent gst/set state.
22777 set_state is now virtual too in case a very complicated element
22778 has to be constructed.
22780 2005-10-18 Wim Taymans <wim@fluendo.com>
22782 * check/gst/gstbin.c: (GST_START_TEST):
22783 * check/gst/gstmessage.c: (GST_START_TEST):
22784 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22785 * gst/gstbin.c: (bin_bus_handler):
22786 * gst/gstelement.c: (gst_element_commit_state),
22787 (gst_element_lost_state):
22788 * gst/gstmessage.c: (gst_message_new_state_changed),
22789 (gst_message_new_segment_start), (gst_message_new_segment_done),
22790 (gst_message_new_duration), (gst_message_parse_state_changed),
22791 (gst_message_parse_segment_start),
22792 (gst_message_parse_segment_done), (gst_message_parse_duration):
22793 * gst/gstmessage.h:
22794 * tools/gst-launch.c: (event_loop):
22795 Make messages future proof.
22796 state-change gets a flag if it was a message comming from the
22798 segment-start/stop can also be specified in other formats.
22799 A message to notify an app that a pipeline changed playback
22801 Also fix a GstMessage leak in -launch
22803 2005-10-18 Andy Wingo <wingo@pobox.com>
22805 * gst/gstelement.c (gst_element_dispose): More helpful message.
22807 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22809 reviewed by: <delete if not using a buddy>
22811 * common/gtk-doc.mak:
22813 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22815 * gst/gstregistry.c: (gst_registry_scan_path_level):
22816 unref a plug-in we get that was already initialized
22818 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22820 * docs/gst/gstreamer-sections.txt:
22821 * docs/libs/gstreamer-libs-sections.txt:
22822 * gst/gstelement.h:
22823 add new api entries
22824 hide internal macro
22826 2005-10-17 Andy Wingo <wingo@pobox.com>
22828 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22831 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22833 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22835 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22836 (gst_element_get_state_func): Better debug message.
22837 (gst_element_commit_state): s/INFO/DEBUG/.
22838 (gst_element_lost_state, gst_element_change_state):
22840 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22841 (gst_message_new_custom): s/INFO/LOG/.
22843 2005-10-17 Michael Smith <msmith@fluendo.com>
22845 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22846 Check if end time is valid using end time, not start time.
22848 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22850 * check/gst-libs/controller.c: (GST_START_TEST),
22851 (gst_controller_suite):
22852 * libs/gst/controller/gstcontroller.c:
22853 (gst_controlled_property_set_interpolation_mode):
22854 * libs/gst/controller/gstcontroller.h:
22855 * libs/gst/controller/gstinterpolation.c:
22856 * testsuite/controller/.cvsignore:
22857 * testsuite/controller/Makefile.am:
22858 * testsuite/controller/interpolator.c:
22859 merge controller testsuites
22861 remove mem-chunk from docs
22863 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22865 * gst/gstmemchunk.c:
22866 * gst/gstmemchunk.h:
22867 * gst/gsttrashstack.c:
22868 * gst/gsttrashstack.h:
22869 out. get out. you're fired. to the Attic !
22871 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22873 * gst/gstcaps.c: (gst_caps_intersect):
22874 fix signedness issues in a (hopefully) correct way
22875 * gst/gstelement.c: (gst_element_pads_activate):
22877 * gst/gstobject.c: (gst_object_set_parent):
22880 2005-10-17 Julien MOUTTE <julien@moutte.net>
22882 * gst/gstvalue.h: Fix prototypes.
22884 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22886 * docs/gst/gstreamer-sections.txt:
22887 * gst/gst.c: (gst_version_string):
22889 * gst/gstversion.h.in:
22890 * win32/common/libgstreamer.def:
22891 add gst_version_string ()
22893 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22897 * gst/gst.c: (init_post):
22898 * win32/common/config.h.in:
22900 * gst/gstcaps.c: (gst_caps_intersect):
22901 use gint64, the range could be bigger than a guint
22903 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22906 document potential problem in 2038
22908 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22910 * gst/gstcaps.c: (gst_caps_intersect):
22911 Fix guint j diving under 0
22913 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22916 * win32/common/config.h:
22917 * win32/common/config.h.in:
22918 check for process.h, declares getpid() on Windows
22920 include process.h if we have it
22921 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22922 * gst/gstmemchunk.h:
22923 fix signedness issues
22924 * win32/common/libgstreamer.def:
22927 2005-10-16 Julien MOUTTE <julien@moutte.net>
22929 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22930 fix. Because of unsigned ints, caps intersection was going nuts and
22931 trying to access structures with G_MAXUINT index. That fixes
22932 videotestsrc ! ffmpegcolorspace ! fakesink
22933 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22936 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22939 use the gettext macro
22940 * gst/elements/gstelements.c:
22942 * gst/indexers/gstindexers.c:
22943 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22944 * win32/common/config.h:
22946 * win32/common/config.h.in:
22947 add the template to generate config.h
22948 * win32/common/gstenumtypes.c:
22949 * win32/common/gstversion.h:
22952 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22954 * gst/gst.c: (gst_version):
22955 * gst/gstversion.h.in:
22958 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22961 Oops, add missing closing bracket.
22963 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22966 use common m4's for argument checking
22968 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22970 * docs/gst/gstreamer-sections.txt:
22972 Add GST_EVENT_TYPE_NAME() macro.
22974 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22977 * gst/gstpluginfeature.c:
22979 privatize more symbols
22981 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22984 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22985 everything that uses GStreamer API should have the includes
22987 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22989 * docs/gst/gstreamer-sections.txt:
22990 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22992 give each value a _get_type, removes the DATA exports
22994 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22998 remove _gst_registry_auto_load, not used anymore
22999 * gst/gstbin.c: (gst_bin_get_type):
23001 * gst/gstelement.c: (gst_element_get_type):
23002 * gst/gstelement.h:
23003 * gst/gstobject.c: (gst_object_get_type):
23005 * gst/gstpad.c: (gst_pad_get_type):
23007 make _get_type functions similar, fixes data export from library
23009 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
23012 correctly make conditionals
23013 * gst/elements/Makefile.am:
23014 * gst/elements/gstelements.c:
23015 fix typo causing fdsrc not to build
23017 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
23019 * testsuite/Makefile.am:
23020 * testsuite/bytestream/.cvsignore:
23021 * testsuite/bytestream/Makefile.am:
23022 * testsuite/bytestream/filepadsink.c:
23023 * testsuite/bytestream/gstbstest.c:
23024 * testsuite/bytestream/test1.c:
23025 * testsuite/bytestream/testfile1:
23026 * testsuite/caps/normalisation.c:
23027 * testsuite/caps/random.c: (main):
23028 * testsuite/cleanup/.cvsignore:
23029 * testsuite/cleanup/Makefile.am:
23030 * testsuite/cleanup/cleanup1.c:
23031 * testsuite/cleanup/cleanup2.c:
23032 * testsuite/cleanup/cleanup3.c:
23033 * testsuite/cleanup/cleanup4.c:
23034 * testsuite/cleanup/cleanup5.c:
23035 * testsuite/controller/interpolator.c:
23036 * testsuite/debug/printf_extension.c: (main):
23037 * testsuite/elements/tee.c:
23038 * testsuite/negotiation/.cvsignore:
23039 * testsuite/negotiation/Makefile.am:
23040 * testsuite/negotiation/pad_link.c:
23041 * testsuite/pad/Makefile.am:
23042 * testsuite/pad/chainnopull.c:
23043 * testsuite/pad/getnopush.c:
23044 * testsuite/pad/link.c:
23045 * testsuite/refcounting/sched.c: (create_pipeline):
23046 * testsuite/registry/Makefile.am:
23047 * testsuite/registry/gst-print-formats.c:
23048 * testsuite/schedulers/.cvsignore:
23049 * testsuite/schedulers/142183-2.c:
23050 * testsuite/schedulers/142183.c:
23051 * testsuite/schedulers/143777-2.c:
23052 * testsuite/schedulers/143777.c:
23053 * testsuite/schedulers/147713.c:
23054 * testsuite/schedulers/147819.c:
23055 * testsuite/schedulers/147894-2.c:
23056 * testsuite/schedulers/147894.c:
23057 * testsuite/schedulers/Makefile.am:
23058 * testsuite/schedulers/group_link.c:
23059 * testsuite/schedulers/queue_link.c:
23060 * testsuite/schedulers/relink.c:
23061 * testsuite/schedulers/unlink.c:
23062 * testsuite/schedulers/unref.c:
23063 * testsuite/schedulers/useless_iteration.c:
23064 * testsuite/states/bin.c:
23065 clean out/remove some stuff from the testsuite directories
23067 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
23070 check for some headers
23071 * gst/elements/Makefile.am:
23072 * gst/elements/gstelements.c:
23073 don't compile fdsrc without sys/socket.h
23074 * gst/indexers/Makefile.am:
23075 * gst/indexers/gstindexers.c: (plugin_init):
23076 don't compile fileindex without mmap
23078 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
23085 * check/Makefile.am:
23086 * docs/gst/Makefile.am:
23087 * examples/helloworld/Makefile.am:
23089 * gst/base/Makefile.am:
23090 * gst/check/Makefile.am:
23091 * gst/elements/Makefile.am:
23092 * gst/indexers/Makefile.am:
23093 * gst/parse/Makefile.am:
23094 * libs/gst/controller/Makefile.am:
23095 * libs/gst/dataprotocol/Makefile.am:
23096 * examples/helloworld/helloworld.c: (event_loop):
23097 compile fixes, though it's not being compiled currently
23099 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
23101 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
23102 Add some simple tests for the new taglist date API.
23104 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
23106 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23107 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23108 Beautify 'last-message' output: print 'none' for buffer timestamps
23109 and durations if none is set; improve alignment with next messages.
23111 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
23113 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23114 * gst/gstpluginfeature.h:
23115 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23116 * gst/gstregistry.h:
23117 * docs/gst/gstreamer-sections.txt:
23118 Add new API to check plugin feature version requirements.
23120 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23121 Some basic tests for the above.
23123 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23125 * gst/gststructure.c: (gst_structure_to_string):
23126 guard against NULL printf - happens when for example
23127 a message structure with GstClock gets serialized
23129 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
23131 * gst/base/gstcollectpads.c: (gst_collectpads_event):
23132 Fix presumable copy'n'pasto.
23134 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23136 * gst/elements/gstfakesrc.h:
23137 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23138 * gst/elements/gsttypefindelement.c:
23139 fix some signedness
23140 * gst/elements/gstfilesink.c: (gst_file_sink_render):
23141 I wonder if this could actually write +2GB files before
23143 2005-10-13 Andy Wingo <wingo@pobox.com>
23145 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23146 Fix Timmeke Waymans bug.
23147 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23148 string of the proper length to gst_caps_from_string. There's a
23149 potential for, before this fix, that this could cause someone
23150 connecting over the network to cause a segfault if the payload is
23151 not NUL-terminated.
23153 2005-10-13 Stefan Kost <ensonic@users.sf.net>
23155 * docs/design/draft-push-pull.txt:
23156 * docs/design/part-overview.txt:
23157 * docs/random/TODO-pre-0.9:
23158 * docs/random/old/ChangeLog.gstreamer:
23159 * gst/base/gstpushsrc.c:
23163 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23165 * gst/glib-compat.c: (gst_flags_get_first_value):
23166 * gst/glib-compat.h:
23167 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23168 (gst_value_compare_double), (gst_value_serialize_flags):
23169 GLib 2.6 g_flags_get_first_value has a bug that triggers an
23172 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23174 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23175 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23177 * tools/gst-launch.c: (event_loop):
23178 print out clock nicely
23180 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
23182 * docs/gst/gstreamer-sections.txt:
23183 * gst/gsttaglist.h:
23184 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23185 (gst_tag_list_get_date_index):
23186 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23187 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23189 2005-10-13 Julien MOUTTE <julien@moutte.net>
23191 * gst/base/gstcollectpads.c: (gst_collectpads_event),
23192 (gst_collectpads_chain):
23193 * gst/base/gstcollectpads.h: Handle newsegment and store informations
23196 2005-10-13 Stefan Kost <ensonic@users.sf.net>
23198 * docs/gst/gstreamer-sections.txt:
23201 * tools/gst-inspect.c: (main):
23202 * tools/gst-launch.c: (main):
23203 * tools/gst-run.c: (main):
23204 * tools/gst-xmlinspect.c: (main):
23205 fix GOption context leaks
23208 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23212 * win32/common/config.h:
23214 * win32/vs6/grammar.dsp:
23215 * win32/vs6/libgstelements.dsp:
23216 * win32/vs6/libgstreamer.dsp:
23219 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23221 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23222 * gst/base/gstbasesrc.c: (gst_base_src_query):
23223 fix more guint64<->gdouble conversions
23225 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23228 add win32-update target
23229 * win32/common/gstconfig.h:
23230 * win32/common/gstenumtypes.c:
23231 * win32/common/gstenumtypes.h:
23232 * win32/common/gstversion.h:
23233 add files that visual studio can't generate
23235 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23238 add a win32-update target
23241 2005-10-12 Wim Taymans <wim@fluendo.com>
23243 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23244 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23245 * gst/gstelement.c: (gst_element_commit_state),
23246 (gst_element_set_state):
23247 Protect flags with proper lock.
23248 unref provided cached clock in dispose.
23250 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23253 * gst/gstminiobject.h:
23255 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23256 removed unused flags from miniobject
23259 2005-10-12 Wim Taymans <wim@fluendo.com>
23261 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23262 (gst_file_sink_event), (gst_file_sink_render):
23263 Flush before seeking.
23265 2005-10-12 Andy Wingo <wingo@pobox.com>
23267 * gst/gst.c (gst_init_check): Ignore unknown options, as has
23268 always been the case.
23270 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23272 * check/gst/gstbin.c: (GST_START_TEST):
23273 * docs/gst/gstreamer-sections.txt:
23274 * gst/base/gstbasesink.c: (gst_base_sink_init):
23275 * gst/base/gstbasesrc.c: (gst_base_src_init),
23276 (gst_base_src_get_range), (gst_base_src_check_get_range),
23277 (gst_base_src_start), (gst_base_src_stop):
23278 * gst/base/gstbasesrc.h:
23279 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23280 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23281 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23285 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23287 * gst/gstelement.c: (gst_element_is_locked_state),
23288 (gst_element_set_locked_state), (gst_element_commit_state),
23289 (gst_element_set_state):
23290 * gst/gstelement.h:
23291 * gst/gstindex.c: (gst_index_init):
23293 * gst/gstminiobject.h:
23294 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23295 (gst_object_set_parent):
23297 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23298 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23300 * gst/gstpadtemplate.h:
23301 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23302 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23303 * gst/gstpipeline.h:
23304 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23305 (gst_file_index_commit):
23306 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23307 * testsuite/pad/link.c: (gst_test_src_init),
23308 (gst_test_filter_init), (gst_test_sink_init):
23309 * testsuite/states/locked.c: (main):
23310 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23311 moved bitshift from macro to enum definition
23313 2005-10-12 Wim Taymans <wim@fluendo.com>
23315 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23316 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23317 (gst_file_sink_render):
23318 Some more debugging info.
23320 2005-10-12 Wim Taymans <wim@fluendo.com>
23322 * docs/design/part-states.txt:
23323 * tools/gst-launch.c: (main):
23325 Revert non-intentional change.
23327 2005-10-12 Wim Taymans <wim@fluendo.com>
23329 * check/gst/gstbin.c: (GST_START_TEST):
23330 * check/gst/gstelement.c: (GST_START_TEST):
23331 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23332 * check/gst/gstghostpad.c: (GST_START_TEST):
23333 * check/gst/gstpipeline.c: (GST_START_TEST):
23334 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23335 * check/states/sinks.c: (GST_START_TEST):
23336 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23337 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23338 (gst_bin_remove_func), (gst_bin_get_state_func),
23339 (gst_bin_recalc_state), (gst_bin_change_state_func),
23341 * gst/gstelement.c: (gst_element_get_state_func),
23342 (gst_element_get_state), (gst_element_abort_state),
23343 (gst_element_commit_state), (gst_element_set_state),
23344 (gst_element_change_state), (gst_element_change_state_func):
23345 * gst/gstelement.h:
23346 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23347 (gst_pipeline_provide_clock_func):
23348 * gst/gstutils.c: (gst_element_link_pads_filtered):
23349 * tools/gst-launch.c: (main):
23350 * tools/gst-typefind.c: (main):
23351 Use GstClockTime in _get_state() instead of GTimeVal.
23352 Remove old code in gstutils.c
23354 2005-10-12 Andy Wingo <wingo@pobox.com>
23356 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23359 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23360 there is no task. Shouldn't affect any code, as nothing in our
23361 plugins checks this return value.
23362 (gst_pad_stop_task): Also take the stream lock if the pad has no
23363 task. Docs updated.
23365 2005-10-12 Wim Taymans <wim@fluendo.com>
23367 * gst/gstpad.c: (pre_activate), (post_activate),
23368 (gst_pad_activate_pull), (gst_pad_activate_push):
23369 Cleanup activation code. Reset old state if
23372 2005-10-12 Wim Taymans <wim@fluendo.com>
23374 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23375 (gst_base_sink_change_state):
23376 No need to prerol after receiving EOS.
23378 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23379 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23380 * gst/elements/gstidentity.c: (gst_identity_event):
23381 Print events more verbosely.
23383 2005-10-12 Wim Taymans <wim@fluendo.com>
23385 * check/Makefile.am:
23386 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23387 * check/states/sinks2.c:
23388 Moved sinks2 testcode in sinks check.
23390 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23391 (gst_bin_remove_func), (gst_bin_recalc_state),
23392 (gst_bin_change_state_func), (bin_bus_handler):
23393 Fix potential race condition when _get_state() iterated over an
23394 ASYNC element right before it posted a state completion.
23397 Do proper cast here.
23399 * gst/gstevent.c: (gst_event_new_newsegment),
23400 (gst_event_parse_newsegment):
23401 A playback rate of 0.0 is not allowed.
23403 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23405 * win32/common/config.h:
23406 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23407 (_trewinddir), (_ttelldir), (_tseekdir):
23408 * win32/common/dirent.h:
23409 * win32/common/gtchar.h:
23410 * win32/common/libgstbase.def:
23411 * win32/common/libgstreamer.def:
23412 * win32/vs6/grammar.dsp:
23413 * win32/vs6/gst_inspect.dsp:
23414 * win32/vs6/gst_launch.dsp:
23415 * win32/vs6/gstreamer.dsw:
23416 * win32/vs6/libgstbase.dsp:
23417 * win32/vs6/libgstelements.dsp:
23418 * win32/vs6/libgstreamer.dsp:
23419 Visual Studio 6 project files, and a new common directory.
23422 2005-10-11 Wim Taymans <wim@fluendo.com>
23424 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23425 (gst_base_sink_do_sync), (gst_base_sink_query),
23426 (gst_base_sink_change_state):
23427 * gst/base/gstbasesink.h:
23428 Correctly parse newsegment info.
23430 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23432 * gst/gst.c: (init_post):
23433 split plugin paths correctly
23435 2005-10-11 Wim Taymans <wim@fluendo.com>
23437 * check/gst/gstevent.c: (GST_START_TEST):
23438 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23439 (gst_base_sink_change_state):
23440 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23441 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23442 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23443 * gst/gstevent.c: (gst_event_new_newsegment),
23444 (gst_event_parse_newsegment):
23446 Added extra flag to newsegment for future API freeze.
23447 Updated check and base elements.
23449 2005-10-11 Julien MOUTTE <julien@moutte.net>
23451 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23452 (gst_collectpads_add_pad), (gst_collectpads_pop),
23453 (gst_collectpads_event), (gst_collectpads_chain):
23454 * gst/base/gstcollectpads.h: Handle EOS correctly.
23456 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23458 * tools/gst-launch.c: (main):
23459 more null protecting
23461 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23463 * gst/gst-i18n-lib.h:
23464 check for ENABLE_NLS, not GETTEXT_PACKAGE
23465 * gst/gstregistry.c: (gst_registry_add_plugin),
23466 (gst_registry_scan_path_level),
23467 (_gst_registry_remove_cache_plugins):
23468 protect possibly NULL strings
23469 * gst/parse/types.h:
23470 config.h already included before
23471 * tools/gst-inspect.c: (main):
23472 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23473 check for ENABLE_NLS, not GETTEXT_PACKAGE
23474 * tools/gst-launch.c: (main):
23475 check for ENABLE_NLS, not GETTEXT_PACKAGE
23477 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23480 if we don't have glib, fail before testing 2.8
23481 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23482 fix a leak, should fix plugins-base testsuite
23484 2005-10-11 Andy Wingo <wingo@pobox.com>
23486 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23487 take the mode we're going to as an arg. Go head and set the mode
23488 and flushing flags now, so that if the activate function starts a
23489 thread all the flags will be in the right state.
23490 (post_activate): Renamed also. Just handle making sure streaming
23491 finishes for the deactivation case, and setting the deactivated
23493 (gst_pad_set_active): Complain loudly if deactivation fails.
23494 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23495 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23496 remove the terrible hack.
23498 2005-10-11 Wim Taymans <wim@fluendo.com>
23500 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23501 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23502 (gst_bin_recalc_state), (gst_bin_change_state_func),
23503 (gst_bin_dispose), (bin_bus_handler):
23505 Prepare to make current EOS message queue more generic.
23508 * gst/gstevent.c: (gst_event_new_newsegment),
23509 (gst_event_parse_newsegment):
23511 Rename base to stream_time.
23513 * gst/gstmessage.h:
23516 2005-10-11 Wim Taymans <wim@fluendo.com>
23518 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23519 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23520 (gst_bin_change_state_func), (bin_bus_handler):
23522 Work on proper clock selection.
23524 2005-10-11 Edward Hervey <edward@fluendo.com>
23526 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23527 * libs/gst/controller/gstcontroller.h:
23528 Added GList* version of _remove_properties() in order to be able to wrap
23531 2005-10-11 Wim Taymans <wim@fluendo.com>
23533 * docs/design/part-states.txt:
23536 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23537 (gst_bin_change_state_func), (bin_bus_handler):
23538 Doc updates. Don't distribute the same clock over and over again.
23544 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23545 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23546 (gst_pad_send_event):
23548 Make probe emission threadsafe again.
23549 Register quarks and move _get_name() from utils.
23552 * gst/gstpipeline.c: (gst_pipeline_class_init),
23553 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23554 Only redistribute the clock of it changed.
23556 * gst/gstsystemclock.h:
23561 Moved the _flow_get_name() to GstPad.
23563 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23565 * check/gst-libs/gdp.c: (GST_START_TEST):
23566 * check/gst/gstcaps.c: (GST_START_TEST):
23567 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23568 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23569 (gst_dp_packet_from_caps):
23570 fix more valgrind warnings before turning up the heat
23572 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23574 * gst/parse/grammar.y:
23575 some cleanup before the hacking
23577 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23579 * gst/base/gstbasesrc.c: (gst_base_src_query):
23581 * gst/gstutils.c: (gst_guint64_to_gdouble),
23582 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23584 externalize, basesrc uses it
23585 obviously the implementation needs testing
23587 2005-10-10 Wim Taymans <wim@fluendo.com>
23589 * tests/sched/Makefile.am:
23590 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23591 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23593 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23595 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23596 apparently converting from guint64 to double is not implemented
23599 2005-10-10 Wim Taymans <wim@fluendo.com>
23601 * check/Makefile.am:
23602 * check/generic/states.c: (GST_START_TEST):
23603 * check/gst/gstbin.c: (GST_START_TEST):
23604 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23605 * check/states/sinks.c: (GST_START_TEST):
23606 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23608 Check fixes, use API as stated in design docs, remove hacks.
23610 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23611 (gst_base_sink_change_state):
23612 Catch stopping our task while we're shutting down.
23614 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23615 (gst_bin_remove_func), (gst_bin_get_state_func),
23616 (gst_bin_recalc_state), (gst_bin_change_state_func),
23619 * gst/gstelement.c: (gst_element_init),
23620 (gst_element_get_state_func), (gst_element_abort_state),
23621 (gst_element_commit_state), (gst_element_lost_state),
23622 (gst_element_set_state), (gst_element_change_state),
23623 (gst_element_change_state_func):
23624 * gst/gstelement.h:
23625 New state change algorithm (see #318116)
23627 * gst/gstpipeline.c: (gst_pipeline_class_init),
23628 (gst_pipeline_init), (gst_pipeline_set_property),
23629 (gst_pipeline_get_property), (do_pipeline_seek),
23630 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23631 * gst/gstpipeline.h:
23632 Remove crude state change hacks.
23635 Remove crude hacks.
23637 * tools/gst-launch.c: (main):
23638 Fixes for state change. Needs some more work to fully use the
23641 2005-10-10 Andy Wingo <wingo@pobox.com>
23643 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23645 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23646 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23649 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23651 * gst/gstiterator.c: (gst_iterator_new):
23652 Fix my previous commit: GTypes passed to gst_iterator_new()
23653 can be fundamental types.
23655 2005-10-10 Wim Taymans <wim@fluendo.com>
23657 * gst/gstelement.c: (gst_element_iterate_pad_list),
23658 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23659 (gst_element_iterate_sink_pads):
23660 Use src/sink pads lists for the respective iterators instead
23663 2005-10-10 Andy Wingo <wingo@pobox.com>
23665 Merged in popt removal + GOption addition patch from Ronald, bug
23668 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23669 GstElement macros around, remove popt-related symbols, add goption
23672 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23674 * docs/gst/Makefile.am:
23675 * docs/libs/Makefile.am: No POPT_CFLAGS.
23677 * examples/manual/Makefile.am:
23678 * docs/manual/basics-init.xml: Doc updates with an example.
23680 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23681 (gst_init), (parse_one_option), (parse_goption_arg):
23682 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23683 bit of hand merging and debugging to get the GOption stuff working
23686 * tests/Makefile.am:
23687 * tools/Makefile.am:
23688 * tools/gst-inspect.c: (main):
23689 * tools/gst-launch.c: (main):
23690 * tools/gst-run.c: (main):
23691 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23693 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23695 * gst/gstiterator.c: (gst_iterator_new):
23696 Add assertions to make sure passed GType is likely to really
23697 be a GType (as the compiler won't catch it if the size and
23698 GType arguments get mixed up, see #318447).
23700 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23702 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23704 * gst/gstbin.c: (gst_bin_iterate_sorted):
23705 Pass GType and size arguments to gst_iterator_new() in the right
23706 order (maybe we should make _new() take the GType as first argument
23707 just like _new_list()?) (#318447).
23710 2005-10-10 Wim Taymans <wim@fluendo.com>
23712 * gst/gstelement.c: (gst_element_finalize):
23713 And free the GStaticRecMutex too
23715 2005-10-10 Andy Wingo <wingo@pobox.com>
23717 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23718 Allocate and free the mutex properly.
23720 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23722 (GstElement): The state_lock is now recursive. Rebuild your
23723 plugins, suckers. Old macros adapted.
23725 * docs/gst/gstreamer-sections.txt: Doc updates.
23728 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23729 (g_static_rec_cond_wait): Ported from state changes patch, while
23730 we wait on bug #317802 to be solved in a well-distributed GLib.
23732 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23733 gst_element_change_state, variable name changes.
23734 (gst_element_change_state): Split out of gst_element_set_state in
23735 preparation for the state change merge. Doesn't pay attention to
23736 the 'transition' argument.
23737 (gst_element_set_state): Updates, hopefully purely cosmetic.
23738 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23739 state change patch.
23740 (gst_element_get_state_func): Renamed from get_state, cosmetic
23743 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23745 * gst/elements/gstelements.c:
23746 * win32/GStreamer.vcproj:
23748 * win32/dirent.c: (_tseekdir):
23749 * win32/gst-inspect.vcproj:
23750 * win32/gst-launch.vcproj:
23751 * win32/gstconfig.h:
23752 * win32/gstelements.vcproj:
23753 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23754 * win32/gstreamer.def:
23755 * win32/msvc71.sln:
23756 updates for the win32 build (patch from Sebastien Moutte)
23758 2005-10-10 Andy Wingo <wingo@pobox.com>
23760 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23761 gst_bin_get_state, cleaned up (but no logic changes).
23762 (bin_element_is_sink): Comment updates.
23763 (sink_iterator_filter): Remove needless cast.
23764 (gst_bin_iterate_sinks): Doc update.
23765 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23766 cleaned up (but no logic changes).
23768 * check/states/sinks.c (test_src_sink): Cleanups from the state
23770 (test_livesrc_sink): Sync on the state.
23772 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23773 the state change patch.
23775 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23778 * check/gst/gstbin.c: Merge in some style fixes and additional
23779 checks from Wim's state change patch.
23781 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23783 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23784 (gst_type_find_helper):
23785 Check whether we have the requested data already in our list of
23786 cached buffers before pulling a new buffer; also make the buffer
23787 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23789 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23794 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23795 don't use long long, it's not portable. Replacing with
23796 gint64 seems to work; let's hope no skeletons fall out of the closet.
23798 2005-10-10 Andy Wingo <wingo@pobox.com>
23800 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23802 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23804 * docs/gst/gstreamer-sections.txt:
23809 * gst/gstmessage.c: (gst_message_parse_state_changed):
23812 more docs, fix compilation
23814 2005-10-09 Philippe Khalaf <burger@speedy.org>
23815 * gst/gstmessage.c:
23816 Fixed a few forgotten variables on previous commit
23818 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23820 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23821 Fix evil typefind crasher: getrange() might return a short
23822 buffer at the end of a file, but gst_type_find_peek() must
23823 either return the full data as requested or NULL, but
23824 never a short buffer.
23826 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23828 * gst/gstmessage.c: (gst_message_new_state_changed),
23829 (gst_message_parse_state_changed):
23830 * gst/gstmessage.h:
23831 don't use "new", it's a C++ keyword
23833 2005-10-08 Wim Taymans <wim@fluendo.com>
23835 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23836 * gst/gstelement.c: (gst_element_post_message):
23837 * gst/gstpipeline.c: (gst_pipeline_change_state):
23838 Small docs and debug updates.
23840 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23842 * docs/gst/gstreamer-sections.txt:
23843 * gst/gstelementfactory.c:
23845 * gst/gsttaglist.c:
23848 2005-10-08 Wim Taymans <wim@fluendo.com>
23850 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23851 (gst_bin_dispose), (bin_bus_handler):
23852 Fix typos, add comments.
23853 Clear EOS list when going to PAUSED from any direction and do it
23854 in a threadsafe way.
23855 Get base time in a threadsafe way too.
23856 Fix confusing debug in the change_state function.
23857 Various other small cleanups.
23859 * gst/gstelement.c: (gst_element_post_message):
23860 Fix very verbose bus posting code.
23862 * gst/gstpipeline.c: (gst_pipeline_class_init),
23863 (gst_pipeline_set_property), (gst_pipeline_get_property),
23864 (gst_pipeline_change_state):
23865 Small ARG_ -> PROP_ cleanup
23867 2005-10-08 Wim Taymans <wim@fluendo.com>
23869 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23870 Do a less CPU demanding EOS check because we can.
23872 2005-10-08 Wim Taymans <wim@fluendo.com>
23874 * libs/gst/dataprotocol/dataprotocol.c:
23875 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23876 (gst_dp_packet_from_event):
23877 * libs/gst/dataprotocol/dataprotocol.h:
23878 * libs/gst/dataprotocol/dp-private.h:
23879 It's about time we bump the version number.
23880 Since event types don't fit in the guint8 anymore describing
23881 the payload type, make payload type 16 bits wide.
23883 2005-10-08 Wim Taymans <wim@fluendo.com>
23885 * docs/design/part-TODO.txt:
23886 * docs/design/part-clocks.txt:
23887 * docs/design/part-events.txt:
23888 * docs/design/part-gstbin.txt:
23889 * docs/design/part-gstelement.txt:
23890 * docs/design/part-gstpipeline.txt:
23891 * docs/design/part-live-source.txt:
23892 * docs/design/part-messages.txt:
23893 * docs/design/part-overview.txt:
23894 * docs/design/part-states.txt:
23897 2005-10-08 Wim Taymans <wim@fluendo.com>
23901 Fix event quark registration.
23902 Add some space between events so we can insert them in the
23905 2005-10-08 Wim Taymans <wim@fluendo.com>
23907 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23908 (gst_base_sink_handle_buffer):
23909 Better log message.
23912 * gst/gstelement.h:
23915 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23916 (gst_queue_set_property), (gst_queue_get_property):
23918 Remove old unused properties.
23920 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23921 * docs/gst/gstreamer-sections.txt:
23922 * gst/gstmessage.c:
23923 * gst/gstmessage.h:
23924 * gst/gstminiobject.c:
23925 * gst/gstminiobject.h:
23929 lots of new docs and doc fixes
23931 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23933 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23935 * gst/gstregistry.c: (gst_registry_lookup_locked),
23936 (gst_registry_scan_path_level):
23937 * gst/gstregistryxml.c: (load_plugin):
23938 Only ever load one plugin for a given plugin basename.
23939 This ensures correct overriding of GST_PLUGIN_PATH over
23940 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23941 system installed plugins.
23943 2005-10-08 Wim Taymans <wim@fluendo.com>
23945 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23946 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23947 Prepare for doing QOS.
23949 2005-10-08 Wim Taymans <wim@fluendo.com>
23951 * check/gst/gstbin.c: (GST_START_TEST):
23952 * check/pipelines/cleanup.c: (GST_START_TEST):
23953 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23954 Allow new clock message too.
23956 2005-10-08 Wim Taymans <wim@fluendo.com>
23958 * gst/gstmessage.c: (gst_message_new_error),
23959 (gst_message_new_warning), (gst_message_new_tag),
23960 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23961 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23962 (gst_message_new_segment_start), (gst_message_new_segment_done),
23963 (gst_message_parse_state_changed),
23964 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23965 (gst_message_parse_new_clock):
23966 * gst/gstmessage.h:
23967 Also carry the clock in question.
23969 2005-10-08 Wim Taymans <wim@fluendo.com>
23971 * gst/gstmessage.c: (gst_message_new_custom),
23972 (gst_message_new_eos), (gst_message_new_error),
23973 (gst_message_new_warning), (gst_message_new_tag),
23974 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23975 (gst_message_new_new_clock), (gst_message_new_segment_start),
23976 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23977 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23978 * gst/gstmessage.h:
23980 Added clock related messages.
23982 * gst/gstpipeline.c: (gst_pipeline_change_state):
23983 Post message when the clock changed.
23985 * tools/gst-launch.c: (event_loop):
23988 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23990 * tools/gst-inspect.c: (print_element_properties_info):
23991 Can't pass NULL strings to g_print() on windows.
23993 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23995 * docs/Makefile.am:
23996 * docs/gst/Makefile.am:
23997 * docs/gst/gstreamer-docs.sgml:
23998 * docs/gst/running.xml:
23999 * docs/version.entities.in:
24000 add a chapter on running GStreamer.
24001 document GST_DEBUG and GST_PLUGIN* env vars
24003 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
24008 remove PLUGINS_BUILDDIR stuff
24009 * gst/gst.c: (init_post):
24010 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
24012 remove, it was condescending and not needed
24014 2005-10-08 Wim Taymans <wim@fluendo.com>
24016 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
24017 (gst_base_sink_handle_object), (gst_base_sink_event),
24018 (gst_base_sink_wait), (gst_base_sink_handle_event),
24019 (gst_base_sink_change_state):
24020 * gst/base/gstbasesink.h:
24021 Repost EOS message while going to PLAYING if still EOS.
24022 Make sure that when receiving a FLUSH_START we don't attempt
24023 to sync on the clock anymore.
24025 2005-10-08 Wim Taymans <wim@fluendo.com>
24027 * tools/gst-launch.c: (event_loop):
24028 Better message printout.
24030 2005-10-08 Wim Taymans <wim@fluendo.com>
24032 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
24033 (gst_bin_child_proxy_get_children_count):
24034 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24035 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
24036 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
24037 (gst_child_proxy_set_valist):
24038 * gst/parse/grammar.y:
24039 Make ChildProxy threadsafe and fix mem leaks.
24041 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
24043 * gst/gst.c: (init_post):
24044 debug the GST_PLUGIN_ env vars
24046 2005-10-08 Wim Taymans <wim@fluendo.com>
24048 * check/gst/gstbin.c: (GST_START_TEST):
24049 * check/gst/gstmessage.c: (GST_START_TEST):
24050 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
24051 * gst/gstelement.c: (gst_element_commit_state),
24052 (gst_element_lost_state):
24053 * gst/gstmessage.c: (gst_message_new_state_changed),
24054 (gst_message_parse_state_changed):
24055 * gst/gstmessage.h:
24056 * tools/gst-launch.c: (event_loop):
24057 Added extra field to STATE_CHANGE message with the pending
24058 state, which will be different from the new state soon.
24060 2005-10-08 Wim Taymans <wim@fluendo.com>
24062 * gst/gstbus.c: (gst_bus_pop):
24064 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
24065 Small cleanups and doc updates.
24067 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
24069 * gst/gst.c: (init_pre):
24070 * gst/gstbin.c: (gst_bin_add_func):
24071 log distributing clocks and base time
24072 * gst/gstregistry.c: (gst_registry_add_plugin),
24073 (gst_registry_scan_path_level), (gst_registry_scan_path):
24074 clean up the debugging output a little
24075 * gst/gstutils.c: (gst_element_state_get_name):
24076 warn about a memleak (I've actually seen this be used, though
24077 it was probably a bug)
24079 2005-10-07 Wim Taymans <wim@fluendo.com>
24081 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24082 (gst_base_src_init), (gst_base_src_default_newsegment),
24083 (gst_base_src_newsegment), (gst_base_src_do_seek),
24084 (gst_base_src_loop), (gst_base_src_start):
24085 * gst/base/gstbasesrc.h:
24086 Make the newsegment event customizable by subclasses.
24088 2005-10-07 Wim Taymans <wim@fluendo.com>
24090 * gst/gstevent.c: (gst_event_new_buffersize),
24091 (gst_event_parse_buffersize):
24093 New event for future idea.
24095 2005-10-07 Andy Wingo <wingo@pobox.com>
24097 * gst/gstelement.c (gst_element_post_message): Doc update.
24099 * docs/gst/gstreamer-sections.txt: Update.
24101 * gst/gstmessage.c (gst_message_new_application): Made into a
24102 function like honest API calls.
24103 (gst_message_new_element): New message type.
24105 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24107 * check/elements/fakesrc.c (test_no_preroll): New check, checks
24108 that setting a live fakesrc to PAUSED returns NO_PREROLL both
24111 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24112 NO_PREROLL from gst_element_change_state to fall through.
24114 2005-10-07 Wim Taymans <wim@fluendo.com>
24116 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24117 (gst_ghost_pad_do_activate_push):
24118 Activating a ghostpad with no internal pad in push mode
24121 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
24124 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24125 Fixes compilation on Windows.
24127 2005-10-07 Michael Smith <msmith@fluendo.com>
24129 * tools/gst-inspect.c:
24130 Print out feature and plugin count at the end when printing out
24133 2005-10-04 Michael Smith <msmith@fluendo.com>
24135 * gst/gsterror.c: (_gst_stream_errors_init):
24136 Add another error string used in a few existing plugins.
24139 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24140 * tools/gst-inspect.c: (print_element_info):
24141 When a feature disappears from a plugin (and the feature exists in
24142 the cached registry file), things went horribly wrong. This isn't a
24143 complete fix, we should actually be removing the 'missing' features
24144 from the features list when we load the actual plugin. That's not
24147 2005-10-04 Johan Dahlin <johan@gnome.org>
24149 * check/gst/gstiterator.c: (GST_START_TEST):
24150 * gst/gstbin.c: (gst_bin_iterate_elements),
24151 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24152 * gst/gstelement.c: (gst_element_iterate_pads):
24153 * gst/gstformat.c: (gst_format_iterate_definitions):
24154 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24155 (gst_iterator_new_list), (gst_iterator_filter):
24156 * gst/gstiterator.h:
24157 * gst/gstquery.c: (gst_query_type_iterate_definitions):
24158 Add a GType to GstIterator, update callsites and tests.
24160 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24162 * gst/gstpad.c: (gst_pad_event_default_dispatch):
24163 give events a chance to be handled by event probes when the pad
24166 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24168 * gst/gstevent.c: (gst_event_type_get_name),
24169 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24171 add string representations for event types
24173 2005-10-06 Wim Taymans <wim@fluendo.com>
24175 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24176 Don't use NULL pointers.
24178 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24180 * gst/gst_private.h:
24182 * gst/gstelement.c:
24184 * gst/gstpluginfeature.c:
24185 widen the debug category in output to fit the biggest one we have
24186 add a bus category and use it
24187 play with the colors
24188 fix up some categories
24190 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24192 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24193 add push activation of sink ghost pads.
24194 Andye, please verify
24196 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
24198 * gst/gstutils.c: (gst_element_link_pads):
24199 fix a bug in the case where neither element has a pad
24200 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24201 add a test for that case
24203 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
24205 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24206 emit have-data before checking for peers. This allows
24207 for probe handlers to connect elements. This helps autopluggers.
24208 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24210 add six checks, linked/unlinked with no/true/false probe
24212 2005-10-04 Wim Taymans <wim@fluendo.com>
24214 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24215 (gst_fake_sink_event), (gst_fake_sink_preroll),
24216 (gst_fake_sink_render), (gst_fake_sink_change_state):
24217 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24218 (gst_fake_src_get_property), (gst_fake_src_create),
24219 (gst_fake_src_stop):
24220 * gst/elements/gstidentity.c: (gst_identity_stop):
24221 Protect last_message with lock.
24223 2005-10-04 Edward Hervey <edward@fluendo.com>
24226 Added precision in the comments for GST_FORMAT_DEFAULT
24228 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
24230 * tools/gst-launch.c: (main):
24231 Don't try to run erroneous pipelines.
24233 2005-10-04 Julien MOUTTE <julien@moutte.net>
24235 * gst/gstbus.c: We don't need this header.
24237 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24240 back to development
24242 === release 0.9.3 ===
24244 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24248 Releasing 0.9.3, "Unregistered"
24250 2005-10-03 Andy Wingo <wingo@pobox.com>
24252 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24253 whereby calling a pad's activatepush() function can start a thread
24254 that starts to push or pull before the pad gets the FLUSHING flag
24255 unset. Hack around it by holding the stream lock until the flag is
24256 set. Need to replace this with a proper solution. Together with
24257 the ghost pad fixes, this fixes mp3 playing/tagreading.
24259 * docs/design/part-gstghostpad.txt: Add a note about activation of
24260 proxy pads outside of ghost pads.
24262 * gst/gstghostpad.c: Implement the ghost pad activation design.
24264 2005-10-02 Andy Wingo <wingo@pobox.com>
24266 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24267 It is volatile, after all.
24269 * docs/design/part-gstghostpad.txt: Flesh out activation with
24272 * gst/base/gstbasesrc.c (gst_base_src_init): Use
24275 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
24278 Fix (unused) AM_CONDITIONAL tests.
24280 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
24282 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24284 * gst/gstutils.c: (gst_pad_query_convert):
24285 Add assertion that makes sure src_val is >=0, just like
24286 gst_query_new_convert() has. (#315895)
24288 2005-09-30 Edward Hervey <edward@fluendo.com>
24290 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24291 Let's not iterate pads we're not interested in, it avoids getting
24292 sky-high refcounts on sinkpad.
24294 2005-09-30 Wim Taymans <wim@fluendo.com>
24296 * gst/gstelement.c: (gst_element_set_state),
24297 (gst_element_change_state):
24298 Small tweak, element in ASYNC remains ASYNC.
24300 2005-09-30 Wim Taymans <wim@fluendo.com>
24302 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24303 Only error is an error.
24305 * gst/gstbin.c: (gst_bin_change_state):
24308 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24309 Also call pad_block in pad alloc.
24311 * gst/gstutils.c: (gst_flow_get_name):
24314 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24316 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24317 (gst_base_src_get_range):
24318 Fix documentation typos. Add some more debug info.
24320 2005-09-29 David Schleef <ds@schleef.org>
24322 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24323 more end-user friendly.
24324 * tools/gst-inspect.c: (main): Check if command-line argument is
24325 a file and attempt to load that file as a plugin.
24327 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24329 * check/gst/gstbin.c:
24330 * check/states/sinks.c:
24331 fix tests for the new warning
24332 * check/gst/gstpipeline.c:
24333 add a test for pipeline and bus interaction
24334 * gst/gstelement.c:
24335 elements should be NULL if they get disposed; add a warning if not
24337 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24340 for 2.6 refcounting, make debug log more correct by printing
24341 the actual refcounts at the time of swap (Wim)
24343 2005-09-29 Andy Wingo <wingo@pobox.com>
24345 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24346 removes signal watches previously added via
24347 gst_bus_add_signal_watch.
24348 (gst_bus_add_signal_watch): Don't return the source id, just store
24349 it on the bus if there wasn't an id already.
24351 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24352 add_signal_watch and remove_signal_watch.
24354 2005-09-29 Edward Hervey <edward@fluendo.com>
24356 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24357 Better if we actually iterate the list :)
24359 2005-09-29 Wim Taymans <wim@fluendo.com>
24361 * check/gst/gstbin.c: (GST_START_TEST):
24362 Change for new bus API.
24364 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24365 (send_messages), (GST_START_TEST), (gstbus_suite):
24366 Change for new bus signal API.
24368 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24369 (gst_bus_source_prepare), (gst_bus_source_check),
24370 (gst_bus_create_watch), (gst_bus_add_watch_full),
24371 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24372 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24374 Remove support for multiple GSources operating on different
24375 message types as it is too complex and unneeded when using
24377 Added support for receiving signals from the bus.
24379 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24381 * docs/libs/tmpl/gstdataprotocol.sgml:
24382 * docs/manual/advanced-dataaccess.xml:
24383 * gst/elements/gstcapsfilter.c:
24385 rename filter-caps to caps property
24387 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24389 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24390 More robust fraction string parsing.
24392 * docs/pwg/appendix-porting.xml:
24393 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24395 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24397 * gst/gstcaps.c: (gst_caps_do_simplify):
24398 Thou shalt not free a structure and then continue using it
24399 in the next loop iteration.
24401 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24403 Add test case for caps simplification.
24405 2005-09-29 Wim Taymans <wim@fluendo.com>
24407 * check/gst/gstbin.c: (GST_START_TEST):
24410 2005-09-29 Wim Taymans <wim@fluendo.com>
24412 * check/gst/gstbin.c: (GST_START_TEST):
24415 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24416 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24417 (find_element), (gst_bin_sort_iterator_next),
24418 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24419 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24420 (gst_bin_change_state), (gst_bin_dispose):
24421 A bin does not have a bus, it gets the bus from the parent.
24423 * gst/gstelement.c: (gst_element_requires_clock),
24424 (gst_element_provides_clock), (gst_element_is_indexable),
24425 (gst_element_is_locked_state), (gst_element_change_state),
24426 (gst_element_set_bus_func):
24429 * gst/gstpipeline.c: (gst_pipeline_class_init),
24430 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24431 The pipeline provides a bus.
24433 2005-09-28 Johan Dahlin <johan@gnome.org>
24435 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24436 gst_structure_get_enum instead of gst_structure_get_int
24438 * gst/gststructure.c (gst_structure_get_enum): Impl.
24440 * gst/gststructure.h (gst_structure_get_enum): Add
24442 * docs/gst/gstreamer-sections.txt: Ditto
24444 * gst/gstmessage.c (gst_message_new_state_changed): Use
24445 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24446 which does introspection.
24447 Reviewed by Christian Schaller
24449 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24451 * gst/gstinfo.c: (gst_debug_log_default):
24452 don't do dummy g_strdup()s
24453 * libs/gst/controller/gstcontroller.c:
24454 (on_object_controlled_property_changed),
24455 (gst_controlled_property_new), (gst_controller_new_valist),
24456 (gst_controller_new_list),
24457 (gst_controller_remove_properties_valist), (gst_controller_set),
24458 (gst_controller_get), (gst_controller_sync_values),
24459 (gst_controller_get_value_array), (_gst_controller_class_init),
24460 (gst_controller_get_type):
24461 * libs/gst/controller/gstcontroller.h:
24462 * libs/gst/controller/gstinterpolation.c:
24463 (gst_controlled_property_find_timed_value_node):
24464 convert // to /**/ comments
24466 2005-09-28 Wim Taymans <wim@fluendo.com>
24468 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24469 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24470 (gst_bus_sync_signal_handler):
24472 Added async-message and sync-message signals to the bus.
24473 Added helper BusFunc to emit signals for all posted messages.
24475 * gst/gstmessage.c: (gst_message_type_get_name),
24476 (gst_message_type_to_quark), (gst_message_get_type):
24477 * gst/gstmessage.h:
24478 Register quarks for message names.
24480 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24482 * docs/libs/gstreamer-libs-sections.txt:
24483 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24484 (gst_controller_new_list):
24485 * libs/gst/controller/gstcontroller.h:
24486 added another constructor for language bindings
24488 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24490 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24494 * gst/gstinfo.c: (_gst_debug_init):
24495 slightly more readable color for refcount debugging
24497 2005-09-28 Wim Taymans <wim@fluendo.com>
24499 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24500 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24501 (find_element), (gst_bin_sort_iterator_next),
24502 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24503 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24504 (gst_bin_change_state), (gst_bin_dispose):
24505 Small doc fixes. get_clock -> provide_clock.
24507 * gst/gstelement.c: (gst_element_class_init),
24508 (gst_element_provides_clock), (gst_element_provide_clock),
24509 (gst_element_get_clock), (gst_element_commit_state),
24510 (gst_element_lost_state):
24511 * gst/gstelement.h:
24512 Make get/set_clock() symetric. Add provide_clock vmethod since
24513 that is actually what this function does.
24515 * gst/gstpipeline.c: (gst_pipeline_class_init),
24516 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24517 (gst_pipeline_get_clock):
24518 get_clock -> provide_clock.
24520 2005-09-28 Andy Wingo <wingo@pobox.com>
24522 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24523 lieu of real docs...
24525 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24527 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24529 * gst/elements/gstcapsfilter.c:
24530 * gst/elements/gstfakesink.c:
24531 * gst/elements/gstfakesrc.c:
24532 * gst/elements/gstfdsink.c:
24533 * gst/elements/gstfdsrc.c:
24534 * gst/elements/gstfilesink.c:
24535 * gst/elements/gstfilesrc.c:
24536 * gst/elements/gstidentity.c:
24537 * gst/elements/gsttee.c:
24538 * gst/elements/gsttypefindelement.c:
24539 Make element details static.
24541 2005-09-28 Wim Taymans <wim@fluendo.com>
24543 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24544 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24545 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24546 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24547 (gst_bin_change_state), (gst_bin_dispose):
24548 Some documentation updates.
24549 Clean up dispose handlers.
24551 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24552 * gst/gstpad.c: (gst_pad_dispose):
24553 Clean up dispose handler.
24555 * gst/gstpipeline.c: (gst_pipeline_change_state):
24556 Removed spurious UNLOCK.
24558 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24560 * docs/gst/gstreamer-sections.txt:
24561 * gst/base/gstbasesrc.h:
24562 * gst/gstelement.h:
24566 * gst/gstpipeline.c:
24567 * gst/gstpipeline.h:
24570 added two new functions to the docs
24571 documents all undocumented GstXXXFlags
24572 completed some incomplete docs
24574 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24576 * gst/gstbin.c: (gst_bin_dispose):
24577 * gst/gstelement.c: (gst_element_dispose):
24578 remove now useless and leaky resurrection code in dispose
24579 * gst/base/gstbasesrc.c: (gst_base_src_init):
24580 * gst/gstelementfactory.c: (gst_element_factory_create):
24581 * gst/gstobject.c: (gst_object_set_parent):
24584 2005-09-27 Wim Taymans <wim@fluendo.com>
24586 * docs/design/part-TODO.txt:
24589 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24590 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24591 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24592 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24593 (gst_bin_change_state):
24594 * gst/gstelement.h:
24595 Remove element variable, we keep element info in the iterator now.
24597 2005-09-27 Andy Wingo <wingo@pobox.com>
24599 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24602 2005-09-27 Wim Taymans <wim@fluendo.com>
24604 * check/gst/gstbin.c: (GST_START_TEST):
24605 Enable check that works now.
24607 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24608 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24609 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24610 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24611 (gst_bin_change_state):
24613 Redid the state change algorithm using a topological sort algo.
24614 Handles all cases correctly.
24615 Exposed iterator for state change order.
24617 * gst/gstelement.h:
24618 Temp storage for state changes. Need to get rid of this soon.
24620 2005-09-27 Wim Taymans <wim@fluendo.com>
24622 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24623 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24624 (link_fold_func), (gst_pad_proxy_setcaps):
24625 Leak fixes, the fold functions need to unref the passed object and
24626 _get_parent_*() returns ref to parent.
24628 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24630 * check/gst/gstbuffer.c: (test_make_writable):
24631 Plug leak in test case and fix 'make check-valgrind'
24633 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24635 * gst/gstbuffer.c: (gst_subbuffer_init):
24636 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24637 works correctly in all circumstances (we could have just copied
24638 the parent buffer's readonly flag, but conceptually it seems
24639 cleaner to mark all subbuffers as read-only). (based on patch
24640 by Alessandro Decina, #314710).
24642 * check/gst/gstbuffer.c: (create_read_only_buffer),
24643 (test_make_writable), (test_subbuffer_make_writable),
24645 Add some tests for gst_buffer_make_writable().
24647 2005-09-27 Wim Taymans <wim@fluendo.com>
24649 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24650 use gst_object_has_ancestor().
24652 * gst/gstobject.c: (gst_object_has_ancestor):
24654 gst_object_has_ancestor() copied from gstbin.c as it is a
24657 * tests/instantiate/create.c: (create_all_elements):
24658 * tests/lat.c: (handoff_src), (handoff_sink):
24659 * tests/sched/runxml.c: (main):
24660 * tests/seeking/seeking1.c: (main):
24661 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24663 Fix compilation of some tests.
24665 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24668 Remove comment. GST_TYPE_G_ERROR is here to stay,
24669 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24670 (#316961, #300610).
24672 2005-09-26 Wim Taymans <wim@fluendo.com>
24674 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24675 Added check that shows error in state change order.
24677 2005-09-26 Wim Taymans <wim@fluendo.com>
24679 * gst/gstbin.c: (gst_bin_change_state):
24680 Make state change function use 3 queues again, we were
24681 adding elements in the wrong order.
24683 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24686 * gst/gstpad.c: (gst_pad_dispose):
24687 Added some debug info first.
24689 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24691 * docs/design/draft-push-pull.txt:
24692 * docs/design/part-events.txt:
24693 * docs/design/part-overview.txt:
24694 * docs/design/part-scheduling.txt:
24695 Replace all _pull_region() with _pull_range()
24697 2005-09-26 Andy Wingo <wingo@pobox.com>
24699 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24701 * check/gst-libs/controller.c: Update for controller api change.
24704 * tests/Makefile.am:
24705 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24706 over by GLib bug 118439.
24708 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24709 routines to a function.
24711 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24713 * libs/gst/controller/gsthelper.c:
24714 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24715 (gst_object_sync_values): Renamed from sink_values. Ugh.
24717 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24719 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24720 Renamed from controller_key, as it is exported.
24722 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24724 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24729 * gst/gstpadtemplate.h:
24732 * gst/gstqueryutils.c:
24733 * gst/gstqueryutils.h:
24734 remove queryutils headers after moving the two used functions
24735 to gstquery. also fixes build problem for gstsiddec
24737 2005-09-26 Michael Smith <msmith@fluendo.com>
24739 * tools/gst-launch.1.in:
24740 Correct documentation in manpage of debug syntax
24742 2005-09-26 Wim Taymans <wim@fluendo.com>
24744 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24745 (gst_base_src_is_seekable), (gst_base_src_change_state):
24746 Some more debugging info.
24748 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24750 * docs/gst/gstreamer-sections.txt:
24751 * gst/base/gstbasetransform.h:
24755 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24757 * docs/gst/.cvsignore:
24758 * docs/gst/tmpl/.cvsignore:
24759 * docs/gst/tmpl/gstpipeline.sgml:
24760 * docs/gst/tmpl/gstplugin.sgml:
24761 * gst/gstpipeline.c:
24764 inlined the last two docs files
24765 removed the tmpl directory from cvs (no more conflicts here!)
24767 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24769 * docs/gst/gstreamer-sections.txt:
24770 * docs/gst/tmpl/.cvsignore:
24771 * docs/gst/tmpl/gstpad.sgml:
24772 * docs/gst/tmpl/gstpadtemplate.sgml:
24774 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24775 (gst_pad_finalize), (gst_pad_set_pad_template):
24777 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24778 (gst_pad_template_class_init), (gst_pad_template_init),
24779 (gst_pad_template_dispose), (name_is_valid),
24780 (gst_static_pad_template_get), (gst_pad_template_new),
24781 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24782 (gst_pad_template_pad_created):
24783 * gst/gstpadtemplate.h:
24784 inlined two more docs
24785 factored gstpadtemplate out of gstpad
24787 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24789 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24790 (test_children_state_change_order_semi_sink):
24791 Fix test case: we can't rely on a fixed state change order when
24792 going from READY => PAUSED because the sink might commit its
24793 new state first when the first buffer created by the source
24794 reaches the sink before the source has finished its change state.
24795 (Test case still fails at times, see #316856, comment 5 onwards)
24797 2005-09-24 Wim Taymans <wim@fluendo.com>
24799 * docs/design/part-events.txt:
24800 * docs/design/part-gstbus.txt:
24801 * docs/design/part-gstpipeline.txt:
24802 * docs/design/part-messages.txt:
24803 * docs/design/part-overview.txt:
24804 * docs/design/part-segments.txt:
24808 * gst/gstelement.c:
24811 * gst/gstiterator.c:
24812 Various documentation updates.
24814 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24817 Well, that's embarassing. Luckily we weren't using
24818 GST_CLOCK_DIFF anywhere.
24820 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24822 * common/gtk-doc.mak:
24823 don't fail on building XML, FC4 slave shows a bunch of doc
24824 missing bits that I don't get
24826 * gst/gstpipeline.c:
24827 * gst/gststructure.c:
24830 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24832 * docs/design/part-gstbin.txt:
24833 * docs/design/part-gstbus.txt:
24835 Add blurb about how the bus goes into flushing mode and
24836 drops all messages when its bin goes from READY into NULL
24839 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24841 * docs/gst/gstreamer-sections.txt:
24842 * gst/gststructure.c: (gst_structure_get_clock_time):
24843 * gst/gststructure.h:
24844 add a method to get a GstClockTime out of a structure
24846 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24848 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24849 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24850 Added test to check state change order in bins (can still be made
24851 to fail here under heavy disk load; bails out with 'Push on pad
24852 fakesink:sink0, but it was not activated in push mode').
24854 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24855 Fix state change order when there is only a semi sink (#316856)
24857 * gst/gstbus.c: (gst_bus_class_init):
24858 Use _class_peek_parent(), not _class_ref(); fix docs to say
24859 'default main context' instead of 'mainloop' where that is
24862 * gst/gstelement.c: (gst_element_commit_state),
24863 (gst_element_set_state):
24864 Fix typos in debug messages
24866 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24869 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24870 * gst/gstpluginfeature.c:
24872 various doc updates
24873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24874 change an assert into an error until it gets fixed properly
24876 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24878 * docs/gst/gstreamer-sections.txt:
24879 * docs/gst/tmpl/.cvsignore:
24880 * docs/gst/tmpl/gstelement.sgml:
24881 * docs/gst/tmpl/gstinfo.sgml:
24882 * docs/gst/tmpl/gstobject.sgml:
24883 * gst/gstelement.c:
24884 * gst/gstelement.h:
24887 * gst/gstobject.c: (gst_object_class_init):
24889 inlined 3 more biiiig doc files and added some missing docs on the fly
24891 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24893 * check/gst/.cvsignore:
24894 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24895 * gst/gstregistryxml.c: (load_plugin),
24896 (gst_registry_xml_save_plugin):
24897 put back source in registry. add checks for find_plugin.
24898 * testsuite/states/bin.c: (assert_state), (empty_bin),
24899 (test_adding_one_element), (main):
24900 * testsuite/states/locked.c: (main):
24901 some compile/run fixes
24903 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24905 * check/gst/gstvalue.c: (GST_START_TEST):
24906 fix leaks in the test itself
24908 2005-09-22 Wim Taymans <wim@fluendo.com>
24910 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24911 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24912 (gst_base_sink_query):
24913 Prepare for more accurate position reporting and query
24916 * gst/gstelement.c: (gst_element_send_event),
24917 (gst_element_set_state):
24920 2005-09-22 Wim Taymans <wim@fluendo.com>
24922 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24923 (gst_query_parse_segment):
24925 More documentation.
24926 Add segment query for future use.
24928 2005-09-22 Wim Taymans <wim@fluendo.com>
24930 * gst/gstbin.c: (gst_bin_add_func):
24931 Some more debug info.
24933 * gst/gstelement.c: (gst_element_send_event):
24934 Simplify send_event
24936 * gst/gstelement.h:
24937 Don't know how flags got broken.
24942 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24944 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24945 Add simplistic test suite for GST_TYPE_DATE serialisation and
24948 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24950 * docs/gst/gstreamer-sections.txt:
24951 * gst/gststructure.c: (gst_structure_set_valist),
24952 (gst_structure_get_date):
24953 * gst/gststructure.h:
24954 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24955 (gst_date_copy), (gst_value_compare_date),
24956 (gst_value_serialize_date), (gst_value_deserialize_date),
24957 (gst_value_transform_date_string),
24958 (gst_value_transform_string_date), (_gst_value_initialize):
24960 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24961 bunch of utility functions along with a hack that checks that
24962 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24963 is required. Part of the grand scheme in #170777.
24965 2005-09-22 Andy Wingo <wingo@pobox.com>
24967 * gst/gstconfig.h.in: Psych out gtk-doc.
24969 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24971 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24973 * tools/gst-inspect.c (print_element_list): Plug some
24974 inconsequential leaks.
24976 * gst/gstregistry.c (gst_registry_get_default): Doc.
24978 * check/gst/gstplugin.c:
24979 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24980 * gst/gstelementfactory.c (gst_element_factory_create):
24981 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24984 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24985 (gst_plugin_feature_load): Doc, don't eat refs.
24987 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24988 (gst_plugin_list_free): Doc.
24989 (gst_plugin_load_file): Doc updates.
24991 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24992 accessors returning refcounted objects, return a ref.
24994 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24995 accessor for caps. IDEMPOTENCE. Oh yes.
24997 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24999 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
25001 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25002 (_gst_debug_register_funcptr):
25003 Add mutex to serialise access to the hash table with
25004 the function pointer => function name string mapping;
25005 make that hash table static scope (#316809).
25007 * gst/registries/.cvsignore:
25008 Remove left-over file.
25010 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
25012 * docs/pwg/appendix-porting.xml:
25013 And something about newsegment events and caps-on-buffers to
25014 the porting guide (feel free to improve).
25016 2005-09-21 Andy Wingo <wingo@pobox.com>
25018 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
25019 data and event probes on the same pad.
25020 (test_buffer_probe_once): Test that removing probes from within
25021 the probe functions works.
25023 2005-09-21 Andy Wingo <wingo@pobox.com>
25025 * check/gst/gstutils.c: New file.
25026 (test_buffer_probe_n_times): A simple buffer probe test. More to
25029 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
25030 have-data::buffer, not have-data.
25031 (gst_pad_add_event_probe): Likewise for have-data::event.
25032 (gst_pad_add_data_probe): More docs. The part about 'resolving the
25033 peer' isn't quite right yet though.
25034 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
25035 (gst_pad_remove_data_probe): Change to take the guint handler_id
25036 as their arg, not the function+data, which is more glib-like.
25038 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
25039 the signal emission to indicate if the data is a buffer or an
25041 (gst_pad_get_type): Initialize buffer and event quarks.
25042 (gst_pad_class_init): have-data is now a detailed signal, yes it
25045 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
25047 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25048 * gst/gstutils.c: (gst_util_set_value_from_string),
25049 (gst_util_set_object_arg):
25050 Don't put functional code in g_return_if_fail() or
25051 g_return_val_if_fail() statements, otherwise things will
25052 break when G_DISABLE_CHECKS is defined during compilation.
25054 2005-09-21 Stefan Kost <ensonic@users.sf.net>
25056 * docs/gst/tmpl/.cvsignore:
25057 * docs/gst/tmpl/gstvalue.sgml:
25060 inlied another one and added some obvious docs
25062 2005-09-21 Wim Taymans <wim@fluendo.com>
25064 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
25065 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
25066 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
25067 (gst_fdsrc_get_property), (gst_fdsrc_create):
25068 * gst/elements/gstfdsrc.h:
25069 Properly implement fdsrc. Removed signal and timeout,
25070 better implemented somewhere else.
25072 2005-09-21 Stefan Kost <ensonic@users.sf.net>
25074 * docs/gst/tmpl/.cvsignore:
25075 * docs/gst/tmpl/gstimplementsinterface.sgml:
25076 * gst/gstinterface.c:
25079 2005-09-21 Stefan Kost <ensonic@users.sf.net>
25081 * docs/gst/gstreamer-sections.txt:
25082 * docs/gst/tmpl/.cvsignore:
25083 * docs/gst/tmpl/gstenumtypes.sgml:
25084 remove obsolete doc file
25086 2005-09-21 David Schleef <ds@schleef.org>
25088 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
25089 little beer, fix a little leak.
25091 2005-09-21 Stefan Kost <ensonic@users.sf.net>
25093 * docs/gst/gstreamer-docs.sgml:
25094 * docs/gst/gstreamer-sections.txt:
25095 * docs/gst/tmpl/.cvsignore:
25099 * gst/gstelement.h:
25100 * gst/gstindex.c: (gst_index_class_init):
25102 * gst/gstindexfactory.c: (gst_index_factory_get_type),
25103 (gst_index_factory_class_init), (gst_index_factory_init),
25104 (gst_index_factory_finalize), (gst_index_factory_new),
25105 (gst_index_factory_destroy), (gst_index_factory_find),
25106 (gst_index_factory_create), (gst_index_factory_make):
25107 * gst/gstindexfactory.h:
25108 * gst/gstpluginfeature.c:
25109 * gst/gstpluginfeature.h:
25110 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25111 more docs inlined, splitted gstindex.{c,h}
25113 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25115 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25118 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
25120 * gst/elements/gstfilesink.c: (gst_file_sink_init):
25121 Set sync to FALSE by default.
25123 2005-09-20 Wim Taymans <wim@fluendo.com>
25125 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25126 (gst_base_sink_init):
25127 Make sync property settable from subclass.
25129 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25130 (gst_fake_sink_change_state):
25131 Set sync to FALSE by default.
25133 2005-09-20 Wim Taymans <wim@fluendo.com>
25135 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25136 * tools/gst-launch.c: (main):
25137 The timeout handler should have lower priority than the source
25138 so we don't timeout before popping a message with 0 timeout.
25139 Dump error messages after failed state change.
25141 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
25143 * tools/gst-inspect.c: (print_element_properties_info):
25146 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25148 * check/gst/gstevent.c:
25149 * gst/elements/gstfakesink.c:
25150 * gst/elements/gstfakesink.h:
25151 remove the sync property from fakesink.
25152 has the side effect of setting sync TRUE
25153 for fakesink, which is a change. Anyone who knows how
25154 to fix this nicely in a GObject-y way, feel free.
25156 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25158 * docs/gst/gstreamer-docs.sgml:
25159 remove probe refsection
25161 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25163 * check/Makefile.am:
25164 disable valgrinding the controller test again
25165 * docs/gst/gstreamer-sections.txt:
25166 update for api-changes
25168 2005-09-20 Wim Taymans <wim@fluendo.com>
25170 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25171 (gst_base_sink_set_property), (gst_base_sink_get_property),
25172 (gst_base_sink_do_sync):
25173 * gst/base/gstbasesink.h:
25174 Added sync property to basesink to disable clock sync.
25176 2005-09-20 Andy Wingo <wingo@pobox.com>
25178 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25179 eating the caller's refcount.
25181 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
25182 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25185 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25186 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25187 of GLib 2.8 public, so we can know which refcount to check in
25190 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25191 (gst_object_init): Only set the gst refcount if we're going ahead
25192 with the refcount hack.
25194 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25196 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25197 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25198 more leaks plumbed, added more debug-logging
25202 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25204 * gst/gstmessage.c:
25205 remove include of gstmemchunk.h
25207 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25209 * gst/gstclock.c: (_gst_clock_id_free):
25210 Commit from the Political Party For More Atomic CVS Commits,
25211 so that people don't waste too much of their day fishing
25212 out obvious leaks out of massive commits.
25213 Oh, and fix a pretty damn obvious leak in the memchunk
25216 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25218 * check/Makefile.am:
25219 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25220 plug mem-leak, re-add to valgrindable tests
25222 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25225 unbreak the build for those who have chronic arthritis
25226 and typing "make check" is just too taxing on the hands
25228 2005-09-20 Andy Wingo <wingo@pobox.com>
25230 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25231 really want it out, you should fix plugins at the same time.
25233 2005-09-19 Stefan Kost <ensonic@users.sf.net>
25236 * docs/gst/gstreamer-sections.txt:
25238 added missing symbols to api docs
25239 disable ref-count hack if we have glib >= 2.8
25241 2005-09-19 David Schleef <ds@schleef.org>
25243 * docs/gst/Makefile.am: Ignore a few more internal headers
25244 * docs/gst/gstreamer-docs.sgml: Remove old sections
25245 * docs/gst/gstreamer-sections.txt: Remove old sections
25246 * docs/gst/tmpl/gstobject.sgml: update
25247 * docs/gst/tmpl/gstplugin.sgml: update
25248 * docs/gst/tmpl/gstpluginfeature.sgml: update
25249 * docs/random/ds/0.9-suggested-changes: update.
25250 * gst/Makefile.am: remove memchunk and trashstack, since they're
25252 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25253 * gst/gst.h: don't include some headers
25254 * gst/gstchildproxy.c: add gstmarshal.h
25255 * gst/gstclock.c: Don't use memchunks
25256 * gst/gstminiobject.c: Add some docs
25257 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25258 * gst/gstobject.h: same
25259 * gst/gstplugin.c: include gstmacros.h
25260 * gst/gstplugin.h: don't include gstmacros.h, since it's private
25261 * gst/gstquery.c: don't use memchunks
25262 * gst/gstregistry.c: rename gst_registry_deinit()
25263 * gst/gstregistry.h: same
25265 2005-09-19 David Schleef <ds@schleef.org>
25267 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25268 * docs/libs/gstreamer-libs-sections.txt:
25269 * docs/libs/tmpl/gstgetbits.sgml:
25270 * docs/libs/tmpl/gstputbits.sgml:
25272 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
25274 * win32/gstenumtypes.c:
25275 * win32/gstenumtypes.h:
25278 2005-09-19 Wim Taymans <wim@fluendo.com>
25280 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25281 Automatically PAUSE and RESUME a pipeline when a flushing seek
25284 2005-09-19 Andy Wingo <wingo@pobox.com>
25286 * gst/gstregistry.h: Spacing fixen.
25288 2005-09-19 Wim Taymans <wim@fluendo.com>
25290 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25291 Handle state change failure more correctly.
25293 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25295 * check/Makefile.am:
25296 * check/pipelines/cleanup.c: (run_pipeline):
25297 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25299 enable cleanup again after fixing the leak
25301 some more info on docs
25303 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25305 * check/Makefile.am:
25306 re-enable tests now that leaks are plugged
25308 * check/gst/gstbin.c:
25309 * check/gst/gstpipeline.c:
25310 add some more tests while fixing leaks
25311 * common/check.mak:
25312 make sure binaries are uptodate when valgrinding/gdbing
25314 * gst/gstelementfactory.c:
25315 remove a ref too many, and add a FIXME for when we get
25316 round to disposing of classes
25318 fix the refcounting when loading a plugin from a file and
25319 the code pretends that the pointer is the same even though
25320 of course it can change
25321 * gst/gstpluginfeature.c:
25322 unref plugins marked cached (a bit confusing as a name)
25323 as the docs state should be done
25324 various doc additions to explain refcounting
25325 * gst/gstregistry.c:
25326 * gst/gstregistryxml.c:
25329 2005-09-19 Wim Taymans <wim@fluendo.com>
25331 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25332 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25333 (send_messages), (GST_START_TEST), (gstbus_suite):
25334 * check/gst/gstpipeline.c: (GST_START_TEST):
25335 * check/pipelines/cleanup.c: (run_pipeline):
25336 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25338 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25339 (gst_bus_source_check), (gst_bus_source_dispatch),
25340 (gst_bus_create_watch), (gst_bus_add_watch_full),
25341 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25343 * tools/gst-launch.c: (event_loop):
25344 * tools/gst-md5sum.c: (event_loop):
25345 GstBusHandler -> GstBusFunc, return value has the same meaning as
25346 any other GSource (FALSE == remove source).
25347 _add_watch() and _add_watch_full() now take a MessageType mask to
25348 only handle specific types of messages.
25349 _poll() returns the GstMessage instead of the message type to avoid
25351 _have_pending() takes a MessageType mask now too.
25352 Added testsuite for multiple bus watches.
25353 Fix testsuites and applications for new bus API.
25355 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25357 * check/Makefile.am:
25358 mark a bunch of the tests as to fix until we fix them
25360 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25362 * common/check.mak:
25363 use GST_PLUGIN settings for valgrind tests as well, so we're
25364 valgrinding the correct thing
25365 * gst/gst.c: (init_post):
25368 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25370 * gst/gst.c: (init_post), (gst_deinit):
25371 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25372 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25373 * gst/gstindex.c: (gst_index_factory_class_init),
25374 (gst_index_factory_finalize):
25375 * gst/gstobject.c: (gst_object_dispose):
25376 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25377 (gst_plugin_load_file), (gst_plugin_desc_free):
25378 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25379 (gst_plugin_feature_finalize):
25380 * gst/gstregistry.c: (gst_registry_class_init),
25381 (gst_registry_init), (gst_registry_finalize),
25382 (gst_registry_get_default), (gst_registry_deinit):
25383 * gst/gstregistry.h:
25384 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25385 various cleanups and memleak plugging. make valgrind is happy now.
25387 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25389 * common/check.mak:
25390 add a check-valgrind target
25392 2005-09-18 David Schleef <ds@schleef.org>
25394 * tools/gst-inspect.c: Revert the GOption code.
25396 2005-09-17 David Schleef <ds@schleef.org>
25398 * check/Makefile.am: Fix environment variables.
25399 * check/gst/gstplugin.c: Fix for API changes.
25400 * tools/gst-inspect.c: Fix for API changes.
25401 * tools/gst-xmlinspect.c: Fix for API changes.
25402 * gst/gstelementfactory.c:
25405 * gst/gstpluginfeature.c:
25406 * gst/gstpluginfeature.h:
25407 * gst/gstregistry.c:
25408 * gst/gstregistry.h:
25409 * gst/gstregistryxml.c:
25410 * gst/gsttypefind.c:
25411 * gst/gsttypefindfactory.c:
25412 * gst/indexers/gstfileindex.c:
25413 * gst/indexers/gstmemindex.c:
25414 * gst/schedulers/Makefile.am:
25415 Change registry to keep track of both plugins and features,
25416 removing the feature tracking from plugins themselves.
25418 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25420 * check/Makefile.am:
25421 * tools/gst-register.1.in:
25422 remove gst-register
25424 2005-09-15 David Schleef <ds@schleef.org>
25426 * check/gst/gstplugin.c:
25427 * gst/gstelementfactory.c:
25429 * gst/gstpluginfeature.c:
25430 * gst/gstregistry.c:
25431 Getting tired of debugging. Disabled all the unreffing of
25432 plugins and features, which fixes the segfaults, but of
25433 course leaks like crazy. At least playbin works.
25435 2005-09-15 David Schleef <ds@schleef.org>
25437 * check/gst/gstplugin.c: (register_check_elements),
25438 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25440 * gst/elements/gsttypefindelement.c: Fix refcounting.
25441 * gst/gsttypefind.c:
25442 * gst/gsttypefindfactory.c:
25443 * gst/gsttypefindfactory.h:
25445 2005-09-15 David Schleef <ds@schleef.org>
25447 * gst/gstindex.c: get refcounting correct.
25448 * gst/gstregistry.c: Handle the case where a feature/plugin is
25451 2005-09-15 David Schleef <ds@schleef.org>
25453 * check/Makefile.am:
25454 * check/gst/gstplugin.c: Add test
25455 * gst/gstplugin.c: Fix problems noticed by testsuite
25457 * gst/gstregistry.c:
25458 * gst/gstregistry.h:
25460 2005-09-15 David Schleef <ds@schleef.org>
25462 * gst/gstplugin.c: Implement semi-decent recounting and locking
25463 in plugins and plugin features.
25465 * gst/gstpluginfeature.c:
25466 * gst/gstpluginfeature.h:
25467 * gst/gstregistry.c:
25469 2005-09-15 Michael Smith <msmith@fluendo.com>
25471 * gst/gstregistry.c: (gst_registry_get_feature_list):
25472 Implement this. Makes oggdemux work; decodebin still broken.
25474 2005-09-14 David Schleef <ds@schleef.org>
25476 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25478 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25479 * gst/check/Makefile.am:
25480 * libs/gst/controller/Makefile.am:
25481 * libs/gst/dataprotocol/Makefile.am:
25483 2005-09-14 David Schleef <ds@schleef.org>
25485 * configure.ac: Remove getbits library. Nothing uses it, and
25486 it should be in something like liboil if someone did want
25488 * libs/gst/Makefile.am:
25489 * libs/gst/getbits/Makefile.am:
25490 * libs/gst/getbits/gbtest.c:
25491 * libs/gst/getbits/getbits.c:
25492 * libs/gst/getbits/getbits.h:
25493 * libs/gst/getbits/gstgetbits_generic.c:
25494 * libs/gst/getbits/gstgetbits_i386.s:
25495 * libs/gst/getbits/gstgetbits_inl.h:
25497 2005-09-14 David Schleef <ds@schleef.org>
25499 * gst/Makefile.am: Dist glib-compat.h
25501 2005-09-14 David Schleef <ds@schleef.org>
25503 * configure.ac: Remove gst/registries, since it's no longer used.
25504 * gst/registries/Makefile.am:
25505 * gst/registries/gstlibxmlregistry.c:
25506 * gst/registries/gstlibxmlregistry.h:
25507 * gst/registries/gstxmlregistry.c:
25508 * gst/registries/gstxmlregistry.h:
25509 * gst/registries/registrytest.c:
25511 2005-09-14 David Schleef <ds@schleef.org>
25513 * gst/glib-compat.h:
25514 * gst/gstregistryxml.c:
25515 Convergence is near. Seriously.
25517 2005-09-14 David Schleef <ds@schleef.org>
25519 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25520 * gst/glib-compat.h:
25521 Attempt #4 to appease the buildbots.
25523 2005-09-14 David Schleef <ds@schleef.org>
25525 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25528 2005-09-14 David Schleef <ds@schleef.org>
25530 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25533 2005-09-14 David Schleef <ds@schleef.org>
25535 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25538 2005-09-14 David Schleef <ds@schleef.org>
25540 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25541 * gst/glib-compat.h: Add some functions that are in newer versions
25542 of glib than we care to require.
25543 * gst/gstregistryxml.c: Use them.
25545 2005-09-14 David Schleef <ds@schleef.org>
25547 * po/POTFILES.in: remove gst-register.c
25549 2005-09-14 David Schleef <ds@schleef.org>
25551 * docs/gst/gstreamer-docs.sgml:
25552 * docs/gst/gstreamer-sections.txt:
25553 * docs/gst/gstreamer.types:
25554 * docs/gst/tmpl/gstelement.sgml:
25555 * docs/gst/tmpl/gstplugin.sgml:
25556 * docs/gst/tmpl/gstpluginfeature.sgml:
25557 Documentation updates for registry changes.
25559 2005-09-14 David Schleef <ds@schleef.org>
25561 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25562 because we don't require glib-2.8.
25564 2005-09-14 David Schleef <ds@schleef.org>
25566 * gst/gstregistryxml.c: Added. Essentially moved out of the
25567 registries directory.
25569 2005-09-14 David Schleef <ds@schleef.org>
25571 * check/Makefile.am:
25572 * check/generic/states.c:
25576 * gst/gst_private.h:
25577 * gst/gstelementfactory.c:
25582 * gst/gstpluginfeature.c:
25583 * gst/gstpluginfeature.h:
25584 * gst/gstregistry.c:
25585 * gst/gstregistry.h:
25586 * gst/gstregistrypool.c: remove
25587 * gst/gstregistrypool.h: remove
25588 * gst/gsttypefind.c:
25589 * gst/gsttypefindfactory.c:
25591 * tools/Makefile.am:
25592 * tools/gst-compprep.c:
25593 * tools/gst-inspect.c:
25594 * tools/gst-register.c: remove
25595 * tools/gst-xmlinspect.c:
25596 Registry rewrite. Changes registry from being a file created
25597 by a tool into a simple cache file created automatically by
25598 libgstreamer. Removed gst-register (because it's no longer
25599 needed). Remove registry pools, because we only have one
25600 registry implementation (XML). Fix up other subsystems as
25603 2005-09-13 Michael Smith <msmith@fluendo.com>
25605 * gst/gstconfig.h.in:
25606 Don't Use windows linking attributes for MinGW. Fixes #316157
25608 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25610 * gst/gstutils.c: (set_state_async_thread_func),
25611 (gst_element_set_state_async):
25612 Apparently people think it's better if this function doesn't
25613 try to set the state to whatever state was asked for on the first
25614 call to this function for any object. Seriously.
25616 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25618 * check/gst/gstpipeline.c: (GST_START_TEST):
25619 * docs/gst/gstreamer-sections.txt:
25620 * gst/gstutils.c: (set_state_async_thread_func),
25621 (gst_element_set_state_async):
25623 add a "gst_element_set_state_async" method that
25624 sets the state and starts a thread to make sure the state
25625 change completes as best as it can
25627 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25629 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25630 codify design+behaviour in testsuite after discussion
25632 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25634 * docs/gst/tmpl/gstelement.sgml:
25635 * docs/manual/appendix-quotes.xml:
25637 * gst/gstelement.c: (gst_element_set_state):
25640 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25642 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25643 (gst_base_transform_prepare_output_buf),
25644 (gst_base_transform_handle_buffer):
25645 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25646 (gst_capsfilter_prepare_buf):
25647 Remove the requirement for sub-classes to call the parent
25648 implementation of prepare_output_buffer with a wrapper function.
25650 * gst/gsttaglist.h:
25651 * gst/gsttagsetter.h:
25652 Fix #define wrapper
25654 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25656 * docs/gst/gstreamer-sections.txt:
25659 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25661 * docs/gst/gstreamer-sections.txt:
25662 * docs/gst/tmpl/gstelement.sgml:
25663 * docs/gst/tmpl/gstplugin.sgml:
25664 * gst/gstminiobject.c:
25666 docs now stop throwing warnings
25668 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25670 * docs/gst/gstreamer-sections.txt:
25671 * docs/gst/gstreamer.types:
25672 * docs/gst/tmpl/gstpad.sgml:
25673 * docs/gst/tmpl/gsttypes.sgml:
25674 * gst/base/gstadapter.h:
25675 * gst/base/gstbasesink.h:
25676 * gst/base/gstbasesrc.h:
25682 * gst/gstelement.h:
25684 * gst/gstmessage.h:
25686 * gst/gststructure.c:
25687 * gst/registries/gstlibxmlregistry.h:
25688 various documentation fixes
25690 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25692 * docs/gst/gstreamer-sections.txt:
25693 * docs/gst/tmpl/gstvalue.sgml:
25694 rearrange gstvalue section
25695 * gst/gstutils.c: (gst_element_state_get_name):
25697 * gst/gstvalue.c: (_gst_value_initialize):
25701 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25703 * check/gst-libs/controller.c:
25704 Header include fix.
25705 * gst/base/gstbasetransform.c:
25706 (gst_base_transform_default_prepare_buf),
25707 (gst_base_transform_handle_buffer):
25708 * gst/base/gstbasetransform.h:
25709 Some more basetransform changes and fixes to enable sub-classes
25710 that modify buffer metadata only.
25711 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25712 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25713 (gst_capsfilter_prepare_buf):
25714 If the output pad has fixed allowed caps and input buffers
25715 don't have any, set the fixed caps on outgoing buffers.
25717 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25718 * check/elements/identity.c: (GST_START_TEST):
25719 Make the error a little clearer when the test fails because
25720 identity made a copy of the buffer.
25721 * docs/gst/gstreamer-sections.txt:
25722 New symbols in gstbasetransform.h
25723 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25724 (gst_base_transform_init), (gst_base_transform_transform_size),
25725 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25726 (gst_base_transform_default_prepare_buf),
25727 (gst_base_transform_get_unit_size),
25728 (gst_base_transform_buffer_alloc),
25729 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25730 (gst_base_transform_change_state),
25731 (gst_base_transform_set_passthrough),
25732 (gst_base_transform_set_in_place),
25733 (gst_base_transform_is_in_place):
25734 * gst/base/gstbasetransform.h:
25735 Change BaseTransform to separate in_place operate from same_caps
25736 output. in_place implies that the element can perform the transform
25737 on incoming buffers in-place, even if the caps on the output are
25739 Sub-class elements can now implement special buffer allocation
25740 methods for outgoing buffers if they wish to.
25741 Big documentation addition.
25742 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25743 * gst/elements/gstelements.c:
25744 Changes for basetransform modifications.
25745 * gst/elements/Makefile.am:
25746 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25747 Compile fix. Extra debug output.
25749 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25751 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25753 add tests for valid pad naming
25754 * gst/check/gstcheck.c: (gst_check_log_message_func),
25755 (gst_check_log_critical_func):
25757 remove printing of code, it is fragile when the code contains
25758 % and the line number is enough info
25759 * gst/check/gstcheck.h:
25760 * gst/gstpad.c: (gst_pad_template_new):
25763 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25766 say what CHECK flags we use
25767 * docs/libs/gstreamer-libs.types:
25768 * libs/gst/controller/Makefile.am:
25769 * libs/gst/controller/gst-controller.c:
25770 * libs/gst/controller/gst-controller.h:
25771 * libs/gst/controller/gst-helper.c:
25772 * libs/gst/controller/gst-interpolation.c:
25773 * libs/gst/controller/gstcontroller.c:
25774 * libs/gst/controller/gsthelper.c:
25775 * libs/gst/controller/gstinterpolation.c:
25776 * tools/gst-inspect.c: (print_plugin_info):
25777 we don't use dashes in header names
25779 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25781 * check/Makefile.am:
25782 * check/gst/.cvsignore:
25783 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25784 (gst_pipeline_suite), (main):
25785 adding a test for pipelines and state changes
25786 * gst/gstutils.c: (get_state_func):
25788 * gstreamer.spec.in:
25791 2005-09-08 Michael Smith <msmith@fluendo.com>
25793 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25794 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25795 (gst_file_src_is_seekable), (gst_file_src_get_size),
25796 (gst_file_src_start):
25797 * gst/elements/gstfilesrc.h:
25798 Various fixes for unseekable, unmmapable, and non-normal files, so
25799 that fallback to read() rather than mmap() works.
25800 * gst/gstevent.c: (gst_event_new_newsegment):
25801 Allow newsegment events with segment_start == segment_end, as will
25802 correctly happen if you use filesrc on a zero-size file, for
25805 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25807 * gst/gstplugin.c: (gst_plugin_load_file):
25808 Call g_module_close when we don't load the module
25810 * gst/registries/gstlibxmlregistry.c:
25811 (gst_xml_registry_get_property):
25812 Port leak fix from 0.8
25814 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25816 * docs/gst/gstreamer-docs.sgml:
25817 * docs/gst/tmpl/.cvsignore:
25818 * docs/gst/tmpl/gsttrace.sgml:
25819 * docs/gst/tmpl/gsttrashstack.sgml:
25822 * gst/gstelement.h:
25824 * gst/gstmessage.c:
25825 * gst/gstmessage.h:
25828 * gst/gsttaginterface.c:
25829 * gst/gsttaginterface.h:
25830 * gst/gsttaglist.c:
25831 * gst/gsttaglist.h:
25832 * gst/gsttagsetter.c:
25833 * gst/gsttagsetter.h:
25836 * gst/gsttrashstack.c:
25837 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25838 inlined docs for gsttrace, gsttrashstack
25840 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25843 * gst/elements/gstbufferstore.h:
25844 * gst/elements/gsttypefindelement.c:
25845 * gst/elements/gsttypefindelement.h:
25847 * gst/gsttypefind.c:
25848 * gst/gsttypefind.h:
25849 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25850 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25851 (gst_type_find_factory_dispose),
25852 (gst_type_find_factory_unload_thyself),
25853 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25854 (gst_type_find_factory_get_caps),
25855 (gst_type_find_factory_get_extensions),
25856 (gst_type_find_factory_call_function):
25857 * gst/gsttypefindfactory.h:
25858 * gst/registries/gstlibxmlregistry.c:
25859 * gst/registries/gstxmlregistry.c:
25860 splitted gsttypefind into gsttypefind, gsttypefindfactory
25862 2005-09-07 Andy Wingo <wingo@pobox.com>
25864 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25865 condition whereby the pad's task function is entered before the
25866 pad_mode variable was set.
25868 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25870 * gst/gstpad.c: (gst_pad_alloc_buffer):
25871 Catch misbehaving pad_alloc functions that don't
25872 set up caps and do it for them.
25874 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25876 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25877 test for pipe!=NULL
25878 * docs/gst/tmpl/.cvsignore:
25879 * docs/gst/tmpl/gstmemchunk.sgml:
25880 * docs/gst/tmpl/gstparse.sgml:
25881 * docs/gst/tmpl/gsttaglist.sgml:
25882 * docs/gst/tmpl/gsttagsetter.sgml:
25883 * docs/gst/tmpl/gsttypefind.sgml:
25884 * docs/gst/tmpl/gsttypefindfactory.sgml:
25885 * gst/gstmemchunk.c:
25888 * gst/gsttaginterface.c:
25889 * gst/gsttypefind.c:
25890 * gst/gsttypefind.h:
25893 === release 0.9.2 ===
25895 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25900 releasing 0.9.2, "South"
25902 2005-09-05 Andy Wingo <wingo@pobox.com>
25904 * gst/registries/gstxmlregistry.h:
25905 * gst/registries/gstxmlregistry.c: Um... resurrect...
25907 * gst/registries/gstxmlregistry.h:
25908 * gst/registries/gstxmlregistry.c: and update to newer API.
25909 Incidentally they should be a bit faster now that they don't have
25912 2005-09-05 Andy Wingo <wingo@pobox.com>
25914 * gst/registries/gstxmlregistry.h:
25915 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25916 replaced by the libxml registry a while back
25918 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25920 * docs/gst/tmpl/gstplugin.sgml:
25921 * gst/elements/gstelements.c:
25923 * gst/gstplugin.c: (gst_plugin_register_func),
25924 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25925 (gst_plugin_get_source):
25927 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25928 (gst_xml_registry_save_plugin):
25929 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25930 (gst_xml_registry_save_plugin):
25931 * tools/gst-inspect.c: (print_plugin_info):
25932 add a "source" plugin description field, to represent the source
25933 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25934 will set it to PACKAGE, which is automake's idea of the name of
25935 the source project.
25937 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25942 * docs/Makefile.am:
25943 * docs/faq/Makefile.am:
25944 * docs/gst/tmpl/gstelement.sgml:
25945 * docs/gst/tmpl/gsttypes.sgml:
25946 * docs/htmlinstall.mak:
25947 * docs/manual/Makefile.am:
25948 * docs/pwg/Makefile.am:
25949 reorganize doc build a little
25950 split out docbook and gtk-doc stuff
25951 have two separate --enable's and enable them through autogen
25952 but disable by default in configure (to be similar to other
25954 * gstreamer.spec.in:
25955 clean up docs install
25973 translation updates
25975 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25977 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25980 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25981 (gst_fake_sink_change_state):
25982 Make state change function thread-safe.
25984 * gst/gstpad.c: (gst_pad_alloc_buffer):
25985 Set offset on generic buffer allocated by fallback.
25987 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25989 * docs/gst/gstreamer-sections.txt:
25990 * docs/gst/tmpl/gstelement.sgml:
25992 * libs/gst/controller/gst-controller.c:
25993 (gst_controlled_property_set_interpolation_mode),
25994 (gst_controlled_property_new),
25995 (gst_controller_find_controlled_property):
25996 run the wingo-magic script against the docs
25998 2005-09-02 Stefan Kost <ensonic@users.sf.net>
26000 * docs/gst/gstreamer-docs.sgml:
26001 * docs/gst/gstreamer-sections.txt:
26002 * docs/gst/tmpl/.cvsignore:
26003 * docs/gst/tmpl/gstelementdetails.sgml:
26004 * docs/gst/tmpl/gstelementfactory.sgml:
26007 * gst/gstelementfactory.c:
26008 * gst/gstelementfactory.h:
26009 merged elementdetails docs into elementfactory docs
26012 2005-09-02 Andy Wingo <wingo@pobox.com>
26014 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
26015 consider this enum an enum and not a flags.
26017 2005-09-02 Stefan Kost <ensonic@users.sf.net>
26019 * docs/gst/gstreamer-docs.sgml:
26020 * docs/gst/tmpl/.cvsignore:
26021 * docs/gst/tmpl/gstghostpad.sgml:
26022 * docs/gst/tmpl/gstiterator.sgml:
26023 * docs/gst/tmpl/gstmacros.sgml:
26024 * docs/gst/tmpl/gstrealpad.sgml:
26025 * docs/gst/tmpl/gstregistry.sgml:
26026 * docs/gst/tmpl/gstregistrypool.sgml:
26027 * docs/gst/tmpl/gststructure.sgml:
26028 * docs/gst/tmpl/gstsystemclock.sgml:
26029 * docs/gst/tmpl/gsttrace.sgml:
26030 * gst/gstghostpad.c:
26032 * gst/gstmemchunk.c:
26033 * gst/gstmemchunk.h:
26035 * gst/gstregistry.c:
26036 * gst/gstregistrypool.c:
26037 * gst/gststructure.c:
26038 * gst/gstsystemclock.c:
26041 2005-09-02 Andy Wingo <wingo@pobox.com>
26043 * gst/gstelement.h (GstState): Renamed from GstElementState,
26044 changed to be a normal enum instead of flags.
26045 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
26046 munged to be GST_STATE_CHANGE_*.
26047 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
26048 work with the new state representation.
26049 (GstStateChange): New enumeration of possible state transitions.
26050 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
26051 (GstElementClass::change_state): Pass the GstStateChange along as
26052 an argument. Helps language bindings, so they don't have to use
26053 tricky lock-needing macros like GST_STATE_CHANGE ().
26055 * scripts/update-states (file): New script. Run it on a file to
26056 update it for state naming and API changes. Updates files in
26059 * All files updated for the new API.
26061 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
26063 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
26064 * gst/gstutils.c: (gst_util_set_value_from_string),
26065 (gst_util_set_object_arg):
26066 fix a bunch of unchecked return values
26067 * tools/gst-complete.c: (main):
26068 * gstreamer.spec.in:
26071 2005-09-01 Wim Taymans <wim@fluendo.com>
26073 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26074 (gst_base_sink_event), (gst_base_sink_do_sync),
26075 (gst_base_sink_handle_event):
26076 * gst/base/gstbasesink.h:
26077 Handle newsegments more correctly.
26082 * gst/gstevent.c: (gst_event_new_newsegment):
26083 A newsegment cannot have a start_time of -1
26085 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
26087 * win32/gstenumtypes.c:
26088 * win32/gstenumtypes.h:
26091 2005-08-31 Stefan Kost <ensonic@users.sf.net>
26093 * libs/gst/controller/gst-controller.c:
26094 (gst_controlled_property_set_interpolation_mode),
26095 (gst_controlled_property_new):
26096 fixed boolean again
26098 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
26100 * docs/faq/gst-uninstalled:
26105 * gst/gstutils.c: (gst_element_link_filtered):
26107 add gst_element_link_filtered
26109 2005-08-31 Stefan Kost <ensonic@users.sf.net>
26111 * docs/gst/gstreamer-docs.sgml:
26112 * docs/gst/gstreamer-sections.txt:
26113 * docs/gst/tmpl/.cvsignore:
26114 * docs/gst/tmpl/gsterror.sgml:
26115 * docs/gst/tmpl/gstfilter.sgml:
26116 * docs/gst/tmpl/gsturihandler.sgml:
26117 * docs/gst/tmpl/gsturitype.sgml:
26118 * docs/gst/tmpl/gstutils.sgml:
26119 * docs/gst/tmpl/gstxml.sgml:
26124 * gst/gsturitype.c:
26127 inlined more docs, fixed double id-ref
26129 2005-08-31 Wim Taymans <wim@fluendo.com>
26131 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26132 (gst_base_transform_handle_buffer):
26133 Passthrough elements don't need the caps as they don't care.
26135 2005-08-31 Wim Taymans <wim@fluendo.com>
26137 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26138 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26139 Don't leak refcounts on buffers.
26141 2005-08-31 Wim Taymans <wim@fluendo.com>
26143 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26144 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26145 (gst_base_transform_chain), (gst_base_transform_change_state):
26146 * gst/base/gstbasetransform.h:
26147 Handle the case where we are not negotiated more gracefully.
26149 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
26151 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26152 (gst_file_src_map_region):
26153 Set READONLY flag on mmap'ed buffers, otherwise
26154 gst_buffer_make_writable() won't work properly (#314708).
26156 2005-08-31 Wim Taymans <wim@fluendo.com>
26158 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26159 passthrough elements can even do inplace on non writable
26160 buffers (as they don't touch them).
26162 2005-08-31 Stefan Kost <ensonic@users.sf.net>
26164 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26165 (gst_test_mono_source_set_property),
26166 (gst_test_mono_source_class_init), (GST_START_TEST),
26167 (gst_controller_suite):
26168 more tests (hehe I have the most)
26170 describe popping messages whenusing mulltiple sources
26171 * libs/gst/controller/gst-controller.c:
26172 (gst_controlled_property_set_interpolation_mode),
26173 (gst_controlled_property_new):
26174 * libs/gst/controller/gst-controller.h:
26175 * libs/gst/controller/gst-interpolation.c:
26176 implement boolean properties
26178 2005-08-31 Wim Taymans <wim@fluendo.com>
26180 * gst/gstminiobject.c: (gst_mini_object_ref):
26181 Cannot assert that the refcount has to be positive
26182 since a disposed object can be resurrected.
26184 2005-08-31 Wim Taymans <wim@fluendo.com>
26186 * gst/gstpad.c: (gst_pad_init):
26187 Revert change, need to first fix badly behaving
26190 2005-08-30 Wim Taymans <wim@fluendo.com>
26192 * check/elements/fakesrc.c: (setup_fakesrc):
26193 * check/elements/identity.c: (setup_identity):
26194 Activate pads before using them.
26196 2005-08-30 Wim Taymans <wim@fluendo.com>
26198 * gst/base/gstadapter.c: (gst_adapter_flush):
26199 Flushing out 0 bytes is ok for this function.
26201 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26202 no newsegment gives a warning and sets the start/stop to
26205 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26206 (gst_base_transform_set_passthrough):
26209 * gst/gstminiobject.c: (gst_mini_object_ref):
26210 Check refcount here too.
26212 * gst/gstpad.c: (gst_pad_init):
26213 Pads are initially flushing and refusing data.
26215 * gst/gstutils.c: (gst_element_link_pads_filtered):
26216 When adding a capsfilter element make sure it has the
26217 same state as the parent bin.
26219 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26221 * docs/gst/tmpl/.cvsignore:
26222 * docs/gst/tmpl/gstformat.sgml:
26223 * docs/gst/tmpl/gstversion.sgml:
26227 * gst/gstversion.h.in:
26228 more docs and two more inlined
26230 2005-08-30 Wim Taymans <wim@fluendo.com>
26232 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26233 Don't sync to clock.
26235 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26237 * docs/gst/gstreamer-sections.txt:
26238 ultral33t func10ns deserve to appear in the docs actually
26239 * docs/gst/tmpl/.cvsignore:
26240 * docs/gst/tmpl/gstcompat.sgml:
26241 * docs/gst/tmpl/gstconfig.sgml:
26242 * gst/check/gstcheck.c:
26244 * gst/gstconfig.h.in:
26247 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26249 * docs/gst/tmpl/.cvsignore:
26250 * docs/gst/tmpl/gstquery.sgml:
26251 * docs/gst/tmpl/gstutils.sgml:
26254 inlined and extended docs
26256 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26258 * check/gst-libs/controller.c: (GST_START_TEST),
26259 (gst_controller_suite):
26261 * docs/gst/tmpl/gstutils.sgml:
26262 * docs/libs/gstreamer-libs-sections.txt:
26263 * docs/libs/tmpl/gstdataprotocol.sgml:
26265 * examples/controller/audio-example.c: (main):
26266 controller example works now
26269 * tools/gst-inspect.c: (print_element_properties_info):
26270 show param spec flags
26272 2005-08-29 Andy Wingo <wingo@pobox.com>
26274 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26276 2005-08-28 Andy Wingo <wingo@pobox.com>
26278 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26279 as having two arguments instead of just one. Allows superclasses
26280 to access information on subclasses -- see the terrible for() loop
26281 in gtype.c:g_type_create_instance for the reason why. All callers
26284 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26286 * docs/design/part-messages.txt:
26288 * docs/gst/tmpl/.cvsignore:
26289 * docs/gst/tmpl/gstcaps.sgml:
26290 * docs/gst/tmpl/gstclock.sgml:
26296 * gst/gstmessage.c:
26297 added descriptions for bus and message
26298 inline caps and clock docs
26300 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26302 * gst/gstmessage.c:
26303 * gst/gstmessage.h:
26306 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26308 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26311 2005-08-26 Andy Wingo <wingo@pobox.com>
26313 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26314 element_set_state's return val.
26315 (test_2_elements): Add test that's been disabled for months.
26317 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26318 can-activate-pull properties.
26320 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26321 can-activate-pull properties. Implement is_seekable so fakesrc can
26322 operate in pull mode.
26324 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26326 (gst_base_sink_activate, gst_base_sink_activate_pull)
26327 (gst_base_sink_activate_push): Make activation mode choosing work.
26329 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26330 is right. Make pull mode work. Post an eos before pausing in pull
26332 (gst_base_sink_change_state): Pay attention to the core's
26333 change_state() return val.
26335 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26336 has-getrange properties. Cleanups.
26338 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26339 has_getrange and replace with can_activate_pull and
26342 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26343 locking comments. Remove has_loop, has_chain and replace with
26344 can_activate_pull and can_activate_push.
26346 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26349 * examples/Makefile.am:
26350 * examples/metadata/Makefile.am:
26351 * examples/metadata/read-metadata.c: (message_loop),
26352 (have_pad_handler), (make_pipeline), (print_tag), (main):
26353 Add metadata reading example that loops over a list of filenames,
26354 dumping any tags found.
26356 * gst/gstbus.c: (gst_bus_dispose):
26357 * gst/gstelement.c: (gst_element_dispose):
26358 Release a few potentially-held references in dispose.
26360 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26362 * docs/gst/tmpl/gstminiobject.sgml:
26363 do *not* add tmpl/*.sgml files to CVS!
26365 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26367 * libs/gst/bytestream/.cvsignore:
26368 * libs/gst/bytestream/Makefile.am:
26369 * libs/gst/bytestream/adapter.c:
26370 * libs/gst/bytestream/adapter.h:
26371 * libs/gst/bytestream/bytestream.c:
26372 * libs/gst/bytestream/bytestream.h:
26373 * libs/gst/bytestream/filepad.c:
26374 * libs/gst/bytestream/filepad.h:
26375 removing obsolete files
26377 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26379 * docs/gst/gstreamer-docs.sgml:
26380 * docs/libs/gstreamer-libs-docs.sgml:
26381 disabed additional index entries again, as this makes docs-gen just
26382 slow and they aren't useful yet
26383 * docs/libs/gstreamer-libs-sections.txt:
26384 little -section.txt cleanup for libs
26386 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26388 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26389 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26390 fix up some debugging
26391 (gst_base_transform_get_unit_size),
26392 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26393 (gst_base_transform_handle_buffer):
26394 * gst/base/gstbasetransform.h:
26395 handle and store timed NEWSEGMENT events so that subclasses that
26396 calculate time by counting samples have a segment_start time they
26397 need to add to their timestamps - see audioresample
26399 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26402 removed ';' from the end of macro defs
26403 * docs/gst/gstreamer-docs.sgml:
26404 * docs/gst/gstreamer-sections.txt:
26405 * docs/gst/tmpl/.cvsignore:
26407 * gst/gstelement.c: (gst_element_class_init),
26408 (gst_element_set_state), (activate_pads),
26409 (gst_element_save_thyself):
26410 * gst/gstevent.c: (gst_event_new_newsegment):
26412 * gst/gstiterator.c:
26413 * gst/gstiterator.h:
26416 * gst/gstutils.c: (gst_pad_query_convert):
26418 fixed parameter name mismatches between source, header and docs
26419 added some more docs, resolved the last batch of unused elements in
26420 docs (now someone needs to doc them)
26422 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26424 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26425 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26426 don't walk through the plugins backwards. Where is all this
26427 reversed logic coming from ?
26429 2005-08-25 Wim Taymans <wim@fluendo.com>
26431 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26432 (gst_base_transform_transform_size),
26433 (gst_base_transform_configure_caps),
26434 (gst_base_transform_get_unit_size),
26435 (gst_base_transform_buffer_alloc),
26436 (gst_base_transform_change_state):
26437 * gst/base/gstbasetransform.h:
26438 Cache caps unit_size.
26439 Make sure we cannot negotiate up and downstream at the
26442 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26444 * gst/gst.c: (init_pre), (init_post):
26445 register the installed plugin path after the env var
26446 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26447 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26448 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26449 directories, so the tests can prefer uninstalled over installed
26451 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26453 * gst/base/gstbasetransform.h:
26458 2005-08-25 Wim Taymans <wim@fluendo.com>
26460 * gst/gstbin.c: (bin_bus_handler):
26461 Be a bit more conservative about the posted message.
26463 * gst/gstbus.c: (gst_bus_post):
26464 Some cleanups, warn wrong return values.
26466 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26468 * check/gst/gstbin.c: (GST_START_TEST):
26469 * gst/gstbin.c: (bin_bus_handler):
26470 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26471 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26472 (gst_message_new_warning), (gst_message_new_tag),
26473 (gst_message_new_state_changed), (gst_message_new_segment_start),
26474 (gst_message_new_segment_done), (gst_message_new_custom):
26475 * gst/gstmessage.h:
26476 * tools/gst-launch.c: (event_loop):
26477 * tools/gst-md5sum.c: (event_loop):
26478 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26480 2005-08-25 Wim Taymans <wim@fluendo.com>
26482 * check/generic/states.c: (GST_START_TEST):
26483 Cleanup can be done at the end.
26485 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26486 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26487 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26488 Oh boy.. Thanks for finding this, Thomas.
26490 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26492 * docs/gst/gstreamer.types:
26493 added missing types
26495 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26497 * docs/gst/gstreamer-docs.sgml:
26498 * docs/gst/gstreamer-sections.txt:
26499 * docs/gst/tmpl/.cvsignore:
26501 * gst/gstiterator.c:
26503 * gst/registries/gstxmlregistry.h:
26504 added missing classes and symbols (123 more to go)
26505 removed removed symbols from section file
26506 fixed many doc-comments
26508 2005-08-24 Wim Taymans <wim@fluendo.com>
26510 * check/generic/states.c: (GST_START_TEST):
26511 Make sure all tasks are stopped.
26513 * check/gst/gstbin.c: (GST_START_TEST):
26514 Unref after usage for proper valgrinding.
26516 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26517 Really wait for the task to stop before destroying the
26520 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26521 (gst_queue_src_activate_push):
26522 Small cleanups. Don't stop the task when we did not start
26525 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26526 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26527 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26530 Protect the stream lock with the object lock.
26531 Disallow setting the stream lock when running.
26532 Add cleanup_all to wait for the threadpool to finish.
26533 Remove code to autoallocate a mutex if none was provided.
26534 Add _join() to wait for a task to stop.
26535 Protect the thread pool with a global lock.
26537 2005-08-24 Wim Taymans <wim@fluendo.com>
26539 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26540 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26541 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26542 * gst/base/gstbasesink.h:
26543 Handle newsegment events correctly.
26544 Drop buffers out of the segment range.
26546 2005-08-22 Andy Wingo <wingo@pobox.com>
26548 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26549 macro, implements an interface and gstimplementsinterface for a
26552 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26554 * check/Makefile.am:
26555 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26556 add a test that does a bunch of state changes on elements
26557 needs some fixing for valgrind
26558 * check/states/sinks.c: (gst_object_suite):
26561 add prototype for gst_caps_is_equal_fixed
26563 * gst/gstregistrypool.c:
26566 2005-08-24 Andy Wingo <wingo@pobox.com>
26568 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26569 convert a negative value. Doesn't make much sense. Mostly this is
26570 here to force callers to ensure -1 maps to -1.
26572 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26574 * docs/pwg/advanced-types.xml:
26575 Well done to Michael for catching my deliberate introduction
26576 of this spelling mistake.
26577 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26578 * gst/gstelement.h:
26579 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26580 unlink pads before removing the element from the bin.
26582 2005-08-24 Andy Wingo <wingo@pobox.com>
26584 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26585 the same thing as GST_DEBUG=*:4.
26586 (parse_debug_level, parse_debug_category): New helper parsers.
26588 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26590 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26591 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26592 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26593 (gst_base_transform_buffer_alloc),
26594 (gst_base_transform_handle_buffer):
26595 use gboolean return values and pointers to size so we can use the
26596 full GST_BUFFER_SIZE range (guint) for buffer sizes
26597 use GstPadDirection for transform_caps
26598 * gst/base/gstbasetransform.h:
26599 rename get_size to get_unit_size since that's what it is
26600 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26601 use GstPadDirection for transform_caps
26602 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26604 cleanup and debugging
26606 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26608 * gst/gstelement.c: (gst_element_class_init),
26609 (gst_element_set_state), (activate_pads),
26610 (gst_element_save_thyself):
26611 * tools/gst-compprep.c: (main):
26612 * tools/gst-inspect.c: (print_element_properties_info):
26613 * tools/gst-xmlinspect.c: (print_element_properties):
26614 Fixed long standing mem-leak
26616 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26618 * check/gst/gstbin.c: (GST_START_TEST):
26619 * gst/gstbin.c: (bin_bus_handler):
26620 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26621 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26622 (gst_message_new_warning), (gst_message_new_tag),
26623 (gst_message_new_state_changed), (gst_message_new_segment_start),
26624 (gst_message_new_segment_done), (gst_message_new_custom):
26625 * gst/gstmessage.h:
26626 * tools/gst-launch.c: (event_loop):
26627 * tools/gst-md5sum.c: (event_loop):
26628 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26629 that applications can sensibly post custom messages with references
26630 to their own objects.
26632 2005-08-24 Andy Wingo <wingo@pobox.com>
26634 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26637 2005-08-24 Wim Taymans <wim@fluendo.com>
26639 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26640 (gst_base_transform_transform_caps),
26641 (gst_base_transform_transform_size),
26642 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26643 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26644 (gst_base_transform_handle_buffer):
26645 * gst/base/gstbasetransform.h:
26646 Many fixes and new features added by Thomas. Can now also do
26647 transforms with variable sizes and a custom fixate_caps function.
26649 2005-08-24 Wim Taymans <wim@fluendo.com>
26651 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26655 Cast to ClockTime before formatting to time.
26660 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26662 * check/gst-libs/controller.c: (GST_START_TEST),
26663 (gst_controller_suite):
26664 * docs/gst/tmpl/gstcaps.sgml:
26665 * docs/gst/tmpl/gstghostpad.sgml:
26666 * docs/gst/tmpl/gstquery.sgml:
26667 * docs/gst/tmpl/gstutils.sgml:
26668 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26669 (gst_object_sink_values), (gst_object_get_value_arrays),
26670 (gst_object_get_value_array):
26671 gracefully handle helper method calls to objects that are not beeing
26672 controlled, added test case for that
26674 2005-08-23 Wim Taymans <wim@fluendo.com>
26676 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26677 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26678 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26679 (gst_event_parse_qos), (gst_event_new_seek),
26680 (gst_event_parse_seek):
26682 Some more debugging output and doc cleanups.
26684 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26685 Fix possible deadlock.
26687 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26689 * docs/gst/gstreamer-docs.sgml:
26690 * docs/gst/gstreamer-sections.txt:
26691 * docs/gst/gstreamer.types:
26692 * docs/gst/tmpl/.cvsignore:
26695 * gst/gstelement.c:
26697 added 100 symbols from gstreamer-unused.txt to the right sections
26698 fixed more broken comments
26699 added GstBus to docs
26701 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26703 * docs/gst/gstreamer-sections.txt:
26704 * docs/gst/tmpl/.cvsignore:
26705 * docs/gst/tmpl/gstbin.sgml:
26706 * docs/gst/tmpl/gstbuffer.sgml:
26707 * gst/base/gstbasesrc.c:
26708 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26711 * tools/gst-launch.1.in:
26712 inlined more doc comments, added missing comments and fixed comments
26715 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26717 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26721 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26723 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26724 * gst/gststructure.h:
26725 add a fixate function for booleans; add a FIXME that these func
26726 names should probably be gst_structure_fixate_*
26728 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26730 * docs/gst/gstreamer-docs.sgml:
26731 * docs/gst/gstreamer-sections.txt:
26733 * gst/gstbin.c: (gst_bin_get_type),
26734 (gst_bin_child_proxy_get_child_by_index),
26735 (gst_bin_child_proxy_get_children_count),
26736 (gst_bin_child_proxy_init):
26737 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26738 (gst_child_proxy_get_child_by_index),
26739 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26740 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26741 (gst_child_proxy_get), (gst_child_proxy_set_property),
26742 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26743 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26744 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26745 * gst/gstchildproxy.h:
26746 * gst/parse/grammar.y:
26747 * tools/gst-inspect.c: (print_interfaces),
26748 (print_element_properties_info), (print_element_info):
26749 ported gstchildproxy over from 0.8
26750 ported gst-inspect fixes and enhancements over from 0.8
26752 2005-08-22 Wim Taymans <wim@fluendo.com>
26754 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26755 (gst_base_transform_handle_buffer):
26756 Also call the transform function if we have ANY caps.
26758 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26761 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26763 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26764 Don't pretend to handle seek events if the source is not seekable
26766 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26768 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26769 Remove extra parameter to debug output
26771 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26772 (gst_base_src_do_seek), (gst_base_src_activate_push):
26773 Fix seek event handling.
26775 * gst/gstpipeline.c: (gst_pipeline_change_state):
26776 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26777 (gst_queue_src_activate_push):
26778 Don't start the src pad task on FLUSH_STOP if the pad
26782 2005-08-22 Wim Taymans <wim@fluendo.com>
26784 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26785 Added check for gst_static_caps_get() refcounting.
26787 2005-08-22 Wim Taymans <wim@fluendo.com>
26789 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26790 Make _static_caps_get() refcounting sane.
26792 * gst/gstelement.c: (gst_element_set_state):
26793 Add g_return_val_if_fail() to protect against segfaults.
26795 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26797 * docs/gst/tmpl/gstevent.sgml:
26800 inlined remaining docs, added missing doc comments
26802 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26804 * check/gst/gstbin.c: (GST_START_TEST):
26805 since we don't know when preroll is done, use refcount range
26807 * gst/check/gstcheck.h:
26808 add macro for checking refcount range
26810 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26812 * check/Makefile.am:
26813 clean up environment for when registry gets built versus
26814 when actual tests are run; valgrind seems to not report
26815 leaks if GST_PLUGIN_PATH is set to some specific values
26816 * check/gst/gstbin.c: (GST_START_TEST):
26817 add more refcounting checks; maybe this exposes a
26819 * common/check.mak:
26820 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26821 * gst/check/gstcheck.h:
26822 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26823 (gst_bin_change_state):
26824 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26825 add/fix debugging/whitespace
26827 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26829 * check/gst/gstevent.c: (event_probe), (test_event),
26831 Er, don't call gst_bin_watch_for_state_change you idiot.
26833 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26835 * check/Makefile.am:
26836 Use CHECK_CFLAGS and CHECK_LIBS
26837 * check/gst/gstevent.c: (event_probe), (test_event),
26840 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26841 (gst_base_src_start), (gst_base_src_stop),
26842 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26843 (gst_base_src_change_state):
26844 Sprinkle gst_base_src_stop liberally around error paths to fix
26845 problems reusing a source after failed state changes.
26846 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26847 (helper_find_suggest), (gst_type_find_helper):
26848 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26850 * docs/gst/tmpl/gstevent.sgml:
26851 Migrate part of the docs from the SGML file. Wait for ensonic to
26852 tell me how I did it wrong ;)
26853 * tools/gst-typefind.c: (main):
26854 Extra robustness to state changes between files.
26856 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26858 * check/Makefile.am:
26859 don't valgrind the controller test - it's leaking - Stefan, HELP
26860 * gst/check/gstcheck.c: (gst_check_message_error),
26861 (gst_check_chain_func), (gst_check_setup_element),
26862 (gst_check_teardown_element), (gst_check_setup_src_pad),
26863 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26864 (gst_check_teardown_sink_pad):
26865 * gst/check/gstcheck.h:
26866 add a bunch of methods to set up elements, and src and sink pads
26867 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26868 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26871 * gst/gstmessage.c:
26873 whitespace/doc fixes
26875 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26877 * gst/gstelement.h:
26878 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26879 be handled by the application and not always printed as well
26881 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26883 * check/Makefile.am:
26885 * gst/check/gstcheck.c: (gst_check_message_error):
26886 * gst/check/gstcheck.h:
26887 add a fail_unless_equals_int
26888 add fail_unless for error messages
26890 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26892 * check/Makefile.am:
26894 * common/Makefile.am:
26895 * common/check.mak:
26897 factor out some of the common stuff so we can use it
26899 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26901 * check/Makefile.am:
26902 * check/gst/gstiterator.c: (GST_START_TEST):
26903 * check/gst/gstsystemclock.c: (GST_START_TEST),
26904 (gst_systemclock_suite):
26905 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26907 valgrind more tests
26909 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26911 * check/elements/.cvsignore:
26912 * check/elements/gstfakesrc.c:
26913 rename to name of element
26914 * check/elements/identity.c: (chain_func), (event_func),
26915 (setup_identity), (cleanup_identity), (GST_START_TEST),
26916 (identity_suite), (main):
26917 add a test for identity
26918 * check/Makefile.am:
26919 * pkgconfig/Makefile.am:
26920 * pkgconfig/gstreamer-check.pc.in:
26921 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26925 move the check stuff to a library that gets installed
26926 * check/gst-libs/controller.c: (GST_START_TEST):
26927 * check/gst-libs/gdp.c:
26928 * check/gst/gst.c: (GST_START_TEST):
26929 * check/gst/gstbin.c:
26930 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26931 * check/gst/gstbus.c:
26932 * check/gst/gstcaps.c: (GST_START_TEST):
26933 * check/gst/gstelement.c:
26934 * check/gst/gstghostpad.c:
26935 * check/gst/gstiterator.c:
26936 * check/gst/gstmessage.c:
26937 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26938 * check/gst/gstobject.c:
26939 * check/gst/gstpad.c: (GST_START_TEST):
26940 * check/gst/gststructure.c: (GST_START_TEST):
26941 * check/gst/gstsystemclock.c: (GST_START_TEST),
26942 (gst_systemclock_suite):
26943 * check/gst/gsttag.c: (gst_tag_suite):
26944 * check/gst/gstvalue.c:
26945 * check/pipelines/cleanup.c:
26946 * check/pipelines/simple_launch_lines.c:
26947 * check/states/sinks.c:
26948 change include statement
26950 * docs/gst/gstreamer-sections.txt:
26951 * docs/gst/tmpl/gstpad.sgml:
26952 document more pad stuff
26953 * gst/gstminiobject.c: (gst_mini_object_ref),
26954 (gst_mini_object_unref):
26957 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26959 * docs/gst/tmpl/gst.sgml:
26961 eliminate another tmpl file, fix spelling in the long-description
26963 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26965 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26966 (test_event), (timediff), (gstevents_suite):
26967 Should fix build on 64-bit arch's
26969 2005-08-18 Andy Wingo <wingo@pobox.com>
26971 Make sure that when a pipeline goes to PLAYING, that data has
26972 actually hit the sink.
26974 * check/states/sinks.c (test_sink): A sink that doesn't get any
26975 data shouldn't return SUCCESS for going to either PLAYING or
26976 PAUSED. Test also the return values on the way back down.
26978 * gst/gstelement.c (gst_element_set_state): When changing the
26979 state of an element currently changing state asynchronously, go to
26980 lost-state after commiting the pending state. Makes future calls
26981 to get_state continue to return ASYNC.
26983 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26984 ASYNC when going to PLAYING if we still don't have preroll, as can
26985 happen with live sources.
26987 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26989 * docs/pwg/advanced-types.xml:
26990 Hack long paragraph into 2 chunks as a workaround for buggy
26991 jadetex version in sid and breezy that loops infinitely and
26994 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26996 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26997 (test_event), (timediff), (gstevents_suite):
26998 Provide more error margin in clock measurements to allow for
26999 g_get_current_time inaccuracies.
27001 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
27003 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27004 (test_event), (timediff), (gstevents_suite):
27005 Fix error message output so I might be able to tell why the
27006 test works here but fails on the build farm.
27008 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
27010 * check/Makefile.am:
27011 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27012 (test_event), (timediff), (gstevents_suite), (main):
27015 * docs/design/part-seeking.txt:
27016 Spelling correction
27018 * docs/gst/tmpl/gstevent.sgml:
27019 * docs/gst/tmpl/gstfakesrc.sgml:
27022 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27023 Treat a buffer-without-newsegment the same as a receiving
27024 a newsegment not in time format, and disable syncing to the clock
27027 * gst/gstbus.c: (gst_bus_set_sync_handler):
27028 Assert if anyone tries to replace the existing sync_handler for bus,
27029 as only the owner should be setting it.
27032 Have a fixed set of custom event enums with events identified by
27033 their structure name (as in 0.8), rather than a free-for-all
27034 allowing collisions between enum values from different plugins.
27036 * gst/gstpad.c: (gst_pad_class_init):
27039 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27040 Handle out-of-band downstream events from the sending thread.
27042 2005-08-17 Andy Wingo <wingo@pobox.com>
27044 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
27045 play-timeout==0 to mean no timeout at all. In that case, don't
27046 bother with a get_state or a warning, just return directly, even
27049 * gst/base/gstbasetransform.c: Debug changes.
27052 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
27053 ensure bins post state change messages. A bit of a hack but I can't
27054 think of a way to avoid it.
27056 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
27058 2005-08-16 Andy Wingo <wingo@pobox.com>
27060 * gst/base/gstadapter.h:
27061 * gst/base/gstadapter.c (gst_adapter_take): New function, like
27062 peek() but you own the data. Not terribly efficient atm.
27064 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27066 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
27067 (gst_element_found_tags):
27069 Add two utility functions for tag handling.
27071 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27073 * docs/manual/advanced-dataaccess.xml:
27074 * docs/manual/basics-helloworld.xml:
27075 Fix docs to use _bin_add() before _link(), which fixes the examples
27076 with recent core versions (reported by Madhan Raj M
27077 <raj_madan@rediffmail.com>, #313199).
27079 2005-08-16 Wim Taymans <wim@fluendo.com>
27081 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27082 Added subtract checks.
27084 * docs/design/part-events.txt:
27085 Some more docs about newsegment
27087 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27090 * gst/gstcaps.c: (gst_caps_to_string):
27091 Add comments, cleanups.
27093 * gst/gstelement.c: (gst_element_save_thyself):
27096 * gst/gstvalue.c: (gst_value_collect_int_range),
27097 (gst_string_unwrap), (gst_value_union_int_int_range),
27098 (gst_value_union_int_range_int_range),
27099 (gst_value_intersect_int_int_range),
27100 (gst_value_intersect_int_range_int_range),
27101 (gst_value_intersect_double_double_range),
27102 (gst_value_intersect_double_range_double_range),
27103 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27104 (gst_value_subtract_int_range_int),
27105 (gst_value_subtract_double_range_double),
27106 (gst_value_subtract_double_range_double_range),
27107 (gst_value_subtract_from_list), (gst_value_subtract_list),
27108 (gst_value_can_compare), (gst_value_compare_fraction):
27109 Cleanups, add comments, remove unneeded asserts.
27111 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
27113 * tools/gst-launch.c: (event_loop):
27114 don't convert NULL structures to strings
27116 2005-08-15 Stefan Kost <ensonic@users.sf.net>
27118 * docs/gst/gstreamer-sections.txt:
27119 made some defines private
27120 * docs/gst/tmpl/gstconfig.sgml:
27121 * docs/gst/tmpl/gstqueue.sgml:
27122 * docs/gst/tmpl/gsttaglist.sgml:
27123 * docs/gst/tmpl/gsttypes.sgml:
27124 * docs/gst/tmpl/gstutils.sgml:
27125 * docs/pwg/appendix-porting.xml:
27126 * gst/base/gstbasesink.h:
27127 * gst/base/gstbasesrc.c:
27128 * gst/base/gstbasesrc.h:
27129 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27130 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27131 * gst/gstelement.c: (gst_element_class_init):
27132 * gst/gstpad.c: (gst_pad_class_init):
27133 * gst/gstqueue.c: (gst_queue_class_init):
27134 * gst/gstxml.c: (gst_xml_class_init):
27135 documented all undocumented signal inline
27136 * libs/gst/controller/gst-controller.h:
27139 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27141 * docs/pwg/appendix-porting.xml:
27142 Document _set_link_function -> _set_setcaps_function.
27144 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
27146 * check/Makefile.am:
27147 add a .check target for running the check
27148 * check/gst-libs/controller.c: (GST_START_TEST):
27150 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27151 complete checks for gstbuffer; would be nice if I could get the
27152 gcov stuff to work so I can see if I actually completed gstbuffer.c
27153 * check/gstcheck.h:
27154 add ASSERT_BUFFER_REFCOUNT
27156 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
27158 * docs/gst/gstreamer-sections.txt:
27159 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27161 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27162 spew out a warning if a tag that is already registered
27163 is re-registered, unless it is re-registered with a
27164 different type (#308438).
27166 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
27168 * docs/pwg/appendix-porting.xml:
27169 * docs/pwg/building-state.xml:
27170 Add some paragraphs about state changes in 0.9 to the PWG
27171 and the porting guide, in particular about the new meaning
27172 of GST_STATE_PAUSED and how to write state change functions
27173 with concurrent access by multiple threads in mind.
27175 2005-08-11 Stefan Kost <ensonic@users.sf.net>
27177 * docs/gst/gstreamer-docs.sgml:
27178 * docs/libs/gstreamer-libs-docs.sgml:
27179 added deprecation and since indexes
27180 * libs/gst/controller/gst-controller.c:
27181 * libs/gst/controller/gst-helper.c:
27185 2005-08-11 Wim Taymans <wim@fluendo.com>
27187 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27188 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27189 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27190 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27191 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27192 (gst_ghost_pad_set_target):
27193 Actually implement (re)setting the target on a ghostpad
27194 as described in the docs.
27196 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
27198 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27199 Check whether GST_DEBUG_NO_COLOR environment variable is
27200 set and disable coloured debug output if that is the case.
27202 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
27204 * gst/base/gsttypefindhelper.c: (helper_find_peek),
27205 (gst_type_find_helper):
27206 The memory returned by gst_type_find_peek() needs to
27207 stay valid until the end of a typefind function, and
27208 typefind functions may keep results from different
27209 offsets around, so we can't just unref the buffer from
27210 the previous _peek(), but have to save all buffers
27211 returned by _peek() until typefinding is done and only
27214 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
27216 * docs/gst/gstreamer-sections.txt:
27218 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27220 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27222 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27223 Fix a pretty good memleak.
27225 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
27227 * gst/gstiterator.h:
27228 Fix wrong include and 'make distcheck'.
27230 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27232 * gst/gstbin.c: (bin_bus_handler):
27233 Use gst_element_post_message() instead.
27235 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
27237 * gst/base/gstadapter.h:
27238 * gst/base/gstbasesink.h:
27239 * gst/base/gstbasesrc.h:
27240 * gst/base/gstbasetransform.h:
27241 * gst/base/gstcollectpads.h:
27242 * gst/base/gstpushsrc.h:
27243 * gst/gstiterator.h:
27244 Add padding to our base elements' class and instance structs and
27245 to GstIterator (you will need to rebuild all plugins and apps!)
27247 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27249 * gst/gstbin.c: (bin_bus_handler):
27250 Make default message forwarding from child->bus to bin->bus
27251 threadsafe and make it not emit warnings if the parent has no bus.
27253 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27255 * gst/gstelement.c: (activate_pads):
27256 On paused->ready, set pad->caps to NULL, as is the documented
27257 behaviour in this state change. Fixes playback of series of
27258 media files when visualization is enabled in Totem.
27260 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27262 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27263 Allow NULL as filter-caps (which means "any").
27265 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27267 * docs/libs/gstreamer-libs-sections.txt:
27268 * libs/gst/controller/gst-controller.c:
27269 * libs/gst/controller/gst-controller.h:
27270 * libs/gst/controller/gst-helper.c:
27271 adding more entries to the docs and fix small doc-bugs
27273 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27275 * docs/gst/gstreamer-docs.sgml:
27276 * docs/gst/gstreamer-sections.txt:
27277 * docs/gst/gstreamer.types:
27278 * docs/gst/tmpl/gstbasesink.sgml:
27279 * docs/gst/tmpl/gstbasesrc.sgml:
27280 * docs/gst/tmpl/gstbasetransform.sgml:
27281 * docs/gst/tmpl/gstfakesrc.sgml:
27282 * gst/base/gstcollectpads.c:
27283 * gst/base/gstcollectpads.h:
27284 * libs/gst/controller/gst-controller.c:
27285 * libs/gst/controller/gst-controller.h:
27286 * libs/gst/controller/gst-helper.c:
27287 * libs/gst/controller/gst-interpolation.c:
27288 * libs/gst/controller/lib.c:
27289 added long/short desc for controller docs
27290 added collectpads base class docs
27291 added correct includes to base-class docs
27293 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27295 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27296 (gst_test_mono_source_set_property),
27297 (gst_test_mono_source_class_init), (GST_START_TEST),
27298 (gst_controller_suite):
27299 * docs/gst/gstreamer-docs.sgml:
27300 * docs/gst/gstreamer-sections.txt:
27301 * docs/gst/gstreamer.types:
27302 * docs/libs/gstreamer-libs-docs.sgml:
27303 * docs/libs/gstreamer-libs-sections.txt:
27304 * gst/base/gstadapter.c:
27305 * libs/gst/controller/gst-controller.c:
27306 (gst_controlled_property_new), (gst_controlled_property_free),
27307 (gst_controller_new_valist),
27308 (gst_controller_remove_properties_valist),
27309 (gst_controller_sink_values), (_gst_controller_finalize):
27310 * libs/gst/controller/gst-controller.h:
27311 * libs/gst/controller/gst-helper.c:
27312 (gst_object_control_properties), (gst_object_uncontrol_properties),
27313 (gst_object_get_controller), (gst_object_set_controller),
27314 (gst_object_sink_values), (gst_object_get_value_arrays),
27315 (gst_object_get_value_array):
27316 more tests (and fixes) for the controller
27317 more docs for the controller
27318 integrated companies docs for the adapter
27320 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27322 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27323 (GST_START_TEST), (fakesrc_suite):
27324 add tests for sizetype
27326 2005-08-04 Andy Wingo <wingo@pobox.com>
27328 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27329 fixes buffer_alloc proxying among other things.
27331 * gst/base/gstbasetransform.c:
27332 * gst/base/gstbasetransform.h:
27333 Revert patch to gstbasetransform from 7-28 removing
27336 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27337 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27338 Semantics changed, should return not the size of the output buffer
27339 but the byte size of a buffer with a given caps.
27341 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27343 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27344 out) are not the pad caps until setcaps finishes.
27345 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27346 not-in-place case as well. Deal with changing from in-place to
27347 not-in-place within calling pad_alloc_buffer. Still a bit
27348 concerned about the overhead here...
27350 2005-08-03 Andy Wingo <wingo@pobox.com>
27352 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27353 fixating is an error.
27355 2005-08-04 Edward Hervey <edward@fluendo.com>
27357 * gst/base/gstadapter.h:
27358 Added gst_adapter_get_type() to the header
27360 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27362 * check/Makefile.am:
27363 * check/gst-libs/controller.c:
27364 * libs/gst/controller/gst-controller.c:
27365 (gst_controller_new_valist):
27366 added check test suite for the controller
27367 * gst/base/gstpushsrc.c:
27370 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27372 * docs/gst/Makefile.am:
27373 * docs/gst/gstreamer-docs.sgml:
27374 * docs/gst/gstreamer-sections.txt:
27375 * docs/gst/gstreamer.types:
27376 * docs/gst/tmpl/gstfakesrc.sgml:
27378 * gst/base/gstbasesink.c:
27379 * gst/base/gstbasesink.h:
27380 * gst/base/gstbasesrc.c:
27381 * gst/base/gstbasesrc.h:
27382 * gst/base/gstbasetransform.c:
27383 * gst/base/gstpushsrc.c:
27384 * gst/base/gstpushsrc.h:
27385 add short/long description docs to base classes
27386 add pushsrc to the docs
27387 remove consolidated doc fragments
27389 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27392 * docs/libs/Makefile.am:
27393 * docs/libs/gstreamer-libs-docs.sgml:
27394 * docs/libs/gstreamer-libs-sections.txt:
27395 * docs/libs/gstreamer-libs.types:
27396 * examples/Makefile.am:
27397 * examples/controller/.cvsignore:
27398 * examples/controller/Makefile.am:
27399 * examples/controller/audio-example.c: (main):
27400 * libs/gst/Makefile.am:
27401 * libs/gst/controller/.cvsignore:
27402 * libs/gst/controller/Makefile.am:
27403 * libs/gst/controller/gst-controller.c:
27404 (on_object_controlled_property_changed), (gst_timed_value_compare),
27405 (gst_timed_value_find),
27406 (gst_controlled_property_set_interpolation_mode),
27407 (gst_controlled_property_new), (gst_controlled_property_free),
27408 (gst_controller_find_controlled_property),
27409 (gst_controller_new_valist), (gst_controller_new),
27410 (gst_controller_remove_properties_valist),
27411 (gst_controller_remove_properties), (gst_controller_set),
27412 (gst_controller_set_from_list), (gst_controller_unset),
27413 (gst_controller_get), (gst_controller_get_all),
27414 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27415 (gst_controller_get_value_array),
27416 (gst_controller_set_interpolation_mode),
27417 (_gst_controller_finalize), (_gst_controller_init),
27418 (_gst_controller_class_init), (gst_controller_get_type):
27419 * libs/gst/controller/gst-controller.h:
27420 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27421 (g_object_uncontrol_properties), (g_object_get_controller),
27422 (g_object_set_controller), (g_object_sink_values),
27423 (g_object_get_value_arrays), (g_object_get_value_array):
27424 * libs/gst/controller/gst-interpolation.c:
27425 (gst_controlled_property_find_timed_value_node),
27426 (interpolate_none_get), (interpolate_trigger_get),
27427 (interpolate_trigger_get_value_array):
27428 * libs/gst/controller/lib.c: (gst_controller_init):
27429 * pkgconfig/Makefile.am:
27430 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27431 * pkgconfig/gstreamer-control.pc.in:
27432 * testsuite/Makefile.am:
27433 * testsuite/controller/.cvsignore:
27434 * testsuite/controller/Makefile.am:
27435 * testsuite/controller/interpolator.c: (main):
27436 added controller code
27437 removed dparam pc files
27439 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27440 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27441 (gst_collectpads_stop):
27442 Broadcast the condition when shutting down, to make sure we wake all
27443 threads up. Shut down pads on finalize, for safety.
27445 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27446 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27447 (gst_base_transform_handle_buffer),
27448 (gst_base_transform_change_state):
27449 Handle PAUSED->READY->PAUSED transition after negotiation
27451 * gst/gstmessage.c: (gst_message_init):
27452 Extra piece of debug for new messages.
27454 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27457 * docs/gst/tmpl/gstbasesrc.sgml:
27458 * docs/gst/tmpl/gstelement.sgml:
27459 * docs/gst/tmpl/gstevent.sgml:
27460 * docs/gst/tmpl/gstfakesrc.sgml:
27461 * docs/gst/tmpl/gstformat.sgml:
27462 * docs/gst/tmpl/gstghostpad.sgml:
27463 * docs/gst/tmpl/gstpad.sgml:
27464 * docs/gst/tmpl/gstquery.sgml:
27465 * docs/gst/tmpl/gststructure.sgml:
27466 * docs/gst/tmpl/gsttaglist.sgml:
27467 * docs/gst/tmpl/gstvalue.sgml:
27468 * docs/libs/gstreamer-libs-docs.sgml:
27469 * docs/libs/gstreamer-libs-sections.txt:
27470 * docs/libs/gstreamer-libs.types:
27471 * libs/gst/Makefile.am:
27472 * libs/gst/control/.cvsignore:
27473 * libs/gst/control/Makefile.am:
27474 * libs/gst/control/control.c:
27475 * libs/gst/control/control.h:
27476 * libs/gst/control/dparam.c:
27477 * libs/gst/control/dparam.h:
27478 * libs/gst/control/dparam_smooth.c:
27479 * libs/gst/control/dparam_smooth.h:
27480 * libs/gst/control/dparamcommon.h:
27481 * libs/gst/control/dparammanager.c:
27482 * libs/gst/control/dparammanager.h:
27483 * libs/gst/control/dplinearinterp.c:
27484 * libs/gst/control/dplinearinterp.h:
27485 * libs/gst/control/unitconvert.c:
27486 * libs/gst/control/unitconvert.h:
27487 * testsuite/Makefile.am:
27488 * testsuite/dynparams/.cvsignore:
27489 * testsuite/dynparams/Makefile.am:
27490 * testsuite/dynparams/dparamstest.c:
27491 * tools/Makefile.am:
27492 * tools/gst-inspect.c: (print_element_info), (main):
27493 * tools/gst-xmlinspect.c: (print_element_info), (main):
27494 deactivate and remove dparams (libgstcontrol)
27496 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27498 * gst/elements/gsttypefindelement.c:
27499 (gst_type_find_element_have_type), (gst_type_find_element_init),
27500 (stop_typefinding), (gst_type_find_element_handle_event),
27501 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27502 * gst/elements/gsttypefindelement.h:
27503 Set caps on all outgoing buffers, not just the first one.
27505 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27507 * gst/elements/gsttypefindelement.c:
27508 (gst_type_find_element_have_type),
27509 (gst_type_find_element_check_set_buffer_caps),
27510 (gst_type_find_element_init), (stop_typefinding),
27511 (gst_type_find_element_handle_event),
27512 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27513 * gst/elements/gsttypefindelement.h:
27514 Set caps on first outgoing buffer when we've found the type.
27516 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27518 * docs/gst/gstreamer-docs.sgml:
27519 * docs/gst/gstreamer-sections.txt:
27520 * docs/gst/tmpl/gstscheduler.sgml:
27521 * docs/gst/tmpl/gstschedulerfactory.sgml:
27522 Remove some old cruft from docs.
27524 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27527 Fix inline docs for GstPadLinkReturn.
27529 * gst/gststructure.c: (gst_structure_has_name):
27530 * gst/gststructure.h:
27531 * docs/gst/gstreamer-sections.txt:
27532 New API: gst_structure_has_name().
27534 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27537 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27538 and _LARGEFILE_SOURCE in config.h as required. Do not
27539 export those flags in our .pc files any longer (#142209).
27541 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27543 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27544 (gst_file_sink_do_seek), (gst_file_sink_event),
27545 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27546 Redo seek/tell calls with large file support in mind; add some
27547 debugging messages; add log message that tells us when large
27548 file support is unavailable or not enabled for some reason.
27550 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27551 Add log message that tells us when large file support
27552 is unavailable or not enabled for some reason.
27554 2005-07-29 Wim Taymans <wim@fluendo.com>
27556 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27557 Added test for removing an element with ghostpad from a bin.
27558 Fixed test as current implementation does the right thing.
27560 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27561 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27562 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27563 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27564 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27565 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27566 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27567 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27568 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27569 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27570 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27571 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27572 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27573 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27574 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27575 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27576 * gst/gstghostpad.h:
27577 Clean up ghostpads, remove properties for internal stuff.
27580 Prepare for switching targets, not all use cases work yet.
27582 2005-07-29 Wim Taymans <wim@fluendo.com>
27584 * docs/design/part-gstghostpad.txt:
27587 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27588 (gst_bin_remove_func):
27589 Unlinking pads while holding the bin LOCK is not a good
27592 * gst/gstpad.c: (gst_pad_class_init),
27593 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27594 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27595 No prob setting template after creating the pad.
27597 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27599 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27600 (gst_bus_peek), (gst_bus_source_dispatch),
27601 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27602 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27603 gst_bus_poll may be called from other threads. Handle
27604 this nicely by not making poll_data disappear off the
27605 stack once gst_bus_poll returns.
27606 gst_bus_peek now increments the refcount on the returned
27609 2005-07-29 Wim Taymans <wim@fluendo.com>
27611 * docs/design/part-gstghostpad.txt:
27612 Overview of current GhostPad datastructures and use
27613 cases for changing the target.
27615 2005-07-28 Wim Taymans <wim@fluendo.com>
27617 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27618 Added checks for hierarchy consistency whan adding linked
27621 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27622 Added check to test element scheduling without bin/pipeline.
27624 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27625 First add elements to bin, then link.
27627 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27628 (gst_bin_remove_func):
27629 Unlink pads from elements added/removed from bin to maintain
27630 hierarchy consistency.
27632 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27634 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27635 (gst_base_transform_handle_buffer):
27636 * gst/base/gstbasetransform.h:
27637 Remove broken delay_configure (fixes renegotiation of software
27638 scaling pipelines); remove some leftover printf()s.
27640 2005-07-28 Wim Taymans <wim@fluendo.com>
27642 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27643 Added some more tests for wrong hierarchy
27645 * docs/design/part-overview.txt:
27648 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27651 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27652 (gst_element_dispose):
27653 Some more cleanups.
27655 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27656 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27657 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27658 (gst_pad_set_caps), (gst_pad_send_event):
27659 Check for correct hierarchy when linking pads. Moving to
27660 strict requirement for ghostpads when linking elements in
27664 Clean ups. Added WRONG_HIERARCHY return value.
27666 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27668 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27669 Better debug if no transform is possible.
27671 2005-07-27 Wim Taymans <wim@fluendo.com>
27673 * docs/random/wtay/network-transp:
27674 Some old doc I had.
27676 2005-07-27 Wim Taymans <wim@fluendo.com>
27678 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27679 (gst_dp_event_from_packet):
27680 Fix serialization of seek events.
27682 2005-07-27 Wim Taymans <wim@fluendo.com>
27684 * check/gst-libs/gdp.c: (GST_START_TEST):
27685 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27686 Fix compilation and fix event serialization.
27688 2005-07-27 Wim Taymans <wim@fluendo.com>
27691 * docs/design/part-TODO.txt:
27692 * docs/design/part-events.txt:
27695 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27696 (gst_base_sink_event), (gst_base_sink_do_sync),
27697 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27698 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27699 (gst_base_src_do_seek), (gst_base_src_event_handler),
27700 (gst_base_src_loop):
27701 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27702 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27703 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27704 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27705 (gst_base_transform_set_passthrough),
27706 (gst_base_transform_is_passthrough):
27707 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27708 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27714 * gst/gstelement.c: (gst_element_seek):
27715 * gst/gstelement.h:
27716 Update gst_element_seek.
27718 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27719 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27720 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27721 (gst_event_new_eos), (gst_event_new_newsegment),
27722 (gst_event_parse_newsegment), (gst_event_new_tag),
27723 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27724 (gst_event_parse_qos), (gst_event_new_seek),
27725 (gst_event_parse_seek), (gst_event_new_navigation):
27727 Make GstEvent use GstStructure. Add parsing code, make sure the
27728 API is sufficiently generic.
27729 Mark possible directions of events and serialization.
27731 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27732 (_gst_message_copy), (gst_message_new_segment_start),
27733 (gst_message_new_segment_done), (gst_message_new_custom),
27734 (gst_message_parse_segment_start),
27735 (gst_message_parse_segment_done):
27738 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27739 (gst_pad_set_caps), (gst_pad_send_event):
27740 Update for new events.
27741 Catch events sent in wrong directions.
27743 * gst/gstqueue.c: (gst_queue_link_src),
27744 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27745 (gst_queue_handle_src_query):
27750 Remove event code from this file.
27752 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27753 (gst_dp_event_from_packet):
27756 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27758 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27759 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27760 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27761 Make debugging actually useful.
27763 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27765 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27766 (gst_pad_fixate_caps):
27767 Implement default fixation once again, so that gst_pad_fixate()
27768 actually does anything at all. This probably needs to be some
27769 sort of a last resort, and use profile-based fixation first, but
27770 since that doesn't exist yet, this is the best we have. Fixes
27771 visualization in Totem.
27773 2005-07-22 Wim Taymans <wim@fluendo.com>
27775 * docs/design/part-events.txt:
27778 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27779 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27780 (gst_base_sink_activate_pull):
27781 Some more comments.
27783 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27784 (gst_fake_src_create):
27785 Fix handoff marshall.
27787 * gst/elements/gstidentity.c: (gst_identity_class_init),
27788 (gst_identity_transform_ip):
27789 We're a real inplace element.
27791 * gst/gstbus.c: (gst_bus_post):
27792 Added some comments.
27794 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27795 * tests/muxing/case1.c: (main):
27796 * tests/sched/dynamic-pipeline.c: (main):
27797 * tests/sched/interrupt1.c: (main):
27798 * tests/sched/interrupt2.c: (main):
27799 * tests/sched/interrupt3.c: (main):
27800 * tests/sched/runxml.c: (main):
27801 * tests/sched/sched-stress.c: (main):
27802 * tests/seeking/seeking1.c: (event_received), (main):
27803 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27805 * tests/threadstate/threadstate3.c: (main):
27806 * tests/threadstate/threadstate4.c: (main):
27807 * tests/threadstate/threadstate5.c: (main):
27810 2005-07-21 Wim Taymans <wim@fluendo.com>
27812 * docs/design/part-seeking.txt:
27813 Some small additions.
27815 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27816 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27817 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27818 * gst/base/gstbasesink.h:
27819 discont values are gint64, handle the math correctly.
27821 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27822 Make the basesrc report error if the source pad is not linked.
27824 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27825 (gst_queue_loop), (gst_queue_handle_src_query),
27826 (gst_queue_src_activate_push):
27827 Make queue collect data even if the srcpad is not linked.
27828 Start pushing out data as soon as it is linked.
27830 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27832 Added gst_flow_get_name() to ease error reporting.
27834 2005-07-20 Wim Taymans <wim@fluendo.com>
27836 * gst/gstmessage.c: (gst_message_new_segment_start),
27837 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27838 (gst_message_parse_segment_done):
27839 * gst/gstmessage.h:
27840 Added a bunch of messages for advanced seeking.
27842 * gst/parse/grammar.y:
27843 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27844 (gst_dpman_state_changed):
27845 Fix some new-pad -> pad-added signals
27847 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27849 * docs/manual/appendix-porting.xml:
27850 * docs/pwg/appendix-porting.xml:
27851 Document new-pad/state-change signal renames and the FixedList
27854 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27856 * docs/manual/advanced-autoplugging.xml:
27857 * docs/manual/basics-helloworld.xml:
27858 * docs/manual/basics-pads.xml:
27859 * docs/random/ds/0.9-suggested-changes:
27860 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27861 * gst/gstelement.h:
27865 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27866 (gst_structure_parse_array), (gst_structure_parse_value):
27867 * gst/gstvalue.c: (gst_type_is_fixed),
27868 (gst_value_list_prepend_value), (gst_value_list_append_value),
27869 (gst_value_list_get_size), (gst_value_list_get_value),
27870 (gst_value_transform_array_string), (gst_value_serialize_array),
27871 (gst_value_deserialize_array), (gst_value_intersect_array),
27872 (gst_value_is_fixed), (_gst_value_initialize):
27874 GstElement::new-pad -> pad-added, GstElement::state-change ->
27875 state-changed, GstValueFixedList -> GstValueArray, add format and
27876 flags as their own arguments in gst_element_seek() (should improve
27877 "bindeability"), remove function generators since they don't work
27878 under a whole bunch of compilers (they were deprecated already
27881 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27883 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27884 (_gst_debug_register_funcptr):
27886 Fix illegal cast on some platforms (#309253).
27888 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27890 * gst/gstmessage.c: (gst_message_new_custom):
27891 * gst/gstmessage.h:
27892 Add _new_custom, make _new_application a macro to _new_custom.
27894 2005-07-20 Wim Taymans <wim@fluendo.com>
27896 * gst/base/gstbasesrc.c: (gst_base_src_init),
27897 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27898 * gst/base/gstbasesrc.h:
27899 Add a gboolean to decide when to push out a discont.
27901 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27902 (gst_queue_loop), (gst_queue_handle_src_query),
27903 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27904 (gst_queue_set_property), (gst_queue_get_property):
27907 * tests/threadstate/threadstate1.c: (main):
27908 Make a thread test compile and run... very silly..
27911 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27913 * docs/manual/appendix-porting.xml:
27914 Mention removal of libgstgconf-0.9.la and existence of gconf
27917 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27919 * docs/pwg/advanced-clock.xml:
27920 * docs/pwg/appendix-porting.xml:
27921 * docs/pwg/intro-preface.xml:
27922 * docs/pwg/other-base.xml:
27923 * docs/pwg/other-manager.xml:
27924 * docs/pwg/other-nton.xml:
27925 * docs/pwg/other-ntoone.xml:
27926 * docs/pwg/other-oneton.xml:
27927 * docs/pwg/pwg.xml:
27928 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27929 demuxer), remove n-to-n (was never written), fix some code examples
27930 and links and update the porting section to include all this.
27932 2005-07-19 Wim Taymans <wim@fluendo.com>
27934 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27935 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27936 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27937 (gst_queue_src_activate_push), (gst_queue_change_state),
27938 (gst_queue_get_property):
27940 Propagate GstFlowReturn more intelligently upstream and output
27941 an ERROR/EOS when streaming stopped due to fatal error.
27943 2005-07-19 Wim Taymans <wim@fluendo.com>
27945 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27946 Don't block forever for the state change to complete, the
27947 pipeline already did with a sensible timeout.
27949 2005-07-19 Wim Taymans <wim@fluendo.com>
27951 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27952 Make sure we never call the create function is we
27955 2005-07-19 Andy Wingo <wingo@pobox.com>
27957 * gst/parse/parse.l: Attempt to solve bug #172815.
27959 2005-07-19 Wim Taymans <wim@fluendo.com>
27961 * docs/design/part-clocks.txt:
27962 * docs/design/part-events.txt:
27963 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27964 Small docs updates.
27965 Only update the seeking values when we are not
27968 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27970 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27971 Oops, ignore the result of gst_pad_push_event here.
27973 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27975 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27976 (gst_base_src_activate_push):
27977 Send discont event from the loop function, as pads
27978 aren't activated yet in the activate_push handler.
27980 * gst/gstbin.c: (bin_bus_handler):
27981 Don't leak element name.
27983 2005-07-18 Andy Wingo <wingo@pobox.com>
27985 * configure.ac: Use AS_LIBTOOL_TAGS.
27987 2005-07-18 Wim Taymans <wim@fluendo.com>
27989 * docs/gst/gstreamer.types:
27990 Remove deleted types.
27992 2005-07-18 Wim Taymans <wim@fluendo.com>
27994 * check/elements/gstfakesrc.c: (GST_START_TEST):
27997 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27998 (init_popt_callback):
28000 * gst/gst_private.h:
28001 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
28002 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
28005 * gst/gstconfig.h.in:
28006 * gst/gstelement.c: (gst_element_class_init),
28007 (gst_element_set_base_time), (gst_element_get_base_time),
28008 (iterator_fold_with_resync), (gst_element_change_state),
28009 (gst_element_dispose), (gst_element_get_bus):
28010 * gst/gstelement.h:
28011 * gst/gstelementfactory.h:
28012 * gst/gsterror.c: (_gst_core_errors_init):
28015 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28017 * gst/gstinfo.c: (_gst_debug_init):
28018 * gst/gstmessage.c: (_gst_message_copy):
28019 * gst/gstmessage.h:
28020 * gst/gstminiobject.h:
28023 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28024 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
28027 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28028 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28029 (gst_pipeline_get_last_stream_time):
28030 * gst/gstpipeline.h:
28031 * gst/gstpluginfeature.h:
28033 * gst/gstscheduler.c:
28034 * gst/gstscheduler.h:
28035 * gst/gststructure.h:
28036 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28037 (gst_task_finalize), (gst_task_func), (gst_task_create),
28038 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
28039 (gst_task_stop), (gst_task_pause):
28041 * gst/gsttypefind.h:
28043 * gst/registries/gstlibxmlregistry.c: (load_feature),
28044 (gst_xml_registry_load), (gst_xml_registry_save_feature):
28045 * gst/registries/gstxmlregistry.c:
28046 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
28047 * gst/schedulers/threadscheduler.c:
28048 * libs/gst/control/dparammanager.h:
28049 * tools/gst-inspect.c: (print_element_list),
28050 (print_plugin_features), (print_element_features):
28051 * tools/gst-xmlinspect.c: (print_element_list),
28052 (print_plugin_info), (main):
28053 Removed plugable schedulers.
28054 Removed Scheduler/Manager from elements.
28055 Removed gsttypes.h, rearranged includes.
28056 Removed dependency pad<->element, element<>pipeline, and
28057 various others, fix includes.
28058 implement gst_pad_get_parent() with gst_object_get_parent()
28059 Make GstTask sefcontained.
28060 Fix _get_state() on GstBin, it did not return ASYNC with a 0
28062 Fix endless loop in iterator_fold_with_resync.
28065 2005-07-18 Wim Taymans <wim@fluendo.com>
28071 2005-07-18 Wim Taymans <wim@fluendo.com>
28074 No more cothreads.h
28076 2005-07-18 Wim Taymans <wim@fluendo.com>
28080 Let's remove these.
28082 2005-07-18 Wim Taymans <wim@fluendo.com>
28084 * docs/design/part-dynamic.txt:
28085 * docs/design/part-events.txt:
28086 * docs/design/part-seeking.txt:
28087 Some more docs in the works.
28089 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
28090 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
28091 (gst_base_transform_setcaps), (gst_base_transform_get_size),
28092 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
28093 (gst_base_transform_handle_buffer),
28094 (gst_base_transform_sink_activate_push),
28095 (gst_base_transform_src_activate_pull),
28096 (gst_base_transform_set_passthrough),
28097 (gst_base_transform_is_passthrough):
28100 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
28103 * gst/gstevent.c: (gst_event_finalize):
28106 * gst/gstutils.c: (gst_element_unlink),
28107 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28108 (gst_pad_proxy_setcaps):
28110 Add _get_parent_element() to get a pads parent as an element.
28112 2005-07-18 Wim Taymans <wim@fluendo.com>
28114 * check/gst/gstbin.c: (GST_START_TEST):
28117 2005-07-18 Wim Taymans <wim@fluendo.com>
28119 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28120 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28121 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28122 (gst_base_sink_event), (gst_base_sink_do_sync),
28123 (gst_base_sink_chain), (gst_base_sink_loop),
28124 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28125 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28127 Fix logic for returning ASYNC when not prerolled.
28129 2005-07-18 Wim Taymans <wim@fluendo.com>
28131 * gst/gstqueue.c: (gst_queue_handle_sink_event):
28132 Fix nasty refcount bug.
28134 2005-07-16 Philippe Khalaf <burger@speedy.org>
28136 * gst/elements/gstfdsrc.c:
28137 * gst/elements/gstfdsrc.h:
28138 * gst/elements/gstelements.c:
28139 * gst/elements/Makefile.am:
28140 Ported fdsrc to 0.9.
28142 2005-07-16 Wim Taymans <wim@fluendo.com>
28144 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28145 (gst_base_sink_do_sync):
28148 2005-07-16 Wim Taymans <wim@fluendo.com>
28150 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28151 (gst_base_sink_event), (gst_base_sink_get_times),
28152 (gst_base_sink_do_sync), (gst_base_sink_change_state):
28153 * gst/base/gstbasesink.h:
28154 Store and use discont values when syncing buffers as described
28157 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28158 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28159 (gst_base_src_activate_push):
28160 Push discont event when starting.
28162 * gst/elements/gstidentity.c: (gst_identity_transform):
28165 * gst/gstbin.c: (gst_bin_change_state):
28166 Small cleanups in base_time distribution.
28168 * gst/gstelement.c: (gst_element_set_base_time),
28169 (gst_element_get_base_time), (gst_element_change_state):
28170 * gst/gstelement.h:
28171 Added methods for the base_time of the element.
28174 * gst/gstpipeline.c: (gst_pipeline_send_event),
28175 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28176 (gst_pipeline_get_last_stream_time):
28177 * gst/gstpipeline.h:
28179 Handle seeking as described in design doc, remove stream_time
28181 Cleanups clock and stream_time selection code. Added accessors
28182 for the stream_time.
28185 2005-07-16 Andy Wingo <wingo@pobox.com>
28187 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28190 2005-07-16 Wim Taymans <wim@fluendo.com>
28192 * check/gst/gstbin.c: (GST_START_TEST):
28193 Make elements silent as the deep_notify refs the
28194 parent, which might make the test fail.
28196 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28197 Don't hold the lock for too long.
28199 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
28201 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28202 Don't unref the caps we passed to gst_caps_make_writable() after
28203 passing them. gst_caps_make_writable() will do that for us.
28205 2005-07-15 Andy Wingo <wingo@pobox.com>
28207 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28210 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28211 own marshalling function for the handoff signal. Properly type the
28212 buffer as a buffer. Fixes some warnings. Should do a more general
28214 (gst_identity_class_init): Plug into the right marshaller.
28216 2005-07-15 Wim Taymans <wim@fluendo.com>
28218 * docs/design/part-TODO.txt:
28219 * docs/design/part-clocks.txt:
28220 * docs/design/part-element-sink.txt:
28221 * docs/design/part-events.txt:
28222 * docs/design/part-gstpipeline.txt:
28223 Updated docs, mostly DISCONT related.
28225 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
28227 * docs/pwg/building-pads.xml:
28228 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28230 2005-07-15 Andy Wingo <wingo@pobox.com>
28232 * tools/gst-typefind.c: Update, add copyright block.
28234 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28235 Normalize and truncate caps before fixation.
28238 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28239 discards all but the first structure from its argument.
28241 2005-07-15 Wim Taymans <wim@fluendo.com>
28243 * gst/base/gstbasetransform.c: (gst_base_transform_init),
28244 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28245 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28246 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28247 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28248 (gst_base_transform_chain), (gst_base_transform_change_state),
28249 (gst_base_transform_set_passthrough),
28250 (gst_base_transform_is_passthrough):
28251 * gst/base/gstbasetransform.h:
28252 Make passthrough work using the bufferpools.
28253 Changed API a bit, subclasses have to write into a buffer
28254 provided by the base class.
28255 More debug info in nego functions.
28257 * gst/elements/gstidentity.c: (gst_identity_init),
28258 (gst_identity_transform):
28259 Port to new base class.
28261 2005-07-15 Wim Taymans <wim@fluendo.com>
28263 * gst/gstmessage.c: (gst_message_new_state_changed):
28264 * tools/gst-launch.c: (event_loop), (main):
28265 Totally dump messages in -launch with the -m option.
28266 Fix message name for State messages,
28268 2005-07-14 Wim Taymans <wim@fluendo.com>
28270 * gst/base/gstbasesrc.c: (gst_base_src_loop):
28271 Post error messages on errors.
28273 2005-07-14 Wim Taymans <wim@fluendo.com>
28275 * gst/gstcaps.c: (gst_caps_do_simplify):
28279 Define error for stream stopped.
28281 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28282 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28283 Do proper return values.
28285 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28286 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28287 (gst_pad_get_range):
28288 Better return values.
28291 Reorganise return values, add macro to check for fatal errors.
28293 * gst/gstqueue.c: (gst_queue_chain):
28294 Return proper GstFlowReturn values,
28296 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
28298 * docs/gst/gstreamer-sections.txt:
28299 * docs/gst/gstreamer.types:
28300 * docs/gst/tmpl/gst.sgml:
28301 * docs/gst/tmpl/gstbasesink.sgml:
28302 * docs/gst/tmpl/gstbasesrc.sgml:
28303 * docs/gst/tmpl/gstbasetransform.sgml:
28304 * docs/gst/tmpl/gstbin.sgml:
28305 * docs/gst/tmpl/gstbuffer.sgml:
28306 * docs/gst/tmpl/gstcaps.sgml:
28307 * docs/gst/tmpl/gstclock.sgml:
28308 * docs/gst/tmpl/gstcompat.sgml:
28309 * docs/gst/tmpl/gstconfig.sgml:
28310 * docs/gst/tmpl/gstelement.sgml:
28311 * docs/gst/tmpl/gstelementdetails.sgml:
28312 * docs/gst/tmpl/gstelementfactory.sgml:
28313 * docs/gst/tmpl/gstenumtypes.sgml:
28314 * docs/gst/tmpl/gsterror.sgml:
28315 * docs/gst/tmpl/gstevent.sgml:
28316 * docs/gst/tmpl/gstfakesink.sgml:
28317 * docs/gst/tmpl/gstfakesrc.sgml:
28318 * docs/gst/tmpl/gstfilesink.sgml:
28319 * docs/gst/tmpl/gstfilesrc.sgml:
28320 * docs/gst/tmpl/gstfilter.sgml:
28321 * docs/gst/tmpl/gstformat.sgml:
28322 * docs/gst/tmpl/gstghostpad.sgml:
28323 * docs/gst/tmpl/gstimplementsinterface.sgml:
28324 * docs/gst/tmpl/gstindex.sgml:
28325 * docs/gst/tmpl/gstindexfactory.sgml:
28326 * docs/gst/tmpl/gstinfo.sgml:
28327 * docs/gst/tmpl/gstiterator.sgml:
28328 * docs/gst/tmpl/gstmacros.sgml:
28329 * docs/gst/tmpl/gstmemchunk.sgml:
28330 * docs/gst/tmpl/gstminiobject.sgml:
28331 * docs/gst/tmpl/gstobject.sgml:
28332 * docs/gst/tmpl/gstpad.sgml:
28333 * docs/gst/tmpl/gstpadtemplate.sgml:
28334 * docs/gst/tmpl/gstparse.sgml:
28335 * docs/gst/tmpl/gstpipeline.sgml:
28336 * docs/gst/tmpl/gstplugin.sgml:
28337 * docs/gst/tmpl/gstpluginfeature.sgml:
28338 * docs/gst/tmpl/gstquery.sgml:
28339 * docs/gst/tmpl/gstqueue.sgml:
28340 * docs/gst/tmpl/gstregistry.sgml:
28341 * docs/gst/tmpl/gstregistrypool.sgml:
28342 * docs/gst/tmpl/gstscheduler.sgml:
28343 * docs/gst/tmpl/gstschedulerfactory.sgml:
28344 * docs/gst/tmpl/gststructure.sgml:
28345 * docs/gst/tmpl/gstsystemclock.sgml:
28346 * docs/gst/tmpl/gsttaglist.sgml:
28347 * docs/gst/tmpl/gsttagsetter.sgml:
28348 * docs/gst/tmpl/gsttrace.sgml:
28349 * docs/gst/tmpl/gsttrashstack.sgml:
28350 * docs/gst/tmpl/gsttypefind.sgml:
28351 * docs/gst/tmpl/gsttypefindfactory.sgml:
28352 * docs/gst/tmpl/gsttypes.sgml:
28353 * docs/gst/tmpl/gsturihandler.sgml:
28354 * docs/gst/tmpl/gsturitype.sgml:
28355 * docs/gst/tmpl/gstutils.sgml:
28356 * docs/gst/tmpl/gstvalue.sgml:
28357 * docs/gst/tmpl/gstversion.sgml:
28358 * docs/gst/tmpl/gstxml.sgml:
28359 * docs/libs/tmpl/gstcontrol.sgml:
28360 * docs/libs/tmpl/gstdataprotocol.sgml:
28361 * docs/libs/tmpl/gstdparam.sgml:
28362 * docs/libs/tmpl/gstdplinint.sgml:
28363 * docs/libs/tmpl/gstdpman.sgml:
28364 * docs/libs/tmpl/gstdpsmooth.sgml:
28365 * docs/libs/tmpl/gstgetbits.sgml:
28366 * docs/libs/tmpl/gstunitconvert.sgml:
28367 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28368 (gst_push_src_base_init), (gst_push_src_class_init),
28369 (gst_push_src_init), (gst_push_src_create):
28370 * gst/base/gstpushsrc.h:
28371 * gst/elements/gstelements.c:
28372 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28373 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28374 (gst_fake_sink_init), (gst_fake_sink_set_property),
28375 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28376 (gst_fake_sink_event), (gst_fake_sink_preroll),
28377 (gst_fake_sink_render), (gst_fake_sink_change_state):
28378 * gst/elements/gstfakesink.h:
28379 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28380 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28381 (gst_fake_src_base_init), (gst_fake_src_class_init),
28382 (gst_fake_src_init), (gst_fake_src_event_handler),
28383 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28384 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28385 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28386 (gst_fake_src_create_buffer), (gst_fake_src_create),
28387 (gst_fake_src_start), (gst_fake_src_stop):
28388 * gst/elements/gstfakesrc.h:
28389 * gst/elements/gstfilesink.c: (_do_init),
28390 (gst_file_sink_base_init), (gst_file_sink_class_init),
28391 (gst_file_sink_init), (gst_file_sink_dispose),
28392 (gst_file_sink_set_location), (gst_file_sink_set_property),
28393 (gst_file_sink_get_property), (gst_file_sink_open_file),
28394 (gst_file_sink_close_file), (gst_file_sink_query),
28395 (gst_file_sink_event), (gst_file_sink_render),
28396 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28397 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28398 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28399 * gst/elements/gstfilesink.h:
28400 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28401 (gst_file_src_class_init), (gst_file_src_init),
28402 (gst_file_src_finalize), (gst_file_src_set_location),
28403 (gst_file_src_set_property), (gst_file_src_get_property),
28404 (gst_file_src_map_region), (gst_file_src_map_small_region),
28405 (gst_file_src_create_mmap), (gst_file_src_create_read),
28406 (gst_file_src_create), (gst_file_src_is_seekable),
28407 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28408 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28409 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28410 (gst_file_src_uri_handler_init):
28411 * gst/elements/gstfilesrc.h:
28412 more autistic cleanliness in functions/names/defines
28414 2005-07-13 Andy Wingo <wingo@pobox.com>
28416 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28417 source couldn't negotiate.
28419 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28423 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28424 function. I am channeling Hades. Put your boots on suckers!!!
28426 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28428 * testsuite/caps/Makefile.am:
28429 * testsuite/caps/value_compare.c:
28430 * testsuite/caps/value_intersect.c:
28431 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28432 move two testsuite apps over to the check dir
28434 2005-07-12 Wim Taymans <wim@fluendo.com>
28436 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28437 Added more debug info in the negotiate process.
28439 * gst/gstmessage.h:
28440 Prepare for segment playback.
28442 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28448 * tools/gst-launch.c: (main):
28449 NULL pipeline on errors.
28451 2005-07-12 Andy Wingo <wingo@pobox.com>
28453 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28454 not it comes from a malloc region. Make sure our copy gets freed.
28456 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28458 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28459 * check/gst/gstmessage.c: (GST_START_TEST):
28460 * check/gst/gststructure.c: (GST_START_TEST),
28461 (gst_structure_suite), (main):
28463 * gst/gstelement.c: (gst_element_message_full):
28464 clean up GError and debug string now that they get copied
28465 * gst/gstmessage.c: (gst_message_new_error),
28466 (gst_message_new_warning), (gst_message_parse_error),
28467 (gst_message_parse_warning):
28468 use GST_TYPE_G_ERROR for structure_new, and take copies of
28469 arguments, so that we don't mess up refcounting
28471 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28473 * check/Makefile.am:
28474 add per-test valgrind targets
28475 * check/gst-libs/gdp.c: (GST_START_TEST),
28476 (gst_data_protocol_suite), (main):
28479 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28481 * check/Makefile.am:
28482 instate more valgrindable tests
28483 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28484 (GST_START_TEST), (fakesrc_suite):
28485 * check/gst/gstpad.c: (GST_START_TEST):
28486 * check/gst/gststructure.c: (GST_START_TEST):
28488 * docs/gst/tmpl/gstminiobject.sgml:
28489 * gst/gstpad.c: (gst_pad_finalize):
28490 fix the static mutex leak
28492 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28494 * check/Makefile.am:
28495 add two more tests for valgrinding
28496 * check/gst/gstvalue.c: (GST_START_TEST):
28497 test refcount of deserialized buffer, found a leak
28498 * docs/gst/gstreamer-docs.sgml:
28499 * docs/gst/gstreamer-sections.txt:
28500 * docs/gst/gstreamer.types:
28501 * docs/gst/tmpl/gstminiobject.sgml:
28502 add miniobject to docs
28503 * gst/gstminiobject.c:
28505 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28506 (gst_string_unwrap):
28507 fix a hard-to-find invalid write for one of the tests
28508 fix a leak for deserialized buffers
28510 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28512 * docs/pwg/advanced-events.xml:
28513 * docs/pwg/advanced-request.xml:
28514 * docs/pwg/advanced-scheduling.xml:
28515 * docs/pwg/appendix-porting.xml:
28516 * docs/pwg/building-boiler.xml:
28517 * docs/pwg/intro-preface.xml:
28518 * docs/pwg/other-ntoone.xml:
28519 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28520 of example code and explanation for pad activation, loop() and
28521 getrange() functions and a bit more. Remove old comments pointing
28523 * examples/pwg/Makefile.am:
28524 Add loop/getrange examples.
28526 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28529 check for valgrind binary + some fixes
28531 valgrind suppressions for the tests
28532 * check/Makefile.am:
28533 add a valgrind: target that valgrinds the unit tests
28534 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28535 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28536 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28537 * check/gst/gstghostpad.c:
28539 * check/gst/gstdata.c:
28541 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28542 (thread_unref), (gst_mini_object_suite), (main):
28544 * gst/gst.c: (gst_deinit):
28546 add a method to clean up.
28547 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28548 (gst_system_clock_obtain):
28549 allow for disposing the system clock.
28550 * tools/gst-launch.c: (main):
28553 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28555 * docs/gst/tmpl/gstbasesrc.sgml:
28556 * docs/gst/tmpl/gstfakesrc.sgml:
28557 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28558 (gst_base_src_init), (gst_base_src_set_property),
28559 (gst_base_src_get_property), (gst_base_src_get_range),
28560 (gst_base_src_start):
28561 * gst/base/gstbasesrc.h:
28562 add num-buffers property
28563 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28564 (gst_fakesrc_init), (gst_fakesrc_set_property),
28565 (gst_fakesrc_get_property), (gst_fakesrc_create),
28566 (gst_fakesrc_start):
28567 remove num-buffers property
28569 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28571 * docs/gst/gstreamer-sections.txt:
28572 * docs/gst/tmpl/gstbasesink.sgml:
28573 * docs/gst/tmpl/gstbasesrc.sgml:
28574 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28575 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28576 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28577 (gst_base_sink_set_property), (gst_base_sink_get_property),
28578 (gst_base_sink_handle_object), (gst_base_sink_event),
28579 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28580 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28581 (gst_base_sink_loop), (gst_base_sink_deactivate),
28582 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28583 (gst_base_sink_change_state):
28584 * gst/base/gstbasesink.h:
28585 * gst/base/gstbasesrc.h:
28586 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28587 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28588 (gst_filesink_init):
28589 more macro splitting
28591 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28593 * gst/gstelement.c: (gst_element_get_bus):
28595 * tools/gst-launch.c: (check_intr), (event_loop):
28598 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28600 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28603 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28605 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28606 (gst_base_src_finalize):
28607 add finalize method and clean up properly
28608 * gst/gstpipeline.c: (gst_pipeline_dispose):
28611 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28613 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28615 add more things to check
28616 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28617 * gst/gstelement.c:
28620 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28622 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28623 (GST_START_TEST), (fakesrc_suite):
28624 * check/gst-libs/gdp.c: (GST_START_TEST):
28625 * check/gst/gst.c: (GST_START_TEST):
28626 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28627 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28628 * check/gst/gstbus.c: (GST_START_TEST):
28629 * check/gst/gstcaps.c: (GST_START_TEST):
28630 * check/gst/gstdata.c: (GST_START_TEST):
28631 * check/gst/gstelement.c: (GST_START_TEST):
28632 * check/gst/gstghostpad.c: (GST_START_TEST):
28633 * check/gst/gstiterator.c: (GST_START_TEST):
28634 * check/gst/gstmessage.c: (GST_START_TEST):
28635 * check/gst/gstobject.c: (GST_START_TEST):
28636 * check/gst/gstpad.c: (GST_START_TEST):
28637 * check/gst/gststructure.c: (GST_START_TEST):
28638 * check/gst/gstsystemclock.c: (GST_START_TEST),
28639 (gst_systemclock_suite):
28640 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28641 * check/gst/gstvalue.c: (GST_START_TEST):
28642 * check/pipelines/cleanup.c: (GST_START_TEST):
28643 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28644 * check/states/sinks.c: (GST_START_TEST):
28645 * check/gstcheck.c: (gst_check_init):
28646 * check/gstcheck.h:
28647 add debugging category
28648 use GST_START_TEST now, so we add a debug line
28650 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28652 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28653 add test for state change message on a bin
28654 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28656 * gst/gstbin.c: (gst_bin_init):
28657 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28658 * gst/gstelement.c: (gst_element_post_message),
28659 (gst_element_set_state):
28660 * gst/gstelementfactory.c: (gst_element_factory_create):
28661 * gst/gstmessage.c: (gst_message_new):
28662 * gst/gstscheduler.c:
28663 various debugging additions and cleanups
28665 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28667 * check/Makefile.am:
28668 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28670 adding tests for elements
28671 * gst/gstelement.c: (gst_element_dispose):
28673 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28675 * gst/registries/gstlibxmlregistry.c: (load_feature):
28676 plug more leaks. A simple gst_init() now is leakfree, yay.
28678 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28680 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28681 (gst_xml_registry_load):
28682 plug another memleak
28684 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28687 use GST_SET_ERROR_CFLAGS
28688 * docs/faq/cvs.xml:
28689 change to ERROR_CFLAGS
28691 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28694 make GST_ERROR_CFLAGS overridable and re-enable Werror
28695 * docs/faq/cvs.xml:
28696 add a note about error CFLAGS
28697 * docs/gst/tmpl/gstfakesrc.sgml:
28698 * gst/elements/gstfakesrc.c:
28699 comment out some unused code
28700 * gst/gst.c: (split_and_iterate):
28701 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28705 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28707 * common/Makefile.am:
28708 * common/gtk-doc.mak:
28709 * docs/gst/Makefile.am:
28710 factor out gtk-doc.mak
28712 2005-07-07 Wim Taymans <wim@fluendo.com>
28714 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28715 (gst_thread_scheduler_dispose):
28716 Unlock the STREAM_LOCK completely.
28718 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28720 * check/Makefile.am:
28721 * check/elements/.cvsignore:
28722 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28723 (START_TEST), (fakesrc_suite), (main):
28724 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28725 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28726 (gst_fakesrc_create), (gst_fakesrc_start):
28727 * gst/elements/gstfakesrc.h:
28728 adding a first element test
28730 2005-07-07 Andy Wingo <wingo@pobox.com>
28732 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28735 2005-07-07 Wim Taymans <wim@fluendo.com>
28741 2005-07-07 Wim Taymans <wim@fluendo.com>
28743 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28744 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28745 Allow subclasses to implement their own negotiation.
28747 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28749 * docs/design/part-gstbin.txt:
28750 * docs/design/part-gstpipeline.txt:
28751 Update design notes to reflect the movement of
28752 responsibility for bus handling from GstPipeline to
28755 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28758 Remove unnecessary queue2/3/4 examples.
28760 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28762 * examples/Makefile.am:
28763 * examples/helloworld/helloworld.c: (event_loop), (main):
28764 * examples/queue/queue.c: (event_loop), (main):
28765 * examples/queue2/queue2.c: (main):
28766 Update a couple of the examples to work again.
28768 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28769 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28770 Spelling corrections and extra debug.
28772 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28773 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28774 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28776 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28777 (gst_pipeline_change_state):
28778 * gst/gstpipeline.h:
28779 Move the bus handler for children to the GstBin, and create a
28780 separate bus for receiving messages from children to the one the
28781 bus sends 'upwards' on.
28783 2005-07-06 Wim Taymans <wim@fluendo.com>
28786 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28787 (gst_base_sink_handle_object), (gst_base_sink_loop),
28788 (gst_base_sink_change_state):
28789 * gst/base/gstbasesink.h:
28790 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28791 (gst_base_src_init), (gst_base_src_setcaps),
28792 (gst_base_src_getcaps), (gst_base_src_loop),
28793 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28794 (gst_base_src_start), (gst_base_src_change_state):
28795 * gst/base/gstbasesrc.h:
28796 Make basesrc negotiate.
28797 Handle the case where preroll fails in basesink.
28800 2005-07-06 Wim Taymans <wim@fluendo.com>
28802 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28803 Implement the fixate function.
28804 Clean up acceptcaps.
28806 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28808 * docs/pwg/building-filterfactory.xml:
28809 * docs/pwg/pwg.xml:
28810 Remove never-written filter-factory chapter; I'll add the various
28811 base classes to part 4 ("other element types") later on.
28813 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28815 * docs/pwg/advanced-negotiation.xml:
28816 * docs/pwg/building-boiler.xml:
28817 * docs/pwg/building-pads.xml:
28818 * docs/pwg/pwg.xml:
28819 * examples/pwg/Makefile.am:
28820 Add a chapter on caps negotiation, simplify the original code
28821 samples a bit w.r.t. caps negotiation, add link to the advanced
28822 section. Add a bunch of examples showing different use cases of
28823 different types of caps negotiation. Upstream renegotiation isn't
28824 fully documented yet since nobody knows how that works.
28826 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28828 * check/gst/gstpad.c:
28829 * check/gstcheck.c:
28830 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28831 if pad has no parent, return NULL as list of internal links
28833 2005-07-05 Andy Wingo <wingo@pobox.com>
28835 * gst/elements/gstfilesrc.c:
28836 * gst/elements/gstfakesrc.c:
28837 * gst/base/gstpushsrc.c:
28838 * gst/base/gstbasesrc.h:
28839 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28841 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28844 better report generation target (lcov needs a patch)
28846 2005-07-05 Andy Wingo <wingo@pobox.com>
28848 * gst/elements, testsuite: Null if we got it...
28850 2005-07-05 Wim Taymans <wim@fluendo.com>
28853 * libs/gst/dataprotocol/Makefile.am:
28854 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28855 * libs/gst/dataprotocol/dataprotocol.h:
28856 * pkgconfig/Makefile.am:
28857 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28858 * pkgconfig/gstreamer-dataprotocol.pc.in:
28859 Ported dataprotol to 0.9.
28860 Added pkgconfig files.
28862 2005-07-05 Andy Wingo <wingo@pobox.com>
28864 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28865 Default to returning TRUE for the case when tranform_caps returns
28866 a fixed caps, like for identity or volume.
28868 * check/gst/gstbus.c (pound_bus_with_messages):
28869 * check/gst/gstmessage.c (START_TEST):
28870 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28871 message API change.
28873 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28874 logic weaks here: always run transform_caps, trying passthrough
28875 operation only if the original caps intersects with the transform.
28877 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28878 source and sink caps.
28880 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28881 Intersect the peer caps with the pad template before going into
28883 (gst_base_transform_transform_caps): More debugging.
28885 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28888 2005-07-04 Edward Hervey <edward@fluendo.com>
28892 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28895 2005-07-04 Andy Wingo <wingo@pobox.com>
28897 * check/gst/gstpad.c: Only set explicit caps on pads.
28899 2005-07-01 Andy Wingo <wingo@pobox.com>
28901 * tests/network-clock.scm: Commentary update.
28903 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28904 Didn't really make sense, not implementable with basetransform,
28906 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28907 attempt at implementing the sync property, needs an unlock method.
28909 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28910 New func, by default returns the same caps (the identity
28912 (gst_base_transform_getcaps): Uses transform_caps to return
28913 something sensible.
28914 (gst_base_transform_setcaps): Complicated logic to get caps on
28915 both pads, even if they are different, and to call set_caps once
28916 for every time both pads get their caps set.
28917 (gst_base_transform_handle_buffer): Give the ref to the transform
28918 function. Allows in-place modification of the buffer.
28920 * gst/base/gstbasetransform.h (transform_caps): New class method.
28921 Given caps on one side, what can I do on the other.
28922 (set_caps): Take two caps, one for each side of the element.
28925 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28926 caps in place. This is safe because we can check the mutability of
28927 the caps, and a good idea because fixate functions are just called
28928 as a matter of last resort. (Not actually implemented.)
28929 (gst_pad_set_caps): If the caps we're setting is actually the same
28930 as the existing pad caps, just update the pointer without calling
28931 setcaps. Assert that caps is either NULL or fixed, as per the
28934 * gst/gstghostpad.c: Update for fixate changes.
28936 2005-07-02 Andy Wingo <wingo@pobox.com>
28939 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28940 two refcounts makes it immutable, which is enough. Doc more.
28942 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28944 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28945 Put the mini_object into GValue as a mini_object,
28946 not a gpointer, since that's how we declared
28949 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28951 * examples/pwg/Makefile.am:
28952 Fix buildbot again.
28954 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28956 * docs/pwg/building-testapp.xml:
28958 * examples/pwg/Makefile.am:
28961 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28964 * examples/Makefile.am:
28965 * examples/pwg/Makefile.am:
28966 * examples/pwg/extract.pl:
28967 Enable building the PWG examples.
28968 * docs/pwg/advanced-interfaces.xml:
28969 Add URI interface stub.
28970 * docs/pwg/advanced-types.xml:
28971 * docs/pwg/other-autoplugger.xml:
28972 * docs/pwg/appendix-porting.xml:
28973 * docs/pwg/pwg.xml:
28974 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28975 * docs/pwg/building-boiler.xml:
28976 * docs/pwg/building-chainfn.xml:
28977 * docs/pwg/building-pads.xml:
28978 * docs/pwg/building-props.xml:
28979 * docs/pwg/building-state.xml:
28980 * docs/pwg/building-testapp.xml:
28981 Update the building-*.xml parts for 0.9 changes. All examples
28982 code blocks compile in examples/pwg/*.
28984 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28986 * docs/manual/advanced-autoplugging.xml:
28987 * docs/manual/appendix-checklist.xml:
28988 * docs/manual/appendix-integration.xml:
28989 * docs/manual/highlevel-components.xml:
28990 Fix playbin/decodebin examples, update docs a bit, mention bus
28991 instead of signals in various places, mention kmplayer and
28992 kaffeine since they have a working GStreamer backend in the KDE
28995 2005-06-30 Wim Taymans <wim@fluendo.com>
28998 * docs/design/draft-ghostpads.txt:
28999 * docs/design/draft-push-pull.txt:
29000 * docs/design/draft-query.txt:
29001 * docs/design/part-TODO.txt:
29002 * docs/design/part-query.txt:
29003 Added CHANGES-0.9 doc, updated status of other docs.
29008 2005-06-30 Wim Taymans <wim@fluendo.com>
29010 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
29011 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
29012 (gst_base_sink_change_state):
29013 * gst/base/gstbasesink.h:
29014 Some tweaks, only EOS and a buffer complete a preroll.
29016 2005-06-30 Andy Wingo <wingo@pobox.com>
29018 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
29019 activate_push down to the internal pad as well.
29021 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
29023 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29025 * gst/gsttaginterface.c:
29026 Some documentation fixes (#307394 and #307397).
29028 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
29030 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29032 * gst/gstvalue.c: (gst_value_intersect_list):
29033 Fix memleak (#309125).
29035 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29037 * docs/manual/advanced-dataaccess.xml:
29038 Fix fakesrc example to compile; doesn't work, bug somewhere...?
29039 * docs/manual/basics-pads.xml:
29040 Add reference for filtered caps to above chapter.
29042 2005-06-30 Wim Taymans <wim@fluendo.com>
29044 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
29045 (gst_bin_change_state):
29047 Lame attempt at making the state change function a bit
29050 2005-06-30 Wim Taymans <wim@fluendo.com>
29052 * docs/design/part-clocks.txt:
29053 * docs/design/part-element-sink.txt:
29054 * docs/design/part-events.txt:
29055 * docs/design/part-preroll.txt:
29056 * docs/design/part-states.txt:
29057 Some more tweeks and additions to the docs.
29059 2005-06-30 Wim Taymans <wim@fluendo.com>
29061 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29062 (default_have_data), (gst_pad_class_init), (gst_pad_init),
29063 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29064 (gst_pad_check_pull_range), (gst_pad_get_range),
29065 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
29067 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
29068 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29069 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29070 (gst_pad_remove_buffer_probe):
29071 Removed atomic operations, use existing LOCK.
29072 Move exception handling out of main code path.
29074 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29076 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29077 (silly_return_true_function), (gst_pad_class_init),
29078 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29079 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
29080 (gst_pad_send_event):
29081 Fix accumulator, add default value by using _emitv() instead
29082 of _emit() for signal emission.
29084 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29086 * docs/manual/advanced-dataaccess.xml:
29087 * examples/manual/Makefile.am:
29089 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
29092 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
29094 * gst/elements/gstfilesink.c: (gst_filesink_render):
29095 Simplify code so that we don't have to handle short
29096 writes and return GST_FLOW_ERROR if an error occured.
29098 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29100 * docs/gst/gstreamer-docs.sgml:
29101 Remove probes more.
29103 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29105 * docs/gst/gstreamer-sections.txt:
29106 * docs/gst/tmpl/gstpad.sgml:
29107 * docs/gst/tmpl/gstprobe.sgml:
29109 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29110 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29111 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29112 (gst_pad_push_event), (gst_pad_send_event):
29114 * gst/gstutils.c: (gst_pad_add_data_probe),
29115 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29116 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29117 (gst_pad_remove_buffer_probe):
29119 Remove old probes, add new g-signal-based probes and some utility
29122 2005-06-29 Edward Hervey <edward@fluendo.com>
29124 * gst/gstelementfactory.c:
29127 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29128 the definition to the header file.
29130 2005-06-29 Andy Wingo <wingo@pobox.com>
29132 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29133 plugins from the source directory.
29135 2005-06-29 Wim Taymans <wim@fluendo.com>
29137 * docs/gst/tmpl/gstbuffer.sgml:
29138 * docs/gst/tmpl/gstclock.sgml:
29139 Some fixings for blantently wrong text.
29141 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
29143 * check/Makefile.am:
29144 * gst/gst.c: (add_path_func), (init_pre):
29145 * gst/gstregistry.c: (gst_registry_add_path):
29146 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29147 only scan the GST_PLUGIN_PATH locations, and not add
29150 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
29152 * docs/gst/gstreamer-sections.txt:
29153 * docs/gst/tmpl/gstbasesrc.sgml:
29154 * gst/gstelement.c:
29155 * gst/gstelement.h:
29160 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29162 * docs/manual/advanced-autoplugging.xml:
29163 Fix autoplugging example.
29165 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29167 * docs/manual/advanced-autoplugging.xml:
29168 * docs/manual/mime-world.fig:
29169 Try to get autoplugging working, fix type detection. Fix text
29170 in hello-world image.
29172 2005-06-29 Wim Taymans <wim@fluendo.com>
29174 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29175 (gst_base_sink_change_state):
29179 map SIGNAL and BROADCAST to the right function.
29182 Remove redundant braces.
29184 * gst/gstpad.c: (gst_pad_set_caps):
29185 Don't call setcaps function when reseting caps to NULL.
29187 * gst/gstsystemclock.c: (gst_system_clock_dispose),
29188 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29189 (gst_system_clock_id_unschedule):
29190 Use BROADCAST as this is what we do.
29192 2005-06-29 Wim Taymans <wim@fluendo.com>
29194 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29195 We are actually prerolling before commiting the state
29198 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29200 * docs/manual/advanced-clocks.xml:
29201 * docs/manual/advanced-interfaces.xml:
29202 * docs/manual/advanced-metadata.xml:
29203 * docs/manual/advanced-position.xml:
29204 * docs/manual/advanced-schedulers.xml:
29205 * docs/manual/advanced-threads.xml:
29206 * docs/manual/appendix-porting.xml:
29207 * docs/manual/basics-bins.xml:
29208 * docs/manual/basics-bus.xml:
29209 * docs/manual/basics-elements.xml:
29210 * docs/manual/basics-helloworld.xml:
29211 * docs/manual/basics-pads.xml:
29212 * docs/manual/highlevel-components.xml:
29213 * docs/manual/manual.xml:
29214 * docs/manual/thread.fig:
29215 Update (until threads/scheduling) Application Development Manual;
29216 remove GstThread, add GstBus, add simple porting checklist, add
29217 documentation for tag writing, clocks, make all examples until this
29218 part compile and run.
29219 * examples/manual/Makefile.am:
29220 Update from changes to Application Development Manual; add bus
29221 example, remove thread example.
29223 2005-06-28 Wim Taymans <wim@fluendo.com>
29225 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29226 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29227 (gst_bus_source_dispatch):
29228 Add debugging messages.
29229 Make internal methods static.
29230 Handle the case where the bus is flushed in the handler.
29232 * gst/gstelement.c: (gst_element_get_bus):
29233 Fix refcount in _get_bus();
29235 * gst/gstpipeline.c: (gst_pipeline_change_state),
29236 (gst_pipeline_get_clock_func):
29237 Clock refcounting fixes.
29238 Handle the case where preroll timed out more gracefully.
29240 * gst/gstsystemclock.c: (gst_system_clock_dispose):
29241 Clean up the internal thread in dispose. This is needed
29242 for subclasses that actually get disposed.
29244 * gst/schedulers/threadscheduler.c:
29245 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29246 (gst_thread_scheduler_dispose):
29247 Free thread pool in dispose.
29249 2005-06-28 Andy Wingo <wingo@pobox.com>
29251 * tests/network-clock-utils.scm (debug, print-event): New utils.
29253 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29254 (*packet-loss*): Unified loss probability.
29255 (network-time): Report out-of-band events.
29257 * tests/plot-data: Add support for out-of-band events. Hack it
29258 into this script instead of passing it down the pipe; should fix
29261 2005-06-28 Wim Taymans <wim@fluendo.com>
29263 * docs/gst/gstreamer.types:
29264 * docs/gst/tmpl/gstbasesrc.sgml:
29265 * docs/gst/tmpl/gstpad.sgml:
29268 2005-06-28 Wim Taymans <wim@fluendo.com>
29270 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29271 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29272 (gst_proxy_pad_do_fixatecaps):
29273 Correctly proxy the check_pull_range function.
29275 2005-06-28 Andy Wingo <wingo@pobox.com>
29277 * tests/network-clock.scm: Removed need for slib.
29279 2005-06-28 Wim Taymans <wim@fluendo.com>
29281 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29282 (gst_basesink_preroll_queue_flush):
29283 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29284 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29285 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29286 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29287 (gst_proxy_pad_set_property):
29290 * gst/gstqueue.c: (gst_queue_init):
29291 The deprecated pad loop function is removed now.
29293 2005-06-28 Andy Wingo <wingo@pobox.com>
29295 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29296 New parameters, simulate network packet loss.
29298 * tests/network-clock-utils.scm: Initialize the RNG.
29300 2005-06-28 Wim Taymans <wim@fluendo.com>
29302 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29303 (gst_basesink_event), (gst_basesink_deactivate):
29304 Flushing the preroll queue always needs to unlock the waiters.
29306 2005-06-28 Edward Hervey <edward@fluendo.com>
29308 * gst/gstpipeline.c: (gst_pipeline_send_event):
29309 Wheen a seek was successful on a pipeline, set the stream_time to the
29310 seek offset in order to have a synchronized stream_time.
29312 2005-06-28 Wim Taymans <wim@fluendo.com>
29314 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29315 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29316 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29317 (gst_proxy_pad_do_fixatecaps):
29318 Call wrapper function instead of just calling the function
29319 pointers. This takes care of any locking and whatmore.
29321 2005-06-28 Wim Taymans <wim@fluendo.com>
29323 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29324 (gst_pad_pull_range):
29326 CONNECTED -> LINKED.
29328 2005-06-28 Andy Wingo <wingo@pobox.com>
29330 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29331 source-munging commit!!!
29333 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29334 (gst_object_sink): Take gpointer arguments, not GstObject --
29335 avoids casts. Like GLib.
29337 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29340 2005-06-27 Andy Wingo <wingo@pobox.com>
29342 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29345 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29346 returns a sorted copy of the trace list.
29347 (gst_alloc_trace_print_live): New API, only prints traces with
29348 live objects. Sort the list.
29349 (gst_alloc_trace_print_all): Sort the list.
29350 (gst_alloc_trace_print): Align columns.
29352 * gst/elements/gstttypefindelement.c:
29353 * gst/elements/gsttee.c:
29354 * gst/base/gstbasesrc.c:
29355 * gst/base/gstbasesink.c:
29356 * gst/base/gstbasetransform.c:
29357 * gst/gstqueue.c: Adapt for pad activation changes.
29359 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29361 (gst_pipeline_dispose): Drop ref on sched.
29363 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29364 (gst_pad_activate_default): Push mode by default.
29365 (pre_activate_switch, post_activate_switch): New stubs, things to
29366 do before and after switching activation modes on pads.
29367 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29368 the pad's activate function to choose which mode to activate.
29369 Shortcut on deactivation and call the right function directly.
29370 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29372 (gst_pad_activate_push): New API, same for push mode.
29373 (gst_pad_set_activate_function)
29374 (gst_pad_set_activatepull_function)
29375 (gst_pad_set_activatepush_function): Setters for new API.
29377 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29378 Trace all miniobjects.
29379 (gst_mini_object_make_writable): Unref the arg if we copy, like
29380 gst_caps_make_writable.
29382 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29384 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29385 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29386 Adapt for new pad API.
29388 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29390 * gst/gstelement.h:
29391 * gst/gstelement.c (gst_element_iterate_src_pads)
29392 (gst_element_iterate_sink_pads): New API functions.
29394 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29395 should fold into gstiterator.c in some form.
29396 (gst_element_pads_activate): Simplified via use of fold and
29397 delegation of decisions to gstpad->activate.
29399 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29402 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29403 class once in init, like gstmessage. Didn't run into this issue
29404 but it seems correct. Don't initialize a trace, gstminiobject does
29407 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29408 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29410 (assert_live_count): New util function, uses alloc traces to check
29413 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29414 To be modified when unlink drops the internal pad.
29416 2005-06-27 Wim Taymans <wim@fluendo.com>
29418 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29419 (gst_bin_change_state):
29420 Cleanup the get_state() function a little, make sure it
29421 iterates the same set of elements.
29422 Added stub iterate_state_order().
29424 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29426 * docs/gst/gstreamer-docs.sgml:
29427 * docs/gst/gstreamer-sections.txt:
29428 * docs/gst/gstreamer.types:
29429 * docs/gst/tmpl/gstbasesink.sgml:
29430 * docs/gst/tmpl/gstbasesrc.sgml:
29431 * docs/gst/tmpl/gstbasetransform.sgml:
29432 * docs/gst/tmpl/gstelement.sgml:
29433 * docs/gst/tmpl/gstiterator.sgml:
29434 * gst/base/gstbasesrc.c:
29435 * gst/base/gstbasesrc.h:
29436 * gst/base/gstbasetransform.h:
29437 * gst/gstelement.c:
29438 * gst/gstiterator.h:
29439 adding basetransform and iterator docs
29441 2005-06-27 Andy Wingo <wingo@pobox.com>
29443 * docs/design/part-activation.txt: Notes on how activation should
29444 work -- not quite implemented yet.
29446 2005-06-25 Wim Taymans <wim@fluendo.com>
29448 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29449 At least get the chain function correct, needs more
29452 2005-06-25 Wim Taymans <wim@fluendo.com>
29454 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29455 (gst_basesink_handle_object), (gst_basesink_event),
29456 (gst_basesink_do_sync), (gst_basesink_handle_event),
29457 (gst_basesink_change_state):
29459 Right, two problems here: ghostpads don't take locks and
29460 glib _rec_mutex_lock_full() with depth==0 still locks.
29461 Catch illegal locking and g_warn them.
29463 2005-06-25 Wim Taymans <wim@fluendo.com>
29465 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29466 Have to check for completion now...
29468 2005-06-25 Wim Taymans <wim@fluendo.com>
29470 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29471 (gst_basesink_handle_object), (gst_basesink_event),
29472 (gst_basesink_do_sync), (gst_basesink_handle_event),
29473 (gst_basesink_change_state):
29475 Unlock STREAM_LOCK whatever the recursion was.
29477 2005-06-25 Wim Taymans <wim@fluendo.com>
29479 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29480 (gst_basesink_preroll_queue_empty),
29481 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29482 (gst_basesink_event), (gst_basesink_do_sync),
29483 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29484 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29485 (gst_basesink_change_state):
29486 Reworked the base sink, handle event and buffer serialisation
29487 correctly and removed possible deadlock.
29488 Handle EOS correctly.
29490 2005-06-25 Wim Taymans <wim@fluendo.com>
29492 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29493 (gst_pipeline_change_state):
29494 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29495 Allow elements to post EOS in the state change function.
29496 Fix up -launch, make it exit the poll loop when the
29497 pipeline actually changed state.
29498 Fix up warning parsing in -launch.
29500 2005-06-25 Wim Taymans <wim@fluendo.com>
29502 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29503 (gst_tee_sink_activate):
29504 Core takes STREAM_LOCK for us now.
29506 2005-06-25 Wim Taymans <wim@fluendo.com>
29508 * gst/gstelement.c: (gst_element_get_state_func),
29509 (gst_element_set_state):
29510 * gst/gstelement.h:
29511 * gst/gstmessage.c: (gst_message_parse_error),
29512 (gst_message_parse_warning):
29513 Keep track of current target state while performing a state
29514 change so that subclasses can do something interesting.
29515 Fix parsing of warning/error messages when GError is NULL.
29517 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29519 * docs/gst/Makefile.am:
29520 * docs/gst/gstreamer-docs.sgml:
29521 * docs/gst/gstreamer-sections.txt:
29522 * docs/gst/gstreamer.types:
29523 * docs/gst/tmpl/gstbasesink.sgml:
29524 * docs/gst/tmpl/gstbasesrc.sgml:
29525 * docs/gst/tmpl/gstbin.sgml:
29526 * docs/gst/tmpl/gstcompat.sgml:
29527 * docs/gst/tmpl/gstfakesink.sgml:
29528 * docs/gst/tmpl/gstfakesrc.sgml:
29529 * docs/gst/tmpl/gstfilesink.sgml:
29530 * docs/gst/tmpl/gstfilesrc.sgml:
29531 * docs/gst/tmpl/gstindex.sgml:
29532 * docs/manual/appendix-quotes.xml:
29533 * gst/base/gstbasesrc.h:
29534 * gst/elements/gstfakesrc.h:
29535 * gst/gstmessage.h:
29536 start pulling in base classes and elements in our docs
29538 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29540 * docs/gst/Makefile.am:
29541 * docs/libs/Makefile.am:
29542 fixed make distcheck with gtk-doc 1.3
29544 2005-06-23 Wim Taymans <wim@fluendo.com>
29546 * gst/gstelement.c: (gst_element_get_state_func),
29547 (gst_element_set_state), (gst_element_change_state):
29548 When the state did not change, also report NO_PREROLL
29551 2005-06-23 Wim Taymans <wim@fluendo.com>
29553 * gst/gstpad.c: (gst_pad_event_default):
29554 * gst/gstqueue.c: (gst_queue_loop):
29555 No unsafe task pausing please.
29557 2005-06-23 Wim Taymans <wim@fluendo.com>
29559 * gst/schedulers/threadscheduler.c:
29560 (gst_thread_scheduler_task_start),
29561 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29562 Ref the task before pushing it on the threadpool. This
29563 makes sure that we have a ref when the threadfunction is
29566 2005-06-23 Andy Wingo <wingo@pobox.com>
29568 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29569 offset is greater than the file's size.
29571 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29572 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29573 * gst/gstobject.c (gst_object_class_init): Make the class lock
29574 recursive. Wim won't let me drop deep_notify. Decodebin works
29575 again, whoopdy doo.
29577 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29578 internal pad, and hacks accordingly. Doesn't do it on the target
29579 pad because we change its caps. Probably catches all cases of
29581 (gst_ghost_pad_set_property): Connect to notify::caps as
29584 * tests/network-clock.scm (plot-simulation): Pipe data to the
29585 elite python skript.
29587 * tests/network-clock-utils.scm (define-parameter): New macro,
29588 defines a parameter that can be set via the command line.
29589 (set-parameter!, parse-parameter-arguments): Command line args
29592 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29595 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29597 * gst/elements/gsttypefindelement.c:
29598 (gst_type_find_element_handle_event):
29599 Don't restart typefinding on a discont.
29600 * gst/gstelement.c: (gst_element_set_state):
29601 Debug spelling fix.
29602 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29603 Allow changing mode of an active pad.
29604 Debug output fixes.
29605 * gst/registries/gstlibxmlregistry.c: (load_feature):
29606 Don't cast a static pad template to a normal pad template.
29608 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29610 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29611 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29612 remove gst_strtoll completely, since it didn't actually do
29613 anything more than what g_ascii_strtoull already does.
29614 check for range errors when deserializing
29615 do a cast for the unsigned cases; but further fixing needs
29616 a decision on what the interpretation of "(int)" and
29617 deserialization should be for values that fall outside the
29618 type's boundaries (ie, refuse, or interpret as casting)
29620 2005-06-23 Wim Taymans <wim@fluendo.com>
29622 * check/Makefile.am:
29623 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29624 * docs/design/part-live-source.txt:
29625 * docs/design/part-states.txt:
29626 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29627 (gst_basesrc_set_live), (gst_basesrc_is_live),
29628 (gst_basesrc_get_range), (gst_basesrc_activate),
29629 (gst_basesrc_change_state):
29630 * gst/base/gstbasesrc.h:
29631 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29632 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29633 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29634 * gst/gstelement.c: (gst_element_get_state_func),
29635 (gst_element_set_state):
29636 * gst/gstelement.h:
29638 * tools/gst-launch.c: (event_loop), (main):
29639 Added support for live sources and other elements that
29641 Updated design docs, added live-source design doc.
29642 Implemented live source functionality in basesrc
29643 Fix error condition in _bin_get_state()
29644 Implement live source handling in -launch.
29645 Added check for live sources.
29646 Fixed case in GstBin where elements were changed state
29650 2005-06-23 Andy Wingo <wingo@pobox.com>
29652 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29653 borken refcounting.
29655 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29656 gst_caps_replace takes care of this for us.
29658 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29659 gst_pad_set_caps on the target, not just its setcaps() function.
29661 * tests/network-clock.scm:
29662 * tests/network-clock-utils.scm: A network clock simulator.
29663 Something of an algorithmic testbed before doing something in C.
29665 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29667 * check/Makefile.am:
29668 * check/gst/capslist.h:
29669 copy over from 0.8, and add two with bitmasks specified with
29671 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29672 add test to parse everything from capslist.h
29673 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29675 add test for structure deserialization
29676 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29677 add tests for deserialization of strings to int types
29678 * gst/gststructure.c: (gst_structure_nth_field_name):
29679 * gst/gststructure.h:
29680 add a way to get the name of a field referenced by index
29681 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29682 instead of checking if the resulting long long lies between
29683 min and max, we check if the long long would fit into
29684 a number of bytes for the final type.
29685 This fixes cases where a string represents 2^32 - 1, which
29686 when cast to int would be the (valid) -1, but is bigger than
29689 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29691 * gst/parse/grammar.y:
29692 add a log line for type deserialization
29694 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29696 * check/gst/gstvalue.c: (START_TEST):
29697 * gst/gstvalue.c: (gst_value_deserialize):
29698 return long long, not int, so gint64 deserialization actually
29699 works. Is there any flag that makes the compiler check this ?
29702 2005-06-22 Wim Taymans <wim@fluendo.com>
29705 Added convenience macros for setting buffers in GValue.
29707 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29709 * check/gst/.cvsignore:
29710 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29711 add a test deserializing int64, and comment part out because
29714 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29716 * check/Makefile.am:
29717 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29718 * testsuite/Makefile.am:
29719 * testsuite/caps/Makefile.am:
29720 * testsuite/caps/value_serialize.c:
29721 * testsuite/test_gst_init.c:
29722 move a value_serialize test over
29724 2005-06-20 Wim Taymans <wim@fluendo.com>
29729 * gst/gstvalue.c: (gst_value_compare_buffer),
29730 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29731 (gst_value_compare_flags), (gst_value_serialize_flags),
29732 (gst_value_deserialize_flags), (_gst_value_initialize):
29733 Fix serialisation of buffers, they are not boxed types anymore
29735 2005-06-20 Wim Taymans <wim@fluendo.com>
29737 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29738 Testcase to show error in buffer-on-caps serialisation.
29740 2005-06-20 Andy Wingo <wingo@pobox.com>
29742 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29743 will be adding to later.
29745 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29746 if its socks fill with rocks.
29747 (gst_system_clock_obtain): Set the name on object construction.
29748 Avoid double-checked locking.
29750 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29752 * gst/gsturi.c: (gst_element_make_from_uri):
29753 Fix potential endless loop.
29755 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29757 * check/Makefile.am:
29759 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29761 move over from testsuite dir and clean up
29764 * testsuite/Makefile.am:
29765 * testsuite/tags/.cvsignore:
29766 * testsuite/tags/Makefile.am:
29767 * testsuite/tags/merge.c:
29768 remove testsuite/tags
29770 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29772 * docs/gst/gstreamer-sections.txt:
29773 * docs/gst/tmpl/gstenumtypes.sgml:
29774 * win32/gstenumtypes.c:
29775 clean up documentation build a little
29777 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29779 * check/gstcheck.h:
29780 add macros for checking refcounts on objects and caps
29781 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29782 add some more unit tests
29783 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29784 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29785 fix leaked refcounts (I hope :)) so unittest works
29789 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29791 * configure.ac: back to HEAD
29793 === release 0.9.1 ===
29795 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29801 2005-06-17 Andy Wingo <wingo@pobox.com>
29803 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29804 assert; it's always possible that the pad gets deactivated in
29805 between the checks in gstpad.c and the implementation. Rely on
29806 finish_preroll() to return a FLUSHING or similar instead of on the
29809 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29810 clock and post an EOS message if we come out of finish_preroll in
29813 2005-06-16 David Schleef <ds@schleef.org>
29815 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29816 (gst_capsfilter_set_property): Allow NULL as possible value
29817 for filter_caps property, indicating GST_CAPS_ANY.
29819 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29821 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29823 * gst/schedulers/Makefile.am:
29825 * gstreamer.spec.in:
29828 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29830 * gstreamer.spec.in:
29833 2005-06-08 Andy Wingo <wingo@pobox.com>
29835 * gst/gstutils.c: RPAD fixes all around.
29836 (gst_element_link_pads): Refcounting fixes.
29838 * tools/gst-inspect.c:
29839 * tools/gst-xmlinspect.c:
29841 * gst/base/gsttypefindhelper.c:
29842 * gst/base/gstbasesink.c:
29843 * gst/gstqueue.c: RPAD fixes.
29845 * gst/gstghostpad.h:
29846 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29847 pads. The tricky thing is they provide both source and sink
29848 interfaces, since they proxy the internal pad for the external
29849 pad, and vice versa. Implement with lower-level ProxyPad objects,
29850 with the interior proxy pad as a child of the exterior ghost pad.
29851 Should write a doc on this.
29853 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29854 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29857 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29858 pads are real pads. No ghost pads in this file. Not documenting
29859 the myriad s/RPAD/PAD/ and REALIZE fixes.
29860 (gst_pad_class_init): Add properties for "direction" and
29861 "template". Both are construct-only, so they can't change during
29862 the life of the pad. Fixes properly deriving from GstPad.
29863 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29864 derived objects, just set properties when creating the objects via
29866 (gst_pad_get_parent): Implement as a function, return NULL if the
29867 parent is not an element.
29868 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29869 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29871 * gst/gstobject.c (gst_object_class_init): Make name a construct
29872 property. Don't set it in the object init.
29874 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29875 with UNKNOWN direction.
29876 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29877 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29878 (gst_element_remove_pad): Remove ghost-pad special cases.
29879 (gst_element_pads_activate): Remove rpad cruft.
29881 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29882 catch the pad's-parent-not-an-element case.
29884 * gst/gst.h: Include gstghostpad.h.
29886 * gst/gst.c (init_post): No more real, ghost pads.
29888 * gst/Makefile.am: Add gstghostpad.[ch].
29890 * check/Makefile.am:
29891 * check/gst/gstbin.c:
29892 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29893 into a bin creates ghost pads, and that the refcounts are right.
29894 Partly moved from gstbin.c.
29896 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29898 * check/gst-libs/.cvsignore:
29899 * check/gst/.cvsignore:
29900 * check/pipelines/.cvsignore:
29902 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29903 (START_TEST), (cleanup_suite), (main):
29904 add some tests related to cleanup after running pipelines
29906 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29908 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29909 add a testsuite for GstBuffer
29911 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29913 * gst/gstminiobject.h:
29914 add defines for accessing the refcount
29916 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29918 * Makefile.am: added support for html unit test coverage reports
29920 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29922 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29923 Free existing caps if the capsfilter changes. Add a FIXME about
29924 setting those caps on the pads.
29926 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29927 Before adding a ghost pad to a parent bin, check that there isn't
29928 already one for the element on the bin. Prevents infinite recursion
29929 when using decodebin in parse pipelines. Andy says he'll rewrite the
29930 way this works anyway, so ignore the hack.
29932 2005-06-02 Andy Wingo <wingo@pobox.com>
29934 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29935 file size, pass it on to the type find helper.
29937 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29938 segment_start and segment_end properly according to the seek
29939 method. Segment_end is still a bit flaky because offset can be
29940 negative for CUR and END cases, but it takes -1 as an "unset"
29943 2005-06-02 Wim Taymans <wim@fluendo.com>
29945 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29946 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29947 (gst_basesink_activate):
29948 * gst/base/gstbasesink.h:
29949 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29950 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29951 (gst_pad_query), (gst_pad_start_task):
29953 * gst/gstqueue.c: (gst_queue_bufferalloc),
29954 (gst_queue_handle_sink_event), (gst_queue_chain):
29955 Bufferalloc: return GstFlowReturn to more accuratly report
29956 why allocation failed.
29958 2005-06-02 Wim Taymans <wim@fluendo.com>
29960 * gst/gstpipeline.c: (gst_pipeline_send_event):
29961 Take snapshot of state without blocking.
29963 2005-06-02 Wim Taymans <wim@fluendo.com>
29965 * docs/design/part-TODO.txt:
29966 * docs/design/part-caps.txt:
29967 * docs/design/part-clocks.txt:
29968 * docs/design/part-negotiation.txt:
29969 * docs/design/part-preroll.txt:
29972 2005-05-30 Wim Taymans <wim@fluendo.com>
29974 * gst/elements/gstidentity.c: (gst_identity_event),
29975 (gst_identity_transform), (gst_identity_get_property):
29976 Protect last_message property as it is accessed from
29979 2005-05-30 Wim Taymans <wim@fluendo.com>
29981 * gst/gstelement.c: (gst_element_init),
29982 (gst_element_pads_activate), (gst_element_change_state):
29983 Slicker pad activation code.
29985 2005-05-30 Wim Taymans <wim@fluendo.com>
29988 * gst/gstelement.h:
29989 * gst/gstelementfactory.h:
29991 Move elementfactory methods to separate .h file.
29993 2005-05-30 Wim Taymans <wim@fluendo.com>
29995 * docs/design/part-overview.txt:
29996 * gst/gstsystemclock.h:
29997 Small typo fixes, doc updates.
29999 2005-05-30 Wim Taymans <wim@fluendo.com>
30001 * gst/gst.c: (gst_init_get_popt_table), (init_post),
30002 (init_popt_callback):
30003 Remove cpu-opt flag.
30005 2005-05-30 Wim Taymans <wim@fluendo.com>
30007 * gst/gstbuffer.c: (gst_subbuffer_finalize),
30008 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
30010 Avoid typechecking in places where not needed.
30011 Added accessor for malloc_data.
30013 2005-05-30 Wim Taymans <wim@fluendo.com>
30015 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
30016 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
30017 (gst_pad_configure_sink), (gst_pad_configure_src),
30018 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
30019 (gst_pad_start_task):
30020 Propagate errors from _set_caps() in configure_src/sink
30021 functions instead of returning TRUE.
30022 FLUSH events can travel up and downstream
30025 2005-05-30 Wim Taymans <wim@fluendo.com>
30027 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30028 (gst_basesink_activate):
30029 Handle EOS in preroll.
30031 2005-05-30 Wim Taymans <wim@fluendo.com>
30033 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30034 (gst_queue_loop), (gst_queue_handle_src_event):
30035 Remove old pieces of code
30036 Flushing the queue in an upstream event is a very bad idea.
30038 2005-05-26 Andy Wingo <wingo@pobox.com>
30040 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
30041 gst_value_set_mini_object so as to add a ref on the object (which
30042 will be removed when the value is unset).
30044 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
30045 arg type in ::handoff.
30047 * gst/gstelement.c (gst_element_change_state): Also deactivate
30048 pads in READY->NULL, just in case the element didn't make it to
30049 PAUSED. Wingo tested, Wim approved.
30051 2005-05-26 Wim Taymans <wim@fluendo.com>
30053 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30054 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30055 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
30056 A flushing pad cannot be used to alloc_buffer from.
30058 2005-05-26 Wim Taymans <wim@fluendo.com>
30060 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
30061 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
30062 (gst_bus_source_dispatch), (gst_bus_source_finalize),
30063 (gst_bus_create_watch), (gst_bus_add_watch_full):
30065 Implement a real GSource and use g_main_context_wakeup() to
30066 signal new messages instead of the socketpair.
30068 2005-05-25 Wim Taymans <wim@fluendo.com>
30070 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
30071 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
30072 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30073 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30074 (gst_pad_send_event), (gst_pad_start_task):
30075 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
30076 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
30077 (gst_queue_sink_activate), (gst_queue_src_activate),
30078 (gst_queue_change_state):
30080 Fix state changes for non sinks. We now change sinks, then elements
30081 with unconnected srcpads, then the rest.
30082 More efficient queue unlocking in flush and state changes.
30083 Set the pad activate mode even if it does not have an activate
30086 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30088 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
30089 Don't go in pull mode for non-seekable sources.
30090 * gst/elements/gsttypefindelement.h:
30091 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30092 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
30093 (free_entry), (stop_typefinding),
30094 (gst_type_find_element_handle_event), (find_peek),
30095 (gst_type_find_element_chain), (do_pull_typefind),
30096 (gst_type_find_element_change_state):
30097 Allow typefinding (w/o seeking) in push-mode, simplified version
30098 of what was in 0.8.
30099 * gst/gstutils.c: (gst_buffer_join):
30101 gst_buffer_join() from 0.8.
30103 2005-05-25 Wim Taymans <wim@fluendo.com>
30105 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30106 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30107 (gst_pad_send_event), (gst_pad_start_task):
30108 Disable attempt at mode switching until it is figured out.
30110 2005-05-25 Wim Taymans <wim@fluendo.com>
30112 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30113 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30114 (gst_basesink_finish_preroll), (gst_basesink_chain),
30115 (gst_basesink_loop), (gst_basesink_activate),
30116 (gst_basesink_change_state):
30117 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30118 (gst_basesrc_get_range), (gst_basesrc_loop),
30119 (gst_basesrc_activate):
30120 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30121 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30122 (gst_real_pad_init), (gst_real_pad_set_property),
30123 (gst_real_pad_get_property), (gst_pad_set_active),
30124 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30125 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30126 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30127 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30128 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30129 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30130 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30131 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30132 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30133 (gst_pad_stop_task):
30135 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30136 (gst_queue_loop), (gst_queue_src_activate):
30137 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30138 (gst_task_get_state):
30140 * gst/schedulers/threadscheduler.c:
30141 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30142 Implement gst_pad_pause/start/stop_task(), take STREAM lock
30144 Remove ACTIVE pad flag, use FLUSHING everywhere
30145 Added _pad_chain(), _pad_get_range() to call chain/getrange
30147 Add locks around IS_FLUSHING when reading.
30148 Take STREAM lock in chain(), get_range() functions so plugins
30149 don't need to take it anymore.
30153 2005-05-25 Wim Taymans <wim@fluendo.com>
30155 * tools/gst-launch.c: (event_loop):
30156 Unref message after using its contents instead of
30159 2005-05-24 Wim Taymans <wim@fluendo.com>
30161 * docs/design/draft-ghostpads.txt:
30162 * docs/design/draft-push-pull.txt:
30163 * docs/design/draft-query.txt:
30164 * docs/design/part-overview.txt:
30165 Docs updates, added general overview doc.
30167 2005-05-21 David Schleef <ds@schleef.org>
30169 * docs/gst/tmpl/old/GstBin.sgml:
30170 * docs/gst/tmpl/old/GstBuffer.sgml:
30171 * docs/gst/tmpl/old/GstCaps.sgml:
30172 * docs/gst/tmpl/old/GstClock.sgml:
30173 * docs/gst/tmpl/old/GstCompat.sgml:
30174 * docs/gst/tmpl/old/GstData.sgml:
30175 * docs/gst/tmpl/old/GstElement.sgml:
30176 * docs/gst/tmpl/old/GstEvent.sgml:
30177 * docs/gst/tmpl/old/GstIndex.sgml:
30178 * docs/gst/tmpl/old/GstStructure.sgml:
30179 * docs/gst/tmpl/old/GstTag.sgml:
30180 * docs/gst/tmpl/old/cothreads.sgml:
30181 * docs/gst/tmpl/old/cothreads_compat.sgml:
30182 * docs/gst/tmpl/old/gettext.sgml:
30183 * docs/gst/tmpl/old/gobject2gtk.sgml:
30184 * docs/gst/tmpl/old/grammar.tab.sgml:
30185 * docs/gst/tmpl/old/gst-i18n-app.sgml:
30186 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30187 * docs/gst/tmpl/old/gst_private.sgml:
30188 * docs/gst/tmpl/old/gstaggregator.sgml:
30189 * docs/gst/tmpl/old/gstarch.sgml:
30190 * docs/gst/tmpl/old/gstatomic_impl.sgml:
30191 * docs/gst/tmpl/old/gstbufferstore.sgml:
30192 * docs/gst/tmpl/old/gstdata_private.sgml:
30193 * docs/gst/tmpl/old/gstdisksink.sgml:
30194 * docs/gst/tmpl/old/gstdisksrc.sgml:
30195 * docs/gst/tmpl/old/gstelementfactory.sgml:
30196 * docs/gst/tmpl/old/gstextratypes.sgml:
30197 * docs/gst/tmpl/old/gstfakesink.sgml:
30198 * docs/gst/tmpl/old/gstfakesrc.sgml:
30199 * docs/gst/tmpl/old/gstfdsink.sgml:
30200 * docs/gst/tmpl/old/gstfdsrc.sgml:
30201 * docs/gst/tmpl/old/gstfilesink.sgml:
30202 * docs/gst/tmpl/old/gstfilesrc.sgml:
30203 * docs/gst/tmpl/old/gsthttpsrc.sgml:
30204 * docs/gst/tmpl/old/gstidentity.sgml:
30205 * docs/gst/tmpl/old/gstindexfactory.sgml:
30206 * docs/gst/tmpl/old/gstmarshal.sgml:
30207 * docs/gst/tmpl/old/gstmd5sink.sgml:
30208 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30209 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30210 * docs/gst/tmpl/old/gstpadtemplate.sgml:
30211 * docs/gst/tmpl/old/gstpipefilter.sgml:
30212 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30213 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30214 * docs/gst/tmpl/old/gstshaper.sgml:
30215 * docs/gst/tmpl/old/gstspider.sgml:
30216 * docs/gst/tmpl/old/gstspideridentity.sgml:
30217 * docs/gst/tmpl/old/gststatistics.sgml:
30218 * docs/gst/tmpl/old/gsttee.sgml:
30219 * docs/gst/tmpl/old/gsttimecache.sgml:
30220 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30221 * docs/gst/tmpl/old/gstxmlregistry.sgml:
30222 * docs/gst/tmpl/old/gthread-cothreads.sgml:
30223 * docs/gst/tmpl/old/types.sgml:
30224 I didn't intend to add these or check them in.
30226 2005-05-19 David Schleef <ds@schleef.org>
30228 * configure.ac: Use -no-common everywhere. In a sane world, it
30229 would be the default in libtool, because without it, you can't
30230 build DLLs on Windows.
30231 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30232 * docs/gst/gstreamer-sections.txt:
30233 * docs/gst/tmpl/gstcpu.sgml:
30234 * docs/gst/tmpl/gstdata.sgml:
30235 * docs/gst/tmpl/gstthread.sgml:
30237 2005-05-19 David Schleef <ds@schleef.org>
30239 * gst/gstminiobject.c: (gst_value_set_mini_object),
30240 (gst_value_take_mini_object), (gst_value_get_mini_object):
30241 * gst/gstminiobject.h: Add GValue set/get functions.
30243 2005-05-19 Wim Taymans <wim@fluendo.com>
30245 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30246 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30247 (gst_subbuffer_init), (gst_buffer_is_span_fast):
30249 * gst/gstbus.c: (gst_bus_post):
30250 * gst/gstelement.c: (gst_element_get_random_pad):
30251 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30252 Make subbufer unref the parent in finalize.
30253 some more debugging info.
30256 2005-05-19 Wim Taymans <wim@fluendo.com>
30258 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30259 (gst_basesink_init), (gst_basesink_finalize),
30260 (gst_basesink_activate), (gst_basesink_change_state):
30261 Don't free preroll queue too early.
30263 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30267 Hi, I'm outdated. Please shoot me.
30269 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30271 * gst/gstpipeline.c: (gst_pipeline_send_event):
30272 Do not access variables after they have been deleted.
30274 2005-05-19 Wim Taymans <wim@fluendo.com>
30276 * tools/gst-inspect.c: (print_plugin_features):
30277 A plugin feature does unfortunatly not use the
30280 2005-05-18 Wim Taymans <wim@fluendo.com>
30282 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30283 Port _span() functions to new subbuffers.
30285 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30287 * gst/gstbin.c: (gst_bin_add_func):
30288 Fix clock settery in bins when adding kids after the clock has
30291 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30293 * gst/elements/gstidentity.c: (gst_identity_class_init):
30294 Workaround until signals support GstMiniObject.
30296 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30299 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30301 2005-05-18 Wim Taymans <wim@fluendo.com>
30303 * gst/base/Makefile.am:
30304 * gst/base/gstadapter.c: (gst_adapter_base_init),
30305 (gst_adapter_class_init), (gst_adapter_init),
30306 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30307 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30308 (gst_adapter_flush), (gst_adapter_available),
30309 (gst_adapter_available_fast):
30310 * gst/base/gstadapter.h:
30311 Ported and added adapter to the base classes.
30313 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30316 * gst/gstmessage.c:
30317 Make sure the class is reffed/unreffed once before threads can be
30318 used. Fixes #304551.
30320 2005-05-17 Wim Taymans <wim@fluendo.com>
30322 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30323 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30324 * gst/gstminiobject.c: (gst_mini_object_get_type),
30325 (gst_mini_object_free):
30326 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30327 (gst_pad_push), (gst_pad_push_event):
30328 * gst/gstqueue.c: (gst_queue_change_state):
30329 Don't queue buffers in basesink when we are flushing.
30330 Unref buffer when flushing in basesink.
30331 Flush queue when going to READY
30332 Unref buffer when _push() returns an error.
30333 Don't free MiniObject instance when refcount is incremented
30334 in _finalize() so that we can recover objects.
30336 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30338 * docs/manual/advanced-schedulers.xml:
30339 * docs/manual/appendix-checklist.xml:
30340 * docs/pwg/advanced-clock.xml:
30341 * docs/pwg/advanced-interfaces.xml:
30342 * docs/pwg/advanced-request.xml:
30343 * docs/pwg/advanced-types.xml:
30344 * docs/pwg/intro-preface.xml:
30345 * examples/plugins/example.c: (gst_example_get_type),
30346 (gst_example_class_init), (gst_example_chain),
30347 (gst_example_set_property), (gst_example_get_property),
30348 (gst_example_change_state), (plugin_init):
30349 * examples/plugins/example.h:
30352 2005-05-17 Wim Taymans <wim@fluendo.com>
30354 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30355 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30356 * gst/gstqueue.c: (gst_queue_change_state):
30357 Clear queue when going to READY.
30358 Remove IN_SETCAPS flag too.
30360 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30362 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30363 Remove implicit cast from gboolean to GstElementStateReturn;
30364 make sure we still return failure in paused => ready case if
30365 the parent class fails to change state and our own stop
30368 2005-05-17 Wim Taymans <wim@fluendo.com>
30370 * tools/gst-launch.c: (event_loop):
30371 Message was unreffed too soon.
30373 2005-05-16 Andy Wingo <wingo@pobox.com>
30375 * gst/gstbin.c (sink_iterator_filter): Err... um...
30377 * check/gst/gstbin.c (test_ghost_pads): New test for the
30378 ghosting-if-elements-not-in-same-bin behavior.
30380 2005-05-16 David Schleef <ds@schleef.org>
30382 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30383 accessing refcount directly.
30385 2005-05-15 David Schleef <ds@schleef.org>
30387 * check/Makefile.am: remove GstData checks
30388 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30389 * gst/Makefile.am: add miniobject, remove data
30390 * gst/gst.h: add miniobject, remove data
30391 * gst/gstdata.c: remove
30392 * gst/gstdata.h: remove
30393 * gst/gstdata_private.h: remove
30394 * gst/gsttypes.h: remove GstEvent and GstMessage
30395 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30396 * gst/gstmarshal.list: change BOXED -> OBJECT
30398 Implement GstMiniObject.
30399 * gst/gstminiobject.c:
30400 * gst/gstminiobject.h:
30402 Modify to be subclasses of GstMiniObject.
30403 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30404 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30405 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30406 (gst_subbuffer_get_type), (gst_subbuffer_init),
30407 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30410 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30411 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30412 (_gst_event_copy), (gst_event_new):
30414 * gst/gstmessage.c: (_gst_message_initialize),
30415 (gst_message_get_type), (gst_message_class_init),
30416 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30417 (gst_message_new), (gst_message_new_error),
30418 (gst_message_new_warning), (gst_message_new_tag),
30419 (gst_message_new_state_changed), (gst_message_new_application):
30420 * gst/gstmessage.h:
30421 * gst/gstprobe.c: (gst_probe_perform),
30422 (gst_probe_dispatcher_dispatch):
30424 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30425 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30426 (_gst_query_copy), (gst_query_new):
30428 Update elements for GstData -> GstMiniObject changes
30430 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30431 (gst_queue_chain), (gst_queue_loop):
30432 * gst/elements/gstbufferstore.c:
30433 (gst_buffer_store_add_buffer_func),
30434 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30435 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30436 (gst_fakesink_render):
30437 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30438 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30439 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30440 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30441 (gst_filesrc_create_read):
30442 * gst/elements/gstidentity.c: (gst_identity_class_init):
30443 * gst/elements/gsttypefindelement.c:
30444 (gst_type_find_element_src_event), (free_entry_buffers),
30445 (gst_type_find_element_handle_event):
30446 * libs/gst/dataprotocol/dataprotocol.c:
30447 (gst_dp_header_from_buffer):
30448 * libs/gst/dataprotocol/dataprotocol.h:
30449 * libs/gst/dataprotocol/dp-private.h:
30451 2005-05-15 David Schleef <ds@schleef.org>
30453 * gst/elements/gstelements.c: Don't include headers that were
30456 2005-05-15 David Schleef <ds@schleef.org>
30458 * gst/elements/Makefile.am: Remove some elements that don't
30459 need to be in the core (or even exist at all).
30460 * gst/elements/gstaggregator.c:
30461 * gst/elements/gstaggregator.h:
30462 * gst/elements/gstmd5sink.c:
30463 * gst/elements/gstmd5sink.h:
30464 * gst/elements/gstmultifilesrc.c:
30465 * gst/elements/gstmultifilesrc.h:
30466 * gst/elements/gstpipefilter.c:
30467 * gst/elements/gstpipefilter.h:
30468 * gst/elements/gstshaper.c:
30469 * gst/elements/gstshaper.h:
30470 * gst/elements/gststatistics.c:
30471 * gst/elements/gststatistics.h:
30472 * po/POTFILES.in: Remove above files.
30474 2005-05-14 Andy Wingo <wingo@pobox.com>
30476 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30477 so as to get the refs right.
30478 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30479 unreffing objects that don't pass the filter.
30481 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30482 gst_element_set_bus.
30483 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30484 normal cases, this will destroy the bus.
30486 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30489 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30492 2005-05-13 Andy Wingo <wingo@pobox.com>
30494 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30495 gst_pad_link, call pad_link_maybe_ghosting,
30496 (pad_link_maybe_ghosting): Links pads, making sure that the
30497 elements being linked are in the same bin.
30498 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30499 Helpers for pad_link_maybe_ghosting.
30501 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30504 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30506 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30508 * docs/design/part-element-source.txt:
30511 2005-05-12 Wim Taymans <wim@fluendo.com>
30513 * gst/base/gstbasesink.c: (gst_basesink_init),
30514 (gst_basesink_activate):
30515 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30516 (gst_basesrc_is_seekable):
30517 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30518 (bin_element_is_sink), (gst_bin_change_state):
30519 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30520 * gst/gstelement.h:
30521 Identify sinks by their flag to avoid overly complicated
30523 Do state changes even for elements not reachable from the
30525 BaseSink is a sink now :)
30526 Some more debugging info in the basesrc.
30529 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30531 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30532 Implement _query on a bin, similar to _send_event.
30534 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30536 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30537 Discont event offset format should be GST_FORMAT_BYTES,
30538 not GST_FORMAT_TIME.
30540 2005-05-12 Wim Taymans <wim@fluendo.com>
30542 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30543 Same fix as Ronald's but without the signal.
30545 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30547 * gst/gstutils.c: (gst_element_query_position):
30548 No, an element is not a pad.
30550 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30552 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30553 (gst_bin_get_state):
30554 If a child is removed from a bin while we remove the child from
30555 the bin and while we're retrieving its state, signal this to the
30556 get_state function so we abort the wait (instead of waiting for
30557 a timeout) and can immediately re-iterate over all other elements.
30559 2005-05-12 Wim Taymans <wim@fluendo.com>
30561 * gst/base/Makefile.am:
30562 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30563 (gst_basesrc_start):
30564 * gst/base/gstbasesrc.h:
30565 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30566 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30567 (gst_pushsrc_init), (gst_pushsrc_create):
30568 * gst/base/gstpushsrc.h:
30569 Added is_seekable to BaseSrc
30570 Added simple PushSrc.
30572 2005-05-11 Wim Taymans <wim@fluendo.com>
30574 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30575 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30576 (gst_element_link_pads), (gst_element_query_position),
30577 (gst_element_query_convert), (intersect_caps_func),
30578 (gst_pad_query_position), (gst_pad_query_convert):
30579 Fix refcounting in utils function.
30580 No point in trying to activate a pad when it's added, it could
30581 be added from the state change function and then we deadlock, the
30582 element has to decide what to do.
30584 2005-05-10 Andy Wingo <wingo@pobox.com>
30586 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30587 *all* the arguments.
30589 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30590 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30591 lock (according to the docs -- if this is wrong change the docs).
30593 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30594 flush messages in the NULL state.
30596 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30597 message immediately and return.
30598 (gst_bus_set_flushing): New function. If a bus is flushing, it
30599 flushes out any queued messages and immediately unrefs new
30600 messages. This is so when an element goes to NULL, all of the
30601 unhandled messages coming from it can be freed, and their
30602 references to the element dropped. In other words: message source
30603 ref considered harmful :P
30605 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30606 we're finished with it.
30608 * gst/gstmessage.c (gst_message_new_state_changed):
30610 2005-05-10 Wim Taymans <wim@fluendo.com>
30612 * gst/gstvalue.c: (gst_value_compare_flags),
30613 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30614 (_gst_value_initialize):
30615 Added flags serialize/deserialize/compare code.
30617 2005-05-09 Andy Wingo <wingo@pobox.com>
30619 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30620 Intersect the peer's caps with our caps.
30622 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30624 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30625 * gst/elements/gsttypefindelement.c: (find_peek):
30626 Handle negative offsets better. Fixes decodebin.
30628 2005-05-09 Wim Taymans <wim@fluendo.com>
30630 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30631 (gst_base_transform_event):
30632 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30633 Implement accept_caps.
30634 Fix silly lock/unlock mismatch in base class.
30636 2005-05-09 Wim Taymans <wim@fluendo.com>
30638 * docs/design/draft-push-pull.txt:
30639 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30640 * gst/elements/gstfilesink.c: (gst_filesink_init),
30641 (gst_filesink_query):
30642 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30643 (gst_type_find_handle_src_query), (find_element_get_length):
30644 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30645 * gst/gstelement.h:
30646 * gst/gstmessage.c:
30647 * gst/gstmessage.h:
30648 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30649 (gst_real_pad_get_caps_unlocked),
30650 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30651 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30652 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30653 (gst_real_pad_dispose), (gst_real_pad_finalize),
30654 (gst_pad_load_and_link), (gst_pad_save_thyself),
30655 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30656 (gst_pad_check_pull_range), (gst_pad_pull_range),
30657 (gst_pad_template_get_type), (gst_pad_template_class_init),
30658 (gst_pad_template_init), (gst_pad_template_dispose),
30659 (name_is_valid), (gst_static_pad_template_get),
30660 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30661 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30662 (gst_pad_get_element_private), (gst_pad_start_task),
30663 (gst_pad_pause_task), (gst_pad_stop_task),
30664 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30665 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30666 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30667 (gst_ghost_pad_new):
30669 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30670 (gst_query_new_position), (gst_query_set_position),
30671 (gst_query_parse_position), (gst_query_new_convert),
30672 (gst_query_set_convert), (gst_query_parse_convert):
30674 * gst/gstqueryutils.c:
30675 * gst/gstqueryutils.h:
30676 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30677 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30678 (gst_queue_handle_src_query):
30679 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30680 (gst_element_query_position), (gst_element_query_convert),
30681 (intersect_caps_func), (gst_pad_query_position),
30682 (gst_pad_query_convert):
30684 * tools/gst-inspect.c: (print_pad_info):
30685 * tools/gst-xmlinspect.c: (print_element_info):
30686 Remove old query functions. Ported old code.
30687 Added position/convert helper functions to gstutils.
30688 Reordered gstpad.c code, grouping relevant things.
30689 Remove gst_message_new(), always need to speficy a specific
30693 2005-05-09 Andy Wingo <wingo@pobox.com>
30695 * gst/gstiterator.h: Add some includes.
30697 * gst/gstqueryutils.h: Include more headers.
30700 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30701 some uses of gst_pad_query.
30703 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30704 NULL out parameters.
30705 (gst_query_new_position): New proc, allocates a new position
30708 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30709 gstqueryutils.c to the build.
30711 * gst/gststructure.c (gst_structure_set_valist): Implement with
30712 the generic G_VALUE_COLLECT.
30714 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30716 * gst/Makefile.am: (gst_headers):
30717 Added gstqueryutils.h to the list of headers to install, that was
30718 a 'nachty' move wingo :)
30720 2005-05-06 Andy Wingo <wingo@pobox.com>
30723 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30724 GstData, init a memchunk.
30725 (standard_definitions): Add a few query types, deprecate a few.
30726 (gst_query_get_type): New proc.
30727 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30729 (gst_query_new_application, gst_query_get_structure): New public
30732 * docs/design/draft-query.txt: Removed LINKS from the query types,
30733 because all the rest can be dispatched to other pads -- seemed
30734 ugly to have a query that couldn't be dispatched. internal_links
30735 is fine as a pad method.
30737 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30738 in gstpad.c, but maintain binary compatibility for the moment.
30739 Will fix before 0.9 is out.
30741 * gst/gstqueryutils.c:
30742 * gst/gstqueryutils.h: New files, implement 3 methods for each
30743 query type: parse_query, parse_response, and set. Probably need an
30746 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30748 * gst/elements/gstfilesink.c (gst_filesink_query2):
30749 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30750 query_types, and formats methods.
30752 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30753 (gst_pad_set_query2_function): New functions.
30754 (gst_real_pad_init): Set query2_default as the default query2
30755 function. Basically just dispatches to internally linked pads.
30759 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30760 without using the atomic operations. Only one thread can possibly
30761 be accessing the data at this point. Changed so as to avoid
30762 gst_atomic operations.
30764 2005-05-06 Wim Taymans <wim@fluendo.com>
30766 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30767 Also set caps if we use the fallback buffer alloc.
30769 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30771 * docs/gst/Makefile.am:
30772 * docs/gst/gstreamer-docs.sgml:
30773 * docs/gst/gstreamer-sections.txt:
30774 * docs/gst/tmpl/gstatomic.sgml:
30775 * docs/gst/tmpl/gstmemchunk.sgml:
30776 * testsuite/elements/struct_i386.h:
30777 * win32/GStreamer.vcproj:
30779 Purge GstAtomic stuff from docs and win32 makefiles as well
30781 2005-05-06 Wim Taymans <wim@fluendo.com>
30783 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30784 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30785 * gst/gstpad.c: (gst_pad_peer_get_caps):
30786 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30787 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30788 (gst_queue_src_activate), (gst_queue_change_state):
30790 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30791 (intersect_caps_func):
30792 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30793 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30794 Some fixes for the peer_get_caps() change.
30796 2005-05-06 Wim Taymans <wim@fluendo.com>
30798 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30799 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30800 (gst_basesink_activate):
30801 Actually do something with error codes returned from the push
30804 2005-05-06 Wim Taymans <wim@fluendo.com>
30806 * docs/design/part-element-sink.txt:
30807 * docs/design/part-element-source.txt:
30808 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30809 (gst_basesink_event), (gst_basesink_activate):
30810 * gst/base/gstbasesink.h:
30811 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30812 (gst_basesrc_activate):
30813 * gst/base/gstbasesrc.h:
30814 * gst/gstelement.c: (gst_element_pads_activate):
30815 Some more documentation.
30816 Fixed scheduling decision in _pads_activate().
30818 2005-05-05 Andy Wingo <wingo@pobox.com>
30820 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30823 2005-05-05 Wim Taymans <wim@fluendo.com>
30825 * gst/base/Makefile.am:
30826 * gst/base/gstbasesink.h:
30827 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30828 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30829 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30830 (gst_collectpads_class_init), (gst_collectpads_init),
30831 (gst_collectpads_finalize), (gst_collectpads_new),
30832 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30833 (find_pad), (gst_collectpads_remove_pad),
30834 (gst_collectpads_is_active), (gst_collectpads_collect),
30835 (gst_collectpads_collect_range), (gst_collectpads_start),
30836 (gst_collectpads_stop), (gst_collectpads_peek),
30837 (gst_collectpads_pop), (gst_collectpads_available),
30838 (gst_collectpads_read), (gst_collectpads_flush),
30839 (gst_collectpads_chain):
30840 * gst/base/gstcollectpads.h:
30841 * gst/elements/Makefile.am:
30842 * gst/elements/gstelements.c:
30843 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30844 (gst_fakesink_get_times), (gst_fakesink_event),
30845 (gst_fakesink_preroll), (gst_fakesink_render):
30846 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30847 (gst_filesink_init), (gst_filesink_set_location),
30848 (gst_filesink_open_file), (gst_filesink_close_file),
30849 (gst_filesink_pad_query), (gst_filesink_event),
30850 (gst_filesink_render), (gst_filesink_change_state):
30851 * gst/elements/gstfilesink.h:
30852 Added object to help in making collect pad based elements.
30854 Make event function in sink baseclass return gboolean.
30856 2005-05-05 Wim Taymans <wim@fluendo.com>
30858 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30859 (gst_bin_get_by_name):
30861 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30862 (gst_clock_finalize):
30863 * gst/gstdata.c: (gst_data_replace):
30865 * gst/gstelement.c: (gst_element_request_pad),
30866 (gst_element_pads_activate):
30867 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30868 (gst_object_unref):
30869 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30870 (gst_pad_set_checkgetrange_function),
30871 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30872 (gst_pad_check_pull_range), (gst_pad_pull_range),
30873 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30874 (gst_pad_pause_task), (gst_pad_stop_task):
30875 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30876 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30877 Fix name lookup in GstBin.
30878 Added _data_replace() function and _buffer_replace()
30879 Use finalize method to clean up clock.
30880 Fix refcounting on request pads.
30881 Fix pad schedule mode error.
30882 Some more object refcounting debug info,
30885 2005-05-04 Andy Wingo <wingo@pobox.com>
30887 * check/Makefile.am:
30888 * docs/gst/tmpl/gstatomic.sgml:
30889 * docs/gst/tmpl/gstplugin.sgml:
30890 * gst/base/gstbasesink.c: (gst_basesink_activate):
30891 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30892 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30893 (gst_basesrc_query), (gst_basesrc_set_property),
30894 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30895 (gst_basesrc_activate):
30896 * gst/base/gstbasesrc.h:
30897 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30898 (gst_base_transform_src_activate):
30899 * gst/elements/gstelements.c:
30900 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30901 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30902 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30903 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30904 (gst_type_find_element_checkgetrange),
30905 (gst_type_find_element_activate):
30906 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30907 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30908 (gst_caps_load_thyself):
30909 * gst/gstelement.c: (gst_element_pads_activate),
30910 (gst_element_save_thyself), (gst_element_restore_thyself):
30911 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30912 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30914 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30915 (gst_xml_parse_file), (gst_xml_parse_memory),
30916 (gst_xml_get_element), (gst_xml_make_element):
30917 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30918 (_file_index_id_save_xml), (gst_file_index_commit):
30919 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30920 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30922 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30923 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30924 * tools/gst-complete.c: (main):
30925 * tools/gst-compprep.c: (main):
30926 * tools/gst-inspect.c: (print_element_properties_info):
30927 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30928 * tools/gst-xmlinspect.c: (print_element_properties):
30931 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30933 * gst/gstplugin.c: (gst_plugin_check_module),
30934 (gst_plugin_check_file), (gst_plugin_load_file):
30935 apply patch from #172526 to make register work on MacOSX
30937 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30939 * docs/gst/tmpl/gstconfig.sgml:
30940 * gst/gstconfig.h.in:
30941 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30942 * testsuite/debug/printf_extension.c: (main):
30943 Do not use GST_PTR_FORMAT on pointers to types with
30944 sizeof < sizeof(gpointer). Fixes test on 64-bit
30945 * testsuite/elements/property.h:
30946 use correct printf format
30948 2005-05-02 Wim Taymans <wim@fluendo.com>
30950 * docs/design/draft-push-pull.txt:
30951 * docs/design/draft-query.txt:
30952 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30953 (gst_basesrc_start):
30954 Added draft for new query API.
30955 Added draft for better selecting scheduling methods.
30956 Make basesrc ignore length if the subclass does not support
30959 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30962 possible fixes for automake-1.5 - _LIBADD is reserved
30964 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30966 * docs/faq/Makefile.am:
30967 * docs/manual/Makefile.am:
30968 * docs/manuals.mak:
30969 * docs/pwg/Makefile.am:
30971 possible fixes for automake-1.5
30973 2005-04-28 Wim Taymans <wim@fluendo.com>
30975 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30976 (gst_basesink_pad_getcaps), (gst_basesink_init),
30977 (gst_basesink_do_sync):
30978 * gst/gstclock.c: (gst_clock_entry_new):
30979 * gst/gstevent.c: (gst_event_discont_get_value):
30980 * gst/gstpipeline.c: (pipeline_bus_handler),
30981 (gst_pipeline_change_state):
30982 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30983 Better debugging of clocking info.
30984 Allow NULL values when getting discont values.
30986 2005-04-27 Wim Taymans <wim@fluendo.com>
30988 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30989 * check/gst/gstpad.c: (gst_pad_suite):
30990 Increase timeout for checks.
30992 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30994 * check/Makefile.am:
30995 fix the broken rule for cleanup. Apparently this rule is
30996 only needed on FC2, so maybe this warrants further autotool
30999 2005-04-26 Wim Taymans <wim@fluendo.com>
31001 * gst/gsttrashstack.h:
31002 Ooohh. a nasty one! After having a failed pop() from the stack,
31003 it's possible that the stack is empty. In that case, don't
31004 follow the NULL pointer.
31006 2005-04-25 Wim Taymans <wim@fluendo.com>
31008 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31009 (gst_pad_set_checkgetrange_function),
31010 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
31011 (gst_pad_check_pull_range), (gst_pad_pull_range),
31012 (gst_static_pad_template_get_caps), (gst_pad_start_task),
31013 (gst_pad_pause_task), (gst_pad_stop_task):
31014 * gst/gstplugin.c: (gst_plugin_load):
31016 Remove gst_library_load as it does more harm than good with
31017 the new g_module flags.
31018 Revert bogus caps template check in pad linking, pad caps
31019 are important when linking not the template, which is more
31020 general than the current caps.
31022 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31024 * gst/autoplug/.cvsignore:
31025 * gst/autoplug/Makefile.am:
31026 * gst/autoplug/gstsearchfuncs.c:
31027 * gst/autoplug/gstsearchfuncs.h:
31028 * gst/autoplug/gstspider.c:
31029 * gst/autoplug/gstspider.h:
31030 * gst/autoplug/gstspideridentity.c:
31031 * gst/autoplug/gstspideridentity.h:
31032 * gst/autoplug/spidertest.c:
31035 2005-04-25 Wim Taymans <wim@fluendo.com>
31037 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31038 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31039 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
31040 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
31042 Added stubs for unimplemented functions.
31044 2005-04-24 David Schleef <ds@schleef.org>
31046 * gst/gstpad.h: Disable some unimplemented functions. Wim,
31049 2005-04-24 David Schleef <ds@schleef.org>
31051 Convert everything from GstAtomicInt to g_atomic_int_*, and
31056 * gst/gstatomic_impl.h:
31064 * gst/gstdata_private.h:
31068 * gst/gstmessage.c:
31071 * gst/gststructure.c:
31072 * gst/gststructure.h:
31073 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
31076 2005-04-24 David Schleef <ds@schleef.org>
31078 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
31079 make the regressions tests work. Remove some code that is no
31081 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
31082 Disable warning for pads without templates.
31084 2005-04-24 David Schleef <ds@schleef.org>
31086 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
31087 functions that handle filtered links.
31088 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
31090 * gst/gstutils.c: Fix/remove utility functions that handle
31093 * gst/gstvalue.c: Add serialization/deserialization of caps
31094 * gst/parse/grammar.y: Ignore filtered caps when linking. This
31095 requires fixing so that the filter caps notation creates
31096 a capsfilter element and sets the filter_caps property. I
31097 think everyone probably wants to keep the shorthand notation.
31098 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
31099 * docs/gst/tmpl/gstpad.sgml:
31101 * gst/elements/gstelements.c: Register capsfilter element.
31102 * gst/Makefile.am: fix spacing
31103 * docs/random/ds/0.9-suggested-changes: random
31105 2005-04-23 David Schleef <ds@schleef.org>
31107 * gst/elements/Makefile.am:
31108 * gst/elements/gstcapsfilter.c: New element that acts like an
31109 identity, but filters caps. Will eventually replace filtered
31110 caps in pad linking.
31111 * gst/gstutils.c: (gst_element_create_all_pads): New function
31112 to create all the ALWAYS pads that are registered with an
31113 element class. This functionality should eventually be
31114 merged in with GstElement initialization.
31116 * testsuite/trigger/README: part of trigger test code that should
31117 have been checked in a long time ago.
31119 2005-04-23 David Schleef <ds@schleef.org>
31121 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
31122 needed with new versions of libtool (nobody will confirm this),
31123 and hard to carry around.
31124 * gst/autoplug/Makefile.am:
31125 * gst/base/Makefile.am:
31126 * gst/elements/Makefile.am:
31127 * gst/indexers/Makefile.am:
31128 * gst/schedulers/Makefile.am:
31129 * libs/gst/bytestream/Makefile.am:
31130 * libs/gst/control/Makefile.am:
31131 * libs/gst/dataprotocol/Makefile.am:
31132 * libs/gst/getbits/Makefile.am:
31134 2005-04-21 Wim Taymans <wim@fluendo.com>
31136 * docs/design/draft-push-pull.txt:
31137 * docs/design/part-MT-refcounting.txt:
31138 * docs/design/part-TODO.txt:
31139 * docs/design/part-caps.txt:
31140 * docs/design/part-events.txt:
31141 * docs/design/part-gstbus.txt:
31142 * docs/design/part-gstpipeline.txt:
31143 * docs/design/part-messages.txt:
31144 * docs/design/part-push-pull.txt:
31145 * docs/design/part-query.txt:
31148 2005-04-21 Wim Taymans <wim@fluendo.com>
31150 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31151 (gst_message_new), (gst_message_new_error),
31152 (gst_message_new_warning), (gst_message_new_tag),
31153 (gst_message_new_state_changed), (gst_message_new_application),
31154 (gst_message_get_structure):
31155 * gst/gstmessage.h:
31156 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31157 (gst_structure_copy_conditional):
31158 Use parent refcount in GstMessage to ensure GstStructure
31160 Cleaned up headers a bit.
31163 2005-04-20 Wim Taymans <wim@fluendo.com>
31165 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31166 (gst_basesink_pad_getcaps), (gst_basesink_init),
31167 (gst_basesink_chain_unlocked):
31168 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31169 (gst_type_find_helper):
31170 * gst/elements/gsttypefindelement.c:
31171 (gst_type_find_element_have_type), (gst_type_find_element_init),
31172 (stop_typefinding), (gst_type_find_element_handle_event),
31173 (find_suggest), (gst_type_find_element_chain),
31174 (gst_type_find_element_checkgetrange),
31175 (gst_type_find_element_getrange), (do_typefind),
31176 (gst_type_find_element_activate):
31177 * gst/gstbuffer.c: (_gst_buffer_sub_free),
31178 (gst_buffer_default_free), (gst_buffer_default_copy),
31179 (gst_buffer_set_caps):
31180 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31181 (gst_caps_replace):
31182 * gst/gstmessage.c: (gst_message_new),
31183 (gst_message_new_state_changed):
31184 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31185 (gst_pad_set_checkgetrange_function),
31186 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31187 (gst_pad_set_caps), (gst_pad_check_pull_range),
31188 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31190 * gst/gsttypefind.c: (gst_type_find_register):
31191 Make gst_caps_replace() work like other _replace() functions.
31192 Use _caps_replace() where possible.
31193 Make sure _message_new() initialises its field.
31194 Add gst_static_pad_template_get_caps()
31197 2005-04-18 Andy Wingo <wingo@pobox.com>
31199 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31200 on the peer, not the pad. I think that was a typo. Pass an extra
31201 arg to see if random access is possible. Activate the pads as
31202 PULL_RANGE if possible.
31204 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31206 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
31207 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31210 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31212 * docs/faq/using.xml:
31213 Add note on gstreamer-properties (#154996).
31215 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31217 * docs/random/bbb/optional-properties:
31218 Some analysis on optional properties.
31220 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31222 * docs/gst/tmpl/gstelementfactory.sgml:
31223 * gst/gstelement.h:
31224 * gst/gstelementfactory.c: (gst_element_factory_init),
31225 (gst_element_factory_cleanup), (gst_element_register),
31226 (__gst_element_factory_add_static_pad_template),
31227 (gst_element_factory_get_static_pad_templates),
31228 (gst_element_factory_can_src_caps),
31229 (gst_element_factory_can_sink_caps):
31230 * gst/registries/Makefile.am:
31231 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31232 (gst_xml_registry_class_init), (gst_xml_registry_init),
31233 (gst_xml_registry_new), (gst_xml_registry_set_property),
31234 (gst_xml_registry_get_property), (get_time), (make_dir),
31235 (gst_xml_registry_get_perms_func),
31236 (plugin_times_older_than_recurse), (plugin_times_older_than),
31237 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31238 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31239 (add_to_char_array), (read_string), (read_uint), (read_enum),
31240 (load_pad_template), (load_feature), (load_plugin), (load_paths),
31241 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31242 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31243 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31244 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31245 (gst_xml_registry_rebuild):
31246 * gst/registries/gstlibxmlregistry.h:
31247 * tools/gst-compprep.c: (main):
31248 * tools/gst-inspect.c: (print_pad_templates_info):
31249 * tools/gst-xmlinspect.c: (print_element_info):
31250 Use libxml2 for registry parsing, use staticpadtemplates in
31251 elementfactories. Makes gst_init() +/- 10x faster.
31253 2005-04-12 Wim Taymans <wim@fluendo.com>
31255 * gst/base/Makefile.am:
31256 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31257 (gst_basesink_pad_getcaps), (gst_basesink_init),
31258 (gst_basesink_event), (gst_basesink_change_state):
31259 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31260 (gst_basesrc_init), (gst_basesrc_query),
31261 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31262 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31263 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31264 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31265 (gst_basesrc_stop), (gst_basesrc_activate),
31266 (gst_basesrc_change_state):
31267 * gst/base/gsttypefindhelper.c: (helper_find_peek),
31268 (helper_find_suggest), (gst_type_find_helper):
31269 * gst/base/gsttypefindhelper.h:
31270 * gst/elements/Makefile.am:
31271 * gst/elements/gstelements.c:
31272 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31273 (gst_fakesink_get_times), (gst_fakesink_event),
31274 (gst_fakesink_preroll), (gst_fakesink_render):
31275 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31276 (gst_fakesrc_init), (gst_fakesrc_event_handler),
31277 (gst_fakesrc_get_property), (gst_fakesrc_create),
31278 (gst_fakesrc_start), (gst_fakesrc_stop):
31279 * gst/elements/gstfakesrc.h:
31280 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31281 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31282 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31283 (gst_filesrc_create_read), (gst_filesrc_create),
31284 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31285 (gst_filesrc_start):
31286 * gst/elements/gsttypefindelement.c:
31287 (gst_type_find_element_have_type), (gst_type_find_element_init),
31288 (start_typefinding), (stop_typefinding), (push_buffer_store),
31289 (gst_type_find_element_handle_event),
31290 (gst_type_find_element_chain),
31291 (gst_type_find_element_checkgetrange),
31292 (gst_type_find_element_getrange), (do_typefind),
31293 (gst_type_find_element_activate),
31294 (gst_type_find_element_change_state):
31295 * gst/elements/gsttypefindelement.h:
31296 * gst/gstpipeline.c: (pipeline_bus_handler):
31297 Added typefind helper.
31298 Small preroll fix in the base sink.
31299 Disable typefind code in basesrc.
31300 Crude port of typefindelement.
31304 2005-04-11 Wim Taymans <wim@fluendo.com>
31306 * check/gst/gstbus.c: (gstbus_suite):
31307 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31308 * check/gstcheck.h:
31309 Fix up the timeout so that the test does not fail.
31311 2005-04-06 Wim Taymans <wim@fluendo.com>
31314 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31315 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31316 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31317 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31318 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31319 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31320 (gst_basesrc_stop), (gst_basesrc_activate),
31321 (gst_basesrc_change_state), (basesrc_find_peek),
31322 (basesrc_find_suggest), (gst_basesrc_type_find):
31323 * gst/base/gstbasesrc.h:
31324 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31325 (gst_filesrc_class_init), (gst_filesrc_init),
31326 (gst_filesrc_finalize), (gst_filesrc_set_location),
31327 (gst_filesrc_set_property), (gst_filesrc_get_property),
31328 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31329 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31330 (gst_filesrc_create_read), (gst_filesrc_create),
31331 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31332 * gst/elements/gstfilesrc.h:
31333 * gst/gstelement.c: (gst_element_get_state_func),
31334 (gst_element_lost_state), (gst_element_pads_activate):
31335 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31336 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31337 (gst_pad_pull_range):
31339 More work on the generic source base class, implement seeking,
31341 Make filesrc extend the base source class.
31342 Added gst_pad_set_checkgetrange_function to GstPad.
31344 2005-04-06 Andy Wingo <wingo@pobox.com>
31346 * pkgconfig/gstreamer-base.pc.in:
31347 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31349 * pkgconfig/Makefile.am:
31350 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31352 2005-04-04 Wim Taymans <wim@fluendo.com>
31354 * gst/base/Makefile.am:
31356 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31357 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31358 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31359 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31360 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31361 (gst_basesrc_base_init), (gst_basesrc_class_init),
31362 (gst_basesrc_init), (gst_basesrc_get_formats),
31363 (gst_basesrc_get_query_types), (gst_basesrc_query),
31364 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31365 (gst_basesrc_set_property), (gst_basesrc_get_property),
31366 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31367 (gst_basesrc_loop), (gst_basesrc_activate),
31368 (gst_basesrc_change_state):
31369 * gst/base/gstbasesrc.h:
31370 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31371 (gst_fakesrc_class_init), (gst_fakesrc_init),
31372 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31373 (gst_fakesrc_get_property), (gst_fakesrc_create):
31374 * gst/elements/gstfakesrc.h:
31375 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31376 (gst_filesrc_open_file), (gst_filesrc_loop),
31377 (gst_filesrc_activate), (filesrc_find_peek),
31378 (gst_filesrc_type_find):
31379 Made base source class, make fakesrc extend it.
31380 Add comments to basesink class.
31381 Some filesrc cleanup.
31383 2005-03-31 David Schleef <ds@schleef.org>
31385 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31386 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31387 expected to link against libgstreamer.
31388 * gst/base/Makefile.am: link against libgstreamer
31389 * gst/elements/Makefile.am: same
31391 2005-03-31 Andy Wingo <wingo@pobox.com>
31393 * tests/instantiate/Makefile.am:
31394 * tests/instantiate/caps.c: Add test to test speed of caps copy
31397 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31398 GMemChunk to be fair.
31400 * gst/gsttrashstack.h: Remove warning about using the fallback
31401 trash stack implementation, it's still faster than malloc.
31403 2005-03-30 Andy Wingo <wingo@pobox.com>
31405 * tests/complexity.c: Add a copyright.
31407 2005-03-31 Wim Taymans <wim@fluendo.com>
31409 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31410 (gst_base_transform_class_init), (gst_base_transform_init),
31411 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31412 (gst_base_transform_get_property),
31413 (gst_base_transform_sink_activate),
31414 (gst_base_transform_src_activate),
31415 (gst_base_transform_change_state):
31416 * gst/base/gstbasetransform.h:
31417 * gst/elements/gstidentity.c: (gst_identity_class_init),
31418 (gst_identity_event), (gst_identity_check_perfect),
31419 (gst_identity_transform), (gst_identity_start),
31420 (gst_identity_stop):
31421 Added start/stop methods to transform base class so subclasses
31422 don't need to deal with state changes even.
31424 2005-03-31 Wim Taymans <wim@fluendo.com>
31426 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31427 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31429 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31430 (gst_pad_pull_range):
31431 Added rate to the discont event to prepare for variable speed
31432 and reverse playback.
31434 2005-03-29 David Schleef <ds@schleef.org>
31437 * testsuite/trigger/Makefile.am:
31438 * testsuite/trigger/trigger.c: A little example program to show
31439 how trigger-based elements can work.
31441 2005-03-29 Wim Taymans <wim@fluendo.com>
31443 * gst/base/Makefile.am:
31445 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31446 (gst_basesink_base_init), (gst_basesink_class_init),
31447 (gst_basesink_pad_getcaps), (gst_basesink_init),
31448 (gst_basesink_activate), (gst_basesink_change_state):
31449 * gst/base/gstbasesink.h:
31450 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31451 (gst_base_transform_base_init), (gst_base_transform_finalize),
31452 (gst_base_transform_class_init), (gst_base_transform_init),
31453 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31454 (gst_base_transform_event), (gst_base_transform_getrange),
31455 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31456 (gst_base_transform_set_property),
31457 (gst_base_transform_get_property),
31458 (gst_base_transform_sink_activate),
31459 (gst_base_transform_src_activate),
31460 (gst_base_transform_change_state):
31461 * gst/base/gstbasetransform.h:
31462 * gst/elements/gstidentity.c: (gst_identity_finalize),
31463 (gst_identity_class_init), (gst_identity_init),
31464 (gst_identity_event), (gst_identity_check_perfect),
31465 (gst_identity_transform), (gst_identity_set_property),
31466 (gst_identity_get_property), (gst_identity_change_state):
31467 * gst/elements/gstidentity.h:
31468 * gst/gstelement.c: (gst_element_get_state_func),
31469 (gst_element_lost_state), (gst_element_pads_activate):
31470 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31471 (gst_pad_check_pull_range), (gst_pad_pull_range):
31473 Simplify pad activation.
31474 Added function to check if pull_range can be performed.
31475 Error out when pulling inactive or flushing pads.
31476 Removed const from refcounted types as it does not make sense.
31477 Simplify pad templates in basesink
31478 Added base class for simple 1-to-1 transforms.
31479 Make identity subclass the base transform.
31481 2005-03-29 Andy Wingo <wingo@pobox.com>
31483 * docs/libs/gstreamer-libs-overrides.txt:
31484 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31485 really don't understand what's going on, but like whatever. I want
31488 * docs/gst/Makefile.am:
31489 * docs/libs/Makefile.am: Dist the overrides files.
31491 * check/Makefile.am (clean-local): Remove .libs directories.
31493 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31494 elements to EXTRA_DIST, so po/ files are happy.
31496 * po/POTFILES.in: Er, remove it here.
31498 * po/POTFILES: Remove gstspider.c.
31500 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31502 * docs/libs/gstreamer-libs-docs.sgml:
31503 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31506 * tests/complexity.c (main): Set the length of the preroll queue
31507 on the sinks to prevent a lockup.
31509 * libs/gst/dataprotocol/Makefile.am:
31510 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31511 the same as the one in check/gst-libs/gdp.c.
31513 * po/, docs/gst/: Commit automatic changes to docs and po files.
31515 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31516 the versioned libgstbase.
31518 * check/Makefile.am: Depend on an unversioned gst-register, seems
31519 to make autoconf happier.
31521 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31523 2005-03-28 Wim Taymans <wim@fluendo.com>
31526 * docs/design/part-gstelement.txt:
31527 * docs/design/part-negotiation.txt:
31528 * docs/design/part-preroll.txt:
31529 * docs/design/part-scheduling.txt:
31530 * docs/design/part-states.txt:
31532 * gst/base/Makefile.am:
31534 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31535 (gst_basesink_base_init), (gst_basesink_class_init),
31536 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31537 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31538 (gst_basesink_set_pad_functions),
31539 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31540 (gst_basesink_set_property), (gst_basesink_get_property),
31541 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31542 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31543 (gst_basesink_preroll_queue_push),
31544 (gst_basesink_preroll_queue_empty),
31545 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31546 (gst_basesink_event), (gst_basesink_get_times),
31547 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31548 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31549 (gst_basesink_loop), (gst_basesink_activate),
31550 (gst_basesink_change_state):
31551 * gst/base/gstbasesink.h:
31552 * gst/elements/Makefile.am:
31553 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31554 (gst_fakesink_class_init), (gst_fakesink_init),
31555 (gst_fakesink_set_property), (gst_fakesink_get_property),
31556 (gst_fakesink_get_times), (gst_fakesink_event),
31557 (gst_fakesink_preroll), (gst_fakesink_render),
31558 (gst_fakesink_change_state):
31559 * gst/elements/gstfakesink.h:
31560 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31561 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31562 * gst/gstelement.c: (gst_element_add_pad),
31563 (gst_element_get_state_func), (gst_element_abort_state),
31564 (gst_element_commit_state), (gst_element_lost_state),
31565 (gst_element_set_state), (gst_element_pads_activate):
31566 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31567 * gst/gstpipeline.c: (gst_pipeline_send_event),
31568 (gst_pipeline_change_state):
31569 Added state change code.
31570 Added/updated docs.
31571 Added sink base class, make fakesink extend the base class.
31572 Small cleanups in GstPipeline.
31574 2005-03-26 David Schleef <ds@schleef.org>
31576 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31577 is broken and should be implemented in a different library.
31578 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31579 * gst/gst.h: remove gstcpu.h
31580 * gst/gstcpu.c: remove
31581 * gst/gstcpu.h: remove
31582 * gst/Makefile.am.future: Remove this file. It's ancient.
31584 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31586 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31587 (gst_bin_send_event):
31588 Add default event/set_manager handlers. The set_manager handler
31589 takes care that the manager is distributed over kids that were
31590 already in the bin before the manager was set. The event handler
31591 is a utility virtual function that sends the event over all sinks,
31592 so that gst_element_send_event (bin, event); has the expected
31594 * gst/gstpad.c: (gst_pad_event_default):
31595 Re-install default event handling for discontinuities, so that
31596 seeking works without requiring hacks in applications or extra
31598 * gst/gstpipeline.c: (gst_pipeline_class_init),
31599 (gst_pipeline_send_event):
31600 Half hack, half utility: set a pipeline to PAUSED for seek events,
31601 since that is the only way we can guarantee a/v sync. Means that
31602 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31603 and it "just works".
31605 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31607 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31608 Lock/unlock mismatch.
31610 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31612 * docs/faq/gst-uninstalled:
31613 add gst-plugins-base
31614 * docs/gst/Makefile.am:
31615 don't error out until docs are fixed
31616 * docs/gst/gstreamer.types:
31619 2005-03-22 Wim Taymans <wim@fluendo.com>
31621 * check/Makefile.am:
31622 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31623 * gst/gststructure.c: (gst_structure_set_valist),
31624 (gst_structure_copy_conditional):
31625 Activated more tests.
31626 Added message test.
31627 Added G_TYPE_POINTER to GstStructure.
31630 2005-03-22 Wim Taymans <wim@fluendo.com>
31632 * docs/design/part-TODO.txt:
31633 * docs/design/part-events.txt:
31634 * docs/design/part-gstbin.txt:
31635 * docs/design/part-gstbus.txt:
31636 * docs/design/part-gstpipeline.txt:
31637 * docs/design/part-messages.txt:
31639 * gst/gstmessage.c:
31642 2005-03-21 Wim Taymans <wim@fluendo.com>
31644 * gst/gstbus.c: (gst_bus_post):
31645 Fix copy-and-paste error.
31647 2005-03-21 Wim Taymans <wim@fluendo.com>
31649 * check/Makefile.am:
31651 * gst/elements/Makefile.am:
31652 * gst/elements/gstelements.c:
31653 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31654 (gst_fakesink_event), (gst_fakesink_chain):
31655 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31656 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31657 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31658 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31659 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31660 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31661 (gst_fakesrc_loop), (gst_fakesrc_activate),
31662 (gst_fakesrc_change_state):
31663 * gst/elements/gstfakesrc.h:
31664 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31665 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31666 (gst_filesrc_open_file), (gst_filesrc_loop),
31667 (gst_filesrc_activate), (gst_filesrc_change_state),
31668 (filesrc_find_peek), (filesrc_find_suggest),
31669 (gst_filesrc_type_find):
31670 * gst/elements/gstidentity.c: (gst_identity_finalize),
31671 (gst_identity_class_init), (gst_identity_init),
31672 (gst_identity_proxy_getcaps), (identity_queue_push),
31673 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31674 (gst_identity_getrange), (gst_identity_chain),
31675 (gst_identity_sink_loop), (gst_identity_src_loop),
31676 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31677 (gst_identity_set_property), (gst_identity_get_property),
31678 (gst_identity_change_state):
31679 * gst/elements/gstidentity.h:
31680 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31681 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31682 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31683 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31684 (gst_tee_sink_activate):
31685 * gst/elements/gsttee.h:
31686 * gst/gst.c: (gst_register_core_elements), (init_post):
31688 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31689 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31690 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31691 (gst_bin_change_state):
31693 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31694 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31695 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31696 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31697 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31698 (bus_watch_callback), (bus_watch_destroy),
31699 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31700 (poll_timeout), (gst_bus_poll):
31704 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31705 (gst_element_post_message), (gst_element_message_full),
31706 (gst_element_get_state_func), (gst_element_get_state),
31707 (gst_element_abort_state), (gst_element_commit_state),
31708 (gst_element_lost_state), (gst_element_set_state),
31709 (gst_element_pads_activate), (gst_element_change_state),
31710 (gst_element_dispose), (gst_element_set_manager_func),
31711 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31712 (gst_element_set_manager), (gst_element_get_manager),
31713 (gst_element_set_bus), (gst_element_get_bus),
31714 (gst_element_set_scheduler), (gst_element_get_scheduler):
31715 * gst/gstelement.h:
31716 * gst/gstevent.c: (gst_event_new_segment_seek),
31717 (gst_event_new_flush):
31719 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31720 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31721 (gst_message_new_eos), (gst_message_new_error),
31722 (gst_message_new_warning), (gst_message_new_tag),
31723 (gst_message_new_state_changed), (gst_message_new_application),
31724 (gst_message_get_structure), (gst_message_parse_tag),
31725 (gst_message_parse_state_changed), (gst_message_parse_error),
31726 (gst_message_parse_warning):
31727 * gst/gstmessage.h:
31728 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31729 (gst_real_pad_set_property), (gst_pad_set_active),
31730 (gst_pad_is_active), (gst_pad_set_blocked_async),
31731 (gst_pad_set_blocked), (gst_pad_is_blocked),
31732 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31733 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31734 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31735 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31736 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31737 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31738 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31739 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31740 (gst_pad_set_caps), (gst_pad_configure_sink),
31741 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31742 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31743 (gst_real_pad_dispose), (gst_real_pad_finalize),
31744 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31745 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31746 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31748 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31749 (pipeline_bus_handler), (gst_pipeline_change_state),
31750 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31751 * gst/gstpipeline.h:
31753 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31754 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31755 (gst_queue_link_src), (gst_queue_bufferalloc),
31756 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31757 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31758 (gst_queue_loop), (gst_queue_handle_src_event),
31759 (gst_queue_handle_src_query), (gst_queue_src_activate),
31760 (gst_queue_change_state):
31762 * gst/gstscheduler.c: (gst_scheduler_init),
31763 (gst_scheduler_dispose), (gst_scheduler_create_task),
31764 (gst_scheduler_factory_create):
31765 * gst/gstscheduler.h:
31766 * gst/gststructure.c: (gst_structure_get_type),
31767 (gst_structure_copy_conditional):
31768 * gst/gststructure.h:
31769 * gst/gsttaginterface.h:
31770 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31771 (gst_task_init), (gst_task_dispose), (gst_task_create),
31772 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31778 * gst/schedulers/Makefile.am:
31779 * gst/schedulers/cothreads_compat.h:
31780 * gst/schedulers/entryscheduler.c:
31781 * gst/schedulers/faircothreads.c:
31782 * gst/schedulers/faircothreads.h:
31783 * gst/schedulers/fairscheduler.c:
31784 * gst/schedulers/gstbasicscheduler.c:
31785 * gst/schedulers/gstoptimalscheduler.c:
31786 * gst/schedulers/gthread-cothreads.h:
31787 * gst/schedulers/threadscheduler.c:
31788 (gst_thread_scheduler_task_get_type),
31789 (gst_thread_scheduler_task_class_init),
31790 (gst_thread_scheduler_task_init),
31791 (gst_thread_scheduler_task_start),
31792 (gst_thread_scheduler_task_stop),
31793 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31794 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31795 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31796 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31798 * libs/gst/Makefile.am:
31799 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31800 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31801 (gst_file_pad_parent_set):
31802 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31803 (gst_dp_event_from_packet):
31804 * tests/complexity.c: (main):
31805 * tests/mass_elements.c: (main):
31806 * testsuite/states/locked.c: (message_received), (main):
31807 * testsuite/states/parent.c: (main):
31808 * tools/gst-inspect.c: (print_element_flag_info),
31809 (print_implementation_info), (print_pad_info):
31810 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31812 * tools/gst-md5sum.c: (event_loop), (main):
31813 * tools/gst-typefind.c: (main):
31814 * tools/gst-xmlinspect.c: (print_element_info):
31816 Added GstBus for mainloop integration.
31817 Added GstMessage for sending notifications on the bus.
31818 Added GstTask as an abstraction for pipeline entry points.
31820 Removed Schedulers.
31821 Simplified GstQueue for multithreaded core.
31822 Made _link threadsafe, removed old capsnego.
31823 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31824 Added pad blocking functions.
31825 Reworked scheduling functions in GstPad to prepare for
31826 scheduling updates soon.
31827 Moved events out of data stream.
31828 Simplified GstEvent types.
31829 Added return values to push/pull.
31830 Removed clocking from GstElement.
31831 Added prototypes for state change function for next merge.
31832 Removed iterate from bins and state change management.
31833 Fixed some elements, disabled others for now.
31834 Fixed -inspect and -launch.
31835 Added check for GstBus.
31837 2005-03-10 Wim Taymans <wim@fluendo.com>
31839 * docs/design/part-MT-refcounting.txt:
31840 * docs/design/part-clocks.txt:
31841 * docs/design/part-gstelement.txt:
31842 * docs/design/part-gstobject.txt:
31843 * docs/design/part-standards.txt:
31844 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31845 (gst_bin_remove_func), (gst_bin_remove):
31849 * testsuite/clock/clock1.c: (main):
31850 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31852 * testsuite/dlopen/loadgst.c: (do_test):
31853 * testsuite/refcounting/bin.c: (add_remove_test1),
31854 (add_remove_test2), (main):
31855 * testsuite/refcounting/element.c: (main):
31856 * testsuite/refcounting/element_pad.c: (main):
31857 * testsuite/refcounting/pad.c: (main):
31858 * tools/gst-launch.c: (sigint_handler_sighandler):
31859 * tools/gst-typefind.c: (main):
31861 Added doc about clock.
31862 removed gst_bin_iterate_recurse_up(), marked methods
31864 Fix more testsuites.
31866 2005-03-09 Wim Taymans <wim@fluendo.com>
31868 * gst/gstpad.c: (gst_pad_get_direction),
31869 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31870 (gst_pad_collect_valist):
31871 * testsuite/bins/interface.c: (main):
31872 * testsuite/caps/audioscale.c: (test_caps):
31873 * testsuite/caps/caps.c: (test1), (test2), (test3):
31874 * testsuite/caps/deserialize.c: (main):
31875 * testsuite/caps/enumcaps.c: (main):
31876 * testsuite/caps/filtercaps.c: (main):
31877 * testsuite/caps/intersect2.c: (main):
31878 * testsuite/caps/random.c: (main):
31879 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31880 * testsuite/caps/sets.c: (check_caps):
31881 * testsuite/caps/simplify.c: (check_caps), (main):
31882 * testsuite/caps/subtract.c: (check_caps):
31883 Fix _pad_get_direction wrt ghostpads.
31884 Fix caps testsuite.
31886 2005-03-09 Wim Taymans <wim@fluendo.com>
31888 * check/Makefile.am:
31889 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31890 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31891 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31892 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31893 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31894 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31895 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31896 (bin_element_is_sink), (gst_bin_iterate_sinks),
31897 (gst_bin_iterate_all_by_interface):
31899 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31900 (gst_element_change_state), (gst_element_dispose),
31901 (gst_element_finalize), (gst_element_set_loop_function):
31902 * gst/gstelement.h:
31903 * gst/gstiterator.c: (find_custom_fold_func):
31904 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31905 (gst_pad_collectv), (gst_pad_collect_valist),
31906 (gst_pad_template_new):
31907 * gst/gstpipeline.c: (gst_pipeline_class_init),
31908 (gst_pipeline_dispose), (gst_pipeline_set_property),
31909 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31910 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31911 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31913 * gst/schedulers/entryscheduler.c:
31914 * gst/schedulers/gstbasicscheduler.c:
31915 (gst_basic_scheduler_cothreaded_chain),
31916 (gst_basic_scheduler_chain_add_element):
31917 * testsuite/bins/interface.c: (main):
31919 Added GstSystemClock test.
31920 Implemented clock distribution code in GstBin.
31921 Implemented iterate sinks method for future use.
31922 Rearranged gstelement.h
31923 Fix GstIterator comparison bug.
31924 Moved some code to GstPipeline, mostly clocking related.
31926 2005-03-09 Wim Taymans <wim@fluendo.com>
31929 * gst/gst_private.h:
31930 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31931 (gst_bin_remove_func), (gst_bin_remove),
31932 (gst_bin_get_by_name_recurse_up):
31933 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31934 (gst_clock_id_compare_func), (gst_clock_id_wait),
31935 (gst_clock_id_wait_async), (gst_clock_init),
31936 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31937 * gst/gstelement.h:
31938 * gst/gstinfo.c: (_gst_debug_init):
31940 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31941 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31943 Bump version number, we're now 0.9.0
31944 Add future debugging category.
31945 Fix NULL _unref() in _get_by_name_recurse_up
31946 Rearrange gstpad.h.
31949 2005-03-08 Wim Taymans <wim@fluendo.com>
31951 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31952 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31953 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31954 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31955 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31956 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31957 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31958 * gst/elements/gstidentity.c: (gst_identity_class_init):
31959 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31960 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31961 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31962 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31963 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31965 * gst/gstelement.c: (gst_element_class_init),
31966 (gst_element_base_class_init), (gst_element_init),
31967 (gst_element_get_random_pad), (gst_element_wait_state_change),
31968 (gst_element_change_state), (gst_element_dispose),
31969 (gst_element_finalize), (gst_element_set_loop_function):
31970 * gst/gstelement.h:
31971 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31972 * gst/gstthread.c: (gst_thread_class_init),
31973 (gst_thread_release_children_locks), (gst_thread_change_state):
31974 * gst/schedulers/gstbasicscheduler.c:
31975 (gst_basic_scheduler_loopfunc_wrapper),
31976 (gst_basic_scheduler_chain_wrapper),
31977 (gst_basic_scheduler_src_wrapper),
31978 (gst_basic_scheduler_remove_element):
31979 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31980 Remove threadsafe properties. Fix elements because GObject
31981 complains when installing a property before declaring a
31982 set/get_property handler.
31983 Rearrange gstelement.h file, use STATE macros for state locks.
31984 Free mutexes in the finalize method instead of dispose.
31986 2005-03-08 Wim Taymans <wim@fluendo.com>
31988 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31989 * gst/gstthread.c: (gst_thread_release_children_locks):
31990 Added parentage check.
31991 Fix build og GstThread again.
31993 2005-03-08 Wim Taymans <wim@fluendo.com>
31995 * docs/design/part-MT-refcounting.txt:
31996 * docs/design/part-conventions.txt:
31997 * docs/design/part-gstobject.txt:
31998 * docs/design/part-relations.txt:
31999 * docs/design/part-standards.txt:
32000 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32001 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
32002 (gst_bin_get_by_name), (gst_bin_get_by_interface),
32003 (gst_bin_iterate_all_by_interface):
32006 * gst/gstelement.c: (gst_element_class_init),
32007 (gst_element_change_state), (gst_element_set_loop_function):
32008 * gst/gstelement.h:
32009 * gst/gstiterator.c:
32010 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
32011 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
32012 (gst_object_dispatch_properties_changed), (gst_object_set_name),
32013 (gst_object_set_parent), (gst_object_unparent),
32014 (gst_object_check_uniqueness):
32016 Docs updates, clean up some headers.
32018 2005-03-07 Wim Taymans <wim@fluendo.com>
32020 * check/.cvsignore:
32021 * check/Makefile.am:
32022 * check/gst-libs/.cvsignore:
32023 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
32024 * check/gst/.cvsignore:
32025 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
32026 (START_TEST), (gstbus_suite), (main):
32027 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
32028 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
32029 (gst_data_suite), (main):
32030 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
32031 (add_fold_func), (gstiterator_suite), (main):
32032 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
32033 (thread_name_object), (thread_name_object_default),
32034 (gst_object_name_compare), (gst_object_suite), (main):
32035 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
32036 (gst_pad_suite), (main):
32037 * check/gstcheck.c: (gst_check_log_message_func),
32038 (gst_check_log_critical_func), (gst_check_init):
32039 * check/gstcheck.h:
32040 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
32041 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
32044 2005-03-07 Wim Taymans <wim@fluendo.com>
32046 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
32047 (gst_list_iterator_next), (gst_list_iterator_resync),
32048 (gst_list_iterator_free), (gst_iterator_new_list),
32049 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
32050 (gst_iterator_free), (gst_iterator_push), (filter_next),
32051 (filter_resync), (filter_uninit), (filter_free),
32052 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
32053 (gst_iterator_foreach), (find_custom_fold_func),
32054 (gst_iterator_find_custom):
32055 * gst/gstiterator.h:
32056 Added missing files.
32058 2005-03-07 Wim Taymans <wim@fluendo.com>
32062 * docs/design/part-MT-refcounting.txt:
32063 * docs/design/part-conventions.txt:
32064 * docs/design/part-gstobject.txt:
32065 * docs/design/part-relations.txt:
32066 * examples/mixer/mixer.c: (main):
32067 * examples/thread/thread.c: (eos), (main):
32069 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
32070 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
32071 (gst_spider_plug_from_srcpad):
32072 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
32073 (gst_spider_identity_change_state),
32074 (gst_spider_identity_sink_loop_type_finding):
32075 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
32076 * gst/elements/gstidentity.c: (gst_identity_init):
32077 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
32078 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
32079 * gst/elements/gsttypefindelement.c: (free_entry):
32082 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
32083 (gst_bin_set_clock_func), (gst_bin_auto_clock),
32084 (gst_bin_set_index), (gst_bin_set_element_sched),
32085 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
32086 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
32087 (gst_bin_iterate_elements), (iterate_child_recurse),
32088 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
32089 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
32090 (compare_interface), (gst_bin_get_by_interface),
32091 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
32093 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
32094 (gst_buffer_default_free), (gst_buffer_default_copy),
32095 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
32096 (gst_buffer_create_sub):
32098 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
32099 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
32100 (gst_caps_unref), (gst_static_caps_get),
32101 (gst_caps_remove_and_get_structure), (gst_caps_append),
32102 (gst_caps_append_structure), (gst_caps_remove_structure),
32103 (gst_caps_copy_nth), (gst_caps_set_simple),
32104 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32105 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32106 (gst_caps_structure_intersect_field), (gst_caps_intersect),
32107 (gst_caps_structure_subtract_field), (gst_caps_subtract),
32108 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32109 (gst_caps_structure_figure_out_union),
32110 (gst_caps_switch_structures), (gst_caps_do_simplify),
32111 (gst_caps_replace), (gst_caps_from_string),
32112 (gst_caps_copy_conditional):
32114 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32115 (_gst_clock_id_free), (gst_clock_id_unref),
32116 (gst_clock_id_compare_func), (gst_clock_id_wait),
32117 (gst_clock_id_wait_async), (gst_clock_class_init),
32118 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32119 (gst_clock_get_time), (gst_clock_set_time_adjust),
32120 (gst_clock_set_property), (gst_clock_get_property):
32123 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32124 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32126 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32127 (gst_element_requires_clock), (gst_element_provides_clock),
32128 (gst_element_set_clock), (gst_element_clock_wait),
32129 (gst_element_wait), (gst_element_set_time_delay),
32130 (gst_element_is_indexable), (gst_element_add_pad),
32131 (gst_element_add_ghost_pad), (gst_element_remove_pad),
32132 (pad_compare_name), (gst_element_get_static_pad),
32133 (gst_element_request_pad), (gst_element_get_request_pad),
32134 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32135 (gst_element_class_get_pad_template_list),
32136 (gst_element_class_get_pad_template), (gst_element_error_func),
32137 (gst_element_get_random_pad), (gst_element_get_event_masks),
32138 (gst_element_send_event), (gst_element_seek),
32139 (gst_element_get_query_types), (gst_element_query),
32140 (gst_element_get_formats), (gst_element_convert),
32141 (gst_element_is_locked_state), (gst_element_set_locked_state),
32142 (gst_element_sync_state_with_parent), (gst_element_change_state),
32143 (gst_element_finalize), (gst_element_yield),
32144 (gst_element_interrupt), (gst_element_set_scheduler),
32145 (gst_element_get_scheduler), (gst_element_set_loop_function):
32146 * gst/gstelement.h:
32148 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32149 (gst_format_get_by_nick), (gst_format_get_details),
32150 (gst_format_iterate_definitions):
32152 * gst/gstindex.c: (gst_index_gtype_resolver):
32155 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32156 (gst_mem_chunk_free):
32157 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32158 (gst_object_ref), (gst_object_unref), (gst_object_sink),
32159 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32160 (gst_object_dispatch_properties_changed),
32161 (gst_object_set_name_default), (gst_object_set_name),
32162 (gst_object_get_name), (gst_object_set_name_prefix),
32163 (gst_object_get_name_prefix), (gst_object_set_parent),
32164 (gst_object_get_parent), (gst_object_unparent),
32165 (gst_object_check_uniqueness), (gst_object_save_thyself),
32166 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32167 (gst_object_set_property), (gst_object_get_property),
32168 (gst_object_get_path_string):
32170 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32171 (gst_real_pad_init), (gst_real_pad_get_property),
32172 (gst_pad_custom_new), (gst_pad_get_direction),
32173 (gst_pad_set_active), (gst_pad_is_active),
32174 (gst_pad_set_event_function), (gst_pad_is_linked),
32175 (gst_pad_link_free), (gst_pad_link_intersect),
32176 (gst_pad_link_fixate), (gst_pad_set_caps),
32177 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32178 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32179 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32180 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32181 (gst_pad_get_caps), (gst_pad_peer_get_caps),
32182 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32183 (gst_pad_realize), (gst_pad_get_allowed_caps),
32184 (gst_real_pad_dispose), (gst_real_pad_finalize),
32185 (gst_pad_collectv), (gst_pad_collect_valist),
32186 (gst_pad_template_dispose), (gst_pad_template_new),
32187 (gst_pad_get_internal_links):
32189 * gst/gstpipeline.c: (gst_pipeline_dispose),
32190 (gst_pipeline_change_state):
32191 * gst/gstpipeline.h:
32193 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32194 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32195 * gst/gstpluginfeature.h:
32196 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32197 * gst/gstquery.c: (_gst_query_type_initialize),
32198 (gst_query_type_register), (gst_query_type_get_by_nick),
32199 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32201 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32202 * gst/gstscheduler.c: (gst_scheduler_add_element),
32203 (gst_scheduler_factory_create):
32204 * gst/gststructure.c: (gst_structure_set_parent_refcount),
32205 (gst_structure_free), (gst_structure_set_name),
32206 (gst_structure_id_set_value), (gst_structure_set_value),
32207 (gst_structure_set_valist), (gst_structure_remove_field),
32208 (gst_structure_remove_fields),
32209 (gst_structure_remove_fields_valist),
32210 (gst_structure_remove_all_fields), (gst_structure_foreach),
32211 (gst_structure_map_in_place),
32212 (gst_caps_structure_fixate_field_nearest_int),
32213 (gst_caps_structure_fixate_field_nearest_double):
32214 * gst/gststructure.h:
32215 * gst/gstsystemclock.c: (gst_system_clock_class_init),
32216 (gst_system_clock_init), (gst_system_clock_dispose),
32217 (gst_system_clock_async_thread),
32218 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32219 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32220 * gst/gstsystemclock.h:
32221 * gst/gsttag.c: (gst_tag_list_add_value_internal),
32222 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32223 * gst/gsttaginterface.c:
32224 * gst/gstthread.c: (gst_thread_dispose),
32225 (gst_thread_release_children_locks), (gst_thread_change_state),
32226 (gst_thread_main_loop):
32227 * gst/gsttrashstack.h:
32228 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32230 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32231 (gst_element_request_pad), (gst_element_get_pad_from_template),
32232 (gst_element_request_compatible_pad),
32233 (gst_element_get_compatible_pad_filtered),
32234 (gst_element_get_compatible_pad), (gst_element_state_get_name),
32235 (gst_element_link_pads_filtered), (gst_element_link_filtered),
32236 (gst_element_link_many), (gst_element_link),
32237 (gst_element_link_pads), (gst_element_unlink_pads),
32238 (gst_element_unlink_many), (gst_element_unlink),
32239 (gst_pad_can_link_filtered), (gst_pad_can_link),
32240 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32241 (gst_object_default_error), (gst_bin_add_many),
32242 (gst_bin_remove_many), (gst_element_populate_std_props),
32243 (gst_element_class_install_std_props), (gst_buffer_merge),
32244 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32245 (link_fold_func), (gst_pad_proxy_setcaps):
32247 * gst/gstvalue.c: (gst_value_deserialize_string):
32248 * gst/parse/grammar.y:
32249 * gst/schedulers/gstbasicscheduler.c:
32250 (gst_basic_scheduler_cothreaded_chain),
32251 (gst_basic_scheduler_chain_recursive_add),
32252 (gst_basic_scheduler_pad_link):
32253 * gst/schedulers/gstoptimalscheduler.c:
32254 (get_group_schedule_function),
32255 (gst_opt_scheduler_state_transition),
32256 (gst_opt_scheduler_add_element), (element_get_reachables_func):
32257 * libs/gst/bytestream/bytestream.c:
32258 * libs/gst/dataprotocol/dataprotocol.c:
32259 (gst_dp_header_from_buffer):
32262 * tests/threadstate/threadstate2.c: (eos):
32263 * tools/gst-compprep.c: (main):
32264 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32265 (print_pad_info), (print_children_info):
32266 * tools/gst-launch.c: (idle_func), (main):
32267 * tools/gst-md5sum.c: (idle_func), (main):
32268 * tools/gst-xmlinspect.c: (print_element_info):
32269 First THREADED backport attempt, focusing on adding locks and
32270 making sure the API is threadsafe. Needs more work. More docs
32273 2005-02-24 Andy Wingo <wingo@pobox.com>
32275 * tests/bench-complexity.scm:
32276 * tests/complexity.gnuplot: New files, good for running complexity
32279 * tests/Makefile.am:
32280 * tests/complexity.c: New test, sets up N elements, at each level
32281 teeing into M streams per element. Eeeenteresting.
32283 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32284 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32285 running bench-mass_elements.scm.
32287 * tests/bench-mass_elements.scm: New script, runs mass_elements
32288 for various numbers of identities, outputting the results to a
32289 file. Requires guile 1.6. Just for testing.
32291 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
32293 * gst/schedulers/fairscheduler.c:
32294 compile with debug disabled
32296 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32299 hunting season on 0.9 is now OPEN