1 2008-12-15 Wim Taymans <wim.taymans@collabora.co.uk>
3 * docs/design/part-TODO.txt:
4 Remove the seqnum entry that we implemented in 0.10 already.
5 Add entry about removing the format return value for queries.
7 2008-12-15 Wim Taymans <wim.taymans@collabora.co.uk>
9 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10 (gst_base_sink_init), (gst_base_sink_set_property),
11 (gst_base_sink_get_property):
12 Expose the render-delay as a property so things like appsink can use it
13 to tweak the synchronisation.
15 2008-12-10 Peter Kjellerstedt <pkj@axis.com>
17 * libs/gst/check/gstcheck.h: Allow check tests to use
18 MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
19 CK_FORK=no to be used with multiple check test that use threads.
21 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
23 * gst/gstutils.c: (gst_element_get_compatible_pad):
24 Fix a caps memory leak introduced by the last change.
26 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
28 * gst/gstutils.c: (gst_element_get_compatible_pad):
29 Check if the caps of the pads are compatible before returning
30 a pad and claiming it is compatible. This, among other things,
31 fixes a bug with gst-launch where an incompatible pad is chosen
32 and linking fails. Fixes bug #544003.
34 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
36 * libs/gst/check/gstcheck.c: (gst_check_init):
37 Revert accidentially commited patch for bug #404631 which
38 tries to print a backtrace if a testcase is terminated by
39 a signal. This code was never activated as the corresponding
40 configure.ac change wasn't committed.
42 2008-12-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
44 * tests/check/libs/controller.c: (GST_START_TEST):
45 This test should return TRUE now as syncing an uncontrolled
46 object will succeed now (there's nothing to sync).
48 2008-12-09 Stefan Kost <ensonic@users.sf.net>
50 * libs/gst/controller/gstcontroller.c:
51 Aggregate return value for gst_controller_sync_values(). More info in
52 logging. Always set values on first sync-call.
54 * libs/gst/controller/gstcontrolsource.c:
57 * libs/gst/controller/gsthelper.c:
58 Fix return code and comment.
60 2008-12-09 Stefan Kost <ensonic@users.sf.net>
62 * tools/gst-launch.1.in:
63 Fix description of how to specify a type in caps. Fixes #553873.
64 Also ranges and list contain values and not property-assignments.
66 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
68 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
69 Check for changed pads-list before checking the last returned
70 GstFlowReturn because the pad could have been removed and we
71 need to ignore the value in that case.
73 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
75 * libs/gst/base/gstbasetransform.c:
76 (gst_base_transform_prepare_output_buffer),
77 (gst_base_transform_getrange), (gst_base_transform_chain):
78 * libs/gst/base/gstbasetransform.h:
79 Add vmethod that is called before we start the transform and which can
80 be used to configure the transform, such as dynamic properties.
82 2008-12-05 David Schleef <ds@schleef.org>
85 Search for plugins on win32 based on the location of the
86 gstreamer DLL. Fixes #548786
88 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
91 Apparently AC_CONFIG_MACRO_DIR breaks when using more
92 than one macro directory, reverting last change.
94 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
97 Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
100 2008-11-29 Sebastian Dröge <sebastian.droege@collabora.co.uk>
102 Patch by: Cygwin Ports maintainer
103 <yselkowitz at users dot sourceforge dot net>
107 Require gettext 0.17 because older versions don't mix with libtool
108 2.2. At build time an older gettext version will still work.
111 2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
113 Patch by: 이문형 <iwings at gmail dot com>
115 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
116 Adds support for FD_CONNECT event (win32). See #562258.
118 2008-11-24 Stefan Kost <ensonic@users.sf.net>
120 * libs/gst/base/gstbasesink.c:
121 Turn comment into gtk-doc comment.
123 2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
125 * libs/gst/base/gstbasetransform.c:
126 (gst_base_transform_acceptcaps):
127 Revert quick accepcaps attempt, it's not fully equivalent to the old
128 behaviour and thus causes regressions.
130 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
132 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
135 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
137 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
139 * gst/gstregistry.c: (gst_registry_scan_path_level):
140 Reduce the number of stat() calls for every file from three times
141 to one time. Fixes bug #560360.
143 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
145 * libs/gst/base/gstbasetransform.c:
146 (gst_base_transform_acceptcaps):
147 Rename a variable to make the code clearer.
149 2008-11-21 Stefan Kost <ensonic@users.sf.net>
151 * plugins/elements/gstidentity.c:
152 Don't warning on offset==-1. Taken from _check_imperfect_offset().
154 2008-11-21 Michael Smith <msmith@songbirdnest.com>
156 * plugins/elements/gstfilesrc.c:
157 Check for localhost in URI was backwards, fix it. Fixes unit test.
159 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
161 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
162 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
163 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
164 Add beginnings of a more optimized acceptcaps function than the default
167 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
169 * gst/gstpad.c: (gst_pad_accept_caps):
170 Avoid getting the acceptcaps function too early.
172 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
174 * tools/gst-launch.c: (event_loop):
175 Make gst-launch handle LATENCY messages and make it recalculate the
178 2008-11-20 Michael Smith <msmith@songbirdnest.com>
180 * plugins/elements/gstfilesrc.c:
181 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
182 out own slightly incorrect version. Fixes use of some paths on
185 2008-11-20 Michael Smith <msmith@songbirdnest.com>
187 * gst/gstregistrybinary.c:
188 In win32 codepath, if we fail to write the registry, create the
189 directory for it and try again, matching the behaviour in non-win32
192 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
194 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
195 Changing the render delay changes the latency and so we must post a
198 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
202 Add GstQueryType for custom queries instead of having to use the
203 not-so-very-convenient registration infrastructure to register new
206 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
208 Patch by: Andrew Feren <acferen at yahoo dot com>
210 * gst/gstobject.c: (gst_object_default_deep_notify):
211 Unref the GEnumClass after usage again. Fixes bug #561501.
213 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
215 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
216 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
217 (gst_bin_change_state_func):
219 Add do-latency signal with the old default fallback implementation. This
220 allows for custom latency calculations for when the default is not
222 API: GstBin::do-latency signal.
224 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
226 * win32/common/libgstreamer.def:
227 Add new symbols to .def file.
229 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
231 * docs/gst/gstreamer-sections.txt:
232 * gst/gstbin.c: (gst_bin_recalculate_latency),
233 (gst_bin_change_state_func):
235 Add method to recalculate and redistribute the latency on a bin.
236 API: gst_bin_recalculate_latency().
238 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
241 Document the free_func.
243 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
245 * libs/gst/controller/gstinterpolation.c:
246 * libs/gst/controller/gstlfocontrolsource.c:
247 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
248 as it is mapped to a cast on non-win32 platforms.
250 2008-11-17 Stefan Kost <ensonic@users.sf.net>
252 * libs/gst/controller/gstcontroller.c:
253 * libs/gst/controller/gstcontrollerprivate.h:
254 Keep last-value and only call set_property if value has changed. This
255 supresses all the g_object_notifies we would trigger otherwise. It
256 also allows the user to chage the value while there is no controller
259 2008-11-17 Stefan Kost <ensonic@users.sf.net>
262 Don't crash if either of the string GValues is empty.
264 2008-11-17 Andy Wingo <wingo@pobox.com>
266 * tools/gst-inspect.c (print_all_uri_handlers): New function,
267 prints a summary of what URI schemes are supported by what
269 (main): Plumb in support for --uri-handlers or -u, and fix the
270 argc check for -a and -u.
272 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
275 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
276 conversion functions.
278 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
280 * gst/gstbuffer.c: (gst_buffer_finalize):
281 Avoid costly typechecking for trivially correct pointers.
283 * gst/gstpoll.c: (gst_poll_wait):
284 Add some G_LIKELY here and there.
286 * libs/gst/base/gstadapter.c: (gst_adapter_push):
289 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
291 * docs/random/wtay/poll-timeout:
294 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
296 * tests/old/testsuite/caps/intersection.c: (main):
297 * tests/old/testsuite/plugin/loading.c: (main):
298 Remove references to deprecated API g_mem_chunk*.
301 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
303 * tools/gst-inspect.c: (main):
304 Add --plugin option. Fixes #560301.
306 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
308 * docs/random/wtay/poll-timeout:
309 Quick braindump for a possible (not totally verified) atomic case.
311 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
313 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
314 (gst_registry_binary_initialize_magic),
315 (gst_registry_binary_write_cache),
316 (gst_registry_binary_check_magic):
317 * gst/gstregistrybinary.h:
318 Don't write and check a CRC for the binary registry file. It's
319 guaranteed that the registry is completely written (it's first written
320 to a temporary file and then moved) and if the registry was corrupted
321 by some hardware failure we would have bigger problems.
323 Bump binary registry version to 0.10.21.1 for this as it's an
324 incompatible change and to ensure that the registry gets rebuild
327 This saves some milliseconds for reading/writing the registry.
330 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
332 * docs/random/wtay/poll-timeout:
333 Some pseudo code for how we could implement clock timeouts with GstPoll.
335 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
337 * plugins/elements/gstfilesink.c:
338 Update Author string to match others.
340 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
342 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
343 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
344 being fixed and inline the trivial check.
346 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
348 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
349 (gst_caps_merge_structure), (gst_caps_get_structure),
350 (gst_caps_copy_nth), (gst_caps_set_simple),
351 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
352 (gst_caps_is_equal_fixed), (gst_caps_intersect),
353 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
354 (gst_caps_to_string):
355 Callgrind micro optimisations.
356 Avoid array bounds checks and force inline of trivial function.
358 * gst/gstobject.c: (gst_object_set_name_default):
359 -1 is equivalent to letting glib to the strlen but then there is more
360 room for optimisations and it's not our fault.
362 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
363 no need to clear the array, we're cool.
365 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
366 The most common _is_fixed() check is done on fundamental glib base
367 types so we check this first instead of doing a huge amount of
368 useless GST_TYPE_ARRAY calls.
370 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
373 Add a SKIP seek flag for use with advanced trickmodes.
374 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
376 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
378 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
379 No need to memset, we can clear the value ourselves.
381 * gst/gstvalue.c: (gst_type_is_fixed),
382 (gst_value_get_compare_func):
383 Some optimisations from a few callgrind sessions:
384 When checking if a type is fixed, check for trivial fundamental types
385 first before checking types for which we need to get the type followed
386 by the heavy duty type checks, this reduces the amount of
387 g_type_fundamental() calls a lot.
388 When getting the compare function, first check for our registered types.
389 If that fails, do the heavy duty g_type_is_a() checks, reduces the
390 amount of g_type_is_a() considerably.
392 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
394 * docs/design/part-TODO.txt:
395 Mumble something about removing GstXML.
397 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
399 * gst/gstbin.c: (gst_bin_handle_message_func):
400 Get the seqnum before we dispose the message.
402 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
404 * docs/design/part-TODO.txt:
405 Refer to the framestepping document.
407 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
409 * gst/gstbin.c: (bin_handle_async_start),
410 (gst_bin_handle_message_func), (gst_bin_query):
411 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
412 (gst_base_sink_event), (gst_base_sink_change_state):
413 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
414 (gst_base_src_loop), (gst_base_src_change_state):
415 Copy seqnums from events to messages so that they can all be related
418 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
420 * tools/gst-launch.c: (event_loop):
421 Print the message seqnums.
423 2008-11-04 Andy Wingo <wingo@pobox.com>
425 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
427 2008-11-04 Andy Wingo <wingo@pobox.com>
429 Add sequence numbers to events and messages. See #559250.
431 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
435 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
436 events with a new sequence number, and copy it when copying.
437 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
438 an event's sequence number.
441 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
442 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
445 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
447 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
449 * docs/manual/advanced-position.xml:
450 * docs/manual/basics-bins.xml:
451 * docs/manual/basics-bus.xml:
452 * docs/manual/basics-pads.xml:
453 * docs/manual/intro-gstreamer.xml:
454 * docs/manual/intro-preface.xml:
455 Some Application Development Manual fixes thanks to
456 Andrew Feren. Fixes #558459.
458 2008-11-03 Stefan Kost <ensonic@users.sf.net>
460 * gst/gstregistrybinary.c:
461 Don't bother with the GTimer if we don't output the results.
463 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
465 Patch by: David Schleef <ds@schleef.org>
467 * libs/gst/net/Makefile.am:
468 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
470 2008-10-31 Stefan Kost <ensonic@users.sf.net>
472 * gst/gstregistrybinary.c:
473 Oh my, studip, stupid me. Remove double stat() call.
475 2008-10-31 Stefan Kost <ensonic@users.sf.net>
478 Use g_unlink instead of unlink.
480 * gst/gststructure.c:
489 Formatting & whitespaces.
491 2008-10-31 Stefan Kost <ensonic@users.sf.net>
493 * plugins/elements/gstidentity.c:
494 Doc typo. Use return value of parent_class->event.
496 * plugins/elements/gsttypefindelement.c:
497 Chain up at the end for consistency.
499 2008-10-30 Stefan Kost <ensonic@users.sf.net>
502 * docs/gst/gstreamer-docs.sgml:
503 * docs/gst/gstreamer-sections.txt:
504 * docs/gst/running.xml:
505 * docs/libs/gstreamer-libs-docs.sgml:
506 Change to xinclude based build - its faster and easier to maintain.
508 2008-10-30 Stefan Kost <ensonic@users.sf.net>
510 * gst/gstregistrybinary.c:
511 * gst/gstregistryxml.c:
512 Use g_unlink() as none of these are directories.
514 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
516 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
519 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
521 * libs/gst/base/gstbasetransform.c:
522 (gst_base_transform_find_transform), (gst_base_transform_getrange):
523 If we have a fixate function, call it even if we already have fixed caps
524 because the subclass might add some caps. Makes audioconvert add a
525 default channel layout.
527 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
529 * libs/gst/base/gstbasetransform.c:
530 (gst_base_transform_prepare_output_buffer),
531 (gst_base_transform_getrange):
532 Clear the output buffer variable.
533 Cleanups to the error path in the getrange function.
536 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
538 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
539 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
540 Use gst_buffer_try_new_and_alloc() and handle errors instead of
541 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
544 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
546 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
547 Set the last_stop to a more meaningful position when configuring the
548 segment. ie. the start/stop of the segment or clipped against the
549 updated segment boundaries.
551 * tests/check/gst/gstsegment.c: (GST_START_TEST):
552 Add some unit tests for the last_stop.
554 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
556 * libs/gst/base/gstbytereader.c:
557 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
560 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
562 * docs/gst/gstreamer-sections.txt:
564 API: Move float endianness conversion macros from libgstfloatcast
565 to core as it's useful in general, even in core. Fixes bug #555196.
566 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
567 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
568 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
570 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
571 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
572 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
573 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
575 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
577 * docs/libs/gstreamer-libs-sections.txt:
578 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
579 (gst_byte_reader_peek_data):
580 * libs/gst/base/gstbytereader.h:
581 * win32/common/libgstbase.def:
582 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
583 to get a pointer to the data at the current position and have
586 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
589 Fix a bug in the output of the configure script summary
590 when --gst-disable-registry is supplied
592 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
594 * libs/gst/base/gstbitreader.c:
595 * libs/gst/base/gstbytereader.c:
596 Fix the names of 2 functions in the docs strings.
598 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
600 * libs/gst/base/gstbasetransform.c:
601 (gst_base_transform_prepare_output_buffer),
602 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
603 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
604 refcount problems as seen in banshee and maybe also in farsight2.
605 Remove atomic int now that we need to take the lock anyways.
607 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
609 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
610 (gst_base_sink_default_prepare_seek_segment),
611 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
612 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
613 (gst_base_sink_query):
614 Implement more seeking in pull mode.
615 Use pad convert functions to convert position to the requested format.
616 Fix position/duration reporting in pull mode.
617 Implement position and duration reporting in other formats than time.
619 * libs/gst/base/gstbasesink.h:
620 Add member to keep track of when the segment is playing.
622 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
624 * gst/gstpad.c: (gst_pad_configure_src):
625 When we use gst_pad_alloc_buffer() without wanting to set the caps we
626 also don't need to check if the caps are compatible because the caller
627 presumably is going to perform its own custom checks. Fixes some cases
628 where basetransform elements would error out when it was not needed.
630 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
632 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
635 * libs/gst/base/gstbasetransform.c:
636 (gst_base_transform_handle_buffer),
637 (gst_base_transform_reconfigure):
640 * win32/common/libgstbase.def:
643 2008-10-19 Stefan Kost <ensonic@users.sf.net>
645 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
646 Remove duplicated assignment and log a message in failure case.
648 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
650 Patch by: Dig Ge <dig.ge.cn at gmail com>
652 * tests/examples/helloworld/helloworld.c: (main):
653 Fix copy'n'paste bug in hello world example (#556900).
655 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
657 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
658 (gst_base_sink_query):
659 Query the total number of bytes when activating the pad in pull mode.
660 Implement duration query in pull mode by using the installed pad convert
661 function to convert from bytes to the requested format.
663 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
665 * docs/libs/gstreamer-libs-sections.txt:
666 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
667 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
668 (gst_base_sink_event), (gst_base_sink_perform_seek),
669 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
670 (gst_base_sink_send_event), (gst_base_sink_change_state):
671 * libs/gst/base/gstbasesink.h:
672 Add method to commit the state in subclasses.
673 Refactor the flush_start and flush_stop code because we need it for
674 flushing while seeking too.
675 Implement the beginnings of seeking in pull mode.
676 Use the segment last_stop field for the pulling offset.
677 Fix the pause method in pull mode.
678 Configure the segment to BYTES for pull mode.
679 API: GstBaseSink::gst_base_sink_do_preroll()
681 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
683 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
686 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
688 * gst/gstquark.c: (_priv_gst_quarks_initialize):
689 Fix printf format warning.
691 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
693 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
694 Fix flow aggregation of tee. Error out immediately for all flow returns
695 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
696 and return OK if at least one pad is linked.
698 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
699 and otherwise returned the flow return of the last pad, which is wrong.
701 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
702 (GST_START_TEST), (tee_suite):
703 Add unit tests for the flow aggregation.
705 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
707 * docs/design/part-TODO.txt:
708 Remove item from the todo list because it was fixed with the latency
709 state change rewrites.
711 * docs/design/part-seeking.txt:
712 * docs/design/part-segments.txt:
715 * gst/gstevent.c: (gst_event_new_new_segment_full),
716 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
717 (gst_event_parse_buffer_size), (gst_event_new_qos),
718 (gst_event_parse_qos), (gst_event_new_seek),
719 (gst_event_parse_seek), (gst_event_new_latency),
720 (gst_event_parse_latency):
721 Use quarks to construct and parse events.
723 * gst/gstquark.c: (_priv_gst_quarks_initialize):
725 Add some more quarks to the table.
726 Emit a warning when the quark tables are not in sync.
728 * tests/check/gst/gstbus.c: (GST_START_TEST):
731 2008-10-13 Stefan Kost <ensonic@users.sf.net>
733 * plugins/elements/Makefile.am:
734 * plugins/indexers/Makefile.am:
735 Don't install static libs for plugins. Fixes #550851 for core.
737 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
739 * gst/gstbus.c: (gst_bus_source_finalize),
740 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
741 (gst_bus_enable_sync_message_emission),
742 (gst_bus_disable_sync_message_emission),
743 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
744 Fix deadlock, g_source_get_id() cannot be called in finalize.
745 Keep track of the watch source by keeping a pointer to the source object
747 Use the bus lock to protect access to the pointer to the current
750 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
752 Base on Patch by: Olivier Crete <tester at tester dot ca>
754 * gst/gstbus.c: (gst_bus_source_finalize),
755 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
756 Only allow one bus watch to be set at a time. This is necessary
757 because the dispatcher pops the message from the bus and the second
758 watcher will then get NULL or the next message (and the first won't
759 get this next message then, etc). If more than one "watcher" is
760 required signal watches should be used. Fixes bug #526044.
762 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
764 * tools/gst-launch.c:
765 Change the printing of the 'buffering...' output to avoid putting
766 a \r in a translateable string (flagged by the TP).
768 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
771 Clarify that the save_thyself() and restore_thyself() virtual
772 functions of GstObject need to be overriden, not
773 gst_object_(save|restore)_thyself() which is impossible.
776 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
778 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
779 Revert a patch from 21 months ago that broke caps negotiation in pull
780 mode. Basically, having a buffer pass over a pad will trigger the
781 setcaps function when caps change, just like in push mode.
783 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
785 * docs/design/part-negotiation.txt:
786 Update the docs some more.
788 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
789 If we pull a buffer with non-trivial caps, suggest those caps with the
792 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
794 * docs/design/part-TODO.txt:
795 Add another limitation of pad-blocking with segment seeks not pushing
798 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
800 * win32/common/libgstbase.def:
801 * win32/common/libgstreamer.def:
802 Add new symbols to the win32 defs files
804 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
806 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
807 (gst_bin_handle_message_func):
808 The message src can be NULL, don't try to print the object names in that
811 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
812 Add some more debug info.
814 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
817 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
820 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
822 * docs/design/part-negotiation.txt:
825 * docs/libs/gstreamer-libs-sections.txt:
826 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
827 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
828 (gst_base_sink_init), (gst_base_sink_set_blocksize),
829 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
830 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
831 (gst_base_sink_loop), (gst_base_sink_pad_activate),
832 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
833 (gst_base_sink_change_state):
834 * libs/gst/base/gstbasesink.h:
835 Add blocksize property and methods to control the amount of data
837 Negotiate first before activating upstream in pull mode so that they can
838 negotiate themselves.
839 When we operate in pull mode, we only accept the caps that we
841 Make the sink go ASYNC to PAUSED, like all other sinks.
842 API: GstBaseSink::gst_base_sink_set_blocksize()
843 API: GstBaseSink::gst_base_sink_get_blocksize()
844 API: GstBaseSink::blocksize
846 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
847 (gst_base_src_set_live), (gst_base_src_is_live),
848 (gst_base_src_set_format), (gst_base_src_query_latency),
849 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
850 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
851 (gst_base_src_set_property), (gst_base_src_get_property):
852 * libs/gst/base/gstbasesrc.h:
853 Add typechecking in public API functions.
854 Add methods to control the blocksize in subclasses.
855 API: GstBaseSrc::gst_base_src_set_blocksize()
856 API: GstBaseSrc::gst_base_src_get_blocksize()
858 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
860 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
861 (buffer_probe), (event_probe), (GST_START_TEST):
862 We now see 3 events go through our pad, since basesink now sends
863 upstream latency events.
865 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
867 * gst/gstpipeline.c: (gst_pipeline_change_state):
868 Release the object lock before trying to flush the bus.
870 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
872 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
873 Forward LATENCY events upstreams so that elements know about the total
874 pipeline latency. Fixes #555307.
876 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
878 * plugins/elements/gstqueue.c:
879 Allow through queries when we don't know how
880 to adjust them (not TIME or BYTES), as otherwise it's
881 not possible to query the current position in order
882 to seek in other formats at all.
884 2008-10-08 Andy Wingo <wingo@pobox.com>
886 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
888 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
892 Unbreak -good build, private is a reserved c++ keyword.
894 2008-10-08 Andy Wingo <wingo@pobox.com>
896 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
897 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
898 removal: re-add GST_GHOST_PAD_CAST to the header.
900 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
901 (GstGhostPadClass): Publically expose these structures so as to
902 allow easy subclassing from C. Hide the member data behind a
903 private opaque data pointer.
905 * gst/gstghostpad.c: Adapt to store instance data in the type
906 instance's private data region, not in the public struct.
908 2008-10-08 Andy Wingo <wingo@pobox.com>
910 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
911 template via g_object_get(), be sure to unref it.
913 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
915 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
917 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
918 If we can't get a cache file don't try to save something to it.
919 Dereferencing NULL pointers usually isn't a good idea.
921 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
923 * tests/check/Makefile.am:
924 * tests/check/gst/gstabi.c:
925 * tests/check/gst/struct_sparc.h:
926 * tests/check/libs/libsabi.c:
927 * tests/check/libs/struct_sparc.h:
930 * tests/check/gst/gstvalue.c: (GST_START_TEST):
931 Cast signed integer to unsigned to avoid a compiler warning.
933 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
935 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
936 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
937 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
938 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
939 (gst_byte_reader_peek_int24_be):
940 Use new GST_READ_UINT24_(LE|BE) macros.
942 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
944 * docs/gst/gstreamer-sections.txt:
946 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
947 as it's too easy to break the ISO C strict aliasing rules with simple
948 casts to the corresponding type and this would introduce hard to debug
949 bugs. Fixes bug #545714.
951 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
953 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
955 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
956 * gst/gstghostpad.c: (gst_ghost_pad_construct):
957 Add 'Since' bits to gtk-doc chunks for new API.
959 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
961 * docs/gst/gstreamer-sections.txt:
964 2008-10-06 Andy Wingo <wingo@pobox.com>
966 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
967 that will be called on the malloc_data to free it. Basically a way
968 to avoid subclassing when all you need is a different free
969 function, i.e. free() instead of g_free().
971 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
972 calling the free function.
973 (gst_buffer_init): Initialize the free function to g_free.
975 2008-10-06 Andy Wingo <wingo@pobox.com>
978 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
979 finishes the initialization of ghost pad. Useful for language
980 bindings and subclassers of GstGhostPad. Fixes #539108.
981 (gst_ghost_pad_new_full): Use the new constructor.
983 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
985 Base on Patch by: Olivier Crete <tester at tester dot ca>
987 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
988 (gst_bin_remove_func), (update_degree),
989 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
990 Keep track of pads that are being linked/unlinked and resync the state
993 * gst/gstpad.c: (gst_pad_get_direction),
994 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
995 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
996 (gst_pad_link_prepare), (gst_pad_link),
997 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
998 (gst_pad_check_pull_range), (gst_pad_get_range),
999 (gst_pad_pull_range):
1000 Some code cleanups, use macros to check pad direction.
1001 Don't need to take the lock on the pad direction.
1002 Post structure change when pads are linked/unlinked.
1003 Change some checks into _return_if_fail().
1005 * tests/check/gst/gstbin.c:
1006 (test_link_structure_change_state_changed_sync_cb),
1007 (GST_START_TEST), (gst_bin_suite):
1008 Add testcase for pad link/unlinke resync during a state change.
1011 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1013 * docs/gst/gstreamer-sections.txt:
1014 * gst/gstmessage.c: (gst_message_new_structure_change),
1015 (gst_message_parse_structure_change):
1017 Implement STRUCTURE_CHANGED messages. These messages will be used to
1018 signal the parent bin of link/unlink operations that could require a
1019 resync when doing a state change. See ##510354.
1020 API: gst_message_new_structure_change()
1021 API: gst_message_parse_structure_change()
1023 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1027 Add some more quarks for new message. See #510354.
1029 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1031 * docs/libs/gstreamer-libs-docs.sgml:
1032 * docs/libs/gstreamer-libs-sections.txt:
1033 * libs/gst/base/Makefile.am:
1034 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1035 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1036 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1037 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1038 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1039 (gst_bit_reader_skip_to_byte):
1040 * libs/gst/base/gstbitreader.h:
1041 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1042 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1043 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1044 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1045 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1046 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1047 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1048 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1049 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1050 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1051 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1052 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1053 * libs/gst/base/gstbytereader.h:
1054 * tests/check/Makefile.am:
1055 * tests/check/libs/bitreader.c: (GST_START_TEST),
1056 (gst_bit_reader_suite):
1057 * tests/check/libs/bytereader.c: (GST_START_TEST),
1058 (gst_byte_reader_suite):
1059 API: Add bit reader and byte reader classes, including documentation
1060 and an extensive unit test suite. Fixes bug #553554.
1062 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1064 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1065 (gst_base_sink_query):
1066 Improve position reporting while flushing and other intermediate state
1067 changes. Fixes #553874.
1069 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1071 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1073 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1074 Original patch by : Simon Descaries
1075 Fix small refount leak in caps compatibility check.
1078 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1080 * docs/pwg/advanced-request.xml:
1081 Fix 0.8 api usage in example. Fixes #554561
1083 * docs/pwg/appendix-porting.xml:
1084 Change 0.9 to 0.10 here.
1086 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1088 * docs/manual/basics-data.xml:
1089 Change "event-event interaction" to "element-element interaction".
1090 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1093 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
1096 Back to development -> 0.10.21.1
1098 === release 0.10.21 ===
1100 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
1103 releasing 0.10.21, "Take These Things From Me"
1105 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1108 0.10.20.4 pre-release
1110 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1112 * libs/gst/base/gstbasetransform.c:
1113 * plugins/elements/gstcapsfilter.c:
1114 * tests/check/Makefile.am:
1115 * tests/check/elements/.cvsignore:
1116 * tests/check/elements/capsfilter.c:
1117 Fix assertion in basetransform when the subclass chooses not to
1118 allocate a buffer in prepare_buffer(), and make capsfilter error out
1119 cleanly if requested to apply caps that don't completely specify the
1120 buffer. Fixes #551509
1122 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
1124 * libs/gst/base/gstbasetransform.c:
1125 (gst_base_transform_prepare_output_buffer):
1126 Take new caps ref because our old one might have been gone when the
1127 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1129 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1132 Do not probe availability of check unit test library when cross
1133 compiling, as test would not work anyway. Also cleanup verbose output
1134 of the check test. Fixes #551952.
1136 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1138 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1140 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1141 Avoid leaking the parent ref when we fail changing the state of the
1142 element using gst_element_sync_state_with_parent(). Fixes #551978.
1144 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1146 * docs/manual/intro-motivation.xml::
1147 Remove some bits that no longer apply, update others (#551642).
1149 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1152 0.10.20.2 pre-release
1160 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1162 * win32/common/config.h.in:
1163 Add GST_DATADIR, hard-code cpu to x86.
1165 * win32/common/libgstreamer.def:
1168 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1171 Fix Since: markers for new geo tags.
1173 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1176 Fix actual tag name define after renaming from altitude to elevation.
1178 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1180 * gst/gstpad.c: (add_unref_pad_to_list),
1181 (gst_pad_get_internal_links_default):
1182 Add fallback when calling the deprecated function on an element that
1183 implements the new internal_link handler.
1185 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1187 * docs/gst/gstreamer-sections.txt:
1190 Add new tags for geo location and clarify purpose of existing location
1193 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1195 Patch by: Olivier Crete <tester at tester dot ca>
1197 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1198 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1199 Use thread-safe internal links iterator. Fixes #549504.
1201 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1203 Based on patch by: Olivier Crete <tester at tester dot ca>
1205 * docs/gst/gstreamer-sections.txt:
1206 * win32/common/libgstreamer.def:
1207 * gst/gstpad.c: (gst_pad_init),
1208 (gst_pad_set_iterate_internal_links_function),
1209 (int_link_iter_data_free), (iterate_pad),
1210 (gst_pad_iterate_internal_links_default),
1211 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1213 Add threadsafe replacement functions for getting internal links of an
1214 element. Deprecate the old internal links functions.
1215 API:GstPad::gst_pad_set_iterate_internal_links_function()
1216 API:GstPad::GstPadIterIntLinkFunction
1217 API:GstPad::gst_pad_iterate_internal_links()
1218 API:GstPad::gst_pad_iterate_internal_links_default()
1220 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1221 (gst_proxy_pad_init):
1222 Implement threadsafe internal links.
1224 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1225 Unit test for internal links on tee. See #549504.
1227 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1229 * tests/check/Makefile.am:
1230 libs/transform1 test requires libs/test_transform.c
1232 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1234 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1235 Die evil deadlock, die !
1237 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1239 * gst/gstutils.c: (gst_element_get_compatible_pad):
1240 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1241 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1242 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1243 not steal the refcount of the given caps as stated.
1245 REVERT THIS COMMIT ONCE FIXED !
1246 REVERT THIS COMMIT ONCE FIXED !
1247 REVERT THIS COMMIT ONCE FIXED !
1248 REVERT THIS COMMIT ONCE FIXED !
1249 REVERT THIS COMMIT ONCE FIXED !
1250 REVERT THIS COMMIT ONCE FIXED !
1252 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1254 * gst/gstiterator.c:
1255 * gst/gstiterator.h:
1256 After 3 years it's about time to revise the documentation of the
1259 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1261 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1262 Make the internal links function less thread-unsafe and add some
1263 comments, dunno why.
1265 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1267 * gst/gst_private.h:
1268 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1269 build with --disable-gst-debug.
1271 2008-08-28 David Schleef <ds@schleef.org>
1273 * gst/gstpadtemplate.c: Revert last change, since it breaks
1274 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1275 but shouldn't be enabled until we've released fixed versions
1276 of -good and -ffmpeg.
1278 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1281 Put the gst_object_get_name() back in.
1283 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1285 * gst/gstpadtemplate.c:
1286 The old behaviour was that gst_pad_template_new() takes ownership of
1287 the caps. As we now call g_object_new() which calls g_object_set() and
1288 which copies the caps, we have to unref them to not leak them. Fixes
1289 make valgrid for me.
1291 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1294 Don't segfault on input like "tel:+1-123-555-1234".
1296 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1299 Due to popular request also include ObjectType in
1300 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1302 2008-08-26 David Schleef <ds@schleef.org>
1304 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1305 src_val must be positive, because that's not a requirement.
1306 This causes problems with converting negative granulepos
1308 * gst/gstquery.c: Same, gst_query_new_convert().
1310 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1312 * gst/gstclock.c: (gst_clock_add_observation):
1313 Add some more debugging to the clock slaving code.
1315 * win32/common/libgstbase.def:
1316 Add new basetransform method.
1318 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1320 * gst/gstbin.c: (gst_bin_element_set_state):
1321 Take the (recursive) state lock between getting the locked state of an
1322 element and changing the element state. This allows the application to
1323 lock an element's state and then change its state without races.
1325 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1327 * gst/gstbin.c: (gst_bin_element_set_state):
1328 When an element is in the locked state we still want to update the
1329 base_time of the element.
1331 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1333 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1334 Use the result from gst_pad_set_caps() instead of assuming the element
1335 always accepted the caps computed by the default negotiate function.
1337 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1339 * docs/libs/gstreamer-libs-sections.txt:
1340 * libs/gst/base/gstbasetransform.c:
1341 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1342 (gst_base_transform_chain), (gst_base_transform_suggest),
1343 (gst_base_transform_reconfigure):
1344 * libs/gst/base/gstbasetransform.h:
1345 Implement method for reconfiguring basetransform.
1346 API: GstBaseTransform::gst_base_transform_reconfigure()
1348 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1350 patch by: Murray Cumming <murrayc@murrayc.com>
1353 Mention that this is just like gst_buffer_merge() but with extra
1354 unreffing for C coders. Advise language bindings not to wrap it.
1357 Also fix file comment.
1359 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1361 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1363 * plugins/elements/gstfakesink.c:
1364 * plugins/elements/gstfakesrc.c:
1365 Call super::event() when not handling it. Fixes #544855.
1367 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1369 Patch by: Alessandro Decina <alessandro@nnva.org>
1370 * plugins/elements/gstfilesrc.c:
1371 Use 64 bit variants of stat functions on win32, to enable support
1372 of large files there.
1375 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1377 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1378 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1379 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1380 (gst_base_sink_get_position), (gst_base_sink_change_state):
1381 Improve position reporting in the flushing state.
1382 Also report the position when we are not yet prerolled but we
1383 have a newsegment event. Fixes #543444.
1384 Improve the pull-based negotiation code.
1386 * tests/check/elements/fakesink.c: (GST_START_TEST),
1388 Add testcase for position reporting while flushing in PAUSED and
1391 * tests/check/generic/sinks.c: (GST_START_TEST):
1392 Update unit-test, we can now query the position as soon as we receive a
1395 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1397 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1399 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1400 When the subclass event handler releases the PREROLL_LOCK, we could be
1401 in the flushing state and we have to ignore the event. Fixes #548394.
1403 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1405 * tools/gst-launch.1.in:
1406 Document GST_REGISTRY_UPDATE environment variable.
1408 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1410 * libs/gst/base/gstbasetransform.c:
1411 (gst_base_transform_prepare_output_buffer):
1412 If the element is configured in passthrough mode but the
1413 prepare_output_buffer gave us a new output buffer, discard that buffer
1414 and reuse the input buffer.
1416 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1418 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1420 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1421 (gst_tee_request_new_pad), (gst_tee_release_pad),
1422 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1423 * plugins/elements/gsttee.h:
1424 Protect pad_alloc with a new lock so that we can be sure that nothing is
1425 performing a pad_alloc when removing the pad. Fixes #547835.
1427 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1428 (buffer_alloc_harness_teardown), (app_thread_func),
1429 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1430 Added testcase for shutdown race.
1432 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1437 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1439 * libs/gst/base/gstbasetransform.c:
1440 (gst_base_transform_prepare_output_buffer),
1441 (gst_base_transform_buffer_alloc):
1442 Go over the buffer_alloc function again and make sure we always end up
1443 allocating a buffer.
1445 Avoid doing pad alloc when we have a pending suggestion because we
1446 cannot yet deal with changing caps in that case. Fixes #547728
1448 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1450 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1452 * docs/manual/advanced-clocks.xml:
1453 * docs/manual/clocks.png:
1454 * docs/manual/diagrams-clocks.svg:
1455 Add one more image showing different times together with a describing
1456 paragraph. Fixes #547729.
1458 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1460 * win32/common/libgstbase.def:
1463 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1465 * libs/gst/base/gstbasetransform.c:
1466 (gst_base_transform_transform_caps),
1467 (gst_base_transform_prepare_output_buffer),
1468 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1469 Don't overwrite the outsize when calculating the expected size of a new
1470 buffer because we still need it in case we cannot process the new
1472 When converting the size of the new buffer to an upstream size, actually
1473 use the expected size of the buffer, not some other random value.
1474 Use an atomic int to signal that a new upstream caps suggestion is
1476 When we can convert the current buffer to a new format, check if the
1477 buffer size is of the expected size and allocate a new buffer of the
1478 expected size when this is not the case. Fixes #546883.
1480 * tests/check/libs/transform1.c: (GST_START_TEST):
1481 remove ifdeffed code from the unit test.
1483 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1485 * pkgconfig/gstreamer-uninstalled.pc.in:
1486 * pkgconfig/gstreamer.pc.in:
1487 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1488 called gstcontroller-0.10.
1490 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1492 * gst/gstchildproxy.h:
1494 Remove double interface from doc-string.
1496 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1498 * libs/gst/base/gstbasesrc.c:
1499 * libs/gst/base/gstbasetransform.c:
1500 Fix headings in docs and gtk-doc warnings.
1502 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1504 * gst/gstregistrybinary.c:
1505 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1509 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1511 * libs/gst/base/gstbasetransform.c:
1512 (gst_base_transform_buffer_alloc):
1513 Fix a "may be used unitialized" warning.
1515 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1517 * docs/gst/gstreamer-sections.txt:
1519 Document preset-iface vmethods.
1521 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1523 * docs/manual/advanced-interfaces.xml:
1524 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1525 only used to discover devices.
1527 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1529 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1531 * gst/gst.c: (init_pre):
1532 Make sure gettext returns translations in UTF-8 encoding rather
1533 than in the current locale encoding (#546822).
1535 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1537 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1540 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1541 Improve unit test subset tests and add a testcase for the subset failure
1544 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1545 Improve subtraction unit test.
1547 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1549 * plugins/elements/gsttee.c:
1550 Unlock, instead of locking again.
1552 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1555 Clarify the docs a bit more.
1557 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1559 * tests/examples/metadata/read-metadata.c:
1560 Don't leak old taglist.
1562 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1564 Patch by: Olivier Crete <tester at tester dot ca>
1566 * gst/gststructure.c:
1567 (gst_structure_fixate_field_nearest_fraction):
1568 Avoid overflows in fixation code when dealing with MAXINT values, which
1569 v4l2src seems to do.
1572 * tests/check/gst/gststructure.c: (GST_START_TEST):
1573 Make a unit test to check the fix.
1575 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1577 * plugins/elements/gstcapsfilter.c: (copy_func),
1578 (gst_capsfilter_set_property):
1579 Use new caps suggestion feature of basetransform to request a caps
1580 negotiation upstream.
1582 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1584 * docs/libs/gstreamer-libs-sections.txt:
1586 API: GstBaseTransform::gst_base_transform_suggest()
1588 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1589 (gst_base_transform_init), (gst_base_transform_transform_caps),
1590 (gst_base_transform_transform_size),
1591 (gst_base_transform_configure_caps),
1592 (gst_base_transform_can_transform),
1593 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1594 (gst_base_transform_prepare_output_buffer),
1595 (gst_base_transform_buffer_alloc),
1596 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1597 (gst_base_transform_chain), (gst_base_transform_activate),
1598 (gst_base_transform_set_passthrough),
1599 (gst_base_transform_is_passthrough),
1600 (gst_base_transform_set_in_place),
1601 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1602 (gst_base_transform_set_qos_enabled),
1603 (gst_base_transform_is_qos_enabled),
1604 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1605 (gst_base_transform_reconfigure):
1606 * libs/gst/base/gstbasetransform.h:
1607 Rewrite of basetransform to perform negotiation outside of the
1608 buffer_alloc functions. Fixes #545853.
1610 * tests/check/libs/transform1.c: (GST_START_TEST),
1614 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1616 * tests/check/gst/gstpreset.c:
1617 Only run preset tests when $HOME is writable. Preliminary fix for
1620 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1622 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1623 (gst_bin_change_state_func), (bin_handle_async_done),
1624 (gst_bin_handle_message_func):
1625 Fix race for bins that simulate ASYNC state changes by inserting
1626 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1627 pending ASYNC messages even when the bin does not have ASYNC children.
1628 We note detect this behaviour because we will receive an ASYNC message
1629 that is originating from the bin itself.
1630 Fixes races with decodebin2 state changes.
1632 * tests/check/gst/gstbin.c: (GST_START_TEST):
1633 Add some more debug.
1635 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1637 * gst/gsttaglist.c: (_gst_tag_initialize):
1640 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1643 Argh. actually save the text before committing. Now adds
1644 gst_tag_merge_strings_with_comma() to gst_tag_register().
1646 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1650 Do as tim pointed out and actually register the new tag. Also improve
1651 te docs and use gst_tag_merge_strings_with_comma() method to allow
1652 retriving all keywords merged in one list.
1654 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1657 * docs/gst/gstreamer.types:
1658 Revert 'accidential' change of the configure option removal. We still
1659 need to generate the types file in configure --disable-load-save.
1661 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1663 * docs/gst/gstreamer-sections.txt:
1665 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1667 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1669 * gst/gstpadtemplate.c:
1670 (gst_pad_template_class_init), (gst_static_pad_template_get),
1671 (gst_pad_template_new), (gst_pad_template_pad_created),
1672 (gst_pad_template_set_property), (gst_pad_template_get_property):
1673 Add "name-template", "direction", "presence" and "caps" properties,
1674 so that gst_pad_template_new() is just a thin wrapper around
1675 g_object_new(), which is better for bindings. (Fixes: #539772)
1677 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1680 Be more liberal in what URIs we accept.
1681 Do not unescape bits of the URI for no apparent reason before passing to
1682 the element. Fixes #545352.
1684 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1686 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1689 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1691 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1694 * docs/gst/gstreamer-sections.txt:
1695 * docs/gst/gstreamer.types:
1696 * docs/gst/gstreamer.types.in:
1699 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1700 * gst/gstconfig.h.in:
1701 * gst/gstelement.c: (gst_element_get_index):
1702 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1703 (gst_registry_binary_load_feature),
1704 (gst_registry_binary_read_cache):
1705 * gst/gstregistryxml.c: (load_feature),
1706 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1707 * plugins/Makefile.am:
1709 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1710 (print_plugin_features), (print_element_features):
1711 * tools/gst-xmlinspect.c: (print_event_masks),
1712 (print_element_info):
1713 * win32/common/gstconfig.h:
1714 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1716 Disabling the indexers and URI handler code will only reduce the
1717 required amount of memory by a very small amount but on the other hand
1718 requires much more maintaince work. Apart from that many places of
1719 code are broken when disabling them.
1721 Disabling the enum types doesn't reduce the required amount of memory
1722 by more than a few bytes and makes it hard to fix bugs like #539772,
1723 i.e. use the enums as GObject properties.
1725 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1727 * docs/design/part-TODO.txt:
1728 Add some thoughts and problems with upstream renegotiation.
1730 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1732 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1733 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1734 Remove silly redundant debug.
1735 Add some more debug info.
1736 Clarify the docs regarding new caps received from pad_alloc.
1738 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1740 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1741 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1742 Make setting the caps more threadsafe.
1744 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1746 * docs/design/part-element-transform.txt:
1749 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1751 * plugins/elements/gstqueue.c: (gst_queue_init),
1752 (gst_queue_acceptcaps):
1753 Add and use a custom acceptcaps function instead of falling back to the
1754 potentially less optimized default implementation.
1756 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1758 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1759 Only sanity-check the buffer size if requested_caps == buffer_caps
1760 (ie. don't take pad caps into account, they're not relevant here)
1762 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1764 * plugins/elements/gsttee.c:
1765 * plugins/elements/gsttee.h:
1766 Reverting as not everything is clear yet. Needs some general design
1769 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1772 ChangeLog surgery for tee commit.
1774 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1776 * docs/gst/gstreamer-sections.txt:
1777 Cleanup section-file.
1779 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1781 * plugins/elements/gsttee.c:
1782 * plugins/elements/gsttee.h:
1783 Relay tag events in tee. Fixes parts of #474016.
1784 Downgrades 3 reoccurring debugs to log.
1786 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1789 * libs/gst/Makefile.am:
1790 Build the net library if we have winsock2.
1792 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1794 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1796 * docs/manual/advanced-threads.xml:
1797 * docs/manual/diagrams-pipelines.svg:
1798 * docs/manual/hello-world.png:
1799 * docs/manual/linked-elements.png:
1800 * docs/manual/mime-world.png:
1801 * docs/manual/queue.png:
1802 * docs/manual/thread-buffering.png:
1803 * docs/manual/thread-synchronizing.png:
1804 Replace one diagram with two separate ones and updates others.
1807 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1810 Fix link in documentation.
1812 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1815 Fix confusing documentation.
1817 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1819 * libs/gst/base/gstbasesrc.h:
1820 revert the changes to the header file for the ABI.
1822 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1824 * libs/gst/base/gstbasesrc.c:
1825 * libs/gst/base/gstbasesrc.h:
1826 Don't cache the seekable status.
1829 2008-07-24 Rene Stadler <mail@renestadler.de>
1831 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1832 code to close the pipeline graph. This prevents the program from
1833 printing internal data flow errors.
1835 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1837 * docs/manual/basics-bus.xml:
1838 Correct typo. Fixes bug #544320.
1840 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1843 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1844 Add check (taken from -base) for winsock, adds WIN32_LIBS
1846 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1848 Define GST_EXPORTS when building libgstreamer (only used on win32)
1849 * gst/gst_private.h:
1851 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1852 for symbols that we need to export in both these files.
1854 Include gst_private.h higher up to avoid some compile problems on win32.
1856 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1861 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1864 Previous commit was wrong NULL caps does not exist
1865 and indicate an error, so also add a FIXME to
1866 gst_caps_is_equal where NULL caps are accepted.
1868 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1871 Allow passing of NULL to gst_caps_union
1873 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1875 * gst/gstghostpad.c:
1876 Add in doc that gst_ghost_pad_set_target can accept
1877 NULL to clear target
1879 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1882 * gst/gstregistry.c:
1883 GstRegistryPool doesn't exist; don't refer to it in docs.
1884 Don't refer to functions that don't exist in docs, it's
1887 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1890 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1892 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1894 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1896 * docs/pwg/building-testapp.xml:
1897 Don't use an undeclared variable in the example program.
1900 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1902 * gst/gstdebugutils.c:
1903 Squeeze ghost-pad links and remove <> from classname labels to save
1904 more horizontal space.
1906 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1908 * gst/gstdebugutils.c:
1909 Give request and sometimes pads a different shpe style. Condense the
1910 graphs a little more.
1912 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1915 Don't require flex and bison if the parser is disabled.
1917 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1919 * libs/gst/controller/gstinterpolationcontrolsource.c:
1920 (_list_find_sorted_custom):
1921 Don't use declarations after statements.
1923 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1925 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1926 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1927 of the the child-added / -removed signals as GstChildProxy
1928 only supports GstObjects.
1930 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1932 * gst/gstdebugutils.c:
1935 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1937 Patch by: Alessandro Decina <alessandro at nnva dot org>
1940 Fix "ignored return value" compiler warning with newer glibc.
1942 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1944 * gst/gstchildproxy.c:
1945 Fix copy&paste error in gst_child_proxy_removed() documentation.
1947 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1949 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1950 Print error debug message if plugin description fields that should
1953 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1954 Don't crash if the string to serialise is NULL (it really should
1955 not be, but apparently this used to work with the xml registry ...).
1957 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1959 * tools/gst-plot-timeline.py:
1960 Fix parsing of log messages
1962 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1964 * win32/common/libgstbase.def::
1965 Sort alphabetically so make check-exports doesn't barf.
1967 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1970 Use gst_format_get_name() to improve debug output.
1973 Remove #ifdef'ed code. Add TODO comment.
1976 Add debug output to ease spotting format != segment.format assertions.
1978 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1980 * tests/check/libs/gdp.c: (gst_dp_suite):
1981 Also enable the GDP unit test again on PPC now that the bug
1984 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1986 * libs/gst/dataprotocol/dataprotocol.c:
1987 Don't write to the same region of memory as a uint64 and uint16
1988 as this breaks strict aliasing rules and apparantly breaks on PPC
1989 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1991 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1993 * libs/gst/controller/gstinterpolationcontrolsource.c:
1994 Optimize list handling. Use own find function. Exploit that fact that
1995 the list is sorted. Also pass back the node before, so that we can
1996 insert quickly. Have a fast path for append.
1998 2008-06-29 Stefan Kost <ensonic@users.sf.net>
2000 * docs/design/draft-framestep.txt:
2001 * docs/design/part-negotiation.txt:
2004 2008-06-27 Stefan Kost <ensonic@users.sf.net>
2007 Show configuration sumary after configure run. Based on patch by
2008 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2010 2008-06-27 Stefan Kost <ensonic@users.sf.net>
2012 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2014 * docs/manual/advanced-autoplugging.xml:
2015 * docs/manual/advanced-threads.xml:
2016 * docs/manual/basics-bins.xml:
2017 * docs/manual/basics-elements.xml:
2018 * docs/manual/basics-helloworld.xml:
2019 * docs/manual/basics-pads.xml:
2020 Add scale factor for pdf output.
2022 * docs/manual/intro-basics.xml:
2023 Switched sections "pads" and "bins" and added a pipeline diagram.
2025 * docs/manual/intro-gstreamer.xml:
2026 Added more info on gstreamer.
2028 * docs/manual/intro-motivation.xml:
2029 Commented out the whole section "current problem", which sounds
2030 historical and somehow osolete; it could be turned in a positive
2031 way and reused to improve the design principles.
2033 * docs/manual/intro-preface.xml:
2034 - Update URLs to library.gnome.org.
2035 - Do not mention GTK+ in preliminary reading (irrelevant).
2036 - Mention Plugin Writer's Manual and further reading only in the
2038 - Added a list of most relevant GObject/glib topics.
2040 * docs/manual/Makefile.am:
2041 * docs/manual/bin-element-ghost.fig:
2042 * docs/manual/bin-element-ghost.png:
2043 * docs/manual/bin-element-noghost.fig:
2044 * docs/manual/bin-element-noghost.png:
2045 * docs/manual/bin-element.fig:
2046 * docs/manual/bin-element.png:
2047 * docs/manual/filter-element-multi.fig:
2048 * docs/manual/filter-element-multi.png:
2049 * docs/manual/filter-element.fig:
2050 * docs/manual/filter-element.png:
2051 * docs/manual/gstreamer-overview.png:
2052 * docs/manual/hello-world.fig:
2053 * docs/manual/hello-world.png:
2054 * docs/manual/linked-elements.fig:
2055 * docs/manual/linked-elements.png:
2056 * docs/manual/mime-world.fig:
2057 * docs/manual/mime-world.png:
2058 * docs/manual/queue.fig:
2059 * docs/manual/queue.png:
2060 * docs/manual/simple-player.png:
2061 * docs/manual/sink-element.fig:
2062 * docs/manual/sink-element.png:
2063 * docs/manual/src-element.fig:
2064 * docs/manual/src-element.png:
2065 * docs/manual/diagrams-general.svg:
2066 * docs/manual/diagrams-pipelines.svg:
2067 Removed .fig, added .png counterpart.
2071 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
2073 * plugins/elements/gstmultiqueue.c:
2074 * plugins/elements/gstmultiqueue.h:
2075 revert extra-size-buffers stuff, caused some race conditions
2076 and extra-size-buffers is not used anymore. Docs needs some updates
2078 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2080 * win32/common/config.h:
2081 * win32/common/gstenumtypes.c:
2082 * win32/common/gstenumtypes.h:
2083 * win32/common/gstversion.h:
2086 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2088 * gst/gstdebugutils.h: (GstDebugGraphDetails),
2089 (GST_DEBUG_BIN_TO_DOT_FILE):
2090 Add missing Since' markers to gtk-doc blurbs.
2092 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
2094 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2095 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2096 (set_caps_1), (set_caps_ct1), (transform_ct1),
2097 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2098 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2099 (transform_size_ct2), (buffer_alloc_ct2):
2100 Add some more tests with switching caps in buffer_alloc.
2102 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2104 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2105 (gst_test_trans_class_init), (result_sink_chain),
2106 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2107 (gst_test_trans_push), (gst_test_trans_pop):
2108 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2109 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2110 (set_caps_1), (set_caps_ct1), (transform_ct1),
2111 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2112 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2113 (transform_size_ct2), (buffer_alloc_ct2),
2114 (gst_basetransform_suite):
2115 More tests, prepare for tests with switching caps in buffer_alloc.
2117 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
2119 * plugins/elements/gstmultiqueue.c:
2120 * plugins/elements/gstmultiqueue.h:
2121 Fix dead-lock in underrun_cb
2123 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2125 * docs/design/part-states.txt:
2126 Fix device open/close docs.
2128 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2131 Mention bugnumber for last commit.
2133 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2135 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2137 * docs/manual/manual.xml:
2138 - Reorganised the previous "introduction" bundle into Foreword,
2139 Introduction, and About GStreamer. The two first are <preface>
2140 docbook elements. The later is the first part of the book.
2141 - added intro-gstreamer.xml (content partially from
2143 - moved appendix-win32.xml into appendix-integration.xml
2145 * docs/manual/intro-preface.xml: gstreamer section moved...
2146 * docs/manual/intro-gstreamer.xml: ...here. new file.
2148 * docs/manual/appendix-win32.xml: removed file. Content moved...
2149 * docs/manual/appendix-integration.xml: ...here.
2151 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2152 * docs/manual/appendix-checklist.xml: ...here.
2156 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2158 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2160 * docs/manual/basics-helloworld.xml:
2161 * docs/manual/hello-world.fig:
2162 - Explicitely include glib.h.
2163 - Do not use global variables.
2164 - Use g_printerr() instead of g_print().
2165 - Minor formating/renaming to increase readibility.
2166 - Renamed new_pad() to on_pad_added()
2167 - Improved explenatory comments.
2168 - renamed ogg parser to ogg demuxer
2169 - Use "autoaudiosink" instead of "alsasink".
2172 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2175 Remove cvs conflict marker.
2177 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2180 Document that for plgin-docs we extraxt he short-desc from the element
2183 * docs/design/part-states.txt:
2184 Tell that devices should be closed in PAUSED -> READY.
2186 * docs/manual/README:
2187 Document how tests in the manual are handled.
2192 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2194 * gst/gstbin.c: (bin_query_latency_fold):
2195 Only care about latency min and max when the sink is actually a live
2198 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2200 * docs/design/part-block.txt:
2203 * docs/design/part-element-transform.txt:
2204 Add notes about why transform needs to know input/output sizes.
2205 Add some issues that need to be solved.
2206 Add some more use cases.
2208 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2209 (gst_test_trans_class_init), (result_sink_chain),
2210 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2211 (gst_test_trans_push), (gst_test_trans_pop):
2212 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2213 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2214 (set_caps_1), (set_caps_ct1), (transform_ct1),
2215 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2216 (gst_basetransform_suite):
2217 Add suport for different pad templates and buffer-alloc.
2218 Add more checks for caps and buffer-alloc.
2219 Add checks for proxy buffer alloc.
2220 Add unit test for copy transform.
2222 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2224 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2226 * docs/manual/appendix-integration.xml:
2227 * docs/manual/appendix-licensing.xml:
2228 * docs/manual/basics-elements.xml:
2229 * docs/manual/basics-helloworld.xml:
2230 * docs/manual/basics-pads.xml:
2231 * docs/manual/highlevel-components.xml:
2232 * docs/manual/highlevel-xml.xml:
2233 * docs/manual/intro-basics.xml:
2234 * docs/manual/intro-preface.xml:
2235 Typo and formatting fixes (#538594).
2237 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2239 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2240 Fix some memory leaks and uses of object instances that we don't
2243 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2245 * plugins/elements/gstmultiqueue.c:
2246 Add functionality to extra-size-buffers property.
2248 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2250 * plugins/elements/gstmultiqueue.c:
2251 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2252 activate the pads if they are added in STATE_NULL.
2254 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2256 * docs/libs/gstreamer-libs-sections.txt:
2258 * libs/gst/check/gstcheck.c:
2259 * libs/gst/check/gstcheck.h:
2260 API: gst_check_teardown_pad_by_name
2262 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2264 * libs/gst/check/gstcheck.c:
2265 * libs/gst/check/gstcheck.h:
2266 Also setup request pads and allow setup pads by name (#537812)
2267 API: gst_check_setup_src_pad_by_name
2268 API: gst_check_setup_sink_pad_by_name
2270 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2272 * tests/check/gst/gstbuffer.c:
2273 * tests/check/pipelines/parse-launch.c:
2274 Use HAVE_VALGRIND_H some more.
2276 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2278 * scripts/cvs-update.sh:
2279 Pass arguments to make.
2280 Run autoregen.sh if Makefile is not there.
2282 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2286 Don't assume that <valgrind/valgrind.h> exists just because
2287 the binary is there.
2289 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2291 * tests/check/Makefile.am:
2292 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2293 (gst_test_trans_class_init), (gst_test_trans_init),
2294 (gst_test_trans_set_data), (result_sink_chain),
2295 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2296 (gst_test_trans_pop):
2297 * tests/check/libs/transform1.c: (GST_START_TEST),
2298 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2299 Add some test basetransform element and the beginnings of various
2302 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2304 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2305 Increase code readability.
2306 Don't try to compare buffer offsets when ther are invalid.
2308 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2310 * docs/design/Makefile.am:
2311 Dist some more design docs.
2313 * docs/random/moving-plugins:
2314 Small addition: good plugins mustn't have functional code
2315 within assertion macros.
2317 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2319 * docs/design/draft-framestep.txt:
2320 Some ideas about a framestep API
2322 * docs/design/part-element-transform.txt:
2323 Start design and use cases for basetransform in order to get it
2326 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2329 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2330 be in UTF-8 encoding.
2332 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2335 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2337 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2339 * plugins/elements/gstcapsfilter.c:
2340 * plugins/elements/gstfakesink.c:
2341 * plugins/elements/gstfakesrc.c:
2342 * plugins/elements/gstfdsink.c:
2343 * plugins/elements/gstfdsrc.c:
2344 * plugins/elements/gstfilesink.c:
2345 * plugins/elements/gstfilesrc.c:
2346 * plugins/elements/gstidentity.c:
2347 * plugins/elements/gstmultiqueue.c:
2348 * plugins/elements/gstqueue.c:
2349 * plugins/elements/gsttee.c:
2350 * plugins/elements/gsttypefindelement.c:
2351 Remove short_description. Add basic docs for gsttypefindelement.
2352 Simplify markup for fakesrc/fdsrc.
2354 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2356 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2359 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2361 Patch by: Joel Larsson <tilljoel at gmail dot com>
2363 * docs/plugins/gstreamer-plugins.args:
2364 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2365 (gst_fd_src_init), (gst_fd_src_update_fd),
2366 (gst_fd_src_set_property), (gst_fd_src_get_property),
2367 (gst_fd_src_create):
2368 * plugins/elements/gstfdsrc.h:
2369 Add timeout property like udpsrc. Fixes #538628.
2370 Add some more docs and example pipelines.
2372 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2374 * docs/libs/gstreamer-libs-sections.txt:
2375 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2376 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2377 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2378 (gst_base_sink_do_sync):
2379 * libs/gst/base/gstbasesink.h:
2380 * win32/common/libgstbase.def:
2381 Add method to allow sinks to specify additional delay between the sync
2382 times and the actual rendering of the data.
2383 API: gst_base_sink_set_render_delay()
2384 API: gst_base_sink_get_render_delay()
2386 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2389 Bump version number back to dev -> 0.10.20.1
2391 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2393 * docs/gst/gstreamer-sections.txt:
2394 * gst/gsttaglist.c: (_gst_tag_initialize):
2396 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2399 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2401 * libs/gst/controller/gstcontroller.c:
2402 Revert one change, that make ret value possible uninitialized.
2404 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2406 * libs/gst/controller/gstcontroller.c:
2407 Use freeze/thaw notify to sync notify emission a bit (its also more
2408 efficient). Move debug output to LOG (is called a lot in a loop).
2409 Always unset g_values if the have been initialized.
2411 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2413 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2414 (gst_base_sink_wait_eos), (gst_base_sink_event):
2415 If we have not seen a buffer before EOS, use the segment values to
2416 report the current position instead of invalid positions.
2418 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2420 * docs/plugins/tmpl/.cvsignore:
2421 * tests/check/gst/.cvsignore:
2424 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2426 * libs/gst/controller/gstinterpolation.c:
2427 * libs/gst/controller/gstinterpolationcontrolsource.c:
2428 * tests/check/libs/controller.c:
2429 Rewrite handling of default values. Fix overflow with unsigned types
2430 in linear interpolation. Remove now obsolete _first_value() function.
2431 Add more tests. Fixes #538201.
2433 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2435 * libs/gst/base/gstbasetransform.c:
2436 (gst_base_transform_class_init), (gst_base_transform_init),
2437 (gst_base_transform_transform_caps),
2438 (gst_base_transform_prepare_output_buffer):
2440 When a buffer is writable, its metadata is also writable so we don't
2441 need to subbuffer (which then makes the buffer not-writable anymore).
2443 === release 0.10.20 ===
2445 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2448 releasing 0.10.20, "You Crazy Diamond"
2450 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2453 0.10.19.3 pre-release
2455 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2459 Rename DATADIR to GST_DATADIR to avoid build problems
2460 on win32. Patch By: David Schleef <ds@schleef.org>
2463 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2466 Explicitely link with -ldl if dladdr() is found there. Before it was
2467 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2468 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2470 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2472 * gst/gsterror.c: (_gst_stream_errors_init):
2473 Fix typo (spotted by Fabricio Godoy, #536723).
2475 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2478 0.10.19.2 pre-release
2480 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2482 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2483 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2485 Make sure we don't generate invalid QoS messages.
2487 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2489 * gst/gstevent.c: (gst_event_new_qos):
2490 Add some assert and docs for invalid input to the qos function.
2492 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2494 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2495 (gst_base_sink_get_position):
2496 The reported position must always be smaller than the last seen
2497 timestamps (or timestamp + duration for reverse).
2499 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2501 Patch by: Rob Bradford <rob at robster dot org dot uk>
2503 * gst/gstregistry.c: (gst_registry_scan_path_level):
2504 Don't recurse into .debug directories as some distros install
2505 the debugging symbols next to the plugins in .debug directories
2506 and dlopen() crashes on them sometimes. Fixes bug #508070.
2508 Add FIXME for 0.11 to not recurse into directories at all because
2509 it's very inconsistent to the behaviour of other PATH environment
2512 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2514 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2515 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2516 Fix position query range checks in reverse playback.
2518 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2522 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2523 clear of the reference to the resulting pad must be released later
2524 or not, resulting in possible leaks. Fixes bug #533865.
2526 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2528 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2530 * gst/gstelementfactory.c:
2531 Small doc fix. Fixes #535285.
2533 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2535 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2537 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2538 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2539 (gst_base_src_loop), (gst_base_src_set_flushing),
2540 (gst_base_src_change_state):
2541 Make sending an EOS event to the basesrc non-blocking even if the
2542 implementation does blocking waits in the create function. This is done
2543 by unlocking the create function when EOS is sent.
2546 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2548 * tools/gst-inspect.c: (print_element_properties_info):
2549 If possible print the element type of GValueArray properties.
2551 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2553 * gst/gstiterator.c:
2554 Remove an unused field from the private GstListIterator struct.
2556 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2558 * libs/gst/controller/gstcontroller.c:
2559 Add parameter guards.
2561 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2563 * tests/check/gst/gstpipeline.c:
2564 Revert test change and add comment why it should not work.
2566 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2568 * tests/check/gst/gstpipeline.c:
2569 Extending the test a little to verify that we also get the NULL state-
2572 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2574 * gst/gstpreset.c: (gst_preset_default_get_meta),
2575 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2576 (gst_preset_load_preset), (gst_preset_save_preset),
2577 (gst_preset_rename_preset), (gst_preset_delete_preset),
2578 (gst_preset_set_meta):
2579 Add Since: markers to docs blurbs.
2581 * win32/common/libgstreamer.def:
2582 Add recently-added API.
2584 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2586 Patch by: Stefan Kost <ensonic@users.sf.net>
2589 Add DATADIR for storing presets.
2591 * docs/gst/gstreamer-docs.sgml:
2592 * docs/gst/gstreamer-sections.txt:
2593 * docs/gst/gstreamer.types.in:
2594 Add GstPreset to docs.
2598 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2599 (preset_open_and_parse_header), (preset_parse_version),
2600 (preset_merge), (preset_get_keyfile),
2601 (gst_preset_default_get_preset_names),
2602 (gst_preset_default_get_property_names),
2603 (gst_preset_default_load_preset),
2604 (gst_preset_default_save_presets_file),
2605 (gst_preset_default_save_preset),
2606 (gst_preset_default_rename_preset),
2607 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2608 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2609 (gst_preset_default_reset), (gst_preset_get_preset_names),
2610 (gst_preset_get_property_names), (gst_preset_load_preset),
2611 (gst_preset_save_preset), (gst_preset_rename_preset),
2612 (gst_preset_delete_preset), (gst_preset_set_meta),
2613 (gst_preset_get_meta), (gst_preset_class_init),
2614 (gst_preset_base_init), (gst_preset_get_type):
2616 Add GstPreset to core. Fixes #396779
2618 * tests/check/Makefile.am:
2619 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2620 (gst_preset_test_set_property), (gst_preset_test_class_init),
2621 (gst_preset_test_base_init), (gst_preset_test_get_type),
2622 (gst_preset_test_plugin_init), (GST_START_TEST),
2623 (remove_preset_file), (test_setup), (test_teardown),
2625 Add GstPreset unit tests.
2627 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2629 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2630 The default event function on a sinkpad should return TRUE when
2631 there are no internal links but should collect the return values from
2632 the internal links otherwise.
2634 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2636 * plugins/elements/gsttypefindelement.c:
2637 (gst_type_find_element_src_event),
2638 (gst_type_find_element_handle_event):
2639 Use faster and safer _pad_push_event().
2641 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2643 * docs/gst/gstreamer-sections.txt:
2644 * gst/gstutils.c: (element_find_unlinked_pad),
2645 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2647 API: add gst_bin_find_unlinked_pad()
2648 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2650 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2656 Fixed a bunch of typos.
2658 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2661 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2662 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2663 (gst_parse_bin_from_description_full):
2665 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2667 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2669 * docs/pwg/advanced-tagging.xml:
2670 Small docs update, can't be bothered to rewrite the nonsensical
2673 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2676 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2678 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2680 * gst/parse/grammar.y:
2681 Remove unneeded casts.
2683 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2685 * gst/parse/grammar.y:
2686 * tests/check/pipelines/parse-launch.c:
2687 Get all missing elements from a parse launch string if possible
2688 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2690 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2692 * tests/check/Makefile.am:
2693 * tests/check/pipelines/parse-launch.c:
2694 Add some unit tests for the new gst_parse_launch*_full() API.
2695 (Exposes a previously-existing memory leak in the error code
2696 path, so adding to VALGRIND_TO_FIX for now).
2698 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2700 * docs/gst/gstreamer-sections.txt:
2701 * gst/gst.c: (init_post):
2702 * gst/gst_private.h: (_GstParseContext):
2703 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2704 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2705 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2706 (gst_parse_launch_full):
2707 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2708 (GstParseFlags), (GstParseContext):
2709 * gst/gstutils.c: (gst_parse_bin_from_description),
2710 (gst_parse_bin_from_description_full):
2712 * gst/parse/grammar.y:
2713 * gst/parse/types.h:
2714 * win32/common/libgstreamer.def:
2715 Add new gst_parse_*_full API (#528178):
2716 API: gst_parse_launch_full()
2717 API: gst_parse_launchv_full()
2718 API: gst_parse_bin_from_description_full()
2719 API: gst_parse_context_new()
2720 API: gst_parse_context_free()
2721 API: gst_parse_context_get_missing_elements()
2723 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2725 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2727 * docs/faq/gst-uninstalled:
2728 Also support ffmpeg in gst-uninstalled.
2730 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2733 After discussion on IRC use the binary registry as default
2734 but allow to disable it with --disable-binary-registry.
2736 * win32/common/libgstreamer.def:
2737 Add the two new symbols for the binary registry.
2739 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2741 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2742 * gst/gstutils.c: (gst_parse_bin_from_description):
2743 * gst/parse/grammar.y: (graph):
2744 More guards against bad input; typo fix; some minor clean-ups.
2746 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2748 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2750 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2751 If nothing else can be used, use the last buffer's start time as
2752 the segment's last stop. Fixes bug #534258.
2754 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2756 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2757 Move size sanity check to the right place: downstream may return
2758 a buffer with a smaller size if the buffer caps are different than
2759 the requested ones, as may happen when doing reverse negotiation.
2761 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2763 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2764 (gst_file_sink_render):
2765 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2766 (gst_file_src_start):
2767 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2770 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2772 * gst/gstpad.c: (gst_pad_load_and_link):
2773 * gst/gstutils.c: (gst_element_link_pads),
2774 (gst_element_unlink_pads):
2775 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2776 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2777 (gst_check_teardown_sink_pad),
2778 (gst_check_element_push_buffer_list):
2779 * tests/check/elements/fakesink.c: (GST_START_TEST):
2780 * tests/check/elements/filesink.c:
2781 * tests/check/elements/filesrc.c: (GST_START_TEST):
2782 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2783 (mq_sinkpad_to_srcpad):
2784 * tests/check/elements/tee.c: (GST_START_TEST):
2785 * tests/check/generic/sinks.c: (GST_START_TEST):
2786 * tests/check/gst/gstbin.c: (GST_START_TEST):
2787 * tests/check/gst/gstevent.c: (GST_START_TEST):
2788 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2789 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2790 * tests/check/gst/gstquery.c: (GST_START_TEST):
2791 * tests/check/gst/gstutils.c: (GST_START_TEST):
2792 * tests/check/libs/basesrc.c: (GST_START_TEST):
2793 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2794 (gst_parse_test_element_change_state):
2795 Don't use gst_element_get_pad().
2797 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2800 Fix installing plugin documentation when gtk-doc is disabled.
2802 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2804 * docs/manual/advanced-autoplugging.xml:
2805 * docs/manual/basics-helloworld.xml:
2806 * docs/manual/basics-pads.xml:
2807 * docs/manual/highlevel-components.xml:
2808 Avoid using a bad function in the example code.
2810 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2812 * gst/gstclock.c: (gst_clock_set_calibration):
2813 Fix debug of the new clock rate.
2815 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2817 * win32/common/libgstbase.def:
2818 Add gst_base_sink_wait_clock() to the exported symbols.
2820 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2822 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2824 * libs/gst/base/gstbasetransform.c:
2825 (gst_base_transform_sink_event):
2826 Unref events that the GstBaseTransform::event vfunc didn't want to
2827 have forwarded by the base class. Closes a leak in identity.
2830 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2832 * docs/libs/gstreamer-libs-sections.txt:
2833 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2834 * libs/gst/base/gstbasesink.h:
2835 Expose a method that was previously used internally to synchronize
2836 against the clock because it can be useful for subclasses too.
2837 API: GstBaseSink::gst_base_sink_wait_clock()
2839 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2841 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2842 Add sanity check to make sure we don't get smaller buffers
2843 than requested (and fallback to normal buffer alloc if we do).
2845 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2847 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2848 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2849 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2850 Refactor adjusting the running_time with latency and offset into a
2852 When doing clipping, we still want to use the subclass get_times method,
2853 just in case the DURATION or TIMESTAMP are not set.
2855 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2857 * docs/gst/gstreamer-sections.txt:
2858 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2859 * gst/gsttypefind.h:
2860 * win32/common/libgstreamer.def:
2861 API: add gst_type_find_suggest_simple(), #533740.
2863 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2865 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2866 Use right error code when typefinding fails, so we can use
2867 the default (translated) error messages.
2869 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2871 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2872 (gst_base_src_start):
2873 When the subclass did not set caps on outgoing buffers, configure the
2874 caps we negotiated on the source pad.
2875 When the typefind helper does not find caps, error out properly instead
2876 of doing things with NULL caps.
2878 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2880 * gst/gsttypefind.h:
2881 Tabs to spaces, oh yes!
2883 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2885 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2886 Add David's and Benjamin's tests for array intersection to the
2887 unit test suite (#147931).
2889 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2892 Document that gst_event_new_tag() and gst_event_new_navigation()
2893 take ownership of the taglist/structure passed to them. (#533635).
2895 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2898 Don't descend into the plugins dir if plugin docs building
2902 Add a note about the new type:GTypeName syntax for the plugin
2903 documentation .types file.
2905 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2907 * gst/gstmessage.c: (gst_message_new_error),
2908 (gst_message_new_warning), (gst_message_new_info):
2910 Mark the debug string parameters as const. Fixes bug #533490.
2912 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2914 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2915 Sort buffer cache list by end offsets. This makes sure that we don't
2916 stop to search for a cached buffer that contains the requested data
2918 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2919 more efficient. Fixes bug #459862.
2921 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2924 Explain why we copy the list.
2926 * gst/gstpipeline.c:
2930 Add one debug-log statement to help tracing probelms with linking pads.
2932 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2934 * tests/check/gst/gstinfo.c:
2935 Add a test for removing the default log handler. Seems to fail under
2938 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2940 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2941 Release pad lock before calling out to avoid a possible deadlock.
2943 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2945 * gst/parse/grammar.y:
2946 Remove unneeded value unset.
2948 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2949 Add unit test for de/serialization of caps.
2951 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2953 * plugins/elements/gstfakesink.c:
2954 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2955 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2956 (gst_fake_src_class_init):
2957 Use custom marshalers that take GstMiniObject as first parameter.
2958 Using OBJECT as parameter while a GstMiniObject is given will lead
2959 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2961 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2963 * plugins/elements/gsttypefindelement.c:
2964 (gst_type_find_element_handle_event),
2965 (gst_type_find_element_send_cached_events),
2966 (gst_type_find_element_change_state):
2967 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2970 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2972 * plugins/elements/gsttypefindelement.c:
2973 (gst_type_find_handle_src_query), (stop_typefinding),
2974 (gst_type_find_element_handle_event),
2975 (gst_type_find_element_send_cached_events),
2976 (gst_type_find_element_change_state):
2977 Forward FLUSH_START events immediately and clean up instead of
2980 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2982 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2984 * libs/gst/base/gstbasetransform.c:
2985 (gst_base_transform_buffer_alloc):
2986 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2987 fall back to default negotiation in the chain function if the caps
2988 are different from what was requested. Fixes bug #526768.
2990 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2993 * tests/check/gst/gstsegment.c:
2994 No, let's not use g_slice_{dup|copy} here, since they only exist
2995 since GLib 2.14 and we still depend only on >= 2.12. Also add
2996 unit test for gst_segment_copy().
2998 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
3000 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3001 Try to fix 'dereferencing type-punned pointer will break strict
3002 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3003 changed the default GType typedef from gulong to gsize at some point,
3004 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3005 g_once_* functions all take a gsize * though, so work around the type
3006 mismatch for C++ by doing everything in gsize and casting to GType
3009 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
3011 * plugins/elements/gstmultiqueue.c:
3012 Add documentation for the signals to push our core plugin docs
3013 coverage back up to 100%.
3015 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3017 * gst/gstinfo.h (GST_FUNCTION):
3018 Reverted GST_FUNCTION to the old version as we don't want the
3019 full signature in C++ code. Also added support for MSVC.
3021 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3024 Intern the type name string, similar to what G_DEFINE_TYPE does.
3026 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3029 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3031 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
3033 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3035 * libs/gst/base/gstbasetransform.c:
3036 (gst_base_transform_buffer_alloc):
3037 Don't passthrough buffer allocation too easily if the caps change.
3038 This breaks when working in passthrough mode and upstream changes
3039 it's caps. Fixes bug #526768.
3041 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3043 * gst/gstinfo.c (gst_debug_log_valist):
3044 Improved the __FILE__ part of debug output for MSVC.
3046 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3048 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3049 Declaration after statement fix for compilers like MSVC.
3051 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3053 * win32/common/config.h.in:
3054 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3055 use the real thing than having "???" unconditionally.
3057 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
3059 * gst/gstinfo.h (GST_FUNCTION):
3060 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3062 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
3064 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3067 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3068 (gst_base_sink_set_flushing):
3069 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3072 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
3074 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3075 (gst_fake_src_init), (gst_fake_src_set_property),
3076 (gst_fake_src_get_property), (gst_fake_src_start):
3077 * plugins/elements/gstfakesrc.h:
3078 Added format property to control the format of the newsegment events.
3079 API: GstFakeSrc:format
3081 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3083 * win32/common/libgstreamer.def:
3084 Add gst_pad_has_name() to the exported symbols.
3086 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3088 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3089 * libs/gst/base/gstbasetransform.c:
3090 (gst_base_transform_prepare_output_buffer):
3091 Don't allow negative sizes when allocating new buffers.
3094 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3096 Patch by: Sjoerd Simons <sjoerd at luon net>
3098 * gst/gstbus.c: (gst_bus_source_dispatch):
3099 Don't print a warning if the queue is empty when we try to pop
3100 here. That could happen if another thread or callback set the
3101 bus to flushing between the source's check/prepare and the
3102 dispatch being called (#531538).
3104 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3106 * plugins/elements/gstmultiqueue.c:
3109 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
3111 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3112 Add unit test for deserializing uint64s and check some really large
3113 numbers in the int64 test.
3115 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3117 * tools/gst-inspect.c: (n_print), (print_hierarchy),
3118 (print_interfaces), (print_element_properties_info),
3119 (print_signal_info):
3120 Use "%s" as format string instead of printing strings directly.
3122 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3124 * gst/gstclock.c: (gst_clock_set_calibration):
3125 Make some checks actually useful.
3127 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3128 Remove some unused code. Unsigned integers tend to be >= 0.
3130 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3132 * gst/gstminiobject.c: (gst_value_get_mini_object):
3133 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3134 function was not in the unscheduled 0.10.19 release.
3136 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3138 * gst/gstregistry.c: (gst_registry_scan_path_level):
3139 Only print one log message per non-plugin file.
3141 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3143 * gst/gstinfo.c: (gst_debug_log_default):
3144 Fix alignment of debug log columns on 64-bit.
3146 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3148 * docs/libs/Makefile.am:
3149 * docs/libs/gstreamer-libs-sections.txt:
3150 Ignore private controller headers for docs.
3152 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3154 * libs/gst/controller/gstcontrollerprivate.h:
3155 * libs/gst/controller/gsthelper.c:
3156 * libs/gst/controller/gstinterpolation.c:
3157 * libs/gst/controller/gstinterpolationcontrolsource.c:
3158 (gst_interpolation_control_source_set_interpolation_mode):
3159 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3160 * libs/gst/controller/lib.c:
3161 Move some private declarations into private headers.
3163 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3165 * gst/gstdebugutils.c: (debug_dump_element_pad):
3166 Remove some code that is unused after Stefan's refactoring and uses
3167 uninitialized variables now, resulting in a compiler warning.
3169 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3171 * gst/gstregistry.c: (gst_registry_scan_path_level):
3172 Run g_str_has_suffix() only on the file name, not the
3175 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3177 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3178 Since we're not called only from the chain function any longer,
3179 we can't assume that there's always data in the queue, so move
3180 the is_full check to the beginning of the loop (otherwise we'd
3181 hit the assert when changing the limit properties while the
3182 queue is empty or not running yet).
3183 Also, only set a discont if items were actually removed from
3186 * tests/check/elements/queue.c: (test_leaky_downstream):
3187 Test case for the above.
3189 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3191 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3193 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3194 (gst_queue_chain), (queue_capacity_change),
3195 (gst_queue_set_property):
3196 When changing thr max capacity of a leaky queue, immediatly drop buffers
3197 instead of waiting for a push on the sinkpad. Fixes #530637.
3199 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3201 * gst/gstdebugutils.c:
3202 Refactor code and fix handling of ghostpads and their proxypads.
3204 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3206 * docs/gst/gstreamer-sections.txt:
3207 * gst/gstevent.c: (gst_event_has_name):
3209 * tests/check/gst/gstevent.c: (GST_START_TEST):
3210 Add method to conveniently check the name of a custom event with
3211 gst_event_has_name().
3212 Reformat the event docs so that related methods are put together instead
3213 of the default alphabetical sort.
3214 Update unit test with new method.
3215 API: GstEvent::gst_event_has_name()
3217 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3219 * libs/gst/check/Makefile.am:
3220 Don't add an explicit link to libgstreamer-0.10.la; it's already
3221 included in GST_OBJ_LIBS.
3223 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3226 Register GstClock type from a type-safe context. Fixes bug #530317.
3228 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3230 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3232 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3234 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3236 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3238 Use the GLib stuff to create a private structure.
3239 Add some locking around some dispose methods to make them a little
3240 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3242 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3244 * libs/gst/base/gstbasesink.h:
3245 * libs/gst/base/gstbasesrc.h:
3246 * libs/gst/base/gstbasetransform.h:
3247 * libs/gst/base/gstcollectpads.h:
3248 Fix doc typos and unify caps a bit.
3250 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3252 * tools/gst-launch.1.in:
3253 Forgot to also add the envvar docs here.
3255 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3257 * gst/gst.c: (init_post), (gst_deinit):
3258 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3259 (test_concurrent_create), (gst_pipeline_suite):
3260 Ref some more classes in gst_init() to work around thread-safety
3261 issues in pre-2.16 GLibs, and add basic unit test.
3263 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3265 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3266 (gst_base_sink_send_event):
3267 Rearrange the latency query code. We always want to do the upstream
3268 query, even if we are not live so that the upstream elements can get the
3269 latency results too. If we fail doing the query and we are live, we
3270 return TRUE afterwards.
3272 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3274 patch by: Jason Zhao <e3423c@motorola.com>
3276 * docs/gst/running.xml:
3278 Enable/disable scan_and_update_registry() based on commandline switch
3279 or environment variable. Fixes #520468.
3282 Fix typo in my previous commit.
3284 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3286 * gst/gstregistrybinary.c:
3287 Add a warning if we hit unhandled factories when saving.
3288 More debug logging detail, but move to LOG category.
3290 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3292 * gst/gstregistry.c:
3293 Tell the *truth* when improving the documentation.
3295 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3297 * gst/gstelementfactory.c: (gst_element_factory_make):
3298 Unref the factory after it was used the last time, not before.
3300 * gst/gstindexfactory.c: (gst_index_factory_make):
3301 Improve debugging a bit and don't leak a ref to the index factory with
3304 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3306 * gst/gstregistry.c:
3307 Improve the documentation.
3309 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3312 The glib macro seems to be borked. Use g_slice_copy directly and cast
3313 in the hope that this fixes the warning on 64bit.
3315 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3318 Document the new function. Use g_slice_dup() (no need for
3319 gst_segment_init()).
3321 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3323 * docs/gst/gstreamer-sections.txt:
3324 Move GParamSepc macros to standart section.
3327 Dn't document _get_type - its in private section in docs anyway and
3328 this doc-blob was incomplete.
3331 Fix wrong symbol names in docs.
3334 Add once doc sentence.
3336 * tests/check/gst/.cvsignore:
3339 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3341 * docs/gst/Makefile.am:
3342 And remove those libs here.
3344 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3346 * docs/libs/Makefile.am:
3347 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3349 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3351 Patch by: Olivier Crete <tester at tester dot ca>
3353 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3354 Add the min-threshold to the min latency if possible. Fixes #529148.
3356 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3358 * docs/gst/gstreamer.types.in:
3359 Stupid editor, I removed that line as it should go in yet.
3361 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3363 * docs/gst/gstreamer.types.in:
3364 * docs/libs/gstreamer-libs.types:
3365 Remove library types fro core docs and have them in libs docs.
3366 Reformat and cleanup. Add comment for miniobject types.
3368 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3370 * gst/gsturi.c: (gst_uri_get_protocol):
3371 Fix leak: g_strdown operates on the string in place, while
3372 g_ascii_strdown() returns a newly-allocated string.
3374 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3376 * tools/gst-inspect.c: (print_uri_handler_info),
3377 (print_element_info):
3378 Print the URI protocols and the URI type supported by the element.
3380 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3382 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3383 Use g_value_take_string() instead of the deprecated
3384 g_value_set_string_take_ownership().
3386 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3388 * gst/gstregistrybinary.c: (_gst_crc32):
3389 Return the old CRC instead of 0 if we give a NULL buffer
3390 or a buffer with a length of 0.
3392 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3394 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3395 (gst_uri_get_protocol), (gst_uri_has_protocol),
3396 (gst_uri_construct), (gst_uri_handler_set_uri):
3397 A valid URI scheme can also include '+', '-' and '.' additional
3398 to alphanumeric characters as per RFC 3986 Section 3.1.
3400 Handle URI schemes case insensitive in all places and convert
3401 to lower-case when constructing an URI or setting an URI with
3402 the GstURIHandler interface. Fixes bug #528868.
3403 All elements can still assume (as before) that they will
3404 get passed URIs with a lower-case URI scheme by the GstURIHandler
3407 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3409 * gst/gstcaps.c: (gst_static_caps_get):
3410 * gst/gstclock.c: (gst_clock_entry_new):
3411 Don't use g_atomic_set_int where it's not needed.
3413 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3415 * gst/gstvalue.c: (gst_value_deserialize_caps):
3416 * gst/parse/grammar.y:
3419 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3421 * gst/gstutils.c: (gst_atomic_int_set):
3422 Use g_atomic_int_set() here too instead of assignment +
3425 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3429 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3430 now that we depend on new enough GLib.
3432 * gst/gstcaps.c: (gst_static_caps_get):
3433 * gst/gstclock.c: (gst_clock_entry_new):
3434 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3435 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3436 (gst_debug_category_set_threshold):
3437 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3438 (gst_base_sink_set_qos_enabled):
3439 * libs/gst/net/gstnettimeprovider.c:
3440 (gst_net_time_provider_set_property):
3441 Use g_atomic_int_set() instead of gst_atomic_int_set().
3443 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3446 Also use G_GINT64_CONSTANT for the queries.
3448 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3451 Use G_GINT64_CONSTANT in varargs function.
3453 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3455 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3456 Initialize the registry magic with zeroes.
3458 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3460 * gst/gstregistrybinary.c: (_gst_crc32),
3461 (gst_registry_binary_write),
3462 (gst_registry_binary_initialize_magic),
3463 (gst_registry_binary_write_cache),
3464 (gst_registry_binary_check_magic),
3465 (gst_registry_binary_read_cache):
3466 * gst/gstregistrybinary.h:
3467 Add crc32 checksum to the binary registry file and check this before
3468 accepting a registry file.
3470 Also free the data list when writing to the registry file fails.
3472 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3474 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3475 (gst_registry_binary_load_feature),
3476 (gst_registry_binary_load_plugin):
3477 If an element supports the Uri interface, returns a valid pointer
3478 to the supported URI protocols but this pointer contains nothing
3479 don't try to save that as it will corrupt the registry.
3481 Don't unref the plugin if we added it to the registry already but
3482 fail to load a feature as gst_registry_add_plugin() takes ownership
3485 Improve debugging a bit.
3487 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3490 Clarify some tag item docs after discussion on irc.
3492 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3494 * docs/gst/gstreamer-docs.sgml:
3495 Remove commented out plugins (they have their own docs). Update
3498 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3500 * docs/gst/gstreamer-docs.sgml:
3501 * docs/gst/gstreamer-sections.txt:
3502 * gst/gstparamspecs.c:
3503 * gst/gstparamspecs.h:
3504 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3505 docs to own section.
3508 This now only documents GValue.
3510 * docs/libs/gstreamer-libs-sections.txt:
3511 * libs/gst/controller/gstcontroller.h:
3512 Remove GST_PARAM_CONTROLLABLE.
3514 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3517 Correct file path. Tell about how to use -overrides.txt.
3518 * docs/design/draft-tagreading.txt:
3519 Small design update.
3521 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3523 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3524 (gst_registry_binary_load_plugin):
3525 Fix a typo in a debug message and revert change from yesterday as
3526 gst_registry_add_plugin() will only fail if something is really wrong
3527 already and we can't survive it anyway.
3529 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3531 * gst/gst.c: (init_post), (gst_deinit):
3532 Pre-register GstGError GType from a thread-safe context
3533 (fixes #527967); unref enum type classes in deinit.
3535 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3537 Patch by: Rene Stadler <mail at renestadler de>
3539 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3540 Merging an empty list with another list in KEEP_ALL mode should
3541 yield an empty list as result and not the second list (#512578).
3543 * tests/check/gst/gsttagsetter.c:
3544 Add unit test for tag merge modes and the aforementioned bug.
3546 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3548 Patch by: Rene Stadler <mail at renestadler de>
3551 Fix description to match the order in the table (#512577).
3553 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3555 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3557 * libs/gst/net/gstnettimepacket.h:
3558 * docs/libs/gstreamer-libs-sections.txt:
3559 Define socklen_t as int if it's not defined yet. Fixes compilation
3560 with MSVC6 and other versions where socklen_t is not defined in
3561 the windows headers (#518022).
3563 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3565 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3566 If gst_registry_add_plugin() fails our reference to the plugin is
3567 invalid so don't try to use it anymore and instead error out.
3569 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3571 * tools/gst-xmlinspect.c: (print_element_info), (main):
3572 De-cruft a bit. If no argument is specified, print all elements in
3573 XML syntax rather than a freestyle list of elements like gst-inspect.
3574 Also, don't print XML header chunk unless we actually have something
3575 to print (ie. don't print it before an error message); print error
3576 message to stderr not stdout. Remove support for printing plugin
3577 info (it would just output something freestyle along the lines of
3578 gst-inspect so far), which fixes #514507. Also add license header.
3580 2008-04-11 Julien Moutte <julien@fluendo.com>
3583 * configure.ac: Merge platform specific defines, introduce a new
3584 define on OS X to remember that forking when updating registry is
3586 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3588 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3590 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3591 condition that leads to absolutely no plugins being registered on
3594 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3596 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3598 * gst/gstutils.c: (gst_pad_add_data_probe),
3599 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3600 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3601 (gst_pad_add_buffer_probe_full):
3603 * docs/gst/gstreamer-sections.txt:
3604 * win32/common/libgstreamer.def:
3605 Add gst_pad_add_*_probe_full() functions with a notify callback that
3606 lets the caller free the data it passes to the probe functions. This
3607 is useful for bindings such as gst-python or gstreamermm (#526814).
3608 API: gst_pad_add_data_probe_full
3609 API: gst_pad_add_buffer_probe_full
3610 API: gst_pad_add_event_probe_full
3612 * tests/check/gst/gstutils.c:
3613 Add minimal unit test to make sure freeing the data actually works
3616 * tests/benchmarks/.cvsignore:
3617 Random cvsignore addendum.
3619 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3621 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3622 (GST_DEBUG_BIN_TO_DOT_FILE):
3623 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3624 to it in the docs (since these are macros the types of the arguments
3625 won't be shown in the docs otherwise).
3627 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3630 Do not abort on out of memory for pad_alloc_buffer.
3632 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3634 * libs/gst/check/gstcheck.c:
3635 Remove blank line between symbol name ad parameters to fix gtkdoc
3638 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3640 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3642 * docs/gst/gstreamer-sections.txt:
3645 * win32/common/libgstreamer.def:
3646 Expose gst_segment_copy() to make things easier for the c++ bindings.
3648 API: gst_segment_copy()
3650 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3652 * gst/gst.c: (gst_init_get_option_group), (init_post):
3653 Fix const position; ref GType classes for enum types to work
3654 around thread-safety issues in GLib versions < 2.16.
3656 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3658 * docs/design/part-buffering.txt:
3659 Fix some typos and set the estimated total for push mode to -1.
3661 * gst/gstquery.c: (gst_query_new_buffering):
3662 Set buffering-left to 0 as we're not buffering by default.
3664 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3665 Implement BUFFERING query.
3667 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3669 Based on patch by: Milosz Derezynski <internalerror gmail com>
3671 * gst/gsterror.c: (_gst_stream_errors_init):
3673 Add two new error codes for encrypted content. Fixes #524659.
3674 API: GST_STREAM_ERROR_DECRYPT
3675 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3677 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3682 * win32/common/libgstreamer.def:
3685 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3687 * plugins/elements/gstidentity.c: (gst_identity_event),
3688 (gst_identity_start):
3689 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3690 event after processing some data. Fixes bug #526042.
3692 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3694 * docs/gst/gstreamer-sections.txt:
3695 * gst/gstquery.c: (gst_query_parse_latency),
3696 (gst_query_set_buffering_percent),
3697 (gst_query_parse_buffering_percent),
3698 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3700 Rename _avail -> _range
3701 API: gst_query_set_buffering_range
3702 API: gst_query_parse_buffering_range
3704 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3706 * docs/design/part-buffering.txt:
3709 * gst/gstquery.c: (gst_query_parse_latency),
3710 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3711 (gst_query_parse_buffering_percent):
3713 Add busy field and quark for the buffering query so that the app can
3714 only use the query to see if buffering is in progress.
3716 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3718 * docs/gst/gstreamer-sections.txt:
3719 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3720 (gst_message_parse_buffering_stats):
3722 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3723 (gst_query_parse_latency), (gst_query_new_buffering),
3724 (gst_query_set_buffering_percent),
3725 (gst_query_parse_buffering_percent),
3726 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3727 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3729 Reorder the message docs and headers for clarity.
3730 Add aditional buffering stats API for messages.
3731 Add buffering query.
3732 Convert some leftover queries to use GstQuark.
3733 API: gst_message_set_buffering_stats
3734 API: gst_message_parse_buffering_stats
3735 API: GST_QUERY_BUFFERING
3736 API: GstBufferingMode
3737 API: gst_query_new_buffering
3738 API: gst_query_set_buffering_percent
3739 API: gst_query_parse_buffering_percent
3740 API: gst_query_set_buffering_stats
3741 API: gst_query_parse_buffering_stats
3743 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3745 * gst/gstmessage.c: (gst_message_new_error),
3746 (gst_message_new_warning), (gst_message_new_info),
3747 (gst_message_new_buffering), (gst_message_new_state_changed),
3748 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3749 (gst_message_new_new_clock), (gst_message_new_segment_start),
3750 (gst_message_new_segment_done), (gst_message_new_duration),
3751 (gst_message_new_async_start), (gst_message_parse_buffering),
3752 (gst_message_parse_state_changed),
3753 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3754 (gst_message_parse_new_clock), (gst_message_parse_error),
3755 (gst_message_parse_warning), (gst_message_parse_info),
3756 (gst_message_parse_segment_start),
3757 (gst_message_parse_segment_done), (gst_message_parse_duration),
3758 (gst_message_parse_async_start):
3759 Use GstQuark for messages.
3761 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3763 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3765 Add some more quarks needed for messages and queries.
3767 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3769 * docs/design/part-buffering.txt:
3770 Remove the "none" buffering mode, STREAM is a good default.
3771 Move estimated-time to the avail query, that's when it will be needed.
3772 Other small typo fixes and updates.
3774 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3776 * gst/gstindex.c: (gst_index_resolver_get_type):
3777 Don't put descriptions into the nick field of a GEnumValue: it's not
3778 meant for that and some language bindings rely on the nick field to
3779 construct constants and the like. Fixes #526705.
3781 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3786 Merge other changes from 0.10.19 release branch.
3788 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3790 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3793 Actually build dlls when cross-compiling with mingw32.
3796 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3798 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3801 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3803 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3805 * docs/design/draft-latency.txt:
3808 * docs/design/part-buffering.txt:
3809 Update design docs with more buffering ideas.
3811 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3814 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3816 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3819 Revert part that belongs to the preset patch.
3821 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3824 Add qoutes to the define. Fixes # 525961.
3826 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3828 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3829 (gst_file_index_load), (gst_file_index_add_id),
3830 (gst_file_index_get_assoc_entry):
3831 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3832 (gst_mem_index_free_id), (gst_mem_index_add_id),
3833 (gst_mem_index_index_format):
3834 Use GSlice when possible.
3836 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3838 * libs/gst/controller/gstinterpolationcontrolsource.c:
3839 (gst_control_point_free),
3840 (gst_interpolation_control_source_set_internal):
3841 Use GSlice for allocating the control points.
3843 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3845 * plugins/elements/gsttypefindelement.c:
3846 (gst_type_find_element_class_init),
3847 (gst_type_find_element_set_property),
3848 (gst_type_find_element_get_property),
3849 (gst_type_find_element_activate):
3850 * plugins/elements/gsttypefindelement.h:
3852 Fix pad leak when peer query fails.
3853 We can still typefind when the peer returns -1.
3854 Add property to force caps and bypass typefinding. This will be used in
3858 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3863 * gst/glib-compat-private.h:
3864 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3865 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3866 Unconditionally use GSlice for allocation.
3868 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3869 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3870 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3871 (gst_structure_free):
3872 Use GSlice for allocation.
3874 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3876 * gst/parse/Makefile.am:
3877 * gst/parse/grammar.tab.pre.c:
3878 * gst/parse/grammar.tab.pre.h:
3879 * gst/parse/lex._gst_parse_yy.pre.c:
3880 Require a new enough flex and bison and remove the parser hacks to use
3881 a pre-regenerated version.
3883 2008-04-01 Julien Moutte <julien@fluendo.com>
3885 patch by: Jason Zhao <E3423C@motorola.com>
3887 * configure.ac: Add a configure switch to disable option parsing
3891 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3894 * gst/gstregistry.c:
3895 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3896 and handle this case.
3899 Add a comment here describing, why we stat each plugin and not try to
3902 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3904 * libs/gst/base/gstbasetransform.c:
3905 (gst_base_transform_prepare_output_buffer):
3906 Also unset the GAP flag on buffers if we're working inplace but
3907 the element is not GAP-aware.
3909 Mark a comment as FIXME 0.11.
3911 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3914 Fix type in log message and add one to ease seeing how long registry
3915 cache verification takes.
3917 * gst/gstregistry.c:
3918 Only test plugin filenames against G_MODULE_SUFFIX.
3920 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3922 * gst/gstdebugutils.c:
3923 Improve handling ghost/proxy pads.
3925 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3927 * docs/gst/gstreamer-sections.txt:
3930 Expose macro to docs and fix link to it.
3932 2008-03-27 Michael Smith <msmith@fluendo.com>
3934 * libs/gst/dataprotocol/dataprotocol.c:
3935 (gst_dp_packet_from_event_1_0):
3936 When calculating GDP body CRC, use the correct pointer.
3937 Fixes part of #522401.
3939 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3941 Patch by: Mark Nauwelaerts <manauw at skynet be>
3943 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3944 (gst_identity_init), (gst_identity_prepare_output_buffer):
3945 Identity is not always a passthrough element, it can modify the buffer
3946 timestamps when it has a datarate and operates in single-segment mode.
3947 We therefore make it an in_place filter with a custom buffer prepare
3948 function that conditionally makes the input buffer metadata writable
3949 when needed. Fixes #523985.
3951 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3953 Patch by: Mark Nauwelaerts <manauw at skynet be>
3956 * libs/gst/base/gstbasesrc.h:
3957 * libs/gst/base/gstbasetransform.c:
3958 * libs/gst/check/gstcheck.c:
3959 Small documentation fixes. Fixes #523978.
3961 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3963 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3964 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3965 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3967 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3969 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3970 (single_queue_underrun_cb):
3971 When trying to make room in the queue, bump the max allowed buffers
3972 bigger than the current amount of buffers in the queue. this fixes some
3973 nasty deadlocks in multiqueue when dynamically changing the limits of
3976 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3978 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3980 * gst/gstcaps.c: (gst_caps_set_simple),
3981 (gst_caps_set_simple_valist), (gst_caps_intersect):
3983 Constify the field gchar * params in set_simple and friends.
3986 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3988 * gst/gstvalue.c: (gst_value_transform_object_string):
3989 Transform a GstObject to a more meaningfull string that includes the
3990 object type in addition to its name.
3992 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3995 ChangeLog surgery to add bugnumber to commit.
3997 2008-03-23 Rene Stadler <mail@renestadler.de>
3999 * libs/gst/base/gstbasetransform.c:
4000 (gst_base_transform_set_gap_aware): Fix confusing documentation.
4002 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4004 * gst/gstregistrybinary.c: (gst_registry_binary_write):
4005 Rename constant everywhere and don't forget one occurence.
4007 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4009 * gst/gstregistrybinary.c: (gst_registry_binary_write):
4010 Align memory to the pointer size even if the architecture allows
4011 unaligned memory access. Unaligned memory access usually comes with
4012 performance penality.
4014 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
4016 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4017 (gst_registry_binary_check_magic),
4018 (gst_registry_binary_load_pad_template),
4019 (gst_registry_binary_load_feature),
4020 (gst_registry_binary_load_plugin):
4021 Align memory to the pointer size instead of always 32 bit. Fixes
4022 unaligned memory accesses on ia64 and friends.
4024 * gst/gstregistrybinary.h:
4025 Bump binary registry format version for this as it changes the
4026 format on those architectures that don't have unaligned access
4027 and 64 bit pointers.
4029 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
4031 * docs/pwg/advanced-dparams.xml:
4032 * docs/pwg/building-props.xml:
4033 * docs/pwg/other-source.xml:
4034 * gst/glib-compat.h:
4035 * gst/gstbin.c: (gst_bin_class_init):
4036 * gst/gstclock.c: (gst_clock_class_init):
4037 * gst/gstindex.c: (gst_index_class_init):
4038 * gst/gstobject.c: (gst_object_class_init):
4039 * gst/gstpad.c: (gst_pad_class_init):
4040 * gst/gstpipeline.c: (gst_pipeline_class_init):
4041 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4042 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4043 * libs/gst/base/gstbasetransform.c:
4044 (gst_base_transform_class_init):
4045 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4046 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4047 (_gst_check_fault_handler_sighandler),
4048 (_gst_check_fault_handler_setup), (gst_check_init):
4049 * libs/gst/controller/gstcontroller.c:
4050 (_gst_controller_class_init):
4051 * libs/gst/controller/gstlfocontrolsource.c:
4052 (gst_lfo_control_source_class_init):
4053 * libs/gst/net/gstnetclientclock.c:
4054 (gst_net_client_clock_class_init):
4055 * libs/gst/net/gstnettimeprovider.c:
4056 (gst_net_time_provider_class_init):
4057 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4058 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4059 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4060 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4061 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4062 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4063 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4064 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4065 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4066 * plugins/elements/gstqueue.c: (gst_queue_class_init):
4067 * plugins/elements/gsttee.c: (gst_tee_class_init):
4068 * plugins/elements/gsttypefindelement.c:
4069 (gst_type_find_element_class_init):
4070 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4071 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4072 use it everywhere for GParamSpecs that use static strings (i.e. all).
4073 This gives us less memory usage, fewer allocations and thus less
4074 memory defragmentation. Fixes bug #523806.
4076 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
4078 * gst/gstminiobject.c: (gst_value_dup_mini_object),
4079 (gst_param_spec_mini_object):
4080 * gst/gstminiobject.h:
4081 * win32/common/libgstreamer.def:
4082 * docs/gst/gstreamer-sections.txt:
4083 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4084 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4085 GstParamSpecMiniObject into a public header for this.
4087 This make GstMiniObject a bit more consistent with GObject and makes
4088 it possible to extend the param specs.
4090 gst_value_dup_mini_object is mainly useful for set_property methods.
4094 * tools/gst-inspect.c: (print_element_properties_info):
4095 Print something useful for GstMiniObject properties and not just
4098 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4100 * docs/gst/gstreamer-sections.txt:
4101 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4102 (gst_registry_binary_check_magic):
4103 * gst/gstregistrybinary.h:
4104 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4105 and add it to the (private part) of the docs to fix the build.
4107 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4109 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4110 (gst_registry_binary_check_magic),
4111 (gst_registry_binary_read_cache):
4112 * gst/gstregistrybinary.h:
4113 Don't use GST_MAJORMINOR for the binary registry version. Instead
4114 hardcode a value that must be changed whenever the format changes
4115 in an incompatible way.
4116 Also don't GST_ERROR when there is a version mismatch, just
4117 regenerate the registry silently.
4119 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
4122 Back to development - 0.10.18.1
4124 === release 0.10.18 ===
4126 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4129 releasing 0.10.18, "So far away"
4131 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4134 * win32/common/config.h:
4135 0.10.17.4 pre-release
4137 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4139 Patch by: Ole André Vadla Ravnås
4140 <ole dot andre dot ravnas at tandberg dot com>
4142 * docs/gst/gstreamer-sections.txt:
4143 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4144 (gst_poll_update_winsock_event_mask),
4145 (gst_poll_prepare_winsock_active_sets),
4146 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4147 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4148 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4149 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4150 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4152 * win32/common/libgstreamer.def:
4153 Add new function gst_poll_fd_ignored() for improved Windows
4155 Various minor fixes and cleanups. See #520808.
4157 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4159 * gst/gstindex.c: (gst_index_entry_free):
4161 Don't free key strings which we don't own. Fixes crash in
4162 gst_index_entry_free() (#522741).
4164 * tests/check/Makefile.am:
4165 * tests/check/gst/.cvsignore:
4166 * tests/check/gst/gstindex.c: (test_index_entries),
4167 (gst_index_suite), (gst_index):
4168 Add unit test for the above.
4170 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4172 * win32/common/libgstreamer.def:
4173 Remove symbols that were removed recently. Fixes bug #521740.
4175 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4178 * win32/common/config.h:
4179 0.10.17.3 pre-release
4181 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4183 Patch by: Ole André Vadla Ravnås
4184 <ole dot andre dot ravnas at tandberg dot com>
4186 * docs/gst/gstreamer-sections.txt:
4187 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4188 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4189 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4190 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4191 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4192 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4193 (gst_poll_fd_can_write), (gst_poll_wait),
4194 (gst_poll_set_controllable), (gst_poll_restart),
4195 (gst_poll_set_flushing):
4197 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4198 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4199 (gst_net_time_provider_new):
4200 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4201 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4202 * tests/benchmarks/gstpollstress.c: (main):
4203 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4204 Remove GstPollMode from the API, it does not make sense to let the
4205 application control this.
4206 Add support for Win32.
4207 Fix the testsuite. Fixes #520671.
4209 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4211 Patch by: Ole André Vadla Ravnås
4212 <ole dot andre dot ravnas at tandberg dot com>
4214 * gst/gstregistrybinary.c:
4215 Include io.h for write() and close() when building with MSVC. Fixes
4218 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4221 * gst/gst_private.h:
4222 * gst/gstconfig.h.in:
4223 * gst/gstregistry.h:
4224 * gst/gstregistrybinary.c:
4225 * win32/common/gstconfig.h:
4226 Move registry backend API to private headers where we can. Add
4227 fixme-0.11 comments for the others. Add stubs for the xml backend when
4228 using the binary to ensure they functions exists (they should not be
4229 used though). Fixes #520756.
4231 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4234 * win32/common/config.h:
4237 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4239 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4240 (gst_registry_binary_read_cache):
4241 * gst/gstregistryxml.c: (gst_registry_save):
4242 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4243 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4244 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4245 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4246 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4249 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4251 * gst/gstminiobject.c:
4252 Import gst_private.h before any other header that might include other
4253 glib headers. This fixes the build on windows using native compilers.
4255 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4257 * win32/common/gstconfig.h:
4258 Add here too, just for completeness.
4260 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4263 * gst/gstconfig.h.in:
4264 * gst/gstregistry.h:
4265 Fix broken use of config.h-defined preprocessor directive in a public
4266 header file. Add a corresponding define to gstconfig.h, since we can't
4267 really remove those function declarations from the header file now
4268 (or can we? and why are they there in the first place?).
4270 2008-03-03 Andy Wingo <wingo@pobox.com>
4272 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4275 * gst/gststructure.c (gst_structure_from_string): Warn if
4276 structure_from_string didn't consume the whole string, but the
4277 caller did not provide an end pointer.
4279 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4281 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4283 * gst/gstregistryxml.c: (read_string), (load_feature):
4284 Strings allocated by libxml2 should be freed with xmlFree(), not
4285 with g_free(). Fixes issues on windows in certain contexts (#519698).
4287 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4289 * gst/gstinterface.c: (gst_element_implements_interface):
4290 Don't crash if the element supports the interface queried, but does
4291 not implement GstImplementsInterface. Fixes #519584.
4293 * tests/check/Makefile.am:
4294 * tests/check/gst/.cvsignore:
4295 * tests/check/gst/gstinterface.c:
4296 Add unit test for the above.
4298 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4300 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4303 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4305 * gst/gstsegment.c: (gst_segment_set_seek),
4306 (gst_segment_to_stream_time):
4307 Improve some comment.
4308 Update variables where it makes more sense.
4310 2008-02-29 Rene Stadler <mail@renestadler.de>
4312 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4313 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4314 URIHandlers implemented using language bindings.
4316 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4318 * gst/gstelementfactory.h:
4319 * tests/check/elements/fakesink.c:
4320 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4321 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4322 * tests/check/elements/filesink.c: (setup_filesink):
4323 * tests/check/elements/filesrc.c: (setup_filesrc):
4324 * tests/check/elements/identity.c: (setup_identity):
4325 * tests/check/elements/tee.c:
4326 * tests/check/generic/sinks.c:
4327 * tests/check/generic/states.c: (setup), (teardown):
4328 * tests/check/gst/gst.c:
4329 * tests/check/gst/gstabi.c:
4330 * tests/check/gst/gstbin.c:
4331 * tests/check/gst/gstbus.c: (pull_messages):
4332 * tests/check/gst/gstcaps.c:
4333 * tests/check/gst/gstelement.c:
4334 * tests/check/gst/gstevent.c:
4335 * tests/check/gst/gstghostpad.c:
4336 * tests/check/gst/gstiterator.c:
4337 * tests/check/gst/gstmessage.c:
4338 * tests/check/gst/gstminiobject.c: (my_foo_init):
4339 * tests/check/gst/gstobject.c: (thread_name_object),
4341 * tests/check/gst/gstpad.c:
4342 * tests/check/gst/gstplugin.c:
4343 * tests/check/gst/gstpoll.c:
4344 * tests/check/gst/gstquery.c:
4345 * tests/check/gst/gstsegment.c:
4346 * tests/check/gst/gststructure.c:
4347 * tests/check/gst/gstsystemclock.c:
4348 * tests/check/gst/gsttask.c:
4349 * tests/check/gst/gstutils.c:
4350 * tests/check/gst/gstvalue.c:
4351 * tests/check/gst/struct_hppa.h:
4352 * tests/check/gst/struct_i386.h:
4353 * tests/check/gst/struct_ppc32.h:
4354 * tests/check/gst/struct_ppc64.h:
4355 * tests/check/gst/struct_x86_64.h:
4356 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4357 * tests/check/libs/basesrc.c:
4358 * tests/check/libs/controller.c: (GST_START_TEST):
4359 * tests/check/libs/gdp.c:
4360 * tests/check/libs/gstnetclientclock.c:
4361 * tests/check/libs/gstnettimeprovider.c:
4362 * tests/check/libs/libsabi.c:
4363 * tests/check/libs/struct_hppa.h:
4364 * tests/check/libs/struct_i386.h:
4365 * tests/check/libs/struct_ppc32.h:
4366 * tests/check/libs/struct_ppc64.h:
4367 * tests/check/libs/struct_x86_64.h:
4368 * tests/check/pipelines/cleanup.c:
4369 * tests/check/pipelines/simple-launch-lines.c:
4370 * tests/check/pipelines/stress.c:
4371 And correct even more valid sparse warnings.
4373 * win32/common/libgstreamer.def:
4374 Add gst_poll_fd_init to the list of symbols.
4376 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4378 * gst/gstconfig.h.in:
4379 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4380 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4381 (gst_check_log_critical_func), (gst_check_drop_buffers),
4382 (gst_check_element_push_buffer_list):
4383 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4384 (gst_controller_get_type):
4385 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4386 (gst_object_get_controller), (gst_object_get_control_source):
4387 * libs/gst/controller/gstinterpolationcontrolsource.c:
4388 (gst_interpolation_control_source_new):
4389 * libs/gst/controller/gstlfocontrolsource.c:
4390 (gst_lfo_control_source_new):
4391 * libs/gst/dataprotocol/dataprotocol.c:
4392 (gst_dp_event_from_packet_0_2):
4393 * plugins/elements/gstfdsrc.c:
4394 * plugins/elements/gstmultiqueue.c:
4395 * plugins/elements/gsttee.c:
4396 * plugins/elements/gsttypefindelement.c:
4397 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4398 (gst_file_index_add_association):
4399 * plugins/indexers/gstmemindex.c:
4400 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4401 * tests/check/elements/queue.c: (setup_queue):
4402 * tests/check/gst/gstpipeline.c:
4403 * tests/check/libs/collectpads.c: (setup), (teardown),
4404 (gst_collect_pads_suite):
4405 * tests/examples/adapter/adapter_test.c:
4406 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4407 * tests/examples/xml/createxml.c:
4408 * tests/examples/xml/runxml.c:
4409 * tools/gst-inspect.c:
4411 Correct all relevant warnings found by the sparse semantic code
4412 analyzer. This include marking several symbols static, using
4413 NULL instead of 0 for pointers, not using variable sized arrays
4414 on the stack, moving variable declarations to the beginning of
4415 a block and using "foo (void)" instead of "foo ()" for declarations.
4417 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4419 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4420 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4421 Don't reset GstPollFDs, this is not necessary at all.
4423 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4424 (delayed_restart), (delayed_control):
4425 Use GST_POLL_FD_INIT.
4427 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4429 * gst/gstpoll.c: (gst_poll_fd_init):
4433 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4434 Use some more init macros.
4436 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4438 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4439 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4440 Use init macros and functions.
4442 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4444 * docs/gst/gstreamer-sections.txt:
4445 * gst/gstpoll.c: (gst_poll_fd_init):
4447 Add INIT macro and _init method for initializing the GstPollFD.
4449 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4451 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4452 (gst_fd_sink_update_fd):
4453 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4454 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4455 (delayed_restart), (delayed_control):
4456 Initialize some uninitialized variables as spotted by valgrind.
4458 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4460 * tests/benchmarks/Makefile.am:
4461 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4463 Add poll stress test.
4465 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4467 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4469 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4470 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4471 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4472 * plugins/elements/gstfdsink.h:
4473 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4474 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4475 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4476 (gst_fd_src_uri_set_uri):
4477 * plugins/elements/gstfdsrc.h:
4478 Port to GstPoll. See #505417.
4480 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4482 * win32/common/libgstreamer.def:
4483 Add new gst_poll_ symbols to win32 defs.
4485 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4487 * docs/libs/gstreamer-libs-sections.txt:
4488 * libs/gst/net/gstnetclientclock.c:
4489 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4490 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4491 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4492 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4493 * libs/gst/net/gstnetclientclock.h:
4494 * libs/gst/net/gstnettimeprovider.c:
4495 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4496 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4497 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4498 (gst_net_time_provider_new):
4499 * libs/gst/net/gstnettimeprovider.h:
4500 Use a private stuct to not break ABI.
4502 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4504 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4506 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4507 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4508 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4509 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4510 * libs/gst/net/gstnetclientclock.h:
4511 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4512 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4513 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4514 (gst_net_time_provider_new):
4515 * libs/gst/net/gstnettimeprovider.h:
4516 Massive code removal and cleanups because of GstPoll.
4519 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4522 Add checks for poll, ppoll and pselect.
4524 * docs/gst/gstreamer-docs.sgml:
4525 * docs/gst/gstreamer-sections.txt:
4526 Add docs for GstPoll.
4530 * gst/gstpoll.c: (find_index), (selectable_fds),
4531 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4532 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4533 (gst_poll_set_mode), (gst_poll_get_mode),
4534 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4535 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4536 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4537 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4538 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4539 (gst_poll_fd_can_write), (gst_poll_wait),
4540 (gst_poll_set_controllable), (gst_poll_restart),
4541 (gst_poll_set_flushing):
4543 Add generic poll abstraction. We ideally don't want to have this in core
4544 here but in glib intead...
4545 This code will be used in various network elements and ultimately for
4546 the nanosecond precision monotonic clock (that's why it's here in core).
4547 It'll allow us to implement cancelable socket operations for windows too.
4549 * tests/check/Makefile.am:
4550 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4551 (delayed_stop), (delayed_restart), (delayed_flush),
4552 (delayed_control), (gst_poll_suite):
4553 Add GstPoll unit test.
4555 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4558 Improve documentation of gst_filter_run(). Fixes #518627.
4560 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4563 Add a few lines about the new 'check-inspected-versions' target.
4565 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4567 * tests/check/gst/gstevent.c:
4568 Add qos to the event test. Rename tcase/tsuite; is not only about
4571 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4573 * plugins/elements/gstqueue.c:
4574 Ensure that buffer metadata is writeable, before modifying. Spotted by
4577 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4579 * plugins/elements/gstqueue.c:
4580 * plugins/elements/gstqueue.h:
4581 When dropping buffers in leaky modes, mark next buffers we sent as
4584 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4586 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4587 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4589 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4591 * plugins/elements/Makefile.am:
4592 * plugins/elements/gstbufferstore.c:
4593 * plugins/elements/gstbufferstore.h:
4594 * plugins/elements/gsttypefindelement.h:
4595 Remove GstBufferStore, no idea why we were still building it.
4596 It's not used anywhere and superseded by GstAdapter.
4598 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4599 (gst_file_src_create_mmap):
4600 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4601 Printf format fixes for 64-bit integers.
4603 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4606 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4607 We're not in 0.8 times anymore.
4609 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4611 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4612 (gst_check_element_push_buffer_list):
4613 * libs/gst/check/gstcheck.h:
4614 Make the declaration in the header for
4615 gst_check_element_push_buffer_list match the implementation.
4617 Fix up spelling, grammar and wording of the documentation in a few
4618 places, and add the Since keyword to new API functions.
4619 Use g_list_delete_link instead of g_list_remove in
4620 gst_check_drop_buffers, since it's immeasurably more efficient.
4622 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4623 Use new gst_check_drop_buffers function where appropriate.
4625 * win32/common/libgstbase.def:
4626 * win32/common/libgstreamer.def:
4627 Add new symbols gst_collect_pads_take_buffer,
4628 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4631 Changelog surgery to add API keyword to new gst_check API.
4633 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4635 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4636 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4637 Update pre-generated flex files with flex 2.3.34.
4639 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4641 * gst/gstminiobject.c:
4642 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4643 friendly to subclasses and not require them to know all internals
4644 of their parent class.
4646 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4648 * docs/libs/gstreamer-libs-sections.txt:
4649 * libs/gst/base/gstcollectpads.c:
4650 * libs/gst/base/gstcollectpads.h:
4651 Add sub-buffer functions to collectpads. Fixes #516187.
4652 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4654 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4657 Copy selected buffer-flags when creating subbuffers.
4660 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4662 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4663 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4664 * gst/gstmessage.c: (gst_message_class_init),
4665 (gst_message_finalize):
4666 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4667 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4668 (gst_mmap_buffer_finalize):
4669 Properly chain up finalize functions to the parent class.
4671 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4673 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4675 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4676 (gst_index_set_resolver_full):
4678 Add new function with option to dispose of user_data in resolver.
4679 Actually call the dispose function when finalizing the object and not
4680 just when changing the resolver/filter.
4681 API: GstIndex::gst_index_set_resolver_full()
4683 * docs/gst/gstreamer-sections.txt:
4684 Add new function to docs. Fixes #515469.
4686 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4688 * gst/gstindex.c: (gst_index_finalize):
4689 Chain up finalize to the parent class. Fixes leaking the GstObject
4690 name and other things.
4692 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4695 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4696 pre-releases or releases.
4698 * docs/faq/gst-uninstalled:
4701 * docs/random/release:
4702 Change one of the steps - we only upload core & base to Gnome FTP
4704 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4706 * gst/gstconfig.h.in:
4707 Add 'id' for example.
4711 * plugins/elements/gstfdsink.c:
4712 Link to signals. Doc and comment fixes.
4714 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4716 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4717 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4718 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4719 unused and unimplemented; finally, it is plugin features, not
4720 plugins, that have ranks.
4722 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4724 * gst/gstpluginfeature.h:
4725 Clarify GstRank range docs.
4727 2008-02-05 David Schleef <ds@schleef.org>
4729 * gst/gst.c: Add a separate gst_deinitialized that prevents
4730 gst_init() from being called after gst_deinit(). Fixes #509559
4732 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4734 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4735 (gst_bin_class_init):
4736 * gst/gstelement.c: (gst_element_base_class_init),
4737 (gst_element_class_add_pad_template):
4738 * gst/gstpadtemplate.c: (gst_pad_template_init):
4739 * gst/gstpipeline.c: (gst_pipeline_get_type),
4740 (gst_pipeline_base_init), (gst_pipeline_class_init):
4741 * libs/gst/base/gstbasesink.c:
4742 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4743 (gst_base_src_base_init), (gst_base_src_class_init):
4744 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4745 (gst_capsfilter_class_init):
4746 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4747 (gst_fake_sink_class_init):
4748 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4749 (gst_fake_src_class_init):
4750 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4751 (gst_fd_sink_class_init):
4752 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4753 (gst_fd_src_class_init):
4754 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4755 (gst_file_sink_class_init):
4756 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4757 (gst_file_src_class_init):
4758 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4759 (gst_identity_class_init):
4760 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4761 (gst_multi_queue_class_init):
4762 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4763 (gst_queue_class_init):
4764 * plugins/elements/gsttee.c: (gst_tee_base_init),
4765 (gst_tee_class_init):
4766 * plugins/elements/gsttypefindelement.c:
4767 (gst_type_find_element_base_init),
4768 (gst_type_find_element_class_init):
4769 * tests/check/gst/gstelement.c: (gst_element_suite):
4770 Revert previous changes to the behaviour of GstPadTemplates, etc
4771 and the possiblity to call them in class_init as it breaks too
4772 many elements. Reopens bug #491501.
4774 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4777 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4779 * tools/gst-launch.c:
4780 Dump one graph per pipeline state-change and state change name
4781 (if GST_DEBUG_DUMP_DOT_DIR is set).
4783 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4786 * tests/check/gst/gstpad.c:
4787 Be sure that we have a new copy of the caps and not
4788 reffed caps from a template
4790 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4792 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4793 * gst/gstpipeline.c: (gst_pipeline_get_type),
4794 (gst_pipeline_class_init):
4795 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4796 (gst_base_sink_class_init):
4797 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4798 (gst_base_src_class_init):
4799 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4800 (gst_base_transform_class_init):
4801 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4802 (gst_collect_pads_class_init):
4803 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4804 * libs/gst/net/gstnettimeprovider.c:
4805 (gst_net_time_provider_base_init),
4806 (gst_net_time_provider_class_init):
4807 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4808 (gst_capsfilter_class_init):
4809 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4810 (gst_fake_sink_class_init):
4811 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4812 (gst_fake_src_class_init):
4813 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4814 (gst_fd_sink_class_init):
4815 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4816 (gst_fd_src_class_init):
4817 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4818 (gst_file_sink_class_init):
4819 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4820 (gst_file_src_class_init):
4821 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4822 (gst_identity_class_init):
4823 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4824 (gst_multi_queue_class_init):
4825 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4826 (gst_queue_class_init):
4827 * plugins/elements/gsttee.c: (gst_tee_base_init),
4828 (gst_tee_class_init):
4829 * plugins/elements/gsttypefindelement.c:
4830 (gst_type_find_element_base_init),
4831 (gst_type_find_element_class_init):
4832 Don't use base_init where not absolutely necessary. For example it's
4833 not necessary anymore for adding pad templates or setting element
4836 Leave empty base_init functions in several places as GST_BOILERPLATE
4837 still defines and uses them.
4839 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4841 * gst/gstelement.c: (gst_element_base_class_init),
4842 (gst_element_class_add_pad_template):
4843 * gst/gstpadtemplate.c:
4844 Make it possible (and recommended) to set element details and add
4845 pad templates in the class_init functions by copying the details/pad
4846 templates in GstElement's base_init.
4848 Also make it possible to replace existing pad templates by adding
4849 a new one with the same name. This was done in a hackish fashion
4850 in same elements before already.
4852 Don't reference pad templates that are added a second time. A
4853 new pad template has a refcount of one and is not floating anymore
4854 and to be owned by the element's class. Make this more explicit by
4855 mentioning it in the docs of gst_element_class_add_pad_template().
4857 These changes are backwards compatible. Fixes bug #491501.
4859 * tests/check/gst/gstelement.c:
4860 Add unit test for setting element details, adding pad templates and
4861 replacing them in a subclass.
4863 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4865 * tools/gst-inspect.c: (print_interfaces),
4866 (print_element_properties_info), (print_pad_info),
4867 (print_signal_info), (print_element_info):
4868 Fix a few memory leaks.
4870 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4872 * docs/libs/gstreamer-libs-sections.txt:
4873 * libs/gst/check/gstcheck.c:
4874 * libs/gst/check/gstcheck.h:
4875 Add more functions for unit testing: gst_check_drop_buffers,
4876 gst_check_caps_equal, gst_check_element_push_buffer_list,
4877 gst_check_element_push_buffer
4878 API: gst_check_drop_buffers
4879 API: gst_check_caps_equal
4880 API: gst_check_element_push_buffer_list
4881 API: gst_check_element_push_buffer
4883 2008-02-01 Julien Moutte <julien@fluendo.com>
4885 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4886 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4887 (gst_index_finalize), (gst_index_entry_free),
4888 (gst_index_add_association): Fix memory leaks.
4889 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4890 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4891 (gst_mem_index_free_format), (gst_mem_index_free_id),
4892 (gst_mem_index_finalize): Fix memory leaks.
4893 * win32/common/config.h: Updated to CVS HEAD.
4895 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4898 Some more details about how the plugin docs works.
4900 * docs/plugins/gstreamer-plugins-sections.txt:
4903 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4905 * gst/parse/grammar.tab.pre.c:
4906 * gst/parse/grammar.tab.pre.h:
4907 * gst/parse/grammar.y:
4908 * gst/parse/lex._gst_parse_yy.pre.c:
4909 Add delayed set-property. This allows to set properties on dynamicaly
4910 created objects (pads in videomxer). Fixes #509391.
4912 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4915 Check if caps are not NULL (fix bug #510194)
4917 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4919 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4920 (gst_base_sink_get_position_paused):
4921 Add fixme regarding EOS in pull mode.
4922 Fix position reporting in PAUSED for negative rates.
4924 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4926 * gst/gstminiobject.c: (gst_mini_object_replace):
4927 When replacing a miniobject, do a quick equality check first so that we
4928 can avoid a ref/unref pair.
4930 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4932 * docs/design/part-synchronisation.txt:
4935 * docs/plugins/Makefile.am:
4936 * docs/plugins/gstreamer-plugins-docs.sgml:
4937 * docs/plugins/gstreamer-plugins-sections.txt:
4938 * plugins/elements/gstmultiqueue.c:
4939 Add multiqueue to the docs.
4941 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4946 === release 0.10.17 ===
4948 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4951 releasing 0.10.17, "Due Negligence"
4953 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4956 Revert caps != NULL check temporarily for 0.10.17 release.
4958 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4961 Check if caps are not NULL (fix bug #510194)
4963 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4966 Fix compilation on systems that have posix timers but no
4969 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4972 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4974 * tools/gst-inspect.c:
4975 Revert previous commit in preparation for an impromptu 0.10.17 release
4977 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4979 * tools/gst-inspect.c: (print_interfaces),
4980 (print_element_properties_info), (print_pad_info),
4981 (print_signal_info), (print_element_info):
4982 Fix a few memory leaks.
4984 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4989 === release 0.10.16 ===
4991 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4994 releasing 0.10.16, "Special Dispensation"
4996 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4999 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5000 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5001 not fail when trying to crosscompile on OpenEmbedded (#511750).
5003 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
5006 Use $(MAKE) instead of make to fix the build if GNU make is
5007 called different. Fixes bug #510747.
5009 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
5011 * gst/gstplugin.c: (_gst_plugin_initialize):
5012 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5013 again, which I broke two commits ago when changing the API
5014 of gst_plugin_register_static(): the g_list_foreach() in
5015 _gst_plugin_register_static still assumed the old function
5016 signature and would therefore fail (re-fixes #510187).
5018 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5019 (_gst_plugin_register_static), (gst_plugin_register_static):
5020 Revert the (technically correct) change to call g_thread_init() from
5021 the pre-main() constructor. This will break programs which call
5022 g_thread_init() without an if (!g_thread_supported()) guard in their
5023 main function. We could just blame it on GLib or the application, but
5024 it's probably best to just avoid this altogether and simply not use
5025 any GLib functions here and use plain old malloc() with a simple
5026 array to store the plugins to register later when gst_init() is
5027 finally called (re-fixes #510187).
5029 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5030 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5031 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5032 (GST_START_TEST), (gst_plugin_suite):
5033 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5036 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
5038 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5039 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5040 This makes gtk-doc complain, but results in slightly better
5041 compiler errors. The old _gst_plugin_register_static() is
5042 still guarded, so there'll be a compiler warning about that
5043 instead. Fixes #510187 too.
5045 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
5047 * gst/gst.c: (init_post):
5048 * gst/gstplugin.c: (_gst_plugin_register_static),
5049 (gst_plugin_register_static), (_gst_plugin_initialize):
5050 * gst/gstplugin.h: (GstPluginFilter):
5051 Change API of gst_plugin_register_static() to not take
5052 a GstPluginDesc, but rather just take all the arguments
5053 in a GstPluginDesc directly. This is more intuitive and
5054 avoids certain mistakes when porting code from
5055 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5058 * tests/check/gst/gstplugin.c:
5059 Fix up for changed API.
5061 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
5063 * docs/faq/legal.xml:
5064 Update FAQ, Totem actually has an exception these days.
5066 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
5068 * win32/common/libgstreamer.def:
5069 Add new API declarations
5071 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5073 * gst/gstminiobject.c:
5074 Spelling fixes for the API docs.
5076 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5078 * libs/gst/base/gstbasetransform.c:
5079 Fix long property description for QoS.
5081 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
5084 _gst_trace_on is already provided by gsttrace.h, no need to declare
5087 * docs/libs/gstreamer-libs-sections.txt:
5088 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5089 and remove strange tcase_add_test which is outputting a warning.
5091 * libs/gst/check/gstcheck.c:
5092 * libs/gst/check/gstcheck.h:
5093 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5094 and define them in gstcheck.c instead of having every .c file whcih
5095 includes gstcheck.h be defining its own copy and relying on symbol
5096 interposing to marry them all, which doesn't work on Solaris.
5098 * tests/check/elements/identity.c: (GST_START_TEST):
5099 Don't define 'buffers' locally, it comes from libgstcheck.
5101 * tests/check/generic/sinks.c: (send_buffer):
5102 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5104 * tests/check/gst/gststructure.c: (GST_START_TEST):
5105 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5106 * tests/check/gst/gstutils.c: (GST_START_TEST):
5107 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5108 Add a bunch of casts to make various constants fit the types
5109 they're being assigned to.
5111 2008-01-10 Stefan Kost <ensonic@users.sf.net>
5113 * gst/gstchildproxy.c:
5114 Improve docs and add some ideas for making this more general-purpose.
5116 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
5118 * gst/gst_private.h: (GST_CAT_TYPES):
5119 Add GST_CAT_TYPES, for consistency, and so that the other
5120 debug categories don't make fun of it. Spotted by Saur on IRC.
5122 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5124 * gst/parse/Makefile.am:
5125 Move types.h from EXTRA_DIST to noinst_HEADERS.
5127 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5130 Add -Wno-portability to the automake parameters to stop warnings
5131 about GNU make extensions being used. We require GNU make in almost
5132 every Makefile anyway.
5135 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5136 at the same time is required for per target flags.
5138 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5141 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5142 __GNUC__ is defined before using it.
5144 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5146 * docs/gst/gstreamer-sections.txt:
5147 * gst/gst.c: (init_post):
5148 * gst/gstplugin.c: (_gst_plugin_register_static),
5149 (gst_plugin_register_static), (_gst_plugin_initialize),
5150 (gst_plugin_register_func):
5151 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5152 API: add gst_plugin_register_static() and deprecate
5153 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5155 Also, in _gst_plugin_register_static(), make sure to call
5156 g_thread_init() before calling GLib functions such as
5157 g_list_append() if we're not initialised yet, since that
5158 may lead to random crashes with older GSlice/GLib versions.
5160 * tests/check/gst/gstplugin.c:
5161 Adapt unit test to above changes.
5163 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5165 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5166 * gst/gstcaps.c: (gst_caps_to_string):
5167 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5168 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5169 Yet another gratuitous GString micro-optimisation: add a (private)
5170 function that serialises a structure appending to an existing
5171 GString, so that when we serialise caps we don't need to alloc+free
5172 a throwaway GString for each structure (each of which also entailing
5173 multiple reallocs on the way); also use g_string_sized_new() in
5174 various places with an approximate string length to avoid reallocs
5175 within GString. See #500143.
5177 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5179 * gst/gststructure.c: (gst_structure_id_set_value):
5180 Always check UTF-8 conformance of structure strings and not only
5181 if the debugging system is enabled; reasoning: the behaviour of
5182 the actual code shouldn't really change depending on whether the
5183 debugging system is enabled or not (#508291).
5185 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5188 Remove old coverage target in favour of "make lcov".
5190 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5192 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5193 (gst_base_src_loop):
5194 The start segment for reverse playback goes from start to last_stop.
5196 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5198 Patch by: Peter Kjellerstedt <pkj axis com>
5201 Cast the results from the timeval/spec_to_time macros to what the
5202 docs say it casts to, a GstClockTime. fixes #508175.
5204 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5207 Update some comments.
5209 * tools/gst-inspect.c: (print_element_properties_info):
5210 Improve printing of flags.
5212 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5214 * libs/gst/base/gstbasetransform.c:
5215 (gst_base_transform_transform_size):
5216 Print element name with g_warning() if there's a problem
5219 2008-01-07 David Schleef <ds@schleef.org>
5221 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5223 * libs/gst/controller/gstcontroller.h:
5224 * libs/gst/controller/gstcontrolsource.h:
5225 * libs/gst/controller/gstinterpolationcontrolsource.h:
5226 * libs/gst/controller/gstlfocontrolsource.h:
5227 * libs/gst/dataprotocol/dataprotocol.h:
5228 Fix empty prototypes. Fixes bug #507957.
5230 2008-01-07 David Schleef <ds@schleef.org>
5232 * docs/faq/dependencies.xml: Fix typo.
5234 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5236 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5237 (gst_base_src_loop):
5238 Don't update the last_stop position in do_seek, that's the position we
5240 Read backwards when we have a negative rate.
5242 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5243 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5245 Add check for reverse reading.
5247 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5249 Patch by: Alexis Ballier <aballier at gentoo org>
5251 * tests/check/gst/gstabi.c:
5252 * tests/check/gst/struct_ppc64.h:
5253 * tests/check/libs/libsabi.c:
5254 * tests/check/libs/struct_ppc64.h:
5255 Decide which header to include based on the userland ABI target
5256 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5257 for 64-bit userland (#503590). Might need something similar for
5260 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5262 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5263 Log the reason why fopen fails in addition to the fact that it failed.
5265 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5267 * gst/parse/parse.l:
5268 Use "%option never-interactive" to prevent useless calls to isatty()
5269 on every input when parsing. Also use "%option noinput" to not define
5270 the static input/yyinput functions which we don't use anyway. This
5271 removes a compiler warning with gcc 4.3 and saves some bytes in the
5274 * gst/parse/lex._gst_parse_yy.pre.c:
5275 Regenerated for the above change.
5277 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5279 * gst/gstpad.c: (fixate_value):
5280 Don't crash when trying to fixate and empty list.
5283 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5285 * docs/faq/gst-uninstalled:
5286 Clarify the comments to make the usage of this script and what it
5287 does easier to understand.
5289 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5291 * tools/gst-plot-timeline.py:
5292 Add more options to gst-plot-timeline
5294 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5296 * docs/design/part-synchronisation.txt:
5297 Some more info on how the stream_time in GstBaseSink is done.
5299 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5301 * tests/check/generic/sinks.c: (gst_sinks_suite):
5302 Put back the tcase_set_timeout(), apparently it's needed after
5303 all; fix it up in a way that makes things work with valgrind too.
5305 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5307 * gst/gstdebugutils.c:
5308 Add warning when failed to open file for writing.
5310 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5312 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5314 * gst/gstvalue.c: (gst_value_is_fixed):
5315 Optimisation: bail out of the loop as early as possible (#500143).
5317 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5319 * gst/gstcaps.c: (gst_caps_to_string):
5320 * gst/gstinfo.c: (gst_debug_construct_term_color):
5321 * gst/gstparse.c: (gst_parse_launchv):
5322 * gst/gstutils.c: (gst_util_dump_mem):
5323 * gst/gstvalue.c: (gst_value_serialize_any_list),
5324 (gst_value_transform_any_list_string):
5325 Bunch of gratuitous nano-optimisations.
5327 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5329 * tests/check/generic/sinks.c: (async_done_func),
5330 (async_done_eos_func):
5331 Fix leak in unit test (bus sync handler must unref the message
5332 if it returns GST_BUS_DROP). Don't fiddle with the default test
5333 timeout, this is smaller than the current preconfigured value
5334 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5335 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5337 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5339 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5342 Check for stdio_ext.h for the filesink changes.
5344 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5345 (gst_file_sink_class_init), (gst_file_sink_init),
5346 (gst_file_sink_dispose), (gst_file_sink_set_property),
5347 (gst_file_sink_get_property), (gst_file_sink_open_file),
5348 (gst_file_sink_close_file):
5349 * plugins/elements/gstfilesink.h:
5350 Add two properties to control the buffering mode and size.
5351 API: GstFileSink::buffer-mode
5352 API: GstFileSink::buffer-size
5355 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5357 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5358 Add some more docs to explain why a FIXME was wrongly added.
5360 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5363 Fix typo in the gst_object_{ref,unref} documentation.
5365 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5367 * tests/check/libs/controller.c:
5368 * tests/check/libs/typefindhelper.c:
5369 * tests/check/pipelines/parse-launch.c:
5370 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5371 going to be deprecated (see #498924).
5373 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5375 * gst/gsttypefind.c: (gst_type_find_register):
5376 Make gst_type_find_register work for static typefind functions,
5377 ie. allow passing plugin == NULL (prerequisite for #498924).
5379 * gst/gstelementfactory.c: (gst_element_register):
5380 Small docs addition.
5382 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5384 * gst/gstpad.c: (gst_pad_dispose):
5385 Really unlink the peer pad instead of setting the peer pointer to NULL
5386 when we dispose the pad.
5387 This correctly calls the unlink functions and makes sure that the peer
5388 does not have a handle to invalid memory. See #504671.
5390 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5391 Add testsuite for above case.
5393 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5395 Patch by: Peter Kjellerstedt <pkj axis com>
5397 * libs/gst/check/gstcheck.h:
5398 Fix detection of the check version we're compiling against (would
5399 otherwise break if check goes v0.10.0); correctly report the
5400 name of the failed test again in case of failure, instead of
5401 just 'tf' (fixes #504499).
5403 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5405 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5406 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5407 (gst_base_src_loop), (gst_base_src_set_flushing),
5408 (gst_base_src_change_state):
5409 Allow sending EOS to the source to make it send out an EOS event from
5410 the streaming thread.
5411 Update docs and deprecate the old NULL/READY shutdown method.
5413 * tests/check/libs/basesrc.c: (GST_START_TEST),
5414 (gst_basesrc_suite):
5415 Add unit test for controlled shutdown.
5417 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5419 * docs/design/part-synchronisation.txt:
5422 * gst/gstsegment.c: (gst_segment_set_seek),
5423 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5424 (gst_segment_to_running_time):
5425 The seek format can be different from the segment format when the start
5426 and stop values are not to be updated, when we only do a rate change for
5429 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5430 (gst_segment_suite):
5431 Add a testcase for the rate-only seeks, checking that the format is
5432 correctly ignored when start and stop are not updated.
5434 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5436 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5438 * win32/vs8/grammar.vcproj:
5439 * win32/vs8/libgstcontroller.vcproj:
5440 * win32/vs8/libgstreamer.vcproj:
5441 Fix compilation with VS8 and include some missing files.
5443 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5446 Small docs addition: mention that the strings returned by
5447 gst_tag_list_get_string*() are in UTF-8 encoding.
5449 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5452 The check-exports stuff moved to common/win32.mak, so include that.
5454 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5456 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5457 (gst_base_src_perform_seek), (gst_base_src_get_range),
5458 (gst_base_src_set_playing), (gst_base_src_change_state):
5459 Make _wait_playing() not check any variables so that we can call this
5460 function from subclasses. Move the checks elsewhere similar to
5461 _wait_preroll() in basesink.
5463 Only signal the LIVE cond when we are going back to PLAYING.
5465 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5467 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5468 Use g_remove() and g_rename(). Check result of g_rename(), and
5469 don't leak the open file descriptor if we error out when writing.
5471 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5472 Must check the return value of close() after writing out the new
5473 registry file. Sometimes write problems such as out-of-diskspace
5474 are only reported when the file is closed and not already during
5475 the write. This may have caused partial/broken registry files in
5476 some rare circumstances. Should fix #503675.
5478 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5480 * docs/gst/.cvsignore:
5481 * docs/libs/.cvsignore:
5482 * docs/plugins/.cvsignore:
5483 Ignore files generated by new common/* modifications
5485 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5487 * win32/common/libgstbase.def:
5488 Yes, you can also have a <TAB> if you want.
5490 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5492 * win32/common/libgstbase.def:
5493 Add new basetransform API to win export file.
5495 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5497 * tests/check/gst/gstbin.c:
5498 Adjust the test to the refcount change two days ago.
5500 2007-12-14 David Schleef <ds@schleef.org>
5502 * docs/faq/getting.xml: Fix typo.
5504 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5506 * docs/libs/gstreamer-libs-sections.txt:
5507 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5508 (gst_base_transform_prepare_output_buffer),
5509 (gst_base_transform_set_gap_aware):
5510 * libs/gst/base/gstbasetransform.h:
5511 API: Add gst_base_transform_set_gap_aware() to control whether
5512 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5513 get buffers with this flag at all. Fixes #503231.
5515 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5517 * libs/gst/base/gstbasesink.c:
5518 * libs/gst/base/gstbasesrc.c:
5519 * libs/gst/base/gstbasetransform.c:
5520 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5521 thread. Correct log message in gstbasesrc.c.
5523 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5525 * gst/gstutils.c: (element_find_unconnected_pad):
5526 Fix possible compiler warning (#503417).
5528 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5530 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5531 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5533 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5535 * tools/gst-inspect.c: (print_element_properties_info):
5536 Add support for GstFraction properties.
5538 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5541 Add check-exports target and run it as part of 'make check'
5542 (see #499140 and #493983).
5544 * gst/gst_private.h:
5545 * gst/gstelementfactory.h:
5546 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5547 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5548 (_priv_gst_in_valgrind):
5549 * gst/gstinfo.h: (GstLogFunction):
5550 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5551 (gst_type_find_register):
5552 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5553 (gst_type_find_factory_get_type):
5554 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5555 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5556 (gst_controller_new_valist), (gst_controller_new_list),
5557 (_gst_controller_dispose), (_gst_controller_class_init):
5558 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5559 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5560 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5561 (gst_object_get_controller), (gst_object_set_controller),
5562 (gst_object_suggest_next_sync), (gst_object_sync_values),
5563 (gst_object_set_control_source), (gst_object_get_control_source),
5564 (gst_object_get_value_arrays), (gst_object_get_value_array),
5565 (gst_object_get_control_rate), (gst_object_set_control_rate):
5566 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5567 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5568 Make some functions that should be static static; rename some
5569 private symbols so that they don't get exported; add some FIXME
5570 comments so we can move accidentally exported functions into
5571 our private section in 0.11.
5573 * win32/common/libgstreamer.def:
5574 Add gst_utils_get_timestamp().
5576 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5580 Add more missing "Since:" tags to docs.
5582 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5585 Add mising "Since:" to docs.
5587 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5590 Include "glib-compat-private.h" to fix the build on system with
5591 glib < 2.10. Fixes #503131.
5593 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5597 Actually its not PURE as it gets the time from elsewhere.
5599 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5601 * docs/gst/gstreamer-sections.txt:
5603 * gst/gstdebugutils.c:
5607 * libs/gst/base/gstbasesink.c:
5608 * tools/gst-launch.c:
5609 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5610 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5611 Thanks Tim for spotting.
5612 API: gst_util_get_timestamp
5614 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5617 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5619 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5621 * gst/gststructure.c: (gst_structure_validate_name),
5622 (gst_structure_new_valist), (gst_structure_parse_value),
5623 (gst_structure_from_string):
5624 Don't crash in _from_string() if the structure name is not valid
5625 (fixes #501560). Allow structure names to start with a number
5626 again (this apparently broke the ubuntu codec installer).
5628 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5630 Add unit test for the crash; update unit tests for new behaviour.
5632 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5635 Clarify gst_element_get_compatible_pad() documentation.
5638 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5640 * tests/check/Makefile.am:
5641 Don't forget to dist {gst,libs}/struct_hppa.h.
5643 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5645 * libs/gst/base/gstbasesink.c:
5646 Use new API to get elapsed time.
5648 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5650 * gst/gstdebugutils.c:
5652 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5654 * tools/gst-launch.c:
5655 Use new API to get elapsed time.
5657 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5659 * docs/gst/gstreamer-sections.txt:
5661 * gst/gstdebugutils.c:
5663 Rename new API + ChangeLog surgery to remove old name from last entry..
5665 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5667 * docs/gst/gstreamer-sections.txt:
5669 * gst/gstdebugutils.c:
5671 Now hide the different clock stuff behind a macro.
5673 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5676 * gst/gstdebugutils.c:
5678 Apply the posix-timer check from #361155. Conditionally use the posix
5679 timer for logging. This gives better timestamp precission, less
5680 overhead and no ntp jitter.
5682 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5684 * gst/gstminiobject.c: (gst_mini_object_get_type),
5685 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5686 (gst_mini_object_finalize), (gst_mini_object_copy),
5687 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5688 (gst_mini_object_replace), (param_mini_object_validate),
5689 (gst_param_spec_mini_object_get_type):
5690 Some cleanup and checking against invalid function parameters.
5692 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5694 * docs/gst/gstreamer-sections.txt:
5696 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5697 (gst_systemclock_suite):
5698 Start merging in the easy bits of #361155, the monotonic clock patch.
5699 This one adds a few handy macros with docs and a testsuite.
5701 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5703 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5704 Be a bit smarter when seeking, like, don't try to do a seek when it's
5705 not needed. This avoids errors when the file is not seekable.
5708 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5710 * docs/gst/gstreamer-docs.sgml:
5711 * docs/gst/gstreamer-sections.txt:
5712 * docs/gst/gstreamer.types.in:
5717 * plugins/elements/gstqueue.c:
5718 Due to popular request remove preset interface again. :-(.
5720 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5722 * tools/gst-inspect.c:
5723 Print 'default value' for enums and flags too.
5725 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5727 * docs/random/ensonic/profiling.txt:
5731 Fix typo and give better log output.
5733 * gst/gstdebugutils.c:
5734 * gst/gstdebugutils.h:
5735 More ideas, make graphs a bit smaller and fix param name in macro.
5737 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5740 Try harder to use the return value from fgets().
5742 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5745 For theses two fgets we handle the error below.
5747 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5749 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5750 Only send upstream events upstream. Fixes #498746.
5752 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5754 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5756 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5757 (gst_identity_init), (gst_identity_transform_ip),
5758 (gst_identity_set_property), (gst_identity_get_property):
5759 * plugins/elements/gstidentity.h:
5760 Add property to disable handoff signal emission. Fixes #498694.
5761 API: GstIdentity::signal-handoffs
5763 2007-11-21 Julien Moutte <julien@fluendo.com>
5765 * docs/faq/gst-uninstalled: Yet another missing library for the
5766 uninstalled script (fft)
5768 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5770 * docs/faq/developing.xml:
5771 Add a question about how to submit new translations.
5773 * docs/random/release:
5774 Update the contact email address for the Translation Project
5776 * plugins/elements/gstfdsrc.c:
5777 The parent_class for fdsrc is pushsrc, not GstElement.
5779 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5782 Plug a leak and fix saving.
5784 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5786 * docs/gst/gstreamer-sections.txt:
5787 Add new gst_preset__get_property_names() function to the docs
5790 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5794 Change _get_preset_names API to return a strv with copies. Add
5795 _get_property_names to allow implementations to filter and provide
5796 good default implementation.
5798 2007-11-20 Julien MOUTTE <julien@moutte.net>
5800 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5803 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5806 More cleanups, docs, and TODOs from comments that now slowly come in.
5808 2007-11-19 Julien MOUTTE <julien@moutte.net>
5810 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5813 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5816 Fix bogus warning and make the property type specific code more
5819 2007-11-19 Julien MOUTTE <julien@moutte.net>
5821 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5824 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5826 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5827 (gst_bin_add_func), (gst_bin_remove_func),
5828 (gst_bin_change_state_func), (gst_bin_continue_func):
5829 Change email, cleanups add some more debug and comments.
5830 Also set bus and clock on new elements when the pipeline was in error.
5832 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5835 * gst/gstdebugutils.c:
5836 Fix build with --disable-gst-debug. Fixes #497859.
5837 Spotted by Sameer Naik.
5839 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5842 Little documentation improvment.
5845 More TODO cleanups. Remove c++ comments.
5847 * libs/gst/controller/gstcontroller.c:
5848 Add TODO and use quark from static string.
5850 * tests/check/gst/gstmessage.c:
5851 * tests/check/gst/gststructure.c:
5852 Use quark from static string.
5854 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5857 Add some comments and TODOs.
5860 Add padding for future changes.
5862 * plugins/elements/gstqueue.c:
5863 Implement the iface.
5865 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5867 * docs/gst/gstreamer-docs.sgml:
5868 * docs/gst/gstreamer-sections.txt:
5869 * docs/gst/gstreamer.types.in:
5874 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5876 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5882 === release 0.10.15 ===
5884 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5887 releasing 0.10.15, "October"
5889 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5891 * win32/vs6/libgstreamer.dsp:
5892 Convert line endings back to DOS.
5894 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5896 * docs/design/draft-tagreading.txt:
5897 * docs/random/ensonic/profiling.txt:
5898 Update fast tagreading draft and performance profiling ideas.
5900 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5902 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5903 Don't hold the object lock when unreffing a buffer because it could
5904 cause a deadlock when the finalize function wants to grab the object
5905 lock too. Fixes #495133.
5907 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5909 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5910 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5911 Also accumulate time correctly when doing reverse playback. Fixes
5913 When converting to running and stream time, use default values for
5914 start/stop/time/accum when comparing different formats. Fixes #494245.
5916 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5917 Do running/stream time in TIME format.
5919 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5920 (gst_segment_suite):
5921 2 new unit tests for segment accumulation.
5923 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5925 * gst/gst.c: (init_pre):
5926 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5927 (_gst_debug_bin_to_dot_file):
5928 Move getenv() back into gst_init, so everyone can live happily
5929 ever after. Make sure the symbol isn't exported though.
5931 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5933 Patch by: Sebastien Moutte <sebastien moutte net>
5935 * win32/common/gstenumtypes.c:
5936 * win32/common/gstenumtypes.h:
5939 * win32/vs6/libgstreamer.dsp:
5940 Update vs6 project files (#494343).
5942 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5944 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5945 (gst_base_src_perform_seek), (gst_base_src_default_event),
5946 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5947 (gst_base_src_activate_pull):
5948 Unify flushing code, remove some old unlock code that is no longer used.
5949 Take the streaming lock when seeking to avoid races. Fixes #492729.
5950 Added some more comments.
5952 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5954 * gst/gst.c: (_gst_disable_segtrap):
5955 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5956 we can use gst_segtrap_is_enabled() there now that we have that API.
5957 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5958 to do the getenv here (and export the variable).
5960 * gst/gstdebugutils.c: (debug_dump_element),
5961 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5962 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5964 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5965 (gst_debug_log_default):
5966 Rename _gst_info_start_time to priv_gst_info_start_time so it
5967 doesn't get exported (was never in any header).
5969 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5970 (gst_plugin_loading_mutex):
5971 Make static mutex gst_plugin_loading_mutex really static (was never
5972 in any header), and use gst_segtrap_is_enabled() instead of
5973 _gst_disable_segtrap.
5975 * gst/gsttrace.c: (_gst_trace_default):
5976 Make local _gst_trace_default static (was never in any header).
5978 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5980 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5982 * win32/common/libgstbase.def:
5983 * win32/common/libgstcontroller.def:
5984 * win32/common/libgstdataprotocol.def:
5985 * win32/common/libgstnet.def:
5986 * win32/common/libgstreamer.def:
5987 Add more missing symbols, remove some duplicates, and sort
5988 as the 'sort' command sorts it (partially fixes #493983).
5990 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5992 * gst/gstelement.c: (gst_element_set_state_func):
5993 Only change the state cookie if a different state was set on the
5994 element. See #492729.
5996 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5999 Remove unused and uninitialised type variables that were still
6000 exported for some reason (they were never in any header files
6003 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6005 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6006 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6007 (gst_base_sink_event), (gst_base_sink_get_position_last),
6008 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6009 (gst_base_sink_change_state):
6010 Don't try to report a 0 position when we don't know, return -1 and FALSE
6011 instead. This mostly happens when we are prerolling.
6012 Make sure we can report the right position before we post the ASYNC_DONE
6013 message so that a message handler can query position without races.
6015 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6016 (async_done_handoff), (async_done_func), (send_buffer),
6017 (async_done_eos_func), (gst_sinks_suite):
6018 Add two tests for the above.
6020 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
6023 Update with new email address.
6025 * docs/design/part-TODO.txt:
6026 Add some more info about future pad-block and negotiation changes.
6028 * docs/design/part-buffering.txt:
6029 Add some ideas about buffering reporting.
6031 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
6033 * tests/check/gst/gstobject.c:
6034 Disable silly racy test that always fails on this combination of CPU
6037 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
6039 Patch by: Murray Cumming <murrayc@murrayc.com>
6042 Corrected the registration of the parent-set and parent-unset
6043 signals: The parameter is a GstObject, not a GObject (#493134).
6045 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6047 * gst/gst_private.h:
6056 Move declaration of private _gst_foo_initialize() functions into
6057 our private header file where they should have been all along.
6059 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6061 * docs/plugins/gstreamer-plugins-sections.txt:
6062 * gst/gstdebugutils.h:
6064 * plugins/elements/gstqueue.c:
6065 gtk-doc fixes; trailing-comma-in-enum fix.
6067 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6069 * gst/gst.c: (gst_deinit):
6070 Clean up on deinit (not the external ones though, doesn't seem to be
6071 needed for some reason).
6073 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6075 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6076 Remove __declspec(dllimport) for MSVC that was copied over into core
6077 from a plugin, obviously without ever having been tested (note the
6078 single underscore in _declspec in the initial commit), and that doesn't
6079 really make sense. See #492077.
6081 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6083 * gst/gst.c: (init_post):
6084 * gst/gstevent.c: (_gst_event_initialize):
6085 * gst/gstquery.c: (_gst_query_initialize):
6086 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6087 g_type_class_ref() other types as well, see #349410 and #64764.
6089 * gst/gstbuffer.c: (_gst_buffer_initialize):
6090 * gst/gstmessage.c: (_gst_message_initialize):
6091 Simplify existing g_type_class_ref().
6093 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6095 * gst/gstformat.c: (_gst_format_initialize):
6096 g_type_class_ref() our GstFormat type to make sure we avoid the
6097 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6098 bug #64764. Should fix intermittent tee unit test failures (#474823).
6100 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6102 * tests/check/elements/tee.c: (test_num_buffers):
6103 Simplify, simplify, simplify - or not. Rewrite unit test
6104 not to use gst_parse_launch(); allow N sub-streams. Increasing
6105 the number of sub-streams seems to reproduce #474823 more easily.
6107 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6109 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6112 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6113 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6114 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6115 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6116 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6117 so use _pipe() directly (#492077).
6119 * win32/common/dirent.c: (_treaddir):
6120 Add a couple of casts to make it build without warnings with MSVC.
6122 * win32/common/libgstreamer.def:
6123 Add some more symbols that need to be exported.
6125 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6127 * tests/examples/metadata/read-metadata.c: (message_loop):
6128 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6129 arriving in a second or third tag message are added to
6130 the tag list as well.
6132 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6134 * libs/gst/base/gstbasesrc.c:
6135 Its "Since:" and not "@Since:". And remove an superflous cast.
6137 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6139 * docs/libs/gstreamer-libs-sections.txt:
6140 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6141 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6142 (gst_base_sink_get_property), (gst_base_sink_render_object),
6143 (gst_base_sink_preroll_object),
6144 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6145 (gst_base_sink_change_state):
6146 * libs/gst/base/gstbasesink.h:
6147 Add a new last-buffer property that contains the last buffer used in
6148 basesink for preroll or rendering. useful for making snapshots.
6149 API: gst_base_sink_get_last_buffer()
6150 API: GstBaseSink::last-buffer
6152 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6154 * docs/gst/running.xml:
6156 * gst/gstdebugutils.c:
6157 * gst/gstdebugutils.h:
6158 * tools/gst-launch.c:
6159 Improve bin graph dumping, by using the envvar to specify a path.
6160 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6162 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6164 * plugins/elements/gsttypefindelement.c:
6165 (gst_type_find_element_handle_event),
6166 (gst_type_find_element_activate):
6167 Post special error message if we can't determine the type of a stream
6170 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6172 * docs/gst/running.xml:
6173 * gst/gstdebugutils.c:
6174 Document new env-var. Add one log-line after dumpng a graph.
6176 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6179 Ugly hack to put the (recently removed and non-portable, apparently)
6180 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6181 GNU ld, because without that 'make check' fails miserably on my debian
6182 stable box. Someone with more knowledge of linker intricacies and
6183 portability issues than me fix this properly please.
6185 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6187 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6188 Reset last seen position after flushing so that we don't report the old
6191 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6193 * gst/gstelementfactory.c: (gst_element_register):
6195 Patch from Alessandro Decina adding get_type_full and
6196 get_protocols_full private vfuncs to the URIHandler interface
6197 to allow bindings to support creating URI handlers.
6198 Partially fixes: #339279
6199 API: GstURIHandlerInterface::get_type_full
6200 API: GstURIHandlerInterface::get_protocols_full
6202 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6204 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6205 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6206 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6207 Make it so that pads are considered linked until a buffer is pushed
6208 and discovered otherwise. This avoids problems with decodebin2 hanging
6209 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6212 Make sure we lock the multiqueue when updating the max-size properties.
6214 Fix a crash on Solaris in a debug statement in get_request_pad that
6215 passes a NULL string to GST_DEBUG.
6217 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6218 (run_output_order_test):
6219 Fix the test to allow the first buffer on not-linked pads to come out
6220 of sequence while multiqueue discovers that they are not-linked.
6222 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6225 * libs/gst/check/Makefile.am:
6226 Use a custom export symbol regex for libgstcheck, as it needs
6227 to export symbols that don't match the standard GStreamer gst_*
6228 pattern, and --export-dynamic is not portable (only works on
6231 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6232 (gst_check_setup_sink_pad):
6233 Make sure to pass a message parameter to the fail_* macros.
6235 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6236 Fix some compiler warnings.
6238 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6240 * tests/check/gst/gststructure.c: (test_to_string):
6241 Disable test that checks that white spaces are not allowed
6242 in structure names or field names, since we need to
6243 support that for now for backwards compatibility reasons.
6245 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6247 * docs/gst/gstreamer-sections.txt:
6250 API: add GST_TAG_ARTIST_SORTNAME
6251 API: add GST_TAG_ALBUM_SORTNAME
6252 API: add GST_TAG_TITLE_SORTNAME
6253 Add tag variants for sorting (#414539).
6255 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6257 * gst/gststructure.c:
6258 Also allow white space for names so we don't break
6259 backwards compatibility.
6261 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6263 * docs/design/part-TODO.txt:
6264 * docs/design/part-segments.txt:
6265 * docs/design/part-streams.txt:
6268 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6270 * docs/gst/gstreamer-sections.txt:
6271 Fixed documentation from my previous commit (added new API add
6272 gst_value_set_structure(), add gst_value_get_structure() and
6273 GST_VALUE_HOLDS_STRUCTURE).
6275 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6277 * gst/gstdebugutils.c:
6278 Reflow code to fix uninitialized variable warning.
6280 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6282 * gst/gstcaps.c: (gst_caps_to_string),
6283 (gst_caps_from_string_inplace):
6284 * gst/gststructure.c: (gst_structure_get_abbrs),
6285 (gst_structure_to_string), (gst_structure_from_string):
6286 * gst/gstvalue.c: (gst_value_set_structure),
6287 (gst_value_get_structure), (gst_value_serialize_structure),
6288 (gst_value_deserialize_structure), (_gst_value_initialize):
6290 * tests/check/gst/gststructure.c: (GST_START_TEST),
6291 (gst_structure_suite):
6292 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6293 Added GstStructure to gst_value_table and its related functions.
6294 Changed gst_structure_to_string to print ';' in the end.
6295 Changed gst_caps_to_string to not print ';' beteween its
6296 fields (structures) anymore and remove the lastes ';' from latest
6297 structure. Now it is possible to have nested structures.
6298 In addition, backward compatibilty is assured by accepting '\0' as
6299 end delimiter. Fixes: #487969.
6300 API: add gst_value_set_structure()
6301 API: add gst_value_get_structure()
6302 API: add GST_VALUE_HOLDS_STRUCTURE
6304 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6307 When no GSource callback has been set up, tell developer
6308 to use a function that actually exists.
6310 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6312 * docs/gst/gstreamer-sections.txt:
6316 * gst/gstdebugutils.c:
6317 * gst/gstdebugutils.h:
6320 * tools/gst-launch.c:
6321 Allow dumping pipelines as dot graphs. Fixes #456573.
6323 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6325 * gst/gststructure.c:
6326 Allow '+' as well, it can be part of media or mime types
6327 such as image/svg+xml.
6329 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6331 * docs/gst/gstreamer-sections.txt:
6334 API: add gst_bus_pop_filtered
6335 API: add gst_bus_timed_pop_filtered
6336 Two new functions for waiting for specific message types on the
6337 bus for a specified amount of time without iterating any main
6338 loops or main contexts.
6340 * tests/check/gst/gstbus.c:
6341 Some tests for the new functions.
6343 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6345 * docs/libs/gstreamer-libs-sections.txt:
6346 Make gtk-doc ignore stuff it should ignore.
6348 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6350 * libs/gst/check/gstcheck.c:
6351 * libs/gst/check/gstcheck.h:
6352 Allow runtime selection of unit tests to run via the GST_CHECKS
6353 environment variable (test case function names, comma-separated).
6355 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6357 * gst/gststructure.c:
6358 * tests/check/gst/gststructure.c:
6359 Revert serialisation change and constrain structure-names after
6360 consensus on irc. Update api documentation to reflect the change.
6362 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6364 * gst/gststructure.c:
6365 Improve serialization and fix tests.
6367 * tests/check/gst/gststructure.c:
6368 Add another test that covers why I actually did the previous structure
6371 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6373 * tools/gst-inspect.c: (print_element_info):
6374 Don't crash when inspecting an element.
6376 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6378 * tests/check/gst/gststructure.c:
6379 Add unit test for escaping of structure name when serialising
6380 and deserialising to/from strings.
6382 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6384 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6385 (gst_single_queue_new):
6386 * plugins/elements/gstqueue.c: (gst_queue_init),
6387 (gst_queue_push_one):
6388 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6389 upstream is tricked into thinking it can suggest a format downstream
6390 while downstream does not support that format. The real problem is that
6391 core calls acceptcaps when pushing a buffer with new caps, for which we
6392 do a little workaround by setting the caps on the srcpad ourselves
6393 before pushing the buffer (until this is figured out). Fixes #486758.
6395 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6397 * gst/gststructure.c:
6399 Add some more comments and debug output. Quote structure name to fix
6400 deserialisation of some strings.
6402 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6405 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6406 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6408 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6410 * tools/gst-inspect.c:
6411 Save approx. 400 1 byte allocs when printing. Use API to acces element
6417 * tools/gst-xmlinspect.c:
6418 Use API to acces element details.
6420 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6423 Fix some spelling errors.
6425 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6427 * gst/gstbin.c: (bin_handle_async_done):
6428 Correctly set the next state if all of our async children commited their
6429 state. This makes sure we can actually cancel the state change in
6430 progress. Fixes a regression in Rhythmbox when seeking.
6432 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6435 Don't shadow local variable.
6438 Don't shadow global function name.
6440 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6442 * gst/gstelementfactory.c:
6443 * gst/gstpluginfeature.c:
6444 * gst/gstpluginfeature.h:
6445 * gst/gstregistrybinary.c:
6446 * gst/gstregistryxml.c:
6447 * gst/gsttypefind.c:
6448 Use already-interned string for the private GstPluginFeature
6451 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6453 * docs/libs/gstreamer-libs-sections.txt:
6454 Add new API to docs; fixes the build.
6456 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6458 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6460 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6461 (gst_base_sink_event):
6462 * libs/gst/base/gstbasesink.h:
6463 Add function to wait for EOS, subclasses can use this to correctly wait
6464 for devices to drain before performing the EOS logic. Fixes #485343.
6465 API: gst_base_sink_wait_eos()
6467 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6470 Cast description string constants in GST_PLUGIN_DEFINE macros
6471 to a (gchar*) to make C++ code using these macros compile
6472 without warning with g++-4.2 (see #462737). Even if slightly
6473 ugly, this seems preferable to putting the description strings
6474 into the GLib quark table or making the structure member a
6475 const gchar * and doing casts in core code that allocs and
6476 frees these strings, or requiring a cast in the C++ code.
6478 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6481 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6482 to print the entire class/function signature into the log
6483 file for C++ code. This only affects C++ code, for C code
6484 everything remains the same.
6486 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6488 * gst/gstbin.c: (remove_from_queue):
6489 Work around a problem with pipelines containing (semi)loops until a
6490 proper, more complicated solution is ready. See #475455.
6492 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6496 * gst/gstregistrybinary.c:
6497 * gst/gstregistryxml.c:
6498 Put more strings into the GLib quark table. No need to keep
6499 a hundred-something copies of identical version strings,
6500 license strings, package name strings and package origin
6503 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6505 * docs/manual/advanced-dataaccess.xml:
6506 Don't imply that it's okay to unconditionally change
6507 buffer data or buffer metadata in a pad probe callback,
6508 and a bunch of other comments. Fixes #430031.
6510 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6512 * win32/common/gstenumtypes.c:
6513 * win32/common/gstenumtypes.h:
6514 * win32/common/gstversion.h:
6515 Update generated files.
6517 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6519 * docs/manual/advanced-autoplugging.xml:
6520 Prefix section with broken code with a warning (see #342432).
6522 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6524 * docs/manual/appendix-integration.xml:
6525 * docs/manual/basics-init.xml:
6526 Call g_thread_init() before g_option_context_new() to
6527 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6529 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6531 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6532 (gst_base_sink_queue_object_unlocked),
6533 (gst_base_sink_queue_object), (gst_base_sink_event),
6534 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6535 When we received EOS and are waiting for when to post the EOS message,
6536 our state is prerolled and we should not return ASYNC.
6537 Reorganize some code paths to implement this behavior.
6539 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6541 Add unit test to verify above EOS fix.
6543 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6545 * plugins/elements/gsttypefindelement.c:
6546 (gst_type_find_element_have_type), (gst_type_find_element_init),
6547 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6548 Move detecting the input caps of the sinkpad to the setcaps function.
6549 This allows us to update the output caps when we receive new input caps
6550 instead of always using the first detected caps.
6552 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6554 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6555 (gst_base_sink_get_position):
6556 Don't try to preroll non-async elements after a flush.
6557 Subtract latency form clock times when reporting position.
6559 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6561 * gst/gstpad.c: (gst_pad_pause_task):
6563 Small comment and documentation update.
6565 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6567 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6568 (gst_base_src_set_live), (gst_base_src_is_live),
6569 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6570 (gst_base_src_default_event), (gst_base_src_wait),
6571 (gst_base_src_do_sync), (gst_base_src_get_range),
6572 (gst_base_src_pad_get_range), (gst_base_src_loop),
6573 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6574 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6575 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6576 (gst_base_src_change_state):
6577 Rework the locking of basesrc in a similar fashion to basesink. We
6578 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6579 us to handle live sources and semi live ones much better.
6581 Fix unlocking when seeking, shutting down and pausing in live sources.
6583 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6585 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6586 Fix compilation again.
6588 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6591 Use meaningful categories for the logs to clean the default one.
6593 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6595 * tests/check/pipelines/cleanup.c:
6596 Print message name and not just number.
6598 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6600 * docs/design/draft-tagreading.txt:
6601 Add some more thoughts.
6603 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6605 * tests/check/pipelines/simple-launch-lines.c:
6606 Print message name and not just number.
6608 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6610 * libs/gst/base/gsttypefindhelper.c:
6611 Speedup typefinding. This is work in progress (see #459862).
6613 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6616 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6617 Spotted by Josep Torra Valles <josep@fluendo.com>.
6619 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6622 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6623 field has moved to GstObject.
6625 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6627 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6628 (gst_base_src_get_range), (gst_base_src_change_state):
6629 Call unlock for live sources so that they can't get stuck in _create and
6630 produce a buffer before they are set back to PLAYING.
6632 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6634 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6635 (gst_queue_locked_dequeue):
6636 Comment the segment-related code... in the PROPER function.
6637 See #482147 and my commit from yesterday.
6639 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6641 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6642 Also initialize the counter that calculates the first timestamp on a
6643 buffer correctly for non-live sources.
6645 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6647 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6648 Disable code that's breaking the current-time-level reporting.
6651 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6653 * docs/gst/gstreamer-sections.txt:
6654 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6655 as they shouldn't show up. Fixes the docs build.
6657 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6660 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6661 Define M_PI which is used in files which are including gstinfo.h.
6662 VS6 includes doesn't define it.
6663 * win32/common/libgstbase.def:
6664 * win32/common/libgstcontroller.def:
6665 * win32/common/libgstreamer.def:
6666 Add new exported functions and variables.
6667 * win32/vs6/libgstcontroller.dsp:
6668 * win32/vs6/libgstreamer.dsp:
6669 Update the list of files to build.
6671 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6673 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6675 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6676 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6677 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6678 Improve debugging. Fixes #480858.
6680 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6682 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6684 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6685 First patch of code cleanups, use the macros and right arguments in the
6686 macros to signal and lock the queue. See #480858.
6688 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6690 * gst/gstbus.c: (poll_func):
6691 Improve debugging when dealing with _poll().
6693 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6695 * gst/gstregistryxml.c:
6696 Fix memory leak I introduced a few days ago.
6698 2007-09-26 Michael Smith <msmith@fluendo.com>
6700 * gst/gstbuffer.c: (gst_buffer_finalize):
6701 Make it once again possible to free GstBuffers in the default
6703 The poisoning scribbles on parts of the miniobject we need in
6707 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6709 * docs/gst/gstreamer-sections.txt:
6712 API: add GST_TAG_COMPOSER, fixes #459809.
6714 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6718 Add the 3-clause BSD license and the MIT/X11 license to the license
6719 list. Fixes #479784.
6721 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6723 * docs/faq/getting.xml:
6724 Add Q+A about different GStreamer versions (#364056).
6726 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6728 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6729 (gst_base_sink_event), (gst_base_sink_change_state):
6730 Return correct gboolean from query function.
6732 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6734 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6735 (gst_base_sink_event), (gst_base_sink_query),
6736 (gst_base_sink_change_state):
6737 Simplify latency query.
6738 When not synchronizing, we can report latency without querying the peer
6741 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6745 Fix small typos in the docs.
6747 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6749 * docs/design/draft-latency.txt:
6750 * docs/design/draft-push-pull.txt:
6751 * docs/design/draft-tagreading.txt:
6752 * docs/design/part-MT-refcounting.txt:
6753 * docs/design/part-activation.txt:
6754 * docs/design/part-block.txt:
6755 * docs/design/part-element-source.txt:
6756 * docs/design/part-events.txt:
6757 * docs/design/part-gstbin.txt:
6758 * docs/design/part-gstelement.txt:
6759 * docs/design/part-gstobject.txt:
6760 * docs/design/part-gstpipeline.txt:
6761 * docs/design/part-messages.txt:
6762 * docs/design/part-preroll.txt:
6763 * docs/design/part-push-pull.txt:
6764 * docs/design/part-qos.txt:
6765 * docs/design/part-query.txt:
6766 * docs/design/part-scheduling.txt:
6767 * docs/design/part-seeking.txt:
6768 * docs/design/part-segments.txt:
6769 * docs/design/part-states.txt:
6770 Documentation updates and typo fixes.
6772 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6774 * plugins/elements/gstfakesink.c:
6775 Add some debug text to error message to indicate that
6776 we errored out on request.
6778 * tools/gst-launch.c:
6779 When the state change to PLAYING fails, check for an
6780 error message on the bus and print it.
6782 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6784 translated by: Jorge González González <aloriel@gmail.com>
6788 Added Spanish translation.
6790 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6792 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6793 Fix printf arguments.
6795 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6797 * tests/check/generic/states.c:
6798 Improved state change unit test.
6800 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6803 Move priv to the right place.
6805 * gst/gstsystemclock.c:
6806 Add FIXME: and improve log.
6808 * tests/check/Makefile.am:
6809 * tests/examples/manual/Makefile.am:
6810 Work with all types of registries.
6812 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6814 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6815 Don't unref the event after pushing it. Fixes #478401.
6817 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6820 * tests/examples/manual/.cvsignore:
6821 Ignore registries in any format.
6823 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6825 * gst/glib-compat-private.h:
6826 Add compatibility macro for g_intern_string() for
6827 GLib-2.8 (any reason we can't just bump the
6828 requirement to at least 2.10?)
6830 * gst/gstpadtemplate.h:
6831 * gst/gstelementfactory.c:
6832 * gst/gstregistryxml.c:
6833 * gst/gstregistrybinary.c:
6834 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6835 up the internal code accordingly. This shouldn't be a problem, since
6836 there is no reason external code could ever assume the string in such
6837 a structure is dynamically allocated unless it did that itself; the
6838 use of g_strdup() is private to element factories. The new code also
6839 saves some memory by putting pad template name strings into the GLib
6840 quark table instead of allocating them dynamically.
6841 Declaring this field constant fixes warnings with g++-4.2 when using
6842 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6844 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6846 * gst/gstelementfactory.c:
6847 Release static caps. Fixes #475723.
6849 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6853 Make some internal API take const gchar * instead of just
6854 gchar * to avoid compiler warnings with g++-4.2.2 when
6855 passing string constants (partially fixes #478092).
6857 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6859 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6860 A latency query fails when one of the sinks fail.
6862 * gst/gstelement.c: (gst_element_set_base_time):
6865 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6867 * gst/gstbin.c: (gst_bin_continue_func):
6868 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6869 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6870 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6872 Fix minor compilation warnings shown with Forte.
6874 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6876 * plugins/elements/gstqueue.c: (apply_buffer),
6877 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6878 Measure queue level based on the diff between head and tail timestamps
6879 even when pushing the first buffer.
6881 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6883 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6884 (gst_base_sink_event), (gst_base_sink_change_state):
6885 Sinks that don't preroll can always be queried for the latency.
6886 Don't post ASYNC start when we are not async.
6888 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6890 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6891 (gst_queue_handle_sink_event), (gst_queue_chain),
6892 (gst_queue_push_one), (gst_queue_handle_src_query),
6893 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6894 * plugins/elements/gstqueue.h:
6895 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6896 push more buffers but allow pushing of EOS and NEWSEGMENT.
6897 Add some more debug info here and there. Fixes #476514.
6899 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6901 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6902 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6903 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6904 (gst_base_sink_set_flushing), (gst_base_sink_query),
6905 (gst_base_sink_change_state):
6906 Latency query is allowed after we are prerolled. Introduce a new flag
6907 for this and stop abusing other variables.
6909 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6911 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6912 Push OOB events downstream when we get them in send_event. This allows
6913 the application to insert events in the pipeline.
6914 Add some more comments.
6916 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6918 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6919 (do_bin_latency), (gst_bin_change_state_func):
6920 * gst/gstpipeline.c: (gst_pipeline_change_state):
6921 Move latency query from GstPipeline to GstBin so that we can also
6922 use it when async-handling is enabled on bins.
6924 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6926 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6927 (gst_base_src_do_sync), (gst_base_src_change_state):
6929 Clean up the timestamping and syncing code for pseudo live sources.
6931 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6933 Patch by: Steve Fink <sphink gmail com>
6935 * docs/manual/appendix-checklist.xml:
6936 Mention less -R switch in the section about debug output (#474055).
6938 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6940 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6941 Queue can latency to the pipeline up to the configured max size in time.
6942 Report this fact in the latency query.
6944 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6946 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6948 * libs/gst/controller/gstinterpolation.c:
6949 * libs/gst/controller/gstlfocontrolsource.c:
6950 Use gst_guint64_to_gdouble() when converting from a uint64 or
6951 GstClockTime to double to fix the build on win32. Fixes #474371.
6953 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6955 * gst/gstbuffer.c: (gst_buffer_finalize):
6956 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6957 When finalizing a buffer the complete struct is filled with 0xff,
6958 thus making a use of the buffer after the final unref impossible.
6960 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6962 * tests/check/libs/controller.c: (GST_START_TEST):
6963 Use fail_unless_equals_int(a, b) instead of
6964 fail_unless_equals (a == b) to get better output on failures.
6966 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6968 * tests/check/gst/gsturi.c:
6969 Also check for the other file URI variant on win32.
6971 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6973 * gst/gsturi.c: (gst_uri_get_location):
6974 If there's no hostname, we want to return 'c:/foo/bar.txt'
6975 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6977 * tests/check/gst/gsturi.c:
6978 Unit test for the above and a few more things.
6980 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6982 * docs/design/part-live-source.txt:
6983 Add docs on how live sources should timestamp.
6985 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6986 Add some more debug info.
6987 For subclasses that are live and like to sync, add aditional startup
6988 latency to sync time and timestamps so that we timstamp according to the
6991 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6994 Also do a g_type_class_ref() for the subbuffer type in
6997 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6999 * docs/gst/gstreamer-sections.txt:
7000 * gst/gstpad.c: (gst_pad_peer_query):
7002 Add function to perform a query on the peer of a pad.
7003 API: gst_pad_peer_query()
7005 2007-09-11 Stefan Kost <ensonic@users.sf.net>
7007 * tests/check/gst/gstsystemclock.c:
7008 Cleanup the test a little (use gst-logging and not g_message). Improve
7009 test to check if a wait reached the target.
7011 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
7013 * docs/libs/gstreamer-libs-sections.txt:
7014 Add new API to docs and fix the build.
7016 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
7018 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7019 (gst_base_src_init), (gst_base_src_set_do_timestamp),
7020 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7021 (gst_base_src_get_property), (gst_base_src_do_sync):
7022 * libs/gst/base/gstbasesrc.h:
7023 Add property to make the basesrc timestamp buffers based on the current
7025 API: GstBaseSrc::do-timestamp
7026 API: gst_base_src_set_do_timestamp()
7027 API: gst_base_src_get_do_timestamp()
7029 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
7031 * docs/random/release:
7032 Really make sure translations are up-to-date before
7033 a release (#465010).
7035 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
7037 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7038 Always destroy the timer, also in error cases.
7040 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
7042 * docs/manual/highlevel-xml.xml:
7043 Fix XML example code. Fixes #472714.
7045 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
7047 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7048 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7049 (gst_base_sink_query):
7050 Protect eos and have_preroll with the OBJECT lock so we don't need to
7051 take the PREROLL lock when querying the latency. Fixes #473846.
7053 2007-09-05 Stefan Kost <ensonic@users.sf.net>
7056 Give some log-messages a category.
7058 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
7060 * gst/gststructure.c:
7061 (gst_structure_fixate_field_nearest_fraction):
7062 Fix fraction list fixation code. Take the fraction with the smallest
7063 difference with the target instead of the first one in the list.
7065 * tests/check/gst/gststructure.c: (GST_START_TEST),
7066 (gst_structure_suite):
7067 Added test to verify correct fraction list fixation behaviour.
7069 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
7071 * win32/common/libgstreamer.def:
7072 Export gst_bus_add_signal_watch too.
7074 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
7076 * docs/libs/gstreamer-libs-sections.txt:
7077 Add new methods to docs.
7079 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7080 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7081 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7082 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7083 * libs/gst/base/gstbasesink.h:
7084 Add ts-offset property to fine-tune the synchronisation.
7085 API: GstBaseSink::ts-offset property
7086 API: gst_base_sink_set_ts_offset()
7087 API: gst_base_sink_get_ts_offset()
7089 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
7091 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7092 (gst_base_sink_init), (gst_base_sink_set_sync),
7093 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7094 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7095 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7096 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7097 (gst_base_sink_get_property), (gst_base_sink_change_state):
7098 * libs/gst/base/gstbasesink.h:
7099 Add async property to instruct the sink never to inform the parent about
7100 ASYNC state changes, update docs.
7101 Check argument with g_return_* for the public functions.
7102 API: GstBaseSink::async property
7103 API: gst_base_sink_set_async_enabled()
7104 API: gst_base_sink_is_async_enabled()
7106 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
7108 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7111 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7112 (gst_base_src_default_query), (gst_base_src_wait),
7113 (gst_base_src_do_sync), (gst_base_src_change_state):
7114 Rearrange some code so that we can add support for measuring the
7117 2007-08-27 Stefan Kost <ensonic@users.sf.net>
7119 * docs/random/ensonic/dynlink.txt:
7120 More thoughs on this.
7122 * plugins/elements/gstcapsfilter.c:
7123 Add bugzilla ticket number to FIXME comment.
7125 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
7127 * docs/design/part-TODO.txt:
7128 * docs/design/part-block.txt:
7131 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7134 Revert patch which uses $(gst_headers) instead of $^ because it
7137 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7139 * tests/check/gst/gstbin.c: (GST_START_TEST):
7140 Fix leaks in the new unit test.
7142 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7145 Don't use GST_INFO before the debug system is actually initialised
7146 (shouldn't do any harm, but won't print anything either, so we can
7147 just as well remove it).
7150 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7151 compilers that don't support variadic macros (such as MSVC), should
7152 check for debug_level <= __gst_debug_min as well, since that's the
7153 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7154 inline helper functions. Should improve performance a bit, but also
7155 makes sure uses of GST_INFO et.al are ignored if the debugging
7156 system isn't initialised yet (instead of printing an assertion
7159 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7161 patch by: David Nečas <yeti@physics.muni.cz>
7164 Replace some non portable makefile constructs.
7166 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7168 * common/gtk-doc-plugins.mak:
7169 Grrrrr. Don't remove the types file on make clean.
7171 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7173 * tools/gst-launch.1.in:
7174 Add colorspace to example pipeline. Fixes #458274.
7176 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7178 * docs/random/release:
7179 The release manager should run 'make download-po' before making a
7180 release to make sure translations are up-to-date.
7186 Add some new translations.
7188 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7190 * tools/gst-launch.c: (event_loop), (main):
7191 Don´t try to do any state management when a live pipeline posts
7193 Also make the buffering string translatable.
7195 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7197 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7198 (bin_handle_async_start), (gst_bin_handle_message_func):
7200 When adding elements, insert messages into the bus of the newly added
7201 element and make sure the element is the source of the message. This
7202 allows the parent bin to intercept the message and do the
7203 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7204 messages to the app (which is not allowed).
7207 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7208 Fix testsuite so that is does not work around messages that should not
7209 have been posted in the first place.
7211 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7213 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7214 (update_degree), (gst_bin_sort_iterator_next):
7215 Fix annoying bug in the sorted iterator where a sink that is not really
7216 a sink (when it has downstream links) screwed up the iterator.
7218 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7219 Unit test to verify the fix.
7221 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7224 Add some more docs for the messages.
7226 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7227 (gst_base_sink_query):
7228 Add some more debugging.
7230 * tools/gst-launch.c: (event_loop):
7231 When interrupting, don't try to set pipeline to PAUSED twice.
7233 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7236 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7237 (bin_handle_async_start), (gst_bin_handle_message_func):
7238 Move ASYNC_START message posting to where it belongs, similar to
7240 Don't post ASYNC_START when we are in error.
7241 Post ASYNC_START when we added an async element to a bin.
7243 2007-08-14 Julien MOUTTE <julien@moutte.net>
7245 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7246 generation from vargs. Fixes #466595.
7248 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7250 * gst/gstbin.c: (gst_bin_element_set_state):
7251 Always change the state of a NO_PREROLL element even if it has ASYNC
7252 elements inside (in case of a bin).
7254 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7255 Unit test for this case.
7257 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7259 * libs/gst/check/gstbufferstraw.c:
7260 * libs/gst/check/gstcheck.h:
7261 * libs/gst/controller/gstcontroller.c:
7262 * libs/gst/controller/gstcontrolsource.h:
7263 * libs/gst/controller/gstlfocontrolsource.h:
7264 * plugins/elements/gstcapsfilter.h:
7265 * plugins/elements/gstfdsink.h:
7266 * plugins/elements/gstfdsrc.h:
7267 Add more missing docs.
7269 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7271 * gst/gststructure.c:
7272 Add Since tag to docs.
7274 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7276 * docs/gst/gstreamer-sections.txt:
7277 * gst/gststructure.c: (gst_structure_get_uint):
7278 * gst/gststructure.h:
7279 Add function to get uint from a structure.
7280 API: gst_structure_get_uint()
7282 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7284 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7285 (gst_caps_intersect):
7286 Fix proper check for simple caps.
7288 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7290 * docs/gst/Makefile.am:
7291 * docs/libs/Makefile.am:
7292 Remove cruft and do some cleanups.
7294 * docs/gst/gstreamer-docs.sgml:
7295 * docs/libs/gstreamer-libs-docs.sgml:
7296 Prepare for comming gtkdoc features (rebase against online docs).
7298 2007-08-10 Michael Smith <msmith@fluendo.com>
7300 * docs/gst/gstreamer-sections.txt:
7301 Add gst_registry_add_path to docs.
7303 2007-08-10 Michael Smith <msmith@fluendo.com>
7305 * gst/gstregistry.h:
7306 Add gst_registry_add_path, which was missing from this header.
7308 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7310 * libs/gst/controller/gstlfocontrolsource.c:
7313 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7315 * libs/gst/base/gstbasesink.c:
7316 Don't send an async_start message during downwards state change if
7317 target state is less than READY
7319 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7321 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7325 Added Hungarian translation.
7327 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7334 Updated translations.
7336 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7338 * libs/gst/controller/Makefile.am:
7339 Dist gstlfocontrolsourceprivate.h
7341 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7343 * docs/libs/gstreamer-libs.types:
7344 Don't register the enum type gst_lfo_waveform_get_type() in the
7345 .types file - only GObject derived types belong.
7347 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7349 Patch by: <arenevier at fdn dot fr>
7352 Remove comma from last element in enum to avoid compile errors when
7353 using -pendantic. Fixes #464366.
7355 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7357 * docs/design/part-TODO.txt:
7358 Add some more TODO items
7360 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7363 * gst/gstcaps.c: (gst_caps_intersect):
7364 Optimize trivial intersection case between identical caps pointers.
7366 * gst/gstelement.c: (gst_element_continue_state),
7367 (gst_element_set_state_func):
7369 Fix spelling and grammar mistakes.
7371 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7375 Update POTFILES. Fixes #461599.
7377 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7380 Fix confusing typo in debug output.
7382 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7384 reviewed by: Stefan Kost <ensonic@users.sf.net>
7386 * libs/gst/controller/Makefile.am:
7387 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7388 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7389 (gst_lfo_control_source_new),
7390 (gst_lfo_control_source_set_waveform),
7391 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7392 (gst_lfo_control_source_finalize),
7393 (gst_lfo_control_source_dispose),
7394 (gst_lfo_control_source_set_property),
7395 (gst_lfo_control_source_get_property),
7396 (gst_lfo_control_source_class_init):
7397 * libs/gst/controller/gstlfocontrolsource.h:
7398 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7399 API: Add GstLFOControlSource, a control source that gives values
7400 for specific timestamps based on several periodic waveforms.
7403 * tests/check/libs/controller.c: (GST_START_TEST),
7404 (gst_controller_suite):
7405 * docs/libs/gstreamer-libs-docs.sgml:
7406 * docs/libs/gstreamer-libs-sections.txt:
7407 * docs/libs/gstreamer-libs.types:
7408 Add documentation and unit tests for GstLFOControlSource.
7410 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7415 === release 0.10.14 ===
7417 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7420 releasing 0.10.14, "Breathing Vacuum"
7422 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7424 * gst/gstelement.c: (gst_element_class_set_details_simple):
7426 Make strings passed to gst_element_class_set_details_simple()
7427 constant, as they should be (#462752).
7429 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7431 * gst/gstbin.c: (gst_bin_change_state_func),
7432 (bin_handle_async_done), (gst_bin_handle_message_func):
7433 Don't forget about the fact that some element went ASYNC even after a
7434 resync. This makes us post the ASYNC_DONE message correctly.
7437 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7439 * gst/gstregistry.c: (gst_registry_add_feature):
7440 When replacing an existing feature in the registry, make sure to
7441 continue holding a reference until we've replaced the name string
7442 within our feature hash table. Make sure to use g_hash_table_replace
7443 instead of g_hash_table_insert to ensure the new name string is used
7444 as a key instead of the old one that we're about to free.
7447 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7449 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7450 (gst_plugin_feature_set_name):
7451 Revert patch from #459466 until after the release and we can work
7452 out exactly what the problem is (if any).
7454 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7456 * docs/gst/gstreamer-sections.txt:
7459 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7461 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7463 * docs/libs/Makefile.am:
7464 Include our build-prefix libs and includes before the generic ones to
7465 avoid linking against the installed libs when we want the build-tree
7468 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7470 Patch by: Steve Fink <sphink gmail com>
7472 * docs/pwg/building-testapp.xml:
7473 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7474 if people try to build or install the example from the plugin
7475 template against a GStreamer from package using the configure
7478 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7480 Patch by: Steve Fink <sphink gmail com>
7482 * tools/gst-inspect.1.in:
7483 Document --print-all and --print-plugin-auto-install-info command
7484 line options in man page.
7486 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7488 * docs/gst/gstreamer-sections.txt:
7489 Add docs for new api function.
7491 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7493 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7494 * gst/gstelementfactory.h:
7495 API: gst_element_factory_has_interface()
7496 Added method to check if an element factory implements a named
7499 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7502 * docs/gst/gstreamer.types.in:
7503 Another conditional doc check.
7506 * gst/gstparamspecs.h:
7507 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7512 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7514 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7515 (gst_registry_binary_load_feature),
7516 (gst_registry_binary_load_plugin),
7517 (gst_registry_binary_read_cache):
7518 Print error just once and with additional info.
7520 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7522 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7523 (helper_find_suggest), (helper_find_get_length),
7524 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7525 (gst_type_find_helper_for_buffer):
7526 Cleanup the typefindhelper code and add private doc comments.
7528 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7530 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7531 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7532 Fix capsfilter for cases where the caps set on capsfilter will provide
7533 additional information.
7536 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7538 * gst/gsttypefindfactory.c:
7539 Fix docs that recommened wrong function to use.
7541 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7543 * tools/gst-inspect.c: (print_plugin_features):
7544 Also give media-type for typefinders in element output.
7546 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7548 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7549 (gst_registry_remove_features_for_plugin_unlocked),
7550 (gst_registry_add_feature), (gst_registry_remove_feature),
7551 (gst_registry_lookup_feature_locked):
7552 * gst/gstregistry.h:
7553 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7556 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7558 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7559 (gst_plugin_feature_set_name):
7560 Avoid double memory usage for pluginfeature names. Fixes #459466.
7562 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7565 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7566 driving the pipeline may need to explicitly check for NOT_LINKED as
7567 well, since IS_FATAL doesn't cover that.
7569 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7571 * docs/pwg/advanced-types.xml:
7572 Fix typo and duplicate entry in video formats list.
7574 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7576 * libs/gst/controller/gstinterpolation.c:
7577 Also round to the nearest int when using cubic interpolation.
7579 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7581 * libs/gst/controller/gstinterpolation.c:
7582 When linearly interpolating integer types, round to the nearest int
7583 by adding 0.5. Don't do it for float/double types.
7584 Fixes the failing controller test on my machine, which is somehow
7585 rounding differently than on the buildbots.
7587 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7589 * tools/gst-plot-timeline.py:
7590 Better log parsing (categories can have -). Adjust text vs. lines, so
7591 that they span the same y-range.
7593 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7595 * docs/random/ensonic/audiobaseclasses.txt:
7596 * docs/random/ensonic/dynlink.txt:
7597 * docs/random/ensonic/profiling.txt:
7600 * docs/random/moving-plugins:
7601 Add note to use g_assert type macros.
7603 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7606 * libs/gst/check/Makefile.am:
7607 Add libm check as we use in for plugins.
7609 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7611 * gst/gstbin.c: (gst_bin_continue_func):
7612 Check that the state_cookie hasn't changed since the continue_func
7613 was scheduled. Avoids problems where the state changes back to
7614 something it shouldn't be because it was changed in the meantime.
7616 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7618 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7619 (gst_registry_binary_save_string),
7620 (gst_registry_binary_save_pad_template),
7621 (gst_registry_binary_save_feature),
7622 (gst_registry_binary_save_plugin),
7623 (gst_registry_binary_load_feature),
7624 (gst_registry_binary_load_plugin),
7625 (gst_registry_binary_read_cache):
7626 Fix memory leak. Be less verbose in the log.
7628 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7630 * tests/check/elements/.cvsignore:
7631 Add file to cvsignore as commanded.
7633 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7635 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7636 (mq_dummypad_event), (run_output_order_test):
7637 Use a GStaticMutex to protect all cases where libcheck
7638 fail_if/fail_unless macros might be called from multiple threads
7639 simultaneously to avoid errors like:
7640 "check_pack.c:107: :-1081725400:Bad message type arg"
7642 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7644 * tests/check/pipelines/stress.c: (GST_START_TEST):
7645 Make sure we set the pipeline back to the NULL state before
7646 dropping our final reference.
7648 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7650 * tests/check/elements/tee.c: (GST_START_TEST):
7651 Make the tee stress-test a little less stressful so it doesn't just
7652 time out on slow-machines, and remove a small race when it's starting
7653 up by adding a get_state() call.
7655 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7658 Avoid reading registry twice on startup. Fixes #457322.
7660 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7662 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7663 * pkgconfig/gstreamer-check.pc.in:
7664 Substitute the CFLAGS for libcheck into our .pc file too so that
7665 dependent modules will pick it up properly if libcheck is installed
7666 into some other prefix.
7668 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7671 Revert the pkg-config check for libcheck, since it pulls in the
7672 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7673 a proper solution, either from the check project, or something else.
7675 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7678 Use pkg-config to locate check.
7680 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7687 Add deprecation guards.
7689 * libs/gst/base/gstcollectpads.h:
7690 Don't document object (this is implicitly private).
7692 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7694 * gst/gststructure.c: (gst_structure_parse_value):
7695 When deserialising foo=bar without a type cast, check if it's a
7696 boolean before falling back to a string type, otherwise things like
7697 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7698 because the filtercaps end up having a signed=(string)true field,
7699 which causes problems later when intersection caps.
7701 * tests/check/gst/gststructure.c: (GST_START_TEST):
7702 Add a unit test for this.
7704 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7706 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7708 * libs/gst/controller/Makefile.am:
7709 * libs/gst/controller/gstcontroller.c:
7710 (gst_controlled_property_add_interpolation_control_source),
7711 (gst_controlled_property_new), (gst_controlled_property_free),
7712 (gst_controller_find_controlled_property),
7713 (gst_controller_new_valist), (gst_controller_new_list),
7714 (gst_controller_new), (gst_controller_remove_properties_valist),
7715 (gst_controller_remove_properties_list),
7716 (gst_controller_remove_properties),
7717 (gst_controller_set_property_disabled),
7718 (gst_controller_set_disabled), (gst_controller_set_control_source),
7719 (gst_controller_get_control_source), (gst_controller_get),
7720 (gst_controller_sync_values), (gst_controller_get_value_array),
7721 (_gst_controller_dispose), (gst_controller_get_type),
7722 (gst_controlled_property_set_interpolation_mode),
7723 (gst_controller_set), (gst_controller_set_from_list),
7724 (gst_controller_unset), (gst_controller_unset_all),
7725 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7726 * libs/gst/controller/gstcontroller.h:
7727 * libs/gst/controller/gstcontrollerprivate.h:
7728 * libs/gst/controller/gstcontrolsource.c:
7729 (gst_control_source_class_init), (gst_control_source_init),
7730 (gst_control_source_get_value),
7731 (gst_control_source_get_value_array), (gst_control_source_bind):
7732 * libs/gst/controller/gstcontrolsource.h:
7733 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7734 (gst_object_get_control_source):
7735 * libs/gst/controller/gstinterpolation.c:
7736 (gst_interpolation_control_source_find_control_point_node),
7737 (gst_interpolation_control_source_get_first_value),
7738 (_interpolate_none_get), (interpolate_none_get),
7739 (interpolate_none_get_boolean_value_array),
7740 (interpolate_none_get_enum_value_array),
7741 (interpolate_none_get_string_value_array),
7742 (_interpolate_trigger_get), (interpolate_trigger_get),
7743 (interpolate_trigger_get_boolean_value_array),
7744 (interpolate_trigger_get_enum_value_array),
7745 (interpolate_trigger_get_string_value_array):
7746 * libs/gst/controller/gstinterpolationcontrolsource.c:
7747 (gst_control_point_free), (gst_interpolation_control_source_reset),
7748 (gst_interpolation_control_source_new),
7749 (gst_interpolation_control_source_set_interpolation_mode),
7750 (gst_interpolation_control_source_bind),
7751 (gst_control_point_compare), (gst_control_point_find),
7752 (gst_interpolation_control_source_set_internal),
7753 (gst_interpolation_control_source_set),
7754 (gst_interpolation_control_source_set_from_list),
7755 (gst_interpolation_control_source_unset),
7756 (gst_interpolation_control_source_unset_all),
7757 (gst_interpolation_control_source_get_all),
7758 (gst_interpolation_control_source_get_count),
7759 (gst_interpolation_control_source_init),
7760 (gst_interpolation_control_source_finalize),
7761 (gst_interpolation_control_source_dispose),
7762 (gst_interpolation_control_source_class_init):
7763 * libs/gst/controller/gstinterpolationcontrolsource.h:
7764 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7765 API: Refactor GstController into the core controller which can take
7766 a GstControlSource for providing actual values for timestamps.
7767 Implement a interpolation control source and use this for backward
7768 compatibility, deprecate a bunch of functions that are now handled
7769 by GstControlSource or GstInterpolationControlSource.
7770 Make it possible to disable the controller completely or only for
7771 specific properties. Fixes #450711.
7772 * docs/libs/gstreamer-libs-docs.sgml:
7773 * docs/libs/gstreamer-libs-sections.txt:
7774 * docs/libs/gstreamer-libs.types:
7775 Add new functions and classes to the docs.
7776 * tests/check/libs/controller.c: (GST_START_TEST),
7777 (gst_controller_suite):
7778 * tests/examples/controller/audio-example.c: (main):
7779 Port unit test and example to the new API and add some new
7782 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7784 Patch by: Mark Nauwelaerts <manauw at skynet be>
7786 * plugins/elements/gstmultiqueue.c:
7787 (gst_multi_queue_get_internal_links), (apply_buffer),
7788 (single_queue_overrun_cb), (gst_single_queue_new):
7789 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7790 the pipeline layout can be tracked correctly. Fixes #453732.
7792 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7794 * docs/gst/Makefile.am:
7795 * docs/libs/Makefile.am:
7796 * docs/plugins/Makefile.am:
7797 Simplify --extra-dir as gtkdoc scans recursively.
7799 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7801 * tools/gst-launch.c: (main):
7802 When we got an error, there is no point in waiting for preroll when
7805 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7807 * plugins/elements/gsttee.c: (gst_tee_base_init),
7808 (gst_tee_request_new_pad), (gst_tee_release_pad),
7809 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7810 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7812 Be a lot smarter when deciding what srcpad to use for proxying
7813 the buffer_alloc. Also handle pad added/removed when doing so.
7815 Keep track of what pads we already pushed on in case we have pads
7816 added/removed while pushing. Fixes #374639
7818 * tests/check/Makefile.am:
7819 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7821 Added unit test for pad resync.
7823 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7827 Updated translations.
7829 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7831 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7835 Added new Finnish translation.
7837 2007-06-28 Wim Taymans <wim@fluendo.com>
7839 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7840 (single_queue_overrun_cb):
7841 When figuring out when a queue is filled, use our internal time estimate
7842 based on segments, just like check_full does.
7844 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7846 * gst/gstminiobject.c: (gst_mini_object_get_type):
7847 Remove 3 do-nothing methods.
7849 2007-06-27 Wim Taymans <wim@fluendo.com>
7851 Patch by: Tim Angus <tim at ngus dot net>
7853 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7854 (gst_capsfilter_set_property):
7855 Take a reference instead of a copy when setting "caps".
7856 Fix documentation to clarify this behaviour. Fixes #449414.
7858 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7860 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7861 * gst/gstplugin.c: (gst_plugin_init):
7862 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7863 * gst/gstquery.c: (gst_query_get_type):
7864 * gst/gstregistry.c: (gst_registry_init):
7865 * gst/gsturi.c: (gst_uri_handler_base_init):
7866 Remove empty instance_init() functions to save relocs and lessen the
7867 noise. Remove some of the function prototypes that are doubled by
7870 2007-06-27 Wim Taymans <wim@fluendo.com>
7872 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7874 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7875 Add peer and direction in the XML serialisation of ghostpads.
7878 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7881 Preserve useful information, thanks Tim.
7883 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7885 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7886 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7887 (gst_single_queue_push_one), (gst_multi_queue_loop),
7888 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7889 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7890 (compute_high_id), (gst_single_queue_new):
7891 * plugins/elements/gstmultiqueue.h:
7892 Take the multiqueue lock when updating the fill level so we don't get
7895 After applying a buffer or event on the src pad segment, make sure to
7896 call gst_data_queue_limits_changed() to get the data queue to unblock
7897 and check the filled state again.
7899 Rework the not-linked pad handling so the logic is that not-linked
7900 pads can push as fast as they like, but only so they never get
7901 ahead of any linked pads.
7903 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7904 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7905 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7907 Add a test to check that not-linked pads always stay behind
7912 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7914 * docs/random/release:
7915 Some updates to the release procedure.
7917 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7919 * gst/gstelementfactory.c: (__gst_element_details_clear):
7920 Microoptimization that saves stunning 80 bytes.
7922 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7924 * docs/plugins/gstreamer-plugins.args:
7925 * docs/plugins/inspect/plugin-coreelements.xml:
7926 * docs/plugins/inspect/plugin-coreindexers.xml:
7927 Update docs with caps info.
7929 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7932 Updated Italian translation.
7934 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7938 Update Vietnamese translations.
7940 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7942 * libs/gst/base/gstbasesink.c:
7943 Remove unused signal enum.
7945 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7947 * docs/gst/gstreamer-sections.txt:
7949 * gst/gstutils.c: (gst_type_register_static_full):
7950 Beef up and include the docs for gst_type_register_static_full and
7951 gst_element_class_set_details_simple and add the API keyword
7954 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7956 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7957 (update_time_level), (gst_single_queue_push_one),
7958 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7959 (single_queue_overrun_cb), (single_queue_underrun_cb),
7960 (single_queue_check_full):
7961 Fix setting max-* properties after adding queues.
7962 Use IS_FILLED for checking visible items.
7963 Signal overrun if multiple queues overrun.
7964 Add extra debug output.
7965 Patch by: Wim Taymans <wim@fluendo.com>
7967 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7969 * gst/gstelement.c: (gst_element_class_set_details_simple):
7971 * gst/gstutils.c: (gst_type_register_static_full):
7973 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7974 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7975 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7976 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7977 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7978 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7979 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7980 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7981 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7982 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7983 (apply_buffer), (gst_queue_chain):
7984 * plugins/elements/gsttee.c: (gst_tee_base_init):
7985 * plugins/elements/gsttypefindelement.c:
7986 (gst_type_find_element_base_init),
7987 (gst_type_find_element_class_init):
7988 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7989 API: add gst_type_register_static_full
7990 API: add gst_element_class_set_details_simple
7992 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7994 * docs/pwg/advanced-types.xml:
7995 Fix typo in iana.org URI.
7997 2007-06-19 Andy Wingo <wingo@pobox.com>
7999 * tests/check/pipelines/simple-launch-lines.c
8000 (test_state_change_returns): Enable pull-mode tests now that
8001 basesink has been fixed.
8003 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8004 Changed from gst_base_sink_is_prerolled, reversing the sense of
8005 the return value. Returns FALSE also if the sink is in pull mode,
8006 in which case it needs no preroll.
8007 (gst_base_sink_query, gst_base_sink_change_state): Update for
8008 needs_preroll change.
8009 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8010 chaining up, in which we return SUCCESS directly if we activated
8011 in pull mode instead of ASYNC. Involves countering an async_start
8012 message sent before chaining up; not sure if this is correct, in
8013 an ideal world we only send async-start when activating in push
8016 * tests/check/pipelines/simple-launch-lines.c
8017 (test_state_change_returns): New test, partially disabled until
8020 2007-06-19 Wim Taymans <wim@fluendo.com>
8022 * plugins/elements/gstmultiqueue.c: (apply_buffer),
8023 (gst_multi_queue_sink_event):
8026 2007-06-19 Wim Taymans <wim@fluendo.com>
8028 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8029 (gst_bin_change_state_func), (bin_push_state_continue),
8030 (bin_handle_async_start), (bin_handle_async_done),
8031 (gst_bin_handle_message_func):
8032 Move the common code for posting state-change messages into
8034 Broadcast the state signal after we posted the messages.
8035 Mark the bin as busy when it's doing a state-change.
8036 Make sure async-start/done messages don't interfere with the bin's
8037 state when it's busy.
8038 After the state change, let the bin check which elements completed the
8039 state change while it was busy so that it can update its state.
8041 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
8043 * docs/random/release:
8044 Add a note about updating the doap file to the release checklist
8046 2007-06-18 Wim Taymans <wim@fluendo.com>
8048 * plugins/elements/gstmultiqueue.c: (apply_buffer),
8049 (gst_single_queue_push_one), (gst_multi_queue_chain),
8050 (gst_multi_queue_sink_event):
8051 Make sure we don't reference the buffer/event after we have given away
8052 ownership in the queue.
8054 2007-06-18 Wim Taymans <wim@fluendo.com>
8056 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8057 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8058 Update queue state _after_ adding the item in the queue because else we
8059 could end up being full without the element added yet.
8061 2007-06-18 Wim Taymans <wim@fluendo.com>
8063 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8064 (gst_bin_remove_func), (gst_bin_get_state_func),
8065 (gst_bin_element_set_state), (gst_bin_continue_func),
8066 (bin_push_state_continue), (bin_handle_async_start),
8067 (bin_handle_async_done), (gst_bin_handle_message_func):
8069 Immediatly commit the toplevel bin state when receiving an async-done
8070 message. This enables us to avoid spawning a thread to commit the state
8071 in some common cases and it also avoids some races.
8072 Avoid spawning a state thread when adding/removing async elements to a
8073 toplevel bin. Instead we immediatly update the bin state.
8074 Get rid of iterating all the children when getting the state in the bin
8075 because it is now always up-to-date.
8076 Fix bug where locked elements would always return _SUCCESS even it they
8077 returned NO_PREROLL before being locked.
8078 Fix the order of the state_change, async-start/done messages that was
8079 sometimes incorrect.
8080 Mark the state_dirty field as deprecated, we don't need it anymore as we
8081 are always up-to-date.
8083 * gst/gstelement.c: (gst_element_get_state_func),
8084 (gst_element_continue_state):
8085 Small debug inprovements.
8086 Return the previous element state return when nothing is pending instead
8087 of blindly returning SUCCESS.
8089 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8091 Add a whole bunch of new testcases.
8093 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
8097 Update translations.
8099 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
8102 Fix typo in the docs.
8104 2007-06-15 Wim Taymans <wim@fluendo.com>
8106 * docs/libs/gstreamer-libs-sections.txt:
8107 Add docs for new methods.
8109 2007-06-15 Wim Taymans <wim@fluendo.com>
8111 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8112 (gst_multi_queue_item_new):
8113 Don't use GSlice because we don't depend on >= 2.10 yet.
8115 2007-06-15 Wim Taymans <wim@fluendo.com>
8117 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8118 (update_time_level), (apply_segment), (apply_buffer),
8119 (gst_single_queue_push_one), (gst_multi_queue_item_new),
8120 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8121 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8122 (single_queue_underrun_cb), (single_queue_check_full):
8123 Remove debug printf.
8125 2007-06-15 Wim Taymans <wim@fluendo.com>
8127 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8128 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8129 (gst_data_queue_set_flushing), (gst_data_queue_push),
8130 (gst_data_queue_pop), (gst_data_queue_drop_head),
8131 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8132 * libs/gst/base/gstdataqueue.h:
8134 Added methods to get the current levels and to inform the queue that the
8135 'full' limits changed.
8137 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8138 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8139 (gst_single_queue_flush), (update_time_level), (apply_segment),
8140 (apply_buffer), (gst_single_queue_push_one),
8141 (gst_multi_queue_item_steal_object),
8142 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8143 (gst_multi_queue_loop), (gst_multi_queue_chain),
8144 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8145 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8146 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8147 (single_queue_underrun_cb), (single_queue_check_full),
8148 (gst_single_queue_new):
8149 Keep track of time in the queue by measuring the difference between
8150 running_time on input and output. This gives more accurate results and
8151 can compensate for segments correctly.
8152 Make a queue by default only 5 buffers deep. We will now increase the
8153 buffer size depending on the filledness of the other queues.
8154 Factor out commong flush code.
8155 Make sure we don't add additional refcounts to buffers when we can avoid
8157 Propagate GstFlowReturn differently.
8158 Use GSlice for intermediate GstMultiQueueItems.
8160 Resize queues on over and underruns based on filled level of other
8162 When checking if the queue is filled, prefer to measure in time if we
8163 can and fall back to bytes when no time is known.
8165 * plugins/elements/gstqueue.c:
8168 2007-06-15 Wim Taymans <wim@fluendo.com>
8170 * libs/gst/base/gstbasetransform.c:
8171 (gst_base_transform_sink_event):
8172 Work around the brokenness of the event vmethod in basetransform. Prefer
8173 to return TRUE when the subclass returned FALSE (meaning don't forward
8176 * libs/gst/base/gstbasetransform.h:
8179 2007-06-15 Wim Taymans <wim@fluendo.com>
8181 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8182 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8183 (gst_base_src_default_query), (gst_base_src_get_range),
8184 (gst_base_src_start):
8185 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8188 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8190 * docs/pwg/advanced-types.xml:
8191 Added more formats to caps table.
8193 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8195 * tools/gst-launch.c: (main):
8196 Remove crufy code. GOption does not need this workaround.
8198 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8200 * libs/gst/controller/gstcontroller.c:
8201 (gst_controlled_property_set_interpolation_mode):
8202 Fix wrong getter for enums in controller.
8204 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8206 * libs/gst/check/gstcheck.c: (gst_check_init):
8207 Intercept criticals and warnings in the Gst-Phonon log domain, so
8208 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8211 2007-06-14 Edward Hervey <edward@fluendo.com>
8213 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8214 Since this file doesn't include "gst.h" it will not go through the
8215 macros that disable GST_LOG if debugging was disabled.
8217 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8219 * libs/gst/check/Makefile.am:
8220 * libs/gst/check/gstcheck.h:
8221 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8222 * pkgconfig/gstreamer-check.pc.in:
8223 Ugly 'fix' for the controller unit test on the p5 bot: in
8224 fail_unless_equals_float() check whether the values are 'almost
8225 equal' by allowing a small absolute error, which should be good
8226 enough for our use cases (normal numbers and values close to 0).
8227 Proper fixage left to floating point arithmetic aficionados.
8229 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8231 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8232 (gst_base_sink_render_object), (gst_base_sink_get_position):
8233 Add two breaks thats where missing.
8235 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8237 * docs/libs/gstreamer-libs-sections.txt:
8238 * libs/gst/check/gstcheck.h:
8239 API: add fail_unless_equals_float() and assert_equals_float().
8240 Add documentation for some of the macros.
8242 * tests/check/libs/controller.c: (GST_START_TEST):
8243 Use newly-added asserts.
8245 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8247 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8248 Show the caps change in the log to help spotting the case of not
8249 exactly matching caps.
8251 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8253 * docs/pwg/building-boiler.xml:
8254 Fix typos, spotted by Thijs Vermeir (#447190).
8256 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8258 * docs/plugins/tmpl/.cvsignore:
8259 Ignore file to keep the buildbots happy
8261 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8263 * docs/plugins/Makefile.am:
8264 * docs/plugins/gstreamer-plugins-docs.sgml:
8265 * docs/plugins/gstreamer-plugins-sections.txt:
8266 Pull fdsink into the docs too.
8268 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8270 * libs/gst/controller/gstinterpolation.c:
8271 Actually use the new functions with min/max checks for the trigger and
8272 none interpolation modes for get() and get_value_array() instead of
8275 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8277 * libs/gst/controller/gstcontroller.c:
8278 (gst_controlled_property_free):
8279 Unset the minimum and maximum GValues when freeing the corresponding
8280 GstControllerProperty struct.
8282 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8284 * libs/gst/controller/gstcontroller.c:
8285 (gst_controlled_property_new):
8286 * libs/gst/controller/gstcontrollerprivate.h:
8287 * libs/gst/controller/gstinterpolation.c:
8288 (gst_controlled_property_find_control_point_node),
8289 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8290 (interpolate_none_get_string_value_array),
8291 (interpolate_trigger_get),
8292 (interpolate_trigger_get_enum_value_array),
8293 (interpolate_trigger_get_string_value_array):
8294 Protect against values larger or smaller than the minimum or maximum
8295 allowed value for the property when using values that can be compared.
8297 Optimize trigger interpolator a bit by taking the last requested value
8298 into account instead of always looping through the complete list.
8300 Fix coding style a bit, everywhere else we use "return foo" instead
8303 * tests/check/libs/controller.c: (GST_START_TEST),
8304 (gst_controller_suite):
8305 Add unit test for the protection against too large or too small
8308 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8310 * docs/random/slomo/controller.txt:
8311 Add some thoughts about the future of the controller.
8313 2007-06-08 Wim Taymans <wim@fluendo.com>
8315 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8316 Don't overflow in retimestamping code.
8318 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8320 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8321 Use gst_util_guint64_to_gdouble for conversions.
8322 * win32/common/libgstreamer.def:
8323 Add new exported functions.
8325 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8328 Small docs addition.
8330 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8333 Remove that test line again.
8335 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8338 Test commit mail sending.
8340 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8343 Fix typo and test commit mail sending.
8345 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8347 * tests/examples/controller/audio-example.c:
8348 Improve comment and test commit mail sending.
8350 2007-06-07 Wim Taymans <wim@fluendo.com>
8352 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8353 (gst_bin_remove_func), (gst_bin_element_set_state),
8354 (bin_handle_async_start), (bin_handle_async_done),
8355 (gst_bin_handle_message_func):
8356 Add helper function to find messages.
8357 Generate the async-done messages together with the state change
8359 Small cleanups in handling toplevel bins.
8361 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8363 * libs/gst/base/gstdataqueue.c:
8364 * libs/gst/base/gstdataqueue.h:
8365 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8366 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8367 (gst_multi_queue_sink_event):
8368 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8369 Fix multiqueue leaking buffers and events when downstream or the
8370 queue are flushing. Make refcounting assumptions explicit and
8371 document them (shouldn't break existing code that uses it other than
8372 maybe leak miniobjects, but that already happens anyway). Add unit
8373 test for the most common flushing case. Fixes #423700.
8375 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8377 * libs/gst/controller/gstcontroller.c:
8378 Clarify docs: The get_all, get_value_array(s) functions
8379 don't modify the GObject properties.
8381 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8383 * libs/gst/controller/gstcontroller.c:
8384 (gst_controlled_property_set_interpolation_mode),
8385 (gst_controlled_property_prepend_default),
8386 (gst_controlled_property_new), (gst_controller_set_unlocked),
8387 (gst_controller_set), (gst_controller_set_from_list),
8388 (gst_controller_unset), (gst_controller_unset_all):
8389 * libs/gst/controller/gstcontrollerprivate.h:
8390 * libs/gst/controller/gstinterpolation.c:
8391 Factor out the 'set' logic into gst_controller_set_unlocked for the
8392 gst_controller_set and gst_controller_set_from_list functions.
8394 To make life of the interpolators easier always add a control point
8395 at timestamp zero with the default value.
8397 In the linear interpolator make things more obvious by better variable
8400 Implement cubic interpolation mode (by using a natural cubic spline)
8401 and map the quadratic interpolation mode to this too (as quadratic
8402 doesn't make much sense, see discussion on the list).
8404 * tests/check/libs/controller.c: (GST_START_TEST),
8405 (gst_controller_suite):
8406 Add unit test for the cubic interpolation mode and check everywhere
8407 if the interpolation mode could be set as expected.
8409 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8411 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8412 Don't use GLib-2.10 functions, we still depend on
8413 GLib-how-old-is-it-again-2.8.
8415 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8417 * docs/gst/gstreamer-sections.txt:
8421 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8422 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8423 (_gst_param_fraction_values_cmp),
8424 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8425 * gst/gstparamspecs.h:
8427 * tests/check/Makefile.am:
8428 * tests/check/gst/.cvsignore:
8429 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8430 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8431 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8432 (GST_START_TEST), (gst_param_spec_suite):
8433 API: add GstParamSpecFraction, so elements can have fraction
8434 properties without lots of painful string parsing (#444648).
8436 2007-06-05 Wim Taymans <wim@fluendo.com>
8438 * gst/gstobject.c: (gst_object_class_init):
8439 Fix signal signature.
8442 Add small clarification in the api docs.
8444 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8445 States are protected with object lock.
8447 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8450 I should probably be listed as an author by now.
8452 * docs/random/release:
8453 Update the release doc
8455 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8458 Make docs for gst_value_compare() mention return enums that
8461 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8466 === release 0.10.13 ===
8468 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8471 releasing 0.10.13, "With or without you"
8473 2007-05-25 Wim Taymans <wim@fluendo.com>
8475 * gst/gstbin.c: (bin_handle_async_done):
8476 Make sure that the child bin stops after completing the async state
8477 change so that the parent can continue the state change to PLAYING.
8480 2007-05-25 Wim Taymans <wim@fluendo.com>
8482 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8483 (unref_data), (gst_collect_pads_remove_pad),
8484 (gst_collect_pads_check_pads):
8485 Use additional refcounting to avoid crashes when dynamically adding and
8486 removing pads. Fixes #420206.
8488 2007-05-24 Wim Taymans <wim@fluendo.com>
8490 * tools/gst-launch.c: (event_loop):
8491 When buffering goes from a two digit to a single digit number, make sure
8492 to remove the old second digit by writing a blank over it.
8494 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8496 * libs/gst/base/gstdataqueue.c:
8497 Eliminate tabs and trailing comma in enum list; fix some typos.
8499 2007-05-24 Wim Taymans <wim@fluendo.com>
8501 * tests/check/gst/gstbin.c: (GST_START_TEST):
8502 Allow refcount of 3 and 4 because some state thread might still be busy
8505 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8507 * plugins/elements/Makefile.am:
8508 * plugins/elements/gstmultiqueue.h:
8509 * plugins/elements/gstqueue.h:
8510 These are not installed headers, no need for padding.
8512 2007-05-24 Wim Taymans <wim@fluendo.com>
8514 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8515 (gst_bin_continue_func):
8516 Enable latency for next release.
8517 Restore STATE_LOCK around recalc_state that was left out during the
8518 rewrite and could result in racy behaviour when _get_state and
8519 recalc_state are run concurrently. See #440463.
8521 2007-05-23 Wim Taymans <wim@fluendo.com>
8523 * tests/check/gst/gstsystemclock.c: (store_callback),
8525 Improve test_async_order to also work when both timers are already
8526 expired when we get scheduled to check it.
8528 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8530 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8531 (gst_bin_set_property), (gst_bin_get_property),
8532 (gst_bin_remove_func), (gst_bin_handle_message_func):
8534 'private' is a c++ keyword, let's not use that in header files,
8535 otherwise c++ compilers will throw a tantrum.
8537 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8539 * plugins/elements/gstelements.c:
8540 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8541 (gst_file_sink_get_current_offset):
8542 * plugins/indexers/gstindexers.c: (plugin_init):
8543 Use #ifdef for HAVE_XYZ for consistency.
8545 * tests/check/Makefile.am:
8546 * tests/check/elements/.cvsignore:
8547 * tests/check/elements/filesink.c: (setup_filesink),
8548 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8549 Add some unit tests for filesink.
8551 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8553 Patch by: Mark Nauwelaerts <manauw at skynet be>
8555 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8556 (gst_file_sink_query), (gst_file_sink_do_seek),
8557 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8558 * plugins/elements/gstfilesink.h:
8559 Fix position reporting; rename data_written member to current_pos to
8560 reflect its real meaning (fixes #412648).
8562 2007-05-22 Edward Hervey <edward@fluendo.com>
8564 * docs/gst/gstreamer-sections.txt:
8565 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8566 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8567 (gst_bin_remove_func), (gst_bin_handle_message_func):
8569 Add a property for bins that handle the state change of their childs.
8572 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8574 * libs/gst/controller/gstinterpolation.c:
8575 Use an array of the correct type when using _get_value_array with
8576 linear interpolation.
8578 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8580 * gst/gstelement.c (gst_element_requires_clock,
8581 gst_element_provides_clock, gst_element_request_pad,
8582 gst_element_class_set_details, gst_element_class_set_details_simple,
8583 gst_element_default_send_event, gst_element_abort_state,
8584 gst_element_continue_state, gst_element_set_state,
8585 gst_element_set_state_func, iterator_activate_fold_with_resync):
8586 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8587 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8588 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8589 gst_pad_get_range, gst_pad_pull_range):
8590 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8591 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8592 GstPadActivateModeFunction, GstPadChainFunction,
8593 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8594 GstPadFixateCapsFunction, GstPadTemplate):
8595 * gst/gstpipeline.c (gst_pipeline_change_state,
8596 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8597 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8598 gst_pipeline_get_delay):
8599 Whitespace and docs fixes.
8601 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8603 * libs/gst/controller/gstinterpolation.c:
8604 (interpolate_trigger_get_enum_value_array),
8605 (interpolate_trigger_get_string_value_array):
8606 Add support for retrieving value arrays when using the trigger
8609 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8611 * libs/gst/controller/gstcontroller.c:
8612 (gst_controller_get_value_array):
8613 * libs/gst/controller/gstcontroller.h:
8614 Clarify the docs of gst_controller_get_value_array(): The array where
8615 the values should be written to must be allocated as there seems to be
8616 no way to get the size of a random GType. This doesn't change any
8617 behaviour. Also fix some typos all over the place and remove an unused,
8618 commented function that is not necessary as g_object_set() could be
8620 * tests/check/libs/controller.c: (GST_START_TEST),
8621 (gst_controller_suite):
8622 Add unit test for gst_controller_get_value_array().
8624 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8626 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8628 Disable part of the gst_buffer_try_new_and_alloc test, because
8629 it can happily succeed on 64-bit systems where there's more address
8632 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8634 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8635 Add unit test for the improved caps checking from bug #421543.
8637 2007-05-21 Wim Taymans <wim@fluendo.com>
8639 * docs/design/part-synchronisation.txt:
8642 * gst/gstbin.c: (gst_bin_query):
8643 * plugins/elements/gstqueue.c: (apply_segment):
8649 2007-05-21 Wim Taymans <wim@fluendo.com>
8651 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8652 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8653 (gst_pad_configure_src):
8654 Added simple version of improved caps checking. It was previously
8655 assumed that a setcaps function would check the validity of the caps but
8656 people prefer us to check caps against the template automatically.
8659 2007-05-21 Wim Taymans <wim@fluendo.com>
8661 * libs/gst/base/gstbasetransform.h:
8662 Fix macro for locking/unlocking the transform lock.
8664 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8666 * docs/plugins/tmpl/.cvsignore:
8669 2007-05-18 Edward Hervey <edward@fluendo.com>
8671 * plugins/elements/gstqueue.c: (gst_queue_loop):
8672 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8673 for the subtle art of warning a potentially blocking thread that it
8674 should check the source pad return value, and relay the information
8677 2007-05-18 Edward Hervey <edward@fluendo.com>
8679 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8680 Release the queue lock !
8682 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8684 * docs/libs/gstreamer-libs-sections.txt:
8685 Add the two new controller functions to the appropiate places.
8687 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8689 reviewed by: Stefan Kost <ensonic@users.sf.net>
8691 * libs/gst/controller/gstcontroller.c:
8692 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8693 (_gst_controller_get_property), (_gst_controller_set_property),
8694 (_gst_controller_init), (_gst_controller_class_init):
8695 * libs/gst/controller/gstcontroller.h:
8696 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8697 (gst_object_get_control_rate), (gst_object_set_control_rate):
8698 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8699 Add API that provides sync suggestion timestamps for elements that
8700 call gst_object_sync_values() from which those elements can subdivide
8701 their processing loop to get the best results for the controlled
8702 properties. For now it just suggests last_sync + control_rate as
8703 new timestamp but this will be improved in the future.
8705 While doing that change the control-rate property to a GstClockTime
8706 from guint and change it's meaning from samples to nanoseconds as
8707 the GstController doesn't know anything about sampling rate. Strictly
8708 speaking this breaks ABI but as the control-rate property didn't do
8709 anything in the past and as such couldn't be used this should be no
8712 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8714 reviewed by: Stefan Kost <ensonic@users.sf.net>
8716 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8717 (gst_controller_unset_all):
8718 * libs/gst/controller/gstcontrollerprivate.h:
8719 * libs/gst/controller/gstinterpolation.c:
8720 (gst_controlled_property_find_control_point_node):
8721 Save last synced value from the list to continue searching from there
8722 in future syncs. This speeds everything up a bit.
8724 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8726 reviewed by: Stefan Kost <ensonic@users.sf.net>
8728 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8729 (gst_control_point_find), (gst_controlled_property_new),
8730 (gst_control_point_free), (gst_controlled_property_free),
8731 (gst_controller_set), (gst_controller_set_from_list),
8732 (gst_controller_unset), (gst_controller_unset_all),
8733 (gst_controller_sync_values):
8734 * libs/gst/controller/gstcontroller.h:
8735 * libs/gst/controller/gstcontrollerprivate.h:
8736 * libs/gst/controller/gstinterpolation.c:
8737 (gst_controlled_property_find_control_point_node),
8738 (interpolate_none_get), (interpolate_trigger_get):
8739 Add a new private GstControlPoint struct which "inherits" from
8740 GstTimedValue to allow different interpolators to store internal
8741 values next to each control point. From the outside everything is
8742 still a GstControlPoint so we don't loose binary compatibility.
8743 Also fixup all the GValue handling to not leak GValues or list nodes.
8744 * tests/check/libs/controller.c: (GST_START_TEST):
8745 Free the list nodes and GValues in the controller_misc test.
8747 2007-05-17 Edward Hervey <edward@fluendo.com>
8752 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8754 * gst/gstplugin.c: (gst_plugin_load_file):
8755 If we fail to load a plugin because of unresolved symbols or missing
8756 libraries and spew a warning to stderr, we may just as well mention
8757 which plugin it was that failed to load.
8759 2007-05-13 David Schleef <ds@schleef.org>
8761 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8762 handles the case when ENABLE_GTK_DOC is false, and installs
8763 the prebuilt documentation. So gtk-doc subdirs are
8764 unconditionally enabled. Fixes: #349099.
8766 2007-05-13 David Schleef <ds@schleef.org>
8768 * gst/gstutils.h: Reword some documentation.
8770 2007-05-12 David Schleef <ds@schleef.org>
8772 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8773 do anything with the passed "module" parameter, so remove it.
8774 Allows removal of additional vestigal code.
8776 2007-05-12 David Schleef <ds@schleef.org>
8779 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8780 Switch to using g_stat() because it's more portable.
8782 2007-05-12 David Schleef <ds@schleef.org>
8785 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8786 parsing for embedded systems.
8787 * gst/gstelementfactory.c:
8788 Allow gst_element_register() to be called with plugin==NULL.
8789 Did nobody notice that static elements were broken?
8791 2007-05-12 Wim Taymans <wim@fluendo.com>
8793 * tools/gst-launch.c: (event_loop):
8794 Give more interesting info when buffering starts and stops.
8795 Fix case where buffering starts but we fail to update the buffering flag
8796 because the target state is not PLAYING.
8798 2007-05-12 Wim Taymans <wim@fluendo.com>
8800 * plugins/elements/gstqueue.c: (gst_queue_init),
8801 (gst_queue_finalize), (update_time_level), (apply_segment),
8802 (apply_buffer), (gst_queue_locked_flush),
8803 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8804 (gst_queue_handle_sink_event), (gst_queue_chain),
8805 (gst_queue_push_one), (gst_queue_loop):
8806 * plugins/elements/gstqueue.h:
8807 Refactor an cleanup queue a bit.
8808 Do better time level calculations that also work when the srcpad is not
8810 Remove some unneeded debug lines.
8812 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8813 Added testcase for time level measurement.
8814 Try to make some stuff more racefree.
8816 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8818 * gst/gsturi.c: (gst_element_make_from_uri):
8819 Don't leak plugin feature.
8821 * tests/check/Makefile.am:
8822 * tests/check/gst/.cvsignore:
8823 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8824 Add brain-dead unit test.
8826 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8828 Patch by: Jeroen Wouters <woutersj at gmail com>
8830 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8831 Treat protocol strings in a case-insensitive way (#437563).
8833 2007-05-11 Michael Smith <msmith@fluendo.com>
8835 * gst/gstplugin.c: (gst_plugin_load_file):
8836 * gst/gstregistry.c: (gst_registry_scan_path_level):
8837 Don't print a g_warning for any failure to load a shared object.
8838 Instead, push this down into gstplugin.c, and warn _only_ if we
8839 failed to open the module (i.e. failure to link).
8840 Avoids warnings on normal, working, non-plugin .so files.
8842 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8844 * gst/gstplugin.c (gst_plugin_load_file):
8845 * gst/gstregistry.c (GST_CAT_DEFAULT,
8846 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8847 Print a g_warning if there was an error when loading a plugins during
8848 registry scan. The shuld help beginners starting with gst-plugin
8851 2007-05-10 Wim Taymans <wim@fluendo.com>
8853 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8854 (update_time_level), (gst_queue_locked_flush),
8855 (gst_queue_handle_sink_event), (gst_queue_chain),
8856 (gst_queue_push_one), (gst_queue_loop):
8857 * plugins/elements/gstqueue.h:
8858 Be smarter when calculating the current amount of data in the queue by
8859 measuring the difference between start and end timestamps (in running
8860 time) inside the queue. Fixes #432876.
8861 API: GstQueue::pushing to notify elements that we are pushing data again
8862 since the running signal is rather broken for this purpose.
8864 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8866 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8867 gst_queue_base_init, gst_queue_init):
8870 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8872 * win32/common/libgstreamer.def:
8873 Add new exported functions.
8874 * win32/vs6/grammar.dsp:
8875 Use grammar pre-generated files.
8877 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8879 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8882 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8884 * gst/gstutils.c: (gst_parse_bin_from_description):
8886 Maintain API and ABI when --disable-parse is used. Now that
8887 we have an appropriate error code, we can just return NULL and the
8888 appropriate error when gst_parse_launch() is used despite it having
8889 been disabled (#342564).
8891 * tests/check/Makefile.am:
8892 * tests/check/pipelines/.cvsignore:
8893 * tests/check/pipelines/parse-disabled.c:
8894 Make sure these functions exist and return NULL plus a GError when
8895 --disable-parse is used.
8897 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8899 * tests/benchmarks/complexity.c: (main):
8900 * tests/benchmarks/mass-elements.c: (main):
8901 Set a good example and don't leak messages.
8903 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8905 * docs/gst/Makefile.am:
8906 * docs/libs/Makefile.am:
8907 Correct fixxrefs options.
8909 * docs/plugins/Makefile.am:
8910 * docs/plugins/gstreamer-plugins-docs.sgml:
8911 * docs/plugins/gstreamer-plugins-sections.txt:
8912 * plugins/elements/Makefile.am:
8913 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8914 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8915 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8916 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8917 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8918 _GstCapsFilterClass, trans_class):
8919 * plugins/elements/gstelements.c (name, rank, type, _elements):
8920 * plugins/elements/gstidentity.c
8921 (gst_identity_check_imperfect_timestamp,
8922 gst_identity_check_imperfect_offset):
8923 Document capsfilter and add doc-blurb to identity.
8925 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8927 * libs/gst/controller/gstcontroller.c:
8928 (gst_controlled_property_set_interpolation_mode):
8929 * libs/gst/controller/gstinterpolation.c:
8930 Don't crash if someone tries to set an interpolation mode that
8931 is invalid or that isn't supported yet. Fixes #422295.
8933 * tests/check/libs/controller.c: (GST_START_TEST),
8934 (gst_controller_suite):
8935 Add a test case for the above.
8937 2007-05-03 Edward Hervey <edward@fluendo.com>
8939 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8940 Properly set the last_stop position on GstSegment. This will only happen
8941 if there is a buffer to push out.
8943 2007-05-03 Wim Taymans <wim@fluendo.com>
8945 * libs/gst/base/gstbasetransform.c:
8946 (gst_base_transform_buffer_alloc):
8947 always_in_place does not mean that the sink and source caps are the
8948 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8950 2007-05-03 Wim Taymans <wim@fluendo.com>
8952 * docs/libs/gstreamer-libs-sections.txt:
8953 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8954 (gst_base_src_default_query), (gst_base_src_get_range):
8955 * libs/gst/base/gstbasesrc.h:
8956 API: gst_base_src_query_latency(). Added method so that subclasses can
8957 easily get the latency values of the base source class.
8959 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8961 * tools/gst-inspect.c (print_implementation_info):
8964 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8966 * tools/Makefile.am:
8967 * tools/gst-launch.1.in:
8968 Don't create a customised man page based on the host architecture,
8969 describe the default registry path generically. That way the man
8970 page is the same for all architectures and packagers have one
8971 multilib issue less to deal with. Fixes #434926.
8973 2007-05-02 Wim Taymans <wim@fluendo.com>
8976 Fix documentation as spotted by rg on IRC.
8978 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8981 Improve docs for gst_element_{link,unlink}.
8983 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8985 * docs/design/part-events.txt:
8986 * docs/design/part-overview.txt:
8990 * libs/gst/base/gstbasesink.c:
8991 Typo fixes; minor docs addition.
8993 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8995 * docs/gst/gstreamer-sections.txt:
8996 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8997 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8999 API: Add gst_uri_protocol_is_supported(), which checks if a sink
9000 or src that supports a given URI protocol exists.
9002 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
9004 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9005 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9006 Set the location to NULL if "file://" is set as URI. Otherwise
9007 some random previous URI would still be set if "file://" is
9008 set on an already used filesink/filesrc.
9010 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
9012 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9013 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9014 Special case the "file://" URI as as this is used by some
9015 applications to test with gst_element_make_from_uri if there's
9016 an element that supports the URI protocol.
9017 Also move the g_path_is_absolute() check for the location part
9018 of the URI to also check this for "file://localhost/bla" URIs.
9020 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
9022 * docs/gst/gstreamer-sections.txt:
9023 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9025 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9027 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9029 2007-04-26 Stefan Kost <ensonic@users.sf.net>
9031 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9032 (gst_registry_binary_load_pad_template),
9033 (gst_registry_binary_load_plugin),
9034 (gst_registry_binary_read_cache):
9035 * gst/gstregistrybinary.h:
9036 Implement no-mmap alternative for registry reading. Do code cleanups.
9037 Add more comments about avoiding strdups for all text data. Comments
9040 2007-04-25 Stefan Kost <ensonic@users.sf.net>
9042 * gst/gstregistrybinary.h (GstBinaryPluginElement,
9043 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9044 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9045 Comment structs and reformat to fix the build (that stuff should go
9046 into a priv. header).
9048 2007-04-25 Stefan Kost <ensonic@users.sf.net>
9050 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9051 (gst_registry_binary_load_feature):
9052 * gst/gstregistrybinary.h:
9053 Refactor so that we can implement multiple features. Add support for
9054 TypeFindFactory features.
9056 2007-04-24 Stefan Kost <ensonic@users.sf.net>
9058 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9061 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9063 2007-04-23 Stefan Kost <ensonic@users.sf.net>
9065 * gst/gstbin.c: (gst_bin_element_set_state),
9066 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9067 (bin_handle_async_done), (gst_bin_handle_message_func):
9068 Fix build with --gst-disable-gst-debug
9070 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
9072 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9073 Make sure streaming has finished before calling the ::stop() vfunc,
9074 since that vfunc might clear state which is being used in the
9075 streaming thread. This fixes a race that caused crashes in
9076 audioresample when shutting down a pipeline (#420106).
9078 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9080 * docs/gst/gstreamer-sections.txt:
9081 That was one byte missing.
9083 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9086 * docs/gst/gstreamer-sections.txt:
9088 * gst/gstconfig.h.in:
9089 * gst/gstobject.c: (gst_object_class_init),
9090 (gst_signal_object_class_init):
9092 2nd attempt to have a xml-less build as a joined effort of #413123
9095 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9097 * docs/design/draft-tagreading.txt:
9098 Added open issues/thoughts to draft.
9100 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9102 * gst/parse/grammar.tab.pre.c:
9103 * gst/parse/grammar.tab.pre.h:
9104 * gst/parse/lex._gst_parse_yy.pre.c:
9105 Update the prebuild parser sources.
9107 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9109 * gst/parse/Makefile.am:
9110 And now fix the building of the flex sources. Now everything should
9113 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9115 * gst/parse/Makefile.am:
9116 Now hopefully fix the build failures by setting proper rule
9117 dependencies and moving instead of copying.
9119 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9121 * tests/benchmarks/complexity.gnuplot:
9122 * tests/benchmarks/complexity.scm:
9123 * tests/benchmarks/mass-elements.gnuplot:
9124 * tests/benchmarks/mass-elements.scm:
9125 Total licensification.
9127 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9129 * gst/parse/Makefile.am:
9130 Fix the build by correcting the rule that gave wrong files to flex.
9132 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9134 * tests/benchmarks/complexity.c:
9135 * tests/benchmarks/mass-elements.c:
9136 Change licence to LGPL as granted by Benjamin and Andy.
9138 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9140 * gst/parse/Makefile.am:
9141 Add correct grammar.tab.h dependency if compiling without new enough
9142 flex. Fixes #431150.
9144 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9146 * gst/parse/Makefile.am:
9147 Fix typo and use outdated sources if the flex/bison sources are newer
9148 than the pregenerated ones but flex is too old. Print a warning in
9149 that case. This should fix the build on the build bot.
9151 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9153 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9154 * gst/parse/Makefile.am:
9155 * gst/parse/grammar.y:
9156 * gst/parse/parse.l:
9157 Make the parser reentrant and recursively callable. This requires flex
9158 >= 2.5.31, for older versions pregenerated sources are used as we
9159 can't bump the build dependency. Finally fixes #349180.
9161 * gst/gstparse.c: (gst_parse_launch):
9162 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9165 * docs/gst/Makefile.am:
9166 * docs/gst/Makefile.am:
9167 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9168 (__gst_parse_strfree), (__gst_parse_link_new),
9169 (__gst_parse_link_free), (__gst_parse_chain_new),
9170 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9171 (gst_parse_element_set), (gst_parse_free_link),
9172 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9173 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9174 (_gst_parse_launch):
9175 * gst/parse/grammar.tab.pre.h:
9176 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9177 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9178 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9179 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9180 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9181 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9182 (_gst_parse_yypop_buffer_state),
9183 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9184 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9185 (yy_fatal_error), (_gst_parse_yyget_extra),
9186 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9187 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9188 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9189 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9190 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9191 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9192 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9193 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9194 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9195 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9196 (_gst_parse_yyfree):
9197 If the installed flex version is too old use pre-generated parser
9198 sources. These pre-generated parser sources are always updated when
9199 the actual flex/bison sources change but require everybody who wants
9200 to change something in the parser to have flex >= 2.5.31 installed.
9202 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9204 * common/m4/gst-gettext.m4:
9205 * gst/gst-i18n-lib.h:
9206 Make --disable-nls to work
9208 2007-04-17 Wim Taymans <wim@fluendo.com>
9210 * gst/gstconfig.h.in:
9211 Revert previous change that broke the build.
9213 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9217 * gst/gstconfig.h.in:
9218 Drop libxml2 dependency when building with
9219 --enable-binary-registry --disable-loadsave
9221 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9223 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9224 (gst_registry_binary_read_cache):
9225 * gst/gstregistrybinary.h:
9226 Remove unnecessary <sys/mman.h> include which broke the win32 build
9227 with MingW; move includes from header file to .c file, even if the
9228 header file isn't installed; use g_strerror() where UTF-8 strings
9229 are expected, such as in GST_DEBUG messages.
9231 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9233 * docs/libs/gstreamer-libs-sections.txt:
9234 Remove bogus addition for API I didn't end up keeping.
9236 * libs/gst/base/gstbasesrc.h:
9237 Mention Since: 0.10.13 in the documentation.
9239 Add the API keyword to the previous ChangeLog entry.
9241 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9243 * docs/libs/gstreamer-libs-sections.txt:
9244 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9245 (gst_base_src_default_prepare_seek_segment),
9246 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9247 * libs/gst/base/gstbasesrc.h:
9248 Allow basesrc derived classes to execute seeks in other formats
9249 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9250 to prepare the GstSegment in any format that their perform_seek method
9251 will be able to understand. The default implementation provides the
9252 old behaviour of attempting to convert the seek offsets to the
9253 configured native format.
9255 API: basesrc::prepare_seek_segment vmethod.
9257 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9259 * gst/gstelement.c: (gst_element_get_state_func):
9260 Don't output the same debug statement twice.
9262 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9263 (gst_adapter_peek), (gst_adapter_take_buffer):
9264 Optimise the case where we have buffers at the head of the queue that
9265 can be joined quickly (because they're contiguous sub-buffers) by
9266 merging them together rather than copying data out into new memory.
9268 * gst/parse/grammar.y:
9269 * tests/check/pipelines/parse-launch.c:
9270 Fix a leak in an error path for parse_launch, and add a check
9271 for it to the testsuite.
9273 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9275 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9276 Don't deadlock when releasing a pad - gst_pad_set_active may try
9277 and take the multiqueue lock too.
9279 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9281 * gst/gsterror.c: (_gst_core_errors_init):
9283 API: add GST_CORE_ERROR_DISABLED (#392804).
9285 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9287 * docs/faq/gst-uninstalled:
9288 don't get empty paths on the PATH variables
9289 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9290 Don't format for the uncommon terminal width of 84 characters.
9292 2007-04-06 Wim Taymans <wim@fluendo.com>
9294 * gst/gstpipeline.c: (reset_stream_time),
9295 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9296 Only try to select a different pipeline clock when we went back to
9297 PAUSED and not when we merely got flushed.
9299 2007-04-05 Michael Smith <msmith@fluendo.com>
9301 * tools/gst-launch.1.in:
9302 fractions are better supported in gstreamer than ractions, so
9303 suggest using those.
9305 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9307 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9311 Added Danish translation.
9313 2007-04-05 Wim Taymans <wim@fluendo.com>
9315 * libs/gst/base/gstbasesink.c:
9316 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9317 Fix leak caused when refusing newsegment after EOS.
9319 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9320 (gst_fake_sink_init), (gst_fake_sink_set_property),
9321 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9322 (gst_fake_sink_render), (gst_fake_sink_change_state):
9323 * plugins/elements/gstfakesink.h:
9324 Add num-buffers property to make the element generate EOS after a
9325 configurable amount of buffers.
9326 API: fakesink::num-buffers property.
9328 * tests/check/elements/fakesink.c: (GST_START_TEST),
9330 Fix GstBus leak in test.
9331 Test for fakesink num-buffers.
9333 2007-04-05 Wim Taymans <wim@fluendo.com>
9335 * libs/gst/base/gstbasesink.c:
9336 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9337 (gst_base_sink_change_state):
9338 Don't accept anything after an EOS, return UNEXPECTED instead.
9340 * tests/check/elements/fakesink.c: (GST_START_TEST),
9342 Unit test for new EOS behaviour.
9344 2007-04-05 Wim Taymans <wim@fluendo.com>
9346 * gst/gstelement.c: (gst_element_get_request_pad):
9347 Make padtemplates also work when they don't contain %s or %d.
9349 2007-04-05 Wim Taymans <wim@fluendo.com>
9351 * docs/gst/gstreamer-sections.txt:
9352 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9353 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9355 Improve _adjust_unlocked() so that it overflows less.
9356 Add gst_clock_unadjust_unlocked to convert from external time to
9357 internal time based on calibration.
9358 Add some more debug.
9359 API: GstClock::gst_clock_unadjust_unlocked()
9361 2007-04-03 Wim Taymans <wim@fluendo.com>
9363 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9365 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9366 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9367 when releasing sink pad. Fixes #425400.
9369 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9371 * docs/random/ensonic/dynlink.txt:
9372 More work on proposal for new core api.
9374 * docs/libs/gstreamer-libs-sections.txt:
9375 * libs/gst/base/gstbasetransform.h:
9376 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9378 * libs/gst/controller/gstcontroller.c:
9379 (on_object_controlled_property_changed),
9380 (gst_controller_sync_values),
9381 (gst_controller_set_interpolation_mode):
9382 * libs/gst/controller/gstcontroller.h:
9383 Less verbose logging add docs for unimplemented parts and correctly
9384 return when using unavailable parts.
9386 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9388 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9389 Move all the debug to the CLOCK category, and associate it with
9392 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9394 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9395 Make take_buffer a bit quicker by removing redundant checks
9396 caused by calling gst_adapter_take.
9398 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9400 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9403 * tests/check/Makefile.am:
9404 * tests/check/elements/.cvsignore:
9405 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9406 (GST_START_TEST), (multiqueue_suite):
9407 Add some dead simple unit tests for the 'multiqueue' element
9408 (some bits don't work yet and are disabled for now).
9410 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9412 * gst/gstelement.c: (gst_element_get_request_pad),
9413 (gst_element_class_get_request_pad_template):
9414 Make gst_element_get_request_pad() create request pads only for
9415 request pad templates and not for, say, sometimes pad templates.
9417 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9419 * docs/design/draft-klass.txt:
9420 Add example that needs more thinking.
9422 * docs/design/draft-missing-plugins.txt:
9423 More thoughts about wrapper plugins.
9425 * docs/random/ensonic/embedded.txt:
9426 * docs/random/ensonic/profiling.txt:
9429 2007-03-25 Wim Taymans <wim@fluendo.com>
9431 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9432 (gst_base_src_loop):
9433 Only push the segment events in the PLAYING state for live sources.
9435 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9437 * gst/gstpipeline.c: (gst_pipeline_change_state):
9438 Modify the clock distribution path in PAUSED->PLAYING so that we
9439 never attempt to choose a new clock unless we're actually leaving
9440 the PAUSED state for the first time. This prevents choosing a
9441 different clock when the state_change gets called for a 2nd time due
9442 to some element doing an async state change.
9444 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9446 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9447 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9448 (gst_pad_chain_unchecked), (gst_pad_push):
9449 Revert last commit. This needs some more thoughts.
9451 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9453 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9454 (gst_pad_chain_unchecked), (gst_pad_push):
9455 Check in set_caps if the caps are compatible with the pad and remove
9456 two functions that are redundant now. Fixes #421543.
9458 2007-03-22 Wim Taymans <wim@fluendo.com>
9460 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9461 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9462 Unref some more to make valgrind happy.
9464 2007-03-22 Wim Taymans <wim@fluendo.com>
9466 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9467 (gst_system_clock_id_wait_jitter),
9468 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9469 Fix anoying regression that survived a few releases. When adding an
9470 async entry while blocking on a sync entry, the sync entry will unblock
9471 but still be busy, so it should continue to wait instead of returning
9473 Add some comments here and there.
9475 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9476 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9477 Add testcase for this.
9479 2007-03-22 Wim Taymans <wim@fluendo.com>
9481 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9482 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9483 WRONG_STATE and can silently pause the task. All other cases should
9486 2007-03-22 Wim Taymans <wim@fluendo.com>
9488 Patch by: Ville Syrjala <syrjala at sci dot fi>
9490 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9491 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9494 2007-03-21 Michael Smith <msmith@fluendo.com>
9496 * docs/pwg/advanced-types.xml:
9497 Fix some errors in the typefinding docs pointed out on irc.
9499 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9501 * libs/gst/base/gstbasesrc.c:
9502 Clarify FIXME comment in the face of having added unlock_stop()
9504 2007-03-21 Wim Taymans <wim@fluendo.com>
9506 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9507 Prepare for release where we warn against possible app breakage in the
9508 case of live pipelines along with an env var to enable/disable live
9509 preroll mode (GST_COMPAT=[no-]live-preroll).
9511 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9513 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9514 So we should use correct constants for checking for None offset.
9516 2007-03-20 Wim Taymans <wim@fluendo.com>
9518 * docs/design/part-block.txt:
9519 Mention the fact that the newly switched element should be set to at
9522 2007-03-20 Wim Taymans <wim@fluendo.com>
9525 Fix compilation with registry disabled as spotted by Saur.
9527 2007-03-20 Wim Taymans <wim@fluendo.com>
9529 Patch by: Olivier Crete <tester at tester dot ca>
9531 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9532 Look at the pending state too when syncing the element state to the
9533 parent. Fixes #420133.
9535 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9537 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9538 (gst_base_sink_change_state):
9539 * libs/gst/base/gstbasesink.h:
9540 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9541 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9542 (gst_base_src_deactivate):
9543 * libs/gst/base/gstbasesrc.h:
9544 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9545 for sub-classes to correctly clear any state they set trying to
9546 unlock, such as clearing out unlock commands from a command fd.
9547 API: basesrc::unlock_stop
9548 API: basesink::unlock_stop
9550 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9551 (gst_fd_sink_render), (gst_fd_sink_unlock),
9552 (gst_fd_sink_unlock_stop):
9553 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9554 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9555 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9557 Implement unlock_stop in fdsrc and fdsink.
9558 Implement seeking in fdsrc when a seekable fd is passed, as in
9559 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9561 2007-03-19 Wim Taymans <wim@fluendo.com>
9563 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9565 * gst/gstelement.c: (gst_element_class_init):
9566 Fix pad-added and pad-removed signal signatures so that the pad type is
9567 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9569 2007-03-19 Wim Taymans <wim@fluendo.com>
9571 * docs/gst/gstreamer-sections.txt:
9572 Add new element field and method.
9574 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9575 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9576 (gst_bin_recalc_state), (gst_bin_get_state_func),
9577 (gst_bin_element_set_state), (gst_bin_change_state_func),
9578 (gst_bin_continue_func), (bin_bus_handler),
9579 (bin_push_state_continue), (bin_handle_async_start),
9580 (bin_handle_async_done), (gst_bin_handle_message_func):
9581 Make async state changes a bit smarter by using new ASYNC_START and
9582 ASYNC_DONE messages. This reduces the number of times we run the state
9583 recalculation thread.
9584 Don't change state of element with a pending ASYNC_START message.
9585 Deprecate STATE_DIRTY messages.
9587 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9588 (gst_element_get_state_func), (gst_element_continue_state),
9589 (gst_element_lost_state), (gst_element_set_state_func),
9590 (gst_element_change_state):
9592 Keep the state that was last set by the app in a new element field.
9593 Don't allow state changes when handling an element event.
9594 Post ASYNC_START and ASYNC_DONE messages.
9595 Change lost_state so that we go to PAUSED and wait for the parent to set
9596 us to PLAYING again (so latency calculation can be performed)
9597 Export gst_element_change_state() method so that subclasses can use it.
9598 API: gst_element_change_state()
9599 API: GST_STATE_TARGET
9601 * gst/gstpipeline.c: (gst_pipeline_class_init),
9602 (reset_stream_time), (gst_pipeline_change_state),
9603 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9604 Using the new ASYNC_START message we can reset the base_time when
9605 needed. This can then be used to implement base_time redistribution in
9606 flushing seeks so that we can remove the explicit seek handling.
9607 Perform latency query and configuration when going to PLAYING.
9609 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9610 (gst_base_sink_query), (gst_base_sink_change_state):
9611 Post new ASYNC_START/ASYNC_DONE messages.
9613 * tests/check/generic/sinks.c: (GST_START_TEST):
9614 Fix test because the bin will not set the async element to PLAYING right
9617 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9618 Make the message check a little stronger.
9619 Handle ASYNC messages.
9621 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9622 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9623 Expect ASYNC_DONE messages.
9625 2007-03-19 Wim Taymans <wim@fluendo.com>
9627 * docs/gst/gstreamer-sections.txt:
9628 * gst/gstmessage.c: (gst_message_new_async_start),
9629 (gst_message_new_async_done), (gst_message_parse_info),
9630 (gst_message_parse_async_start):
9632 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9635 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9637 * tools/gst-inspect.c:
9638 (print_plugin_automatic_install_info_codecs):
9639 Now that we don't check for the 'Codec' keyword any longer in the
9640 klass, we shouldn't spew a warning if the klass isn't a decoder or
9641 encoder (since it might be a Source/Network, for example).
9643 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9645 * tools/gst-inspect.c:
9646 (print_plugin_automatic_install_info_codecs):
9647 Don't require decoder/demuxer/depayloader elements or
9648 encoder/muxer/paylader elements to have 'Codec' as part of their
9649 factory class string when introspecting a plugin's capabilities.
9650 draft-klass.txt mentions that it might be removed in future, and
9651 flump3dec doesn't have it as part of its class string, so chances
9652 are others might also not have it.
9654 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9676 Update translations from translation project
9678 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9680 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9681 (gst_child_proxy_set_property):
9682 Invert precondition check to be alike the ones in the mimiced gobject
9685 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9687 * docs/design/draft-tagreading.txt:
9688 * docs/random/ensonic/audiobaseclasses.txt:
9689 Do some Architect work.
9691 * gst/gstobject.c: (gst_object_set_name):
9695 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9697 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9699 * gst/gstsystemclock.c: (gst_system_clock_init),
9700 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9701 Defer starting the async system clock thread until the first async
9702 wait is scheduled. Fixes #414986.
9704 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9706 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9707 (gst_single_queue_free):
9708 Fix small leak (free GstSingleQueue structure too, not only contents).
9710 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9712 * gst/gstbin.c:(gst_bin_add):
9713 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9714 * win32/common/libgstbase.def:
9715 * win32/common/libgstreamer.def:
9716 Add new exported functions.
9718 2007-03-09 Wim Taymans <wim@fluendo.com>
9720 * docs/plugins/gstreamer-plugins-sections.txt:
9723 2007-03-09 Wim Taymans <wim@fluendo.com>
9725 * docs/gst/gstreamer-sections.txt:
9726 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9728 Add metadata copy functions. Fixes #393099.
9729 API: gst_buffer_copy_metadata()
9731 * gst/gstutils.c: (gst_buffer_stamp):
9732 * libs/gst/base/gstbasetransform.c:
9733 (gst_base_transform_prepare_output_buffer):
9734 Use new metadata copy functions.
9736 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9738 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9739 (gst_identity_init), (gst_identity_check_perfect),
9740 (gst_identity_check_imperfect_timestamp),
9741 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9742 (gst_identity_set_property), (gst_identity_get_property):
9743 * plugins/elements/gstidentity.h:
9744 Separate out check-imperfect-timestamp and check-imperfect-offset.
9745 Put back check-perfect as it was to keep compatibility.
9747 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9749 * gst/gstelement.c: (gst_element_dispose):
9750 There's no need to warn if VOID_PENDING is not NONE here, as
9751 long as the state is NULL it's ok, and that's checked immediately
9754 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9756 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9757 Fix check for perfect stream to ignore buffers with -1
9758 offsets/offset ends when checking data contiguity.
9760 2007-03-08 Wim Taymans <wim@fluendo.com>
9762 * tools/gst-launch.c: (event_loop):
9763 Print INFO messages.
9765 2007-03-08 Wim Taymans <wim@fluendo.com>
9767 * libs/gst/base/gstbasetransform.c:
9768 (gst_base_transform_sink_eventfunc),
9769 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9770 (gst_base_transform_activate):
9771 * libs/gst/base/gstbasetransform.h:
9772 Add support for dropping buffers with custom GstFlowReturn.
9773 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9774 buffers or dropped buffers.
9776 * docs/libs/gstreamer-libs-sections.txt:
9777 docs for new custom return code.
9779 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9780 Use drop support in base class to implement drop-probability.
9782 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9784 * gst/gst.c: (load_plugin_func):
9785 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9786 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9787 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9788 Remove newlines at end of debug log strings.
9790 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9792 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9793 Only post bus message at max, once per buffer received.
9795 2007-03-07 Wim Taymans <wim@fluendo.com>
9797 * docs/design/Makefile.am:
9798 * docs/design/part-synchronisation.txt:
9799 Add doc about synchronisation
9801 * docs/design/draft-latency.txt:
9802 * docs/design/part-TODO.txt:
9803 * docs/design/part-clocks.txt:
9804 * docs/design/part-events.txt:
9805 * docs/design/part-gstbus.txt:
9806 * docs/design/part-gstpipeline.txt:
9807 * docs/design/part-live-source.txt:
9808 * docs/design/part-messages.txt:
9809 * docs/design/part-overview.txt:
9810 * docs/design/part-streams.txt:
9811 * docs/design/part-trickmodes.txt:
9812 Documentation updates.
9814 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9817 Update the doap file.
9819 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9821 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9822 Rename non-perfect to imperfect for Mike and for the sanctity of the
9824 Also make sure bus message gets emitted for data-incontiguities.
9826 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9828 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9829 (gst_identity_start):
9830 * plugins/elements/gstidentity.h:
9831 Emit bus message if check-perfect is true and we encounter a
9832 non-perfect stream between 2 consecutive buffers.
9835 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9840 === release 0.10.12 ===
9842 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9845 releasing 0.10.12, "Inevitable Demise"
9847 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9850 Version 0.10.11.2 (0.10.12 pre-release)
9851 Bump libtool versioning.
9853 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9855 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9856 Log flow-names and not numbers.
9858 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9861 Convert to new AG_GST style.
9863 2007-02-28 Wim Taymans <wim@fluendo.com>
9865 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9866 Don't unref query twice.
9868 2007-02-28 Wim Taymans <wim@fluendo.com>
9870 * gst/gstvalue.c: (gst_value_transform_object_string),
9871 (_gst_value_initialize):
9872 Implement GstObject -> string transform so we print object names
9873 when serializing GValues containing GstObjects.
9875 2007-02-28 Wim Taymans <wim@fluendo.com>
9877 * docs/gst/gstreamer-sections.txt:
9878 Add new stuff to docs.
9880 2007-02-28 Wim Taymans <wim@fluendo.com>
9882 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9883 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9884 (gst_base_sink_change_state):
9885 Improve latency query code.
9886 Don't leak latency events.
9888 * tests/check/gst/gstbin.c: (GST_START_TEST):
9891 2007-02-28 Wim Taymans <wim@fluendo.com>
9893 * gst/gstelement.c: (gst_element_message_full),
9894 (gst_element_get_state_func):
9896 Improve docs a little. Added Since: for new macro.
9898 * gst/gstobject.c: (gst_object_sink):
9899 * gst/gstpipeline.c: (gst_pipeline_change_state),
9900 (gst_pipeline_set_new_stream_time):
9901 * gst/gstpipeline.h:
9902 Improve debugging and docs.
9904 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9907 2007-02-28 Wim Taymans <wim@fluendo.com>
9909 * gst/gstelement.c: (gst_element_message_full),
9910 (gst_element_set_locked_state), (gst_element_get_state_func),
9911 (gst_element_change_state):
9912 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9913 Documentation updates.
9914 Small code cleanups.
9916 * gst/gstmessage.c: (gst_message_new_info),
9917 (gst_message_parse_info):
9919 API: gst_message_new_info()
9920 API: gst_message_parse_info()
9921 Add INFO message create and parse code.
9923 2007-02-28 Wim Taymans <wim@fluendo.com>
9925 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9926 (bin_query_latency_done):
9927 Also report the live parameter of a latency query.
9929 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9931 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9932 Copy the current generic/states example from -base and adapt so
9933 we can use the exact same code everywhere.
9934 Check a STATES_IGNORE_ELEMENTS env var which can be used
9935 to ignore certain element factories for this test, which is
9936 what is being done in -base
9937 * tests/check/Makefile.am:
9938 Mention this environment variable.
9940 2007-02-27 Wim Taymans <wim@fluendo.com>
9942 * docs/gst/gstreamer-sections.txt:
9943 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9944 (gst_bus_timed_pop), (gst_bus_pop):
9946 API: gst_bus_timed_pop()
9947 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9948 message to arrive on the bus.
9950 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9952 Two unit tests for new _timed_pop() function.
9954 2007-02-23 Wim Taymans <wim@fluendo.com>
9956 * gst/gstpipeline.c: (gst_pipeline_change_state),
9957 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9958 Don't ref a NULL clock in _provide_clock_func().
9959 Don't allow an INVALID delay.
9960 Don't try to calculate base_time with an invalid start_time.
9961 Also distribute and notify a NULL clock when it was selected.
9963 * tools/gst-launch.c: (event_loop):
9964 Don't crash when a NULL clock was selected in the pipeline.
9966 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9968 * docs/design/Makefile.am:
9969 * docs/design/draft-missing-plugins.txt:
9970 * docs/random/draft-missing-plugins.txt:
9971 Some small updates: update plugin system identifier prefix
9972 ('gstreamer.net' to 'gstreamer'), mention our new install
9973 API in libgstbaseutils rather than libgimme-codec, add
9974 reference to the online docs.
9976 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9978 * win32/common/config.h:
9979 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9980 use moap cl ci to only check in what is mentioned in the ChangeLog.
9982 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9984 * docs/gst/gstreamer-sections.txt:
9986 Fix up documentation to link to the correct GstGError section.
9987 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9989 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9991 * tools/gst-launch.c: (event_loop):
9992 Make sure that we actually show the important message part of a
9994 No need to check if the gerror is not NULL to free; first of all
9995 g_free accepts NULL; and second the default error handler would
9996 segfault if gerror was NULL.
9998 2007-02-21 Wim Taymans <wim@fluendo.com>
10000 * docs/gst/gstreamer-sections.txt:
10001 Removed docs as well.
10003 2007-02-21 Wim Taymans <wim@fluendo.com>
10005 * gst/gstmessage.c: (gst_message_parse_duration):
10006 * gst/gstmessage.h:
10007 Remove new messages for release.
10009 2007-02-20 Wim Taymans <wim@fluendo.com>
10011 * docs/design/part-gstghostpad.txt:
10012 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10013 (gst_ghost_pad_new_full):
10014 Make the ghostpad a parent of the internal pad again for better backward
10015 compatibility. Don't write code that relies on this however.
10017 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10018 (gst_pad_link_check_hierarchy):
10019 Require that parents should be GstElements in the hierarchy check.
10021 2007-02-20 Wim Taymans <wim@fluendo.com>
10023 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10024 (gst_bin_change_state_func), (bin_query_min_max_init),
10025 (bin_query_latency_fold), (bin_query_latency_done),
10027 Improve debug info.
10028 Implement latency query.
10030 2007-02-20 Wim Taymans <wim@fluendo.com>
10032 * docs/design/part-gstghostpad.txt:
10033 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10034 (gst_ghost_pad_internal_do_activate_push),
10035 (gst_ghost_pad_internal_do_activate_pull),
10036 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10037 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10038 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10039 Do not set the internal pad as a parent anymore so we can avoid
10040 hierarchy linking errors when the ghostpad has no parent yet. This also
10041 fixes failed activation because of unlinked internal pads, which in
10042 turn fixes the impossible case where you have to activate a pad before
10043 you can add it to a running element.
10046 * gst/gstpad.c: (pre_activate), (post_activate),
10047 (gst_pad_set_active), (gst_pad_activate_pull),
10048 (gst_pad_activate_push), (gst_pad_check_pull_range):
10049 Add some more debug info.
10050 Mark activation mode in pre_activate so that we don't try to activate in
10051 endless loops. Fixes #385084.
10053 2007-02-19 Wim Taymans <wim@fluendo.com>
10055 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10056 (gst_base_transform_check_get_range):
10057 Implement a checkgetrange function instead of relying on the default
10058 core behaviour that assumes we can operate in pull mode if we have a
10059 getrange function. First step at fixing #385084.
10061 2007-02-15 Stefan Kost <ensonic@users.sf.net>
10063 * gst/gstchildproxy.h:
10064 * libs/gst/base/gstbasesink.h:
10065 * libs/gst/base/gstbasesrc.h:
10066 * libs/gst/base/gstbasetransform.h:
10067 More docs coverage and some ChangeLog surgery (add missing names)
10069 2007-02-15 Wim Taymans <wim@fluendo.com>
10071 * docs/design/part-TODO.txt:
10072 * docs/design/part-activation.txt:
10073 * docs/design/part-block.txt:
10074 * docs/design/part-buffering.txt:
10075 * docs/design/part-clocks.txt:
10076 * docs/design/part-element-source.txt:
10077 * docs/design/part-events.txt:
10078 * docs/design/part-gstbin.txt:
10079 * docs/design/part-gstbus.txt:
10080 * docs/design/part-gstpipeline.txt:
10081 * docs/design/part-live-source.txt:
10082 * docs/design/part-messages.txt:
10083 * docs/design/part-overview.txt:
10084 * docs/design/part-qos.txt:
10085 * docs/design/part-query.txt:
10086 * docs/design/part-states.txt:
10087 * docs/design/part-trickmodes.txt:
10088 Some doc updates. Start renaming from stream_time to running_time where
10089 it was used wrongly.
10091 2007-02-15 Wim Taymans <wim@fluendo.com>
10093 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10094 Answer LATENCY query.
10096 2007-02-15 Wim Taymans <wim@fluendo.com>
10098 * tests/check/gst/gstevent.c: (event_probe), (test_event),
10102 2007-02-15 Wim Taymans <wim@fluendo.com>
10104 * gst/gstpad.c: (gst_pad_get_internal_links_default),
10105 (gst_pad_dispatcher):
10106 Improve debugging of default pad dispatcher and query functions.
10108 2007-02-15 Wim Taymans <wim@fluendo.com>
10110 * docs/gst/gstreamer-sections.txt:
10111 Remove old unused method.
10113 2007-02-13 Wim Taymans <wim@fluendo.com>
10115 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10118 2007-02-13 Wim Taymans <wim@fluendo.com>
10120 * docs/design/part-seeking.txt:
10123 * gst/gstsegment.c: (gst_segment_set_seek):
10124 Revert old bogus change that should make seeking work again.
10126 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10128 * docs/random/ensonic/dynlink.txt:
10129 * docs/random/ensonic/interfaces.txt:
10130 * docs/random/ensonic/receipies.txt:
10131 Possible dynamic reconnection api, plus some type fixes the other two
10134 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10136 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10137 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10138 Also check for an absolute path following file:// in the filesrc
10139 element. Remove redundant check and call g_path_is_absolute() on the
10140 unescaped location.
10142 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10144 * docs/design/draft-klass.txt:
10145 Add existing category analysis.
10148 Fix doc example, framerate is a fraction.
10150 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10153 * docs/gst/Makefile.am:
10154 * docs/gst/gstreamer-sections.txt:
10155 * docs/libs/Makefile.am:
10156 Erm, forgot a bunch of --extra-dir.
10158 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10161 * docs/gst/Makefile.am:
10162 * docs/libs/Makefile.am:
10163 * docs/plugins/Makefile.am:
10164 Add crossreferences to glib/gobject docs.
10166 2007-02-12 Wim Taymans <wim@fluendo.com>
10168 * docs/design/draft-latency.txt:
10171 * docs/libs/gstreamer-libs-sections.txt:
10172 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10173 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10174 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10175 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10176 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10177 (gst_base_sink_get_position), (gst_base_sink_query),
10178 (gst_base_sink_change_state):
10179 * libs/gst/base/gstbasesink.h:
10180 API: gst_base_sink_query_latency() to let subclasses query the upstream
10182 API: gst_base_sink_get_latency() to let subclasses query the configured
10183 latency in the sink.
10184 Implement query and set latency.
10186 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10187 don't continue preroll when we are flushing. Fixes #405284.
10189 * tests/check/pipelines/stress.c: (change_state_timeout),
10190 (quit_timeout), (GST_START_TEST), (stress_suite):
10193 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10195 Patch by: René Stadler <mail at renestadler de>
10197 * docs/gst/gstreamer-sections.txt:
10198 * gst/gsttaglist.c: (_gst_tag_initialize):
10199 * gst/gsttaglist.h:
10200 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10202 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10204 * docs/libs/Makefile.am:
10205 Fix path to core docs.
10207 * gst/gstbin.c: (gst_bin_get_by_interface),
10208 (gst_bin_iterate_all_by_interface):
10209 Refix docs by also renaming 'interface' to 'iface' in implementation.
10211 * docs/gst/gstreamer-sections.txt:
10213 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10214 * gst/gstchildproxy.h:
10215 * gst/gstelementfactory.c:
10216 * gst/gstpadtemplate.h:
10217 * libs/gst/controller/gstcontroller.c:
10218 (gst_controlled_property_new):
10221 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10223 * gst/gstbin.h:(gst_bin_get_by_interface),
10224 (gst_bin_iterate_all_by_interface):
10225 Replace interface parameter name by iface as interface is
10226 a reserved keyword in Visual Studio for C++ projects so it removes
10227 a build error for application developpers using VS.
10228 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10229 Fix a bug on Windows in uri format check. Now the prefix checked
10230 is file:// and next we check if the path after file:// is absolute.
10231 * win32/common/libgstbase.def:
10232 * win32/common/libgstdataprotocol.def:
10233 * win32/common/libgstgstreamer.def:
10234 Add new exported functions.
10236 2007-02-09 Andy Wingo <wingo@pobox.com>
10238 * tests/check/pipelines/simple-launch-lines.c
10239 (simple_launch_lines_suite, test_tee): Disable tee test until I
10240 have time to fix it :-(
10242 * tests/check/Makefile.am (noinst_HEADERS):
10243 * tests/check/libs/libsabi.c:
10244 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10245 * tests/check/gst/gstabi.c:
10246 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10248 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10249 tests for push and pull tee behavior.
10251 * plugins/elements/gsttee.h:
10252 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10253 mark as deprecated as well as unimplemented. It was a crack idea.
10254 Add support for tee operating in pull mode, off by default.
10256 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10257 normal-case logs down to LOG, raise errors to WARNING.
10258 (gst_registry_xml_read_cache): Don't log before calling a function
10261 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10262 exit (registry finalize).
10263 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10264 DEBUG log when we emit signals that people don't even have the
10265 chance to connect to.
10266 (gst_registry_scan_path_level): Less logging in the normal case.
10268 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10270 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10272 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10273 Correctly generate EOS for non-seekable files. We don't have a total
10274 length for them and would get an unexpected end of file if we only
10275 special-cased for regular files. (Fixes: #404569)
10277 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10279 * tests/check/elements/filesrc.c: (GST_START_TEST),
10281 Add unit test for the GstURIHandler interface in filesrc. This also
10282 tests the newly added file://localhost/foo/bar support.
10284 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10286 * gst/gstelementfactory.h:
10287 The klass string is not a hierarchy. Add reference to the design doc
10288 for more information and common types.
10290 2007-02-02 Wim Taymans <wim@fluendo.com>
10292 * gst/gstquery.c: (gst_query_new_latency):
10293 Remove old structure field.
10295 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10297 * tools/gst-launch.1.in:
10298 Give example for network streaming (#351998)
10300 2007-02-02 Wim Taymans <wim@fluendo.com>
10302 * docs/gst/gstreamer-sections.txt:
10303 Add docs for new methods.
10305 * gst/gstevent.c: (gst_event_new_latency),
10306 (gst_event_parse_latency):
10308 Add new LATENCY event to configure latency in a pipeline.
10309 API: gst_event_new_latency
10310 API: gst_event_parse_latency
10312 * gst/gstmessage.c: (gst_message_new_buffering),
10313 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10314 (gst_message_new_latency), (gst_message_parse_buffering),
10315 (gst_message_parse_lost_preroll):
10316 * gst/gstmessage.h:
10317 Added messages used in draft-latency.
10318 API: gst_message_new_lost_preroll
10319 API: gst_message_parse_lost_preroll
10320 API: gst_message_new_prerolled
10321 API: gst_message_new_latency
10323 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10324 (gst_query_parse_latency):
10326 Implemented new latency query as in design doc.
10327 API: gst_query_new_latency
10328 API: gst_query_set_latency
10329 API: gst_query_parse_latency
10331 2007-02-02 Wim Taymans <wim@fluendo.com>
10333 * docs/design/draft-latency.txt:
10334 Slight redesign to allow for dynamic latency adjustments.
10336 * docs/design/part-negotiation.txt:
10339 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10341 reviewed by: Wim Taymans <wim@fluendo.com>
10343 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10344 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10345 Allow file://localhost/foo/bar URLs and correctly fail for every other
10346 hostname that one sets. This was gnomevfssrc is linked for those if
10347 installed as it can handle it (#403172)
10349 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10351 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10353 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10354 (unref_data), (gst_collect_pads_add_pad_full):
10355 * libs/gst/base/gstcollectpads.h:
10356 Don't put the previously added destroy notify in the GstCollectData
10357 struct as all it's padding is already used and we don't want to break
10358 ABI. Instead put in the pad's GObject data for now. This should be
10359 cleaned up for 0.11 (#402393).
10361 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10363 reviewed by: Wim Taymans <wim@fluendo.com>
10365 * docs/libs/gstreamer-libs-sections.txt:
10366 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10367 (unref_data), (gst_collect_pads_add_pad),
10368 (gst_collect_pads_add_pad_full):
10369 * libs/gst/base/gstcollectpads.h:
10370 API: Add function to specify a destroy notification for custom
10371 GstCollectData when adding new pads in GstCollectPads (#402393).
10373 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10376 Update Swedish translation (#378255).
10378 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10380 * docs/design/draft-klass.txt:
10381 Fix the previous change, this is a list of categories and not a hierarchy.
10383 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10385 * docs/design/draft-klass.txt:
10386 Add info about how to get a list of used classes.
10388 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10390 * plugins/elements/gsttypefindelement.c:
10391 (gst_type_find_element_chain_do_typefinding),
10392 (gst_type_find_element_change_state):
10393 Don't leak found caps in chain function (no idea why that never
10394 showed up as a leak anywhere).
10396 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10399 Fix and expand GstPluginDesc API docs.
10401 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10404 * gst/gstelementfactory.c:
10405 * gst/gstpadtemplate.h:
10408 * libs/gst/controller/gstcontroller.c:
10409 (gst_controlled_property_new):
10410 * tests/examples/controller/audio-example.c:
10413 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10416 comment about refining the xml deps
10418 * docs/manuals.mak:
10419 comments about moving away from jade for docs
10422 recommit the ifdefs to use the binary registry
10424 * gst/gstbin.c: (gst_bin_change_state_func):
10425 this break is obsolete
10427 * gst/gstelementfactory.h:
10428 better GST_ELEMENT_DETAILS docs, add comment about translation
10433 * gst/gstobject.c: (gst_signal_object_get_type):
10434 add G_UNLIKELY as usual
10436 * gst/gstpad.c: (gst_pad_event_default):
10437 add fall trhu comment
10439 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10440 (gst_registry_binary_initialize_magic),
10441 (gst_registry_binary_save_string),
10442 (gst_registry_binary_save_pad_template),
10443 (gst_registry_binary_save_feature),
10444 (gst_registry_binary_save_plugin),
10445 (gst_registry_binary_write_cache),
10446 (gst_registry_binary_check_magic),
10447 (gst_registry_binary_load_pad_template),
10448 (gst_registry_binary_load_feature),
10449 (gst_registry_binary_load_plugin),
10450 (gst_registry_binary_read_cache):
10451 comment typo and formatting
10453 * gst/gstutils.c: (gst_element_state_get_name),
10454 (gst_element_state_change_return_get_name):
10455 remove obsolete breaks
10457 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10458 add FIXME 0.11 and remove cpp comment
10460 2007-01-29 Edward Hervey <edward@fluendo.com>
10462 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10463 Fix print statement in an even more portable way.
10465 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10467 * docs/gst/gstreamer-sections.txt:
10469 API: add GST_ROUND_DOWN_* macros (#401781).
10471 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10473 * docs/gst/gstreamer.types.in:
10474 * gst/gstregistry.c: (gst_registry_class_init):
10475 Document registry signals and make gtk-doc pick them up (#401381).
10477 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10479 * docs/pwg/building-testapp.xml:
10480 Add some audioconverts and audioresample to the pipeline, and some
10481 more comments and error handling.
10483 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10485 * docs/manual/manual.xml:
10486 * docs/pwg/pwg.xml:
10487 Fix typo (#400987).
10489 2007-01-26 Wim Taymans <wim@fluendo.com>
10491 * gst/gstcaps.c: (gst_static_caps_get):
10492 Init caps flags too.
10494 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10496 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10498 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10499 If not using mmap'ed files try to seek to the end instead of the
10500 start to determine whether we can seek at all. This fixes the case
10501 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10502 seeks for everything afterwards fail. Fixes #400656
10504 2007-01-25 Wim Taymans <wim@fluendo.com>
10506 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10507 Add some refcount debugging.
10508 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10509 in multiple streaming threads.
10511 2007-01-25 Wim Taymans <wim@fluendo.com>
10513 Patch by: David Schleef <ds at schleef dot org>
10515 * docs/libs/gstreamer-libs-sections.txt:
10516 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10517 * libs/gst/base/gstadapter.h:
10518 API: gst_adapter_copy() that can reduce the amount of memcpy when
10519 getting data from the adapter. Fixes #388201.
10521 2007-01-25 Edward Hervey <edward@fluendo.com>
10523 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10524 In print statements, "%x" is for guint. Fixes build on macosx.
10526 2007-01-24 Edward Hervey <edward@fluendo.com>
10528 * plugins/elements/gstmultiqueue.c:
10529 (gst_multi_queue_loop):
10531 (single_queue_overrun_cb), (single_queue_underrun_cb),
10532 (single_queue_check_full), (gst_single_queue_new):
10533 Implement single queue growth system.
10534 This uses the extra-size properties, and will grow single queues by
10535 that much if one goes full whereas there are others empty. This is
10536 called extra-mode in the code.
10537 When a single queue's levels go back below the initial max-size
10538 limits, it is no longer in extra-mode. This is to ensure we don't
10539 consume too much memory.
10542 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10544 * gst/gst.c: (gst_init_get_option_group):
10545 Make warning about late g_thread_init() calls a bit more explicit,
10546 so that it's more obvious to application developers what they need
10547 to do if a user files a bug against their application.
10549 2007-01-22 Edward Hervey <edward@fluendo.com>
10551 * plugins/elements/gstmultiqueue.c:
10552 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10553 Remove previous hack of unsetting the flushing flag for the source pad
10554 instead of activating it. Instead, fix the source pad activate function
10555 so that it no longer depends on having a parent set or not.
10557 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10559 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10561 * docs/manual/basics-bus.xml:
10562 Fix example code, gst_element_unref() doesn't exist any longer.
10564 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10566 Patch by: Mark Nauwelaerts <manauw at skynet be>
10569 Fix two docs typoes (#399094).
10571 2007-01-19 Edward Hervey <edward@fluendo.com>
10573 * docs/faq/gst-uninstalled:
10574 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10575 depending on libgstbaseutils can work in uninstalled environment.
10577 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10579 * gst/gsttaglist.h:
10580 * gst/gsttagsetter.c:
10581 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10582 statement for new tag.
10584 2007-01-17 Edward Hervey <edward@fluendo.com>
10586 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10587 When dynamically creating single queues, activate sinkpad before adding
10589 We should be doing the same thing for the source pad, but we can't
10590 since it would call a method which needs the parent to be set in order
10591 to work propertly. Instead of activating the source pad, we just unset
10592 the flushing flag, which is the minimal requirement for adding a pad
10593 to an element in a state greater than READY.
10595 2007-01-17 Edward Hervey <edward@fluendo.com>
10597 * docs/faq/gst-uninstalled:
10598 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10601 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10603 * tests/check/gst/gstabi.c:
10604 * tests/check/gst/struct_hppa.h:
10605 * tests/check/libs/libsabi.c:
10606 * tests/check/libs/struct_hppa.h:
10607 Add ABI structs for HPPA (see #393796).
10609 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10611 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10612 Actually write ABI structs to the file specified in the GST_ABI
10613 environment variable, as the message we print claims we would.
10615 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10617 * tests/check/gst/gsttask.c:
10618 Fix header comment.
10620 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10622 * gst/gsttaglist.c: (_gst_tag_initialize):
10623 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10624 previous two entries.
10626 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10628 * docs/gst/gstreamer-sections.txt:
10629 * gst/gsttaglist.c: (_gst_tag_initialize):
10630 * gst/gsttaglist.h:
10631 Add tag support for beat-per-minute.
10633 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10635 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10636 (gst_registry_binary_initialize_magic),
10637 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10638 (gst_registry_binary_save_pad_template),
10639 (gst_registry_binary_save_feature),
10640 (gst_registry_binary_save_plugin),
10641 (gst_registry_binary_write_cache),
10642 (gst_registry_binary_check_magic),
10643 (gst_registry_binary_load_pad_template),
10644 (gst_registry_binary_load_feature),
10645 (gst_registry_binary_load_plugin),
10646 (gst_registry_binary_read_cache):
10647 * gst/gstregistrybinary.h:
10648 Use glib types, cleanup comments, impement interfaces and uri-types.
10650 2007-01-13 Andy Wingo <wingo@pobox.com>
10652 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10653 getrange() to return buffers with other caps, while we fix
10654 demuxers and typefind, or otherwise change part-negotiation.txt.
10656 2007-01-12 Andy Wingo <wingo@pobox.com>
10658 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10659 Factor start/stop into this private function instead of partially
10660 in activate functions and partially in the change_state function.
10661 Fixes setup before the element has changed from READY->PAUSED, as
10662 is the case in pull-mode pipelines.
10663 (gst_base_transform_sink_activate_push)
10664 (gst_base_transform_src_activate_pull): Refactor to use
10665 gst_base_transform_activate().
10666 (gst_base_transform_change_state): Removed, not needed any more.
10668 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10669 Truncate before fixating.
10671 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10672 Don't set_caps() if the result of fixating is ANY, as it's not
10673 supported, and not necessary in the case of a link with no
10674 template caps on either side. Fixes tests/check/libs/basesrc in
10675 some pull-mode tests.
10677 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10678 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10679 (gst_base_transform_src_activate_pull):
10680 Track the activation mode.
10681 (gst_base_transform_setcaps): In pull mode, when activating the
10682 src pad, after activating the sink pad, activate the sink pad's
10683 peer, as discussed in part-negotiation.txt.
10685 * libs/gst/base/gstbasesrc.h:
10686 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10687 vmethod, as in basesink.
10689 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10691 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10692 mode, first proxy the setcaps to the peer pad.
10693 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10694 new fixate vmethod.
10695 (gst_base_sink_default_activate_pull): Rename from
10696 gst_base_sink_activate_pull.
10697 (gst_base_sink_negotiate_pull): New function, performs negotiation
10698 in pull mode before calling ::activate_pull().
10699 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10700 vmethod instead of the default implementation. I have no idea how
10701 this worked before. Negotiate before calling activate_pull.
10703 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10704 sink pads in pull mode. In addition to being correct, fixes
10705 filesrc ! decodebin ! identity ! fakesink.
10706 (gst_pad_get_range, gst_pad_pull_range): Don't call
10707 gst_pad_set_caps() if the caps changes; instead error out with
10708 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10710 2007-01-12 Andy Wingo <wingo@pobox.com>
10712 * docs/design/part-negotiation.txt: Update with more policy.
10714 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10716 * libs/gst/check/gstbufferstraw.h:
10717 * libs/gst/check/gstcheck.h:
10718 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10721 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10723 * tests/check/Makefile.am:
10724 * tests/check/gst/.cvsignore:
10725 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10726 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10727 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10728 (GST_START_TEST), (gst_tag_setter_suite):
10729 Add minimal unit test for beforementioned GstTagSetter bug.
10731 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10733 Patch by: René Stadler <mail at renestadler dot de>
10735 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10736 gst_tag_list_merge() returns a new list, so it's not the best idea
10737 to ingore its return value. Effectively meant that tags could only
10738 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10739 Also add function guard to require a non-NULL taglist as input (has
10740 always been so due to gst_tag_list_copy(), just making it explicit).
10742 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10744 * docs/random/draft-missing-plugins.txt:
10745 Some additions: mention new API that is supposed to be used at the
10746 various stages; short blob about new gst-inspect introspection
10747 option; mention potential future problem with plugins that have
10748 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10750 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10752 * tools/gst-inspect.c:
10753 (print_plugin_automatic_install_info_codecs),
10754 (print_plugin_automatic_install_info_protocols),
10755 (print_plugin_automatic_install_info), (main):
10756 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10757 introspect plugin files and get machine-parsable output that corresponds
10758 to the last bit of the missing-plugin installer string (small gotcha:
10759 doesn't take into account ranks).
10761 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10764 * docs/gst/gstreamer-sections.txt:
10766 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10767 (gst_registry_lookup_locked):
10768 * gst/gstregistry.h:
10769 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10770 (gst_registry_binary_initialize_magic),
10771 (gst_registry_binary_save_string),
10772 (gst_registry_binary_save_pad_template),
10773 (gst_registry_binary_save_feature),
10774 (gst_registry_binary_save_plugin),
10775 (gst_registry_binary_write_cache),
10776 (gst_registry_binary_check_magic),
10777 (gst_registry_binary_load_pad_template),
10778 (gst_registry_binary_load_feature),
10779 (gst_registry_binary_load_plugin),
10780 (gst_registry_binary_read_cache):
10781 * gst/gstregistrybinary.h:
10782 * gst/gstregistryxml.c: (load_feature),
10783 (gst_registry_xml_read_cache):
10784 commit binary registry (disabled by default, see #359653)
10786 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10788 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10789 Fix 'make check' too.
10791 2007-01-10 Andy Wingo <wingo@pobox.com>
10793 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10796 * docs/design/part-negotiation.txt: Update with, um, one way that
10797 pull-mode negotiation might work?
10800 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10801 that the pad must be a src pad; makes sense to call it the other
10802 way in pull mode, and the logic is symmetric anyway.
10804 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10806 * plugins/elements/gstfilesink.c:
10807 Include <stdio.h> for fseeko().
10809 2007-01-10 Wim Taymans <wim@fluendo.com>
10813 Reserve LATENCY event.
10815 2007-01-09 Wim Taymans <wim@fluendo.com>
10817 * docs/design/draft-latency.txt:
10820 2007-01-09 Wim Taymans <wim@fluendo.com>
10822 * docs/design/draft-latency.txt:
10825 * gst/gstelement.h:
10826 * gst/gststructure.c:
10830 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10832 * tests/check/.cvsignore:
10833 Ignore test-registry.xml as well.
10835 2007-01-09 Wim Taymans <wim@fluendo.com>
10837 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10838 unref data at the end when we are done with the pad.
10840 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10842 * docs/gst/gstreamer-sections.txt:
10843 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10844 (init_post), (gst_deinit), (gst_update_registry):
10846 API: add gst_update_registry() (#391296).
10848 * tests/check/Makefile.am:
10849 * tests/check/gst/gstregistry.c:
10850 * tests/check/gst/.cvsignore:
10851 Simple unit test for the above.
10853 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10855 * gst/gstregistry.c: (gst_registry_scan_path_level):
10856 Plugin extension on HP-UX is .sl, add that to the list of approved
10857 plugin extensions (see #393796).
10859 * tests/check/gst/gstpad.c: (GST_START_TEST):
10860 ulong => gulong. Fixes compilation with HP-UX compiler.
10862 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10863 Fix compilation if valgrind headers are not available.
10865 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10867 * win32/common/libgstreamer.def:
10868 Add new exported function.
10869 * win32/vs6/libgstbase.dsp:
10870 Add gstdataqueue.c to the build.
10871 * win32/vs6/libgstcoreelements.dsp:
10872 Add gstmultiqueue.c to the build.
10874 2007-01-06 Andy Wingo <wingo@pobox.com>
10876 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10877 activate_pull(), providing for a way to specialize the process of
10878 spawning a thread to pull on the sink pad. There is a default
10881 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10882 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10883 (gst_base_sink_init): Renamed pad activation functions (inserting
10884 "_pad" in their names). Refactor to use the new activate_pull
10885 vmethod, as appropriate.
10886 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10887 default activate_pull function to start a task pulling from the
10888 sink pad, as before.
10890 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10891 on the pads if necessary, as in push()/chain(). Update docs.
10892 Shouldn't affect existing pull() usage as it is currently only
10893 being used on buffers without caps.
10895 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10897 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10899 Call g_thread_init() first thing in gst_init() / gst_check_init().
10900 When initialisation is done via gst_init_get_option_group() and
10901 GOption parsing, issue a warning if the GLib thread system has not
10902 been initialised yet by the time gst_init_get_option_group() is
10903 called, as it's quite likely other GLib functions such as
10904 g_option_context_new() have been called already then, and
10905 g_thread_init() must be called before any other GLib function. The
10906 application in question must be fixed in that case, since memory
10907 corruption might happen otherwise.
10908 We issue the warning because even if the GLib folks decide to work
10909 around the problem on their end in future, this is still an issue
10910 with all GLib versions >= 2.10.0, so we should warn until we depend
10911 on a GLib version we know to be safe.
10912 Update documentation as well.
10913 Closes bug #391278.
10915 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10917 * tools/gst-inspect.c: (main):
10918 * tools/gst-launch.c: (main):
10919 * tools/gst-typefind.c: (main):
10920 * tools/gst-xmlinspect.c: (main):
10921 Call g_thread_init() really really early, before any other GLib
10922 function (see #342564 and recent discussion on gtk-devel-list).
10924 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10926 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10928 * gst/gst_private.h:
10929 * gst/gstconfig.h.in:
10931 On win32, all the __declspec stuff for symbol exporting is
10932 apparently only needed with MSVC, but doesn't work with MingW.
10933 Fixes compilation with MingW and #391909.
10935 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10937 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10938 Change some GST_ERROR_OBJECT that aren't really errors to
10939 GST_WARNING_OBJECT in order to reduce terminal spam.
10941 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10943 * tests/check/Makefile.am:
10944 disable test again, as there seem to be still race problems
10946 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10948 * tests/check/Makefile.am:
10949 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10950 (GST_START_TEST), (queue_suite):
10951 enable queue test again, add tests for the leaky behaviour
10953 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10956 * tests/examples/Makefile.am:
10957 Compile adapter test/example only if the required headers are
10958 available (fixes #391915).
10960 2007-01-01 David Schleef <ds@schleef.org>
10963 Restore the previous signal handler for SIGSEGV instead of
10964 setting to default, since we may have stolen it away from
10965 someone. (i.e., Mono)
10967 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10969 * docs/random/draft-missing-plugins.txt:
10970 Some small additions and clarifications.
10972 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10974 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10975 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10976 since that can lead to random memory corruptions and crashes
10977 (may or may not be related to #383244, #386711, and #386711).
10979 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10981 * tests/check/.cvsignore:
10982 * tests/check/Makefile.am:
10983 sync .cvsignome and CLEANFILES
10985 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10987 * tests/check/Makefile.am:
10990 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10992 * docs/design/part-states.txt:
10993 two tiny additional comments
10995 * gst/gststructure.c:
10998 * tests/check/Makefile.am:
10999 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11001 disable test for now, unless it gets fixed
11003 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11005 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11007 fix race in underrun test
11009 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11011 * tests/check/elements/.cvsignore:
11014 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11016 try to narrow test failure
11018 2006-12-21 David Schleef <ds@schleef.org>
11020 * plugins/elements/gstfakesrc.c:
11021 Use g_random_int_range(), since it produces better random
11022 numbers in a range than almost-correct floating point code.
11024 2006-12-21 Stefan Kost <ensonic@users.sf.net>
11026 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11027 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11028 (gst_check_teardown_sink_pad):
11029 do not automatically (de)activate pads
11031 * tests/check/Makefile.am:
11032 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11033 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11034 add new, yet simple tests for queue
11036 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11037 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11038 * tests/check/elements/filesrc.c: (cleanup_filesrc),
11040 * tests/check/elements/identity.c: (cleanup_identity):
11041 consistent pad (de)activation
11043 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
11045 Patch by: Sebastian Dröge <slomo ubuntu com>
11047 * libs/gst/base/gstcollectpads.c:
11048 Fix two doc typos (#387866).
11050 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
11052 * docs/manual/advanced-dparams.xml:
11053 Fix typo (g_object_control_properties() doesn't exist).
11055 2006-12-19 Edward Hervey <edward@fluendo.com>
11057 * gst/gstsegment.c: (gst_segment_set_seek):
11058 Fine tune the cases where the segment start/stop values are really
11060 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11061 Add tests for the return values of gst_segment_set_seek().
11063 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
11068 * plugins/elements/gstqueue.c: (gst_queue_class_init),
11070 Fix incorrect documentation and flesh it out a bit more.
11071 Set default values for the max properties on the GParamSpec as well,
11072 so it shows up correctly in gst-inspect.
11074 2006-12-18 Stefan Kost <ensonic@users.sf.net>
11076 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11077 Correct docs of queue, add more detail and crosslink it more.
11079 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11081 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11082 Print additional debug info when the stream isn't perfectly
11083 timestamped; don't try to use invalid durations.
11085 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11087 * docs/design/Makefile.am:
11088 Dist new design docs.
11090 2006-12-16 Wim Taymans <wim@fluendo.com>
11092 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11094 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11095 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11096 (gst_collect_pads_stop), (gst_collect_pads_event),
11097 (gst_collect_pads_chain):
11098 * libs/gst/base/gstcollectpads.h:
11099 Add refcounting to the collectpads data so we can track when it's safe
11100 to free the data. Fixes #383382.
11102 2006-12-15 Wim Taymans <wim@fluendo.com>
11104 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11105 (gst_collect_pads_remove_pad):
11106 Automatically activate/deactivate pads when they are added to a
11107 started/stoped collectpads.
11109 2006-12-15 Wim Taymans <wim@fluendo.com>
11111 * gst/gstelement.c: (gst_element_add_pad):
11112 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11113 * gst/gstpad.c: (gst_pad_init):
11114 Set pads to FLUSHING when they are created. Check, warn and fix when a
11115 demuxer adds an inactive pad to itself when running. Fixes #339326.
11117 2006-12-15 Wim Taymans <wim@fluendo.com>
11119 * gst/gstelement.c: (gst_element_class_init),
11120 (gst_element_default_send_event), (gst_element_send_event),
11121 (gst_element_default_query), (gst_element_query):
11122 Expose default element send_event and query handling as vmethods that
11123 subclasses can chain up to.
11125 2006-12-15 Wim Taymans <wim@fluendo.com>
11127 * gst/gstelement.c: (gst_element_set_state_func):
11128 Small documentation fixes.
11130 2006-12-15 Wim Taymans <wim@fluendo.com>
11132 * docs/design/draft-latency.txt:
11133 Checked in draft for handling latency in pipelines.
11135 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11139 * gstreamer.spec.in:
11142 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11144 * gst/gst.c: (init_pre), (init_post):
11145 init_pre() and init_post() might be called via our GOptionGroup or
11146 from gst_init(), and we should skip both of them if we've already
11147 been initialised, otherwise we will init some things twice or add
11148 two default log functions.
11150 2006-12-13 Edward Hervey <edward@fluendo.com>
11152 * docs/manual/basics-bus.xml:
11153 No, gst_main_loop does not exist. Its g_main_loop.
11154 Discovered by somebody who abused the copy-paste technique of coding :)
11156 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11158 * gst/gstghostpad.c:
11159 Log ghostpad debug stuff to the GST_PADS category as well rather
11160 than just to the default category.
11162 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11165 * gst/gst.c: (init_pre):
11166 Add some basic system details such as OS and architecture
11167 to the debug output if possible, courtesy of uname().
11169 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11171 * docs/gst/running.xml:
11172 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11173 environment variables.
11175 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11177 * tests/check/gst/gstbin.c: (GST_START_TEST):
11178 It is acceptable to have a refcount of 2 or 3 at this point in the
11179 test, because the pipeline might be just posting its state_change
11180 message. The next line then waits for that message to appear using
11181 bus_poll, so that should be fine too.
11183 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11185 * gst/gst.c: (ensure_current_registry_forking):
11186 Ignore EINTR when reading from the child registry pipe.
11187 Explicitly ignore the return value from close, since it makes no
11190 * gst/gstminiobject.c: (gst_mini_object_ref),
11191 (gst_mini_object_unref):
11192 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11194 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11195 When removing cached plugins, remove their features too, so they're
11196 not visible after they've disappeared.
11198 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11199 In the unlikely case that we are linking pads with no parents, don't
11200 crash trying to get the non-existent parent bin.
11202 * gst/parse/grammar.y:
11203 Output debug in the PIPELINE category
11205 2005-03-08 Wim Taymans <wim@fluendo.com>
11207 Patch by: René Stadler <mail at renestadler dot de>
11209 * gst/gstclock.c: (gst_clock_new_periodic_id):
11210 Reject invalid clock times for interval of periodic ids.
11213 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11215 * gst/gstelementfactory.c: (gst_element_factory_create):
11216 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11217 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11218 * tools/gst-inspect.c: (print_element_info):
11219 Fix refcounting of gst_plugin_feature_load to match the docs.
11222 2006-12-07 Wim Taymans <wim@fluendo.com>
11224 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11225 (gst_base_sink_get_position):
11226 Improve debugging of events.
11228 2006-12-07 Wim Taymans <wim@fluendo.com>
11230 Patch by: René Stadler <mail at renestadler dot de>
11232 * gst/gstclock.c: (gst_clock_id_wait):
11233 Make period ids add the interval to the origial requested time instead
11234 of the possibly updated time which can be wrong when there are multiple
11235 waiters for the same id. Fixes #382592.
11237 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11238 (gst_system_clock_id_wait_jitter_unlocked),
11239 (gst_system_clock_id_wait_jitter):
11240 Fix restart in the async notify thread when an async entry is added to
11241 the front of the list. Fixes #381492.
11243 * tests/check/gst/gstsystemclock.c: (store_callback),
11244 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11245 Added test for multiple async waits.
11246 Added test for async wait order.
11248 2006-12-07 Wim Taymans <wim@fluendo.com>
11250 * gst/gstbin.c: (gst_bin_query):
11251 Add some more docs about the POSITION query.
11253 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11256 Bump version nano - back to CVS.
11258 === release 0.10.11 ===
11260 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11263 releasing 0.10.11, "Love never runs on time"
11265 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11267 * win32/common/libgstbase.def:
11268 * win32/common/libgstreamer.def:
11269 * win32/vs8/libgstbase.vcproj:
11270 * win32/vs8/libgstcoreelements.vcproj:
11271 * win32/vs8/libgstreamer.vcproj:
11272 Fix compilation on win32 under VS8
11273 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11274 Partially fixes #381175
11276 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11278 * gst/gstvalue.c: (gst_value_compare_fraction):
11279 If someone is foolish enough to compare 2 fractions with denominator =
11280 0, return UNORDERED rather than aborting.
11282 2006-11-28 Edward Hervey <edward@fluendo.com>
11284 * libs/gst/base/Makefile.am:
11285 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11286 (gst_data_queue_base_init), (gst_data_queue_class_init),
11287 (gst_data_queue_init), (gst_data_queue_new),
11288 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11289 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11290 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11291 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11292 (gst_data_queue_set_flushing), (gst_data_queue_push),
11293 (gst_data_queue_pop), (gst_data_queue_drop_head),
11294 (gst_data_queue_set_property), (gst_data_queue_get_property):
11295 * libs/gst/base/gstdataqueue.h:
11296 New GstDataQueue object for threadsafe queueing. Most useful for
11297 elements that need some queueing functionnality.
11298 * docs/libs/gstreamer-libs-docs.sgml:
11299 * docs/libs/gstreamer-libs-sections.txt:
11300 Insert documentation for GstDataQueue
11301 * plugins/elements/Makefile.am:
11302 * plugins/elements/gstelements.c:
11303 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11304 (gst_multi_queue_class_init), (gst_multi_queue_init),
11305 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11306 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11307 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11308 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11309 (gst_multi_queue_loop), (gst_multi_queue_chain),
11310 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11311 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11312 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11313 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11314 (wake_up_next_non_linked), (compute_next_non_linked),
11315 (single_queue_overrun_cb), (single_queue_underrun_cb),
11316 (single_queue_check_full), (gst_single_queue_new):
11317 * plugins/elements/gstmultiqueue.h:
11318 New multiqueue element, using GstDataQueue. Used for queuing multiple
11320 Closes #344639 and #347785
11322 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11324 * docs/pwg/advanced-types.xml:
11325 add more missing type details
11327 * tools/gst-run.c: (main):
11328 remove unused variable
11330 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11332 * docs/libs/Makefile.am:
11333 * docs/libs/gstreamer-libs.types:
11334 add types of base classes to enable gobject specific stuff in the docs
11336 * docs/random/ensonic/embedded.txt:
11337 more ideas about isolating platform specific things
11339 2006-11-20 Wim Taymans <wim@fluendo.com>
11341 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11343 * libs/gst/check/gstcheck.h:
11344 Fix compilation and running against 0.9.4. Fixes #377332.
11346 2006-11-20 Wim Taymans <wim@fluendo.com>
11348 * gst/gstsegment.c: (gst_segment_set_seek),
11349 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11350 (gst_segment_to_running_time):
11351 Fix boundary checking in to_running_time() and to_stream_time().
11354 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11355 stream and running time can now be calculated for the complete
11358 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11360 * gst/gstpad.c: (gst_pad_push_event):
11361 Can't access event structure after giving away ownership of
11364 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11366 * docs/random/ensonic/embedded.txt:
11367 * docs/random/ensonic/profiling.txt:
11368 * docs/random/ensonic/receipies.txt:
11371 2006-11-13 Wim Taymans <wim@fluendo.com>
11373 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11376 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11378 2006-11-13 Wim Taymans <wim@fluendo.com>
11380 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11382 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11383 Store new length in segment duration so we don't keep on calling the
11384 potentially expensize get_size() call. Fixes #370865.
11386 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11388 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11390 * win32/common/libgstreamer.def:
11391 Add two missing symbols (#366492).
11393 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11395 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11396 (gst_adapter_take_buffer):
11397 Fix format string to use all its arguments.
11398 Remove useless >= check on a guint
11400 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11402 * tests/examples/adapter/.cvsignore:
11403 Ignore build file as commanded by the build-bot
11405 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11407 * tests/examples/adapter/Makefile.am:
11408 * tests/examples/adapter/adapter_test.c: (run_test_take),
11409 (run_test_take_buffer), (run_tests), (main):
11411 Add new files from the previous commit
11413 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11417 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11418 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11419 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11420 * libs/gst/base/gstadapter.h:
11421 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11422 (GST_START_TEST), (gst_adapter_suite):
11423 * tests/examples/Makefile.am:
11424 Do some optimisation work in GstAdapter to avoid copies in more cases.
11425 It could still do slightly better by merging buffers when
11426 gst_buffer_is_span_fast is true, but is already faster.
11428 Also, avoid traversing a single-linked list to append each incoming
11429 buffer inside the adapter.
11431 Add simple test app that times the adapter behaviour in different
11432 situations, and extend the unit test to check that bytes enter and
11433 exit the adapter in their original order.
11435 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11437 * docs/random/draft-missing-plugins.txt:
11438 Update: use element message instead of adding a new message
11439 type to the core; don't provide GStreamer API to initiate the
11440 plugin download, just provide API to compose the strings needed
11441 and let an external libgimmestuff handle the rest.
11443 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11445 * tools/gst-inspect.c: (print_element_properties_info):
11446 Print a string instead of 'unknown type' for GValueArray properties
11448 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11450 * docs/random/draft-missing-plugins.txt:
11453 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11455 * tests/examples/typefind/typefind.c: (type_found), (main):
11456 Make typefind element example work again (#371894); add a
11459 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11461 * docs/random/draft-missing-plugins.txt:
11462 Commit initial draft about how to deal with missing plugins,
11463 needs work (API too).
11465 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11467 * docs/pwg/advanced-types.xml:
11468 documents the new caps elements (see #363118)
11470 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11472 * gst/gstplugin.c: (gst_plugin_load_file):
11473 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11474 (gst_file_src_map_region), (gst_file_src_start):
11475 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11476 (gst_file_index_commit):
11477 Use g_strerror() instead of strerror() - we want UTF-8.
11479 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11481 Patch by: Peter Kjellerstedt <pkj at axis com>
11483 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11484 Another printf fix (#371493).
11486 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11488 * tests/check/gst/gsttag.c:
11489 relicence (okay with author=company)
11491 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11493 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11494 (gst_pad_push_event):
11495 Enhance debug and improve docs
11500 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11502 * docs/random/ensonic/distributed.txt:
11503 * docs/random/ensonic/profiling.txt:
11506 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11508 * docs/gst/gstreamer-sections.txt:
11509 add new API and fix the build
11511 * gst/gstbin.c: (gst_bin_recalc_state):
11512 * gst/gstelement.c: (gst_element_message_full),
11513 (gst_element_get_state_func), (gst_element_set_state_func):
11514 use new API and improve logging
11516 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11518 API: add function to get StateChangereturn names to improve logs
11520 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11522 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11523 I'm considering shooting the next person to put strerror stuff
11524 in the translateable part of the message.
11526 2006-11-03 Wim Taymans <wim@fluendo.com>
11528 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11529 Get the type and printf conversion specifiers right.
11531 2006-11-03 Wim Taymans <wim@fluendo.com>
11533 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11535 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11536 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11537 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11538 Some small cleanups. Improve debugging.
11540 Signal all waiting threads with a broadcast instead of just one.
11543 2006-11-03 Wim Taymans <wim@fluendo.com>
11545 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11546 (gst_fd_src_create):
11547 Add some debugging.
11548 Only update fd when it's different from the old.
11550 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11552 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11553 Printf fixes for PPC/OSX, take two (#369366).
11555 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11557 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11559 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11560 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11561 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11562 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11563 don't cast to long long for portability reasons, but use
11564 GLib's types instead.
11566 2006-10-30 Michael Smith <msmith@fluendo.com>
11568 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11569 Get the arguments to lseek() the right way around.
11572 2006-10-30 Wim Taymans <wim@fluendo.com>
11574 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11577 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11579 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11581 Patch by: Kjartan Maraas <kmaraas at gnome org>
11583 * docs/design/part-MT-refcounting.txt:
11584 * docs/random/wtay/capsnego2-docs:
11587 Typo fixes (#366212).
11589 2006-10-28 Wim Taymans <wim@fluendo.com>
11591 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11594 * win32/common/libgstbase.def:
11595 * win32/common/libgstreamer.def:
11596 * win32/vs8/libgstbase.vcproj:
11597 * win32/vs8/libgstcontroller.vcproj:
11598 Add needed entries in .def files.
11600 Rearrange def files in vs8 solutions. Fixes #366286.
11602 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11604 * win32/common/gstconfig.h:
11605 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11606 hand-made win32 gstconfig.h. Fixes #366321.
11608 2006-10-27 Wim Taymans <wim@fluendo.com>
11610 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11611 (gst_ghost_pad_new_full):
11612 Make acceptcaps return TRUE when we don't have a target, just like
11615 2006-10-27 Wim Taymans <wim@fluendo.com>
11617 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11618 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11620 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11622 * gst/gststructure.c: (gst_structure_id_set_value):
11623 If someone tries to set a non-UTF8 string field on a structure,
11624 don't just print a warning, but also ignore the request and do
11625 not change/add that field to the structure.
11627 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11628 Test for the above.
11630 2006-10-25 David Schleef <ds@schleef.org>
11633 g_hash_table_insert() needs a cast to a non-const pointer duh.
11635 2006-10-25 David Schleef <ds@schleef.org>
11639 Change name parameter of _gst_debug_register_funcptr to const
11640 to reflect the constness of its use in the function as well
11641 as to quiet a gcc warning.
11643 2006-10-25 Edward Hervey <edward@fluendo.com>
11645 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11646 Don't push the buffer if it's empty.
11649 2006-10-24 Wim Taymans <wim@fluendo.com>
11654 * libs/gst/base/gstbasetransform.c:
11655 (gst_base_transform_sink_eventfunc):
11656 Debug segment values *after* updating them as this is more
11659 2006-10-23 Wim Taymans <wim@fluendo.com>
11661 * docs/design/part-events.txt:
11664 * docs/design/part-block.txt:
11665 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11666 (gst_pad_push_event):
11667 Revert BLOCKING patch, it tries to be smart without really having a
11668 clear idea what or how. So, now we discard all FLUSHING events again on
11669 a blocking pad. Should fix gnonlin again.
11671 2006-10-23 Wim Taymans <wim@fluendo.com>
11673 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11675 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11676 (gst_base_src_start), (gst_base_src_activate_push):
11677 Make sure size is always initialized. Fixes #364388.
11679 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11681 * docs/random/ensonic/distributed.txt:
11682 add some ideas about doing distributed processing
11684 * docs/random/ensonic/profiling.txt:
11685 get_rusage look promising
11687 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11689 * docs/manual/basics-helloworld.xml:
11690 Add a cast in example to fix compile warning
11692 2006-10-18 Wim Taymans <wim@fluendo.com>
11694 * gst/gstsegment.c: (gst_segment_set_last_stop),
11695 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11696 Relax arg checking again, -1 is allowed.
11698 2006-10-18 Wim Taymans <wim@fluendo.com>
11700 * gst/gstsegment.c: (gst_segment_set_last_stop),
11701 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11702 _set_last_stop() must be with a value != -1
11703 A _TYPE_SET to -1 means seek to 0.
11704 Calc last_stop correctly for negative rates.
11705 Make sure we work with positive durations when updating a segment.
11707 2006-10-18 Wim Taymans <wim@fluendo.com>
11709 * docs/design/part-live-source.txt:
11713 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11716 Add an explicit cast to GstBuffer** to keep old code that added an
11717 explicit cast to GstMiniObject** for gst_mini_object_replace()
11718 compiling without warning.
11720 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11722 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11723 check for validity of dates
11725 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11727 * docs/gst/gstreamer-sections.txt:
11728 Forgot this one, makes gtk-doc shut up.
11730 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11732 Patch by: Peter Kjellerstedt <pkj at axis com>
11735 Don't define xmlNodePtr to gpointer if the core was built with
11736 --disable-loadsave and --disable-registry, this will break
11737 applications that want to use libxml2 but are buildling against a
11738 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11739 instead so we don't have to mess with the libxml2 namespace
11742 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11745 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11746 type-punned pointer warnings.
11748 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11750 * gst/gstelement.h:
11751 Add casts to the correct return type to state <=> state transition
11754 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11756 * docs/design/part-live-source.txt:
11757 describe howto handle latency
11759 * docs/random/ensonic/profiling.txt:
11762 * tools/gst-plot-timeline.py:
11763 fix log parsing for solaris, remove unused function
11765 2006-10-16 Wim Taymans <wim@fluendo.com>
11767 * docs/design/part-trickmodes.txt:
11769 Update some docs regarding reverse playback.
11771 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11773 Patch by: Marcus Granado <mrc dot gran at gmail com>
11775 * win32/vs8/grammar.vcproj:
11776 Error out with a warning if glib-genmarshal.exe is not in path,
11777 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11779 2006-10-13 Wim Taymans <wim@fluendo.com>
11781 * gst/gstsegment.c: (gst_segment_set_seek):
11782 When seeking to stop -1, set last_stop (current position) to the
11783 duration of the segment.
11785 2006-10-13 Wim Taymans <wim@fluendo.com>
11787 * gst/gstelement.h:
11788 Clarify _NO_PREROLL a bit more.
11793 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11794 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11795 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11796 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11797 due to wrong locking order. Fixes #361769.
11798 Remove some redundant/misplaced checks in pad_block.
11800 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11801 For negative rates, count backwards from the duration.
11803 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11805 * gst/gsterror.c: (_gst_library_errors_init):
11806 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11807 up with something better).
11809 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11811 * win32/vs6/libgstreamer.dsp:
11812 * win32/vs7/libgstreamer.vcproj:
11813 * win32/vs8/libgstreamer.vcproj:
11814 Don't reference glib-compat.c which is currently not used and not
11815 disted; add gstquark.c which was recently added. Fixes #361730.
11817 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11819 * win32/common/libgstbase.def:
11820 * win32/common/libgstcontroller.def:
11821 * win32/common/libgstreamer.def:
11822 Add gst_caps_merge() and a bunch of other recently-added functions.
11825 2006-10-11 Wim Taymans <wim@fluendo.com>
11827 * docs/plugins/gstreamer-plugins.args:
11828 * docs/plugins/inspect/plugin-coreelements.xml:
11829 * docs/plugins/inspect/plugin-coreindexers.xml:
11830 Update element args.
11832 * gst/gstsystemclock.c:
11833 Small comment update.
11835 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11836 (gst_tee_request_new_pad), (gst_tee_release_pad),
11837 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11838 (gst_tee_sink_activate_pull):
11839 * plugins/elements/gsttee.h:
11841 Add default property defines.
11842 Implement release pad function.
11843 Give properties better blubs etc.
11844 Activate pads before adding them to a running tee.
11845 Do simple buffer_alloc on the first requested pad.
11846 Post error when activation fails.
11848 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11850 * gst/gst.c: (ensure_current_registry_forking):
11851 Check return value of write() to make compiler happy.
11853 2006-10-11 Wim Taymans <wim@fluendo.com>
11855 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11857 * plugins/elements/gstqueue.c: (gst_queue_chain):
11858 Recheck queue filledness after signalling the overrun when we're about
11859 to leak downstream because we released the lock when emitting the signal
11860 and the queue could be empty again. Fixes #352345.
11862 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11864 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11865 Fix refcounting here too, just like we did for _new_valist() a few
11866 days ago (#357180) (thanks to René Stadler). Also remove all those
11867 'Since: 0.9' from the gtk-doc blobs.
11869 * tests/check/libs/controller.c: (controller_refcount_new_list),
11870 (gst_controller_suite):
11871 Unit test for the above.
11873 2006-10-10 Wim Taymans <wim@fluendo.com>
11875 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11877 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11878 (gst_pad_save_thyself):
11880 Write pad direction in XML output. Fixes #345496.
11882 2006-10-10 Wim Taymans <wim@fluendo.com>
11884 Patch by: René Stadler <mail at renestadler dot de>
11886 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11887 (gst_controller_new_list), (_gst_controller_dispose),
11888 (_gst_controller_finalize), (_gst_controller_class_init):
11889 Take ref to controlled object so that it cannot disappear.
11892 2006-10-10 Wim Taymans <wim@fluendo.com>
11894 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11895 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11896 (gst_check_teardown_sink_pad):
11897 Activate/deactivate pads in setup/teardown respectively.
11899 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11901 Patch by: Josep Torra Valles <josep@fluendo.com>
11904 Cast values when making gstenumtypes.h. This pacifies Forte
11905 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11906 in the enumeration.
11908 2006-10-09 Wim Taymans <wim@fluendo.com>
11910 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11911 Rename some more @cur to @start to fix docs.
11913 * gst/gstsegment.c: (gst_segment_set_seek):
11915 time and start must always stay in sync as defined in design doc.
11917 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11918 Rename param to fix docs.
11920 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11921 Check that start and time are in sync.
11923 * tests/check/pipelines/parse-launch.c:
11924 (gst_parse_test_element_change_state):
11925 Activate pad before adding to the element.
11927 2006-10-09 Wim Taymans <wim@fluendo.com>
11929 * docs/design/part-qos.txt:
11934 Update seek event docs regarding negative rates.
11935 Rename @cur to @start.
11937 * gst/gstsegment.c: (gst_segment_set_seek):
11938 * gst/gstsegment.h:
11939 Update set_seek docs regarding negative rates.
11940 Correctly update last_stop to @stop when dealing with negative
11942 Rename @cur to @start.
11944 * tests/check/gst/gstpad.c: (GST_START_TEST):
11945 Activate pads before trying to use them.
11947 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11948 (gst_segment_suite):
11949 Add simple check for segments and negative rates.
11951 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11953 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11954 * gst/gsttaglist.h:
11955 * docs/gst/gstreamer-sections.txt:
11956 API: add gst_tag_list_is_empty() (#360467).
11958 * tests/check/gst/gsttag.c: (GST_START_TEST):
11961 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11963 * gst/gstmessage.h:
11964 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11965 a value that doesn't fit on enumeration.
11967 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11969 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11970 Remove local debugging system and use Gstreamer's instead.
11972 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11974 Patch by: Josep Torra Valles <josep@fluendo.com>
11976 * common/m4/gst-error.m4:
11977 Disable warning of statement not reached on Forte.
11978 * gst/gstmessage.h:
11979 Fix warning on Forte (value doesn't fit on enumeration).
11980 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11981 Fix warning on Forte (value doesn't fit on enumeration).
11982 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11983 DEBUG macro says it takes minimum of 2 args and so Forte
11984 complains about the use with just 1 arg.
11985 * plugins/elements/gstfdsink.c:
11986 * plugins/elements/gstfdsrc.c:
11987 * plugins/elements/gstfilesink.c:
11988 * plugins/elements/gstfilesrc.c:
11989 Use correct return type for the uri handler implementations.
11991 All these fix warnings in Forte. Fixes bug #360860.
11993 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11995 * gst/gstelement.h:
11996 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11997 format string, so don't use G_GNUC_PRINTF for those versions.
11999 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
12001 * gst/gsttaglist.c: (gst_is_tag_list):
12002 * gst/gsttaglist.h:
12003 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12005 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12006 Small test for the above.
12008 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
12010 * gst/gsttaglist.h:
12011 Less tabs, more spaces.
12013 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
12016 Those two function declarations do actually belong there, revert
12017 commit from yesterday that turned them intro macros.
12019 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12021 Patch by: Josep Torra Valles <josep@fluendo.com>
12023 * gst/gst.c: (gst_init_get_option_group):
12024 Fix empty declaration and type mismatch.
12025 * gst/gstbin.c: (gst_bin_change_state_func):
12027 * gst/gstelement.c: (gst_element_continue_state),
12028 (gst_element_set_state_func), (gst_element_change_state),
12029 (gst_element_change_state_func):
12030 Fix type mismatches.
12031 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12032 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12033 Cast as appropriate.
12034 * gst/gstobject.c: (gst_class_signal_connect):
12035 Cast as appropriate. The function pointer parameter really
12036 has the wrong type but would break API if we change it.
12038 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12039 order of including string.h.
12040 * gst/gstutils.c: (gst_element_state_get_name):
12041 Remove unreachable line.
12042 * gst/gstxml.c: (gst_xml_parse_doc):
12044 All these caught by Forte.
12046 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12048 Patch by: Josep Torra Valles <josep@fluendo.com>
12050 * common/m4/gst-error.m4:
12052 We need to disable warnings on Forte for empty declarations
12053 due to gst-indent adding ;s to lines that just use macros
12054 where the macro actually doesn't need a ; at end to end
12057 2006-10-06 Wim Taymans <wim@fluendo.com>
12059 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12060 (gst_file_sink_close_file), (gst_file_sink_event),
12061 (gst_file_sink_render):
12062 Add some FIXME for the NEWSEGMENT handling.
12064 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12066 * gst/parse/grammar.y:
12067 Remove static function gst_parse_element_lock as all it does
12068 is return. Looks like cruft from 0.8.
12070 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12072 Patch by: Josep Torra Valles <josep@fluendo.com>
12074 * common/m4/gst-error.m4:
12076 * libs/gst/net/Makefile.am:
12077 Fix a compilation issue with Forte on Solaris. inet_aton is in
12080 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12082 * gst/gstpad.c: (pre_activate):
12083 * gst/gstregistry.c: (gst_registry_scan_path_level):
12084 * gst/gstregistryxml.c: (load_plugin):
12085 * libs/gst/controller/gstcontroller.c:
12086 (gst_controlled_property_set_interpolation_mode):
12087 * libs/gst/dataprotocol/dataprotocol.c:
12088 (gst_dp_packet_from_event_1_0):
12089 * libs/gst/net/gstnetclientclock.c:
12090 (gst_net_client_clock_observe_times):
12091 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12094 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12097 * docs/gst/gstreamer-sections.txt:
12098 * gst/gstconfig.h.in:
12099 * gst/gstelement.h:
12101 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12102 whether we can use G_GNUC_PRINTF in other header files and at
12103 least check the printf format/arguments of debug messages and
12104 GST_ELEMENT_ERROR messages when the printf extension is not
12106 Replace more tabs with spaces in gstinfo.h and remove two spurious
12107 function declarations in GST_DISABLE_DEBUG part with macros.
12109 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
12111 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12112 More docs for the sync-message signal (mention that it is not
12113 emitted by default); log message structures of messages posted on
12116 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
12118 * gst/gst.c: (ensure_current_registry_forking):
12119 Use a pipe pair to receive status results from the forked child, and
12120 ignore the result from waitpid. Fixes #355499
12122 2006-10-02 Wim Taymans <wim@fluendo.com>
12124 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12125 (gst_ghost_pad_suite):
12128 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12131 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12133 2006-10-02 Edward Hervey <edward@fluendo.com>
12135 * docs/design/part-block.txt:
12136 Further explain the use of flushing on blocked pads.
12137 * docs/gst/gstreamer-sections.txt:
12138 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12139 (gst_pad_push_event):
12141 Added new GstPadFlag : GST_PAD_BLOCKING.
12142 Adds the notion of pads really blocking, which enables to properly
12143 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12145 API: gst_pad_is_blocking()
12146 API: GST_PAD_IS_BLOCKING() macro
12147 API: GST_PAD_BLOCKING GstPadFlag
12149 2006-10-02 Wim Taymans <wim@fluendo.com>
12151 Patch by: mrcgran <mrc.gran at gmail dot com>
12153 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12154 Filter the proxied caps against the padtemplate if we have one.
12156 * gst/gstquery.c: (gst_query_new_segment):
12157 Add include for gstinfo.h so that compilation with
12158 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12160 2006-10-02 Wim Taymans <wim@fluendo.com>
12162 Patch by: Alessandro Decina <alessandro at nnva org>
12164 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12165 (gst_file_sink_set_location), (gst_file_sink_open_file),
12166 (gst_file_sink_close_file), (gst_file_sink_event),
12167 (gst_file_sink_render):
12168 Set file to NULL when closing filesink so that we can set a new filename
12169 in READY. Fixes #358613.
12171 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12173 Patch by: Alessandro Decina <alessandro at nnva org>
12175 * gst/gstevent.c: (_gst_event_copy):
12176 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12177 with event structures by setting the parent refcount address of the
12178 copied structure to the address of the refcount member of the newly
12179 copied event rather than the address of the refcount member of the
12180 original event. Fixes #358737.
12182 * tests/check/gst/gstevent.c: (GST_START_TEST):
12183 Unit test for the above.
12185 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12187 * docs/design/Makefile.am:
12188 Dist some more files.
12190 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12192 * tests/check/libs/controller.c: (GST_START_TEST),
12193 (gst_controller_suite):
12194 Add test for the previous fix; add some more tests
12195 for correct refcounting behaviour; fix a few leaks
12196 in test cases; call gst_controller_init() at start
12199 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12201 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12202 (gst_controller_set_from_list):
12203 Don't g_return_val_if_fail() on timed values with invalid timestamps
12204 inside a critical section without unlocking the mutex. Spotted by
12205 René Stadler. (#357617)
12206 Also, fix up refcounting properly: when returning an existing
12207 controller, we should increase the reference only once and not
12208 once per property and when trying to control a property again
12209 we should also increase the refcount.
12211 2006-09-29 Wim Taymans <wim@fluendo.com>
12213 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12214 * libs/gst/net/gstnettimeprovider.c:
12215 (gst_net_time_provider_thread):
12216 Stop reading commands when EOF as well.
12218 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12219 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12220 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12221 Unify description of the dump property.
12223 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12225 * tests/examples/manual/.cvsignore:
12226 OK, so it's actually cvsignore that needs changing. Stop laughing.
12228 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12230 * tests/examples/manual/Makefile.am:
12231 Gah, declare vars *before* using them
12233 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12235 * gst/gst.c: (init_pre), (scan_and_update_registry),
12236 (ensure_current_registry_nonforking),
12237 (ensure_current_registry_forking), (ensure_current_registry),
12238 (init_post), (gst_debug_help), (gst_deinit):
12239 * gst/gst_private.h:
12240 * gst/gstregistry.c: (gst_registry_finalize),
12241 (gst_registry_remove_features_for_plugin_unlocked),
12242 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12243 (gst_registry_scan_path),
12244 (_priv_gst_registry_remove_cache_plugins),
12245 (_priv_gst_registry_cleanup):
12246 * gst/gstregistry.h:
12247 Re-commit the registry changes, along with an extra fix:
12248 When a cached plugin is encountered at a different file path,
12249 update the stored path in the registry cache so that the parent
12250 process knows where it actually is now when it re-reads the registry
12251 cache. Fixes the thing that broke distcheck with the previous commit.
12253 * tests/check/Makefile.am:
12254 Clean up files named 'core' too when running make clean.
12256 * tests/examples/manual/Makefile.am:
12257 Set up a registry path for running these tests, and clean it properly
12260 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12263 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12264 want gmodule-no-export-2.0.pc instead so that we don't drag in
12265 --export-dynamic on every project that links to GStreamer.
12267 Also, make our export regex only match the start of symbols, rather
12268 than any symbol that contains '_gst' somewhere.
12270 * libs/gst/check/Makefile.am:
12271 The libgstcheck we build does however need export-dynamic, as it
12272 produces some symbols that don't match our _gst... style regex.
12275 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12277 * gst/gst.c: (init_pre), (scan_and_update_registry),
12278 (ensure_current_registry_nonforking),
12279 (ensure_current_registry_forking), (ensure_current_registry),
12280 (init_post), (gst_debug_help), (gst_deinit):
12281 * gst/gst_private.h:
12282 * gst/gstregistry.c: (gst_registry_finalize),
12283 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12284 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12285 (_gst_registry_cleanup):
12286 * gst/gstregistry.h:
12287 Revert previous change until I figure out why it breaks distcheck.
12289 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12291 * gst/gst.c: (init_pre), (scan_and_update_registry),
12292 (ensure_current_registry_nonforking),
12293 (ensure_current_registry_forking), (ensure_current_registry),
12294 (init_post), (gst_debug_help), (gst_deinit):
12296 Make init_pre and init_post take the full complement of GOptionFunc
12297 args so they can return useful GErrors. Make the registry updating
12300 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12301 ensure that the registry we're about to write out doesn't contain
12302 stale information about old-deleted plugin files.
12304 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12305 that deletion of plugin files is considered a registry change.
12307 * gst/gst_private.h:
12308 * gst/gstregistry.c: (gst_registry_finalize),
12309 (gst_registry_remove_features_for_plugin_unlocked),
12310 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12311 (gst_registry_scan_path),
12312 (_priv_gst_registry_remove_cache_plugins),
12313 (_priv_gst_registry_cleanup):
12314 * gst/gstregistry.h:
12315 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12316 by adding _priv prefix, so that they won't appear in the global
12317 symbol table. They still do atm though because of #318031. Move the
12318 prototypes to gst_private.h
12320 When removing a plugin, remove all features for that plugin too.
12323 2006-09-27 Wim Taymans <wim@fluendo.com>
12325 * docs/random/moving-plugins:
12326 Make it clear that the "compiled-in descriptions" really mean
12327 the element details.
12329 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12330 (gst_base_sink_wait_preroll):
12333 * docs/libs/gstreamer-libs-sections.txt:
12334 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12335 (gst_base_src_get_range), (gst_base_src_activate_push):
12336 * libs/gst/base/gstbasesrc.h:
12337 Added function to block while waiting for PLAYING, this function
12338 is used by live sources that block on the clock.
12339 API: gst_base_src_wait_playing()
12341 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12343 Patch by: Peter Kjellerstedt <pkj at axis com>
12346 gst-element-check.m4 is generated and should therefore be
12347 copied from the build dir rather than the source dir (#357593).
12348 'make distcheck' hasn't noticed this because we were disting
12349 the file as well, so stop doing that.
12351 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12353 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12354 Add some tests for gst_caps_intersect().
12356 * tools/gst-launch.c: (event_loop):
12357 Print all buffering percentages we get, even the 100% one.
12359 2006-09-26 Wim Taymans <wim@fluendo.com>
12361 * tools/gst-inspect.c: (print_element_properties_info),
12362 (print_signal_info):
12363 Fix printing of flags to match the look of enums.
12365 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12367 * gst/gstelementfactory.c:
12368 Fix typo in docs blurb.
12370 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12372 * gst/gsturi.c: (search_by_entry):
12373 Don't assert/crash here if a uri handler doesn't return any
12374 supported protocols. The list of protocols could be generated
12375 dynamically at runtime or at plugin registration, and an error
12376 in the underlying library shouldn't be fatal (#353301).
12378 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12381 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12382 (spotted by Peter Kjellerstedt).
12384 2006-09-23 Wim Taymans <wim@fluendo.com>
12386 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12388 * libs/gst/base/gstbasesrc.c:
12389 (gst_base_src_default_check_get_range), (gst_base_src_start),
12390 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12391 (gst_base_src_change_state):
12392 Match _start/_stop calls in the activate functions. Remove redundant
12393 _stop call from the state change function. Fixes #356910.
12394 Turn failure DEBUG into ERROR.
12396 2006-09-22 Wim Taymans <wim@fluendo.com>
12398 * docs/design/part-buffering.txt:
12399 * gst/gstmessage.c: (gst_message_new_buffering),
12400 (gst_message_parse_buffering):
12401 Update docs about buffering.
12403 * docs/design/part-trickmodes.txt:
12406 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12408 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12409 (gst_controller_new_list):
12410 Ref instances when returning them again (fixes #357180)
12412 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12414 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12415 Don't forget to release proxy lock when there's an error.
12417 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12420 Add extra initialisers for Caps things, to fix some plugin warnings
12423 2006-09-18 Wim Taymans <wim@fluendo.com>
12425 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12426 Also set template on the internal pad so that a getcaps from the
12427 target pad returns the template caps.
12429 2006-09-18 Wim Taymans <wim@fluendo.com>
12431 * gst/gstelement.c: (gst_element_post_message),
12432 (gst_element_dispose):
12433 Use _DEBUG_OBJECT some more.
12435 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12438 * tools/gst-launch.c: (main):
12439 If the toplevel element is not a GstPipeline, it must be put in a
12440 pipeline so that a bus and clock is selected.
12442 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12444 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12445 JITTER, RATE, and LATENCY query should be handled by the
12446 default case and not by the CONVERT query code.
12448 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12450 * gst/gstformat.c: (gst_format_register):
12451 Fix locking order (must take lock before using n_values).
12453 * gst/gstvalue.c: (gst_value_serialize_enum),
12454 (gst_value_deserialize_enum_iter_cmp),
12455 (gst_value_deserialize_enum):
12456 Fix serialisation/deserialisation of custom registered GstFormats.
12458 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12459 Unit test for custom format serialisation/deserialisation.
12461 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12463 * docs/pwg/building-boiler.xml:
12464 * plugins/elements/gstcapsfilter.c:
12465 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12468 2006-09-16 Edward Hervey <edward@fluendo.com>
12470 * libs/gst/base/gstbasetransform.c:
12471 (gst_base_transform_buffer_alloc):
12472 Check if requested caps are the same as the sinks caps IF
12473 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12475 This fixes the renegotiation issues stated in #352827.
12477 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12480 * docs/manual/advanced-autoplugging.xml:
12481 * tests/examples/Makefile.am:
12482 * tests/examples/manual/.cvsignore:
12483 * tests/examples/manual/Makefile.am:
12484 * tests/examples/manual/extract.pl:
12485 Extract the manual examples again like we used to do.
12488 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12490 * win32/common/config.h:
12493 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12496 Documents how to receive errors.
12498 2006-09-15 Wim Taymans <wim@fluendo.com>
12500 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12501 (event_loop), (main):
12502 Added some comments here and there.
12503 Post an application message when an interrupt is caught instead of doing
12504 an uncontrolled state change.
12505 Clean up the event loop.
12506 Handle buffering messages, pause/resume the pipeline.
12507 Make shutdown because of an interrupt more reliable.
12509 2006-09-15 Wim Taymans <wim@fluendo.com>
12511 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12512 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12513 (gst_base_sink_preroll_object):
12514 Make sure that our internal state is correct when we commit our state
12515 asynchronously. This solves a race where a state change to PLAYING
12516 could cause the sink to remain blocked in preroll in some situations.
12518 2006-09-15 Wim Taymans <wim@fluendo.com>
12520 * tools/gst-inspect.c: (print_element_properties_info),
12521 (print_signal_info):
12522 List flags as hex so it's easier to deal with.
12524 2006-09-15 Wim Taymans <wim@fluendo.com>
12526 * docs/libs/gstreamer-libs-sections.txt:
12527 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12528 (gst_base_sink_do_sync):
12529 * libs/gst/base/gstbasesink.h:
12530 Expose logic to wait for preroll so that subclasses such as audiosink
12531 can also use this method.
12532 API: gst_base_sink_wait_preroll()
12534 2006-09-15 Wim Taymans <wim@fluendo.com>
12536 * gst/gstobject.c: (gst_object_set_parent):
12537 * gst/gstpipeline.c: (do_pipeline_seek):
12538 Small cleanups in docs and code.
12540 * gst/gstsegment.c: (gst_segment_clip):
12541 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12542 if stop == start and start is in the segment, no clipping should be
12543 done. Also add a test for this.
12545 2006-09-15 Wim Taymans <wim@fluendo.com>
12547 * docs/design/part-buffering.txt:
12548 * docs/gst/gstreamer-sections.txt:
12549 * gst/gstmessage.c: (gst_message_new_buffering),
12550 (gst_message_parse_buffering):
12551 * gst/gstmessage.h:
12552 Added methods to create and parse BUFFERING messages.
12553 Added preliminary docs about buffering.
12554 API: gst_message_new_buffering
12555 API: gst_message_parse_buffering
12557 2006-09-06 Wim Taymans <wim@fluendo.com>
12560 Update documentation.
12562 * gst/gstelement.c: (gst_element_class_init),
12563 (gst_element_release_request_pad), (gst_element_set_clock),
12564 (gst_element_get_index), (gst_element_add_pad),
12565 (gst_element_remove_pad), (gst_element_get_random_pad),
12566 (gst_element_send_event), (gst_element_get_query_types),
12567 (gst_element_query), (gst_element_post_message),
12568 (gst_element_message_full), (gst_element_continue_state),
12569 (gst_element_lost_state), (gst_element_save_thyself),
12570 (gst_element_restore_thyself):
12571 Documentation updates.
12572 Rename last bit of the new-pad -> pad-added signal rename.
12573 Fix the case where an element query would only work if the source
12575 Avoid some useless type checking in message handling.
12580 Documentation updates.
12582 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12584 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12585 add an INFO line for when we actually update the fd
12587 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12592 === release 0.10.10 ===
12594 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12597 releasing 0.10.10, "Pais"
12599 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12601 * docs/manual/advanced-position.xml:
12602 Fix typo in sample code.
12604 2006-09-05 Wim Taymans <wim@fluendo.com>
12606 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12607 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12608 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12609 * libs/gst/net/gstnetclientclock.h:
12610 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12611 * libs/gst/net/gstnettimepacket.h:
12612 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12613 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12614 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12615 * libs/gst/net/gstnettimeprovider.h:
12616 Make stuff compile on windows. Fixes #345295.
12618 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12620 * gst/gst.c: (ensure_current_registry_forking):
12621 Print better details when child was terminated by signal.
12623 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12625 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12626 Print a warning rather than g_assert() if a plugin feature
12627 is a URI handler but returns no protocols (#353976).
12629 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12631 * docs/random/moving-plugins:
12634 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12636 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12637 Fix locking order, handle NULL function values properly.
12642 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12643 Initialise variable before using it and fix debug statement to
12644 print the address of the function rather than the address of the
12645 variable on the stack holding the address of the function.
12647 2006-09-01 Wim Taymans <wim@fluendo.com>
12649 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12650 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12651 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12652 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12653 (gst_ghost_pad_parent_unset),
12654 (gst_ghost_pad_internal_do_activate_push),
12655 (gst_ghost_pad_internal_do_activate_pull),
12656 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12657 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12658 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12659 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12660 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12661 (gst_ghost_pad_new_no_target_from_template),
12662 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12664 Avoid needless typechecking in macros.
12665 Since the internal pad is always present and never changes, there is
12666 no need to locking or ref when retrieving it.
12667 Improve debugging a bit.
12668 Handle link errors when setting the target. Fixes #341029.
12670 2006-09-01 Wim Taymans <wim@fluendo.com>
12672 * docs/libs/gstreamer-libs-sections.txt:
12673 * docs/plugins/gstreamer-plugins-sections.txt:
12674 Fix docs some more.
12676 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12677 (gst_collect_pads_event):
12678 * libs/gst/base/gstcollectpads.h:
12679 Documentation updates.
12680 Free queued buffer when removing a pad.
12682 2006-08-31 Michael Smith <msmith@fluendo.com>
12684 * gst/gstutils.c: (gst_element_link_pads),
12685 (gst_element_link_pads_filtered):
12686 Ensure that we set a capsfilter to NULL if we failed to link it
12687 when doing filtered linking, to avoid criticals.
12689 No need to check for unreffing srcpad, which is explicly NULLed
12690 above (a trivial code cleanup).
12692 2006-08-31 Wim Taymans <wim@fluendo.com>
12694 * docs/design/part-gstghostpad.txt:
12695 Update ascii art in documentation.
12697 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12698 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12699 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12700 (gst_ghost_pad_internal_do_activate_push),
12701 (gst_ghost_pad_internal_do_activate_pull),
12702 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12703 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12704 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12705 (gst_ghost_pad_set_target):
12706 Small cleanups and leak fixes.
12707 Remove some checks now that the internal pad is never NULL.
12708 Fix the case where linking pads without a target would create nasty
12709 criticals. Fixes #341029.
12710 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12711 value of _set_target().
12713 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12714 (gst_ghost_pad_suite):
12715 Some more tests for creating and linking untargeted ghostpads.
12717 2006-08-31 Edward Hervey <edward@fluendo.com>
12719 * docs/gst/gstreamer-sections.txt:
12720 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12721 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12722 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12723 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12724 (gst_ghost_pad_new_from_template),
12725 (gst_ghost_pad_new_no_target_from_template):
12726 * gst/gstghostpad.h:
12727 Refactored *_new() functions.
12728 Templates are now used as a g_object_new() parameter.
12729 Use template in _do_getcaps() if we don't have a target.
12730 Small documentation cleanups.
12731 Added two new constructors:
12732 gst_ghost_pad_new_from_template()
12733 gst_ghost_pad_new_no_target_from_template()
12734 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12735 (gst_ghost_pad_suite):
12736 Added tests for new ghostpad instanciation functions.
12738 API additions: gst_ghost_pad_new_from_template,
12739 gst_ghost_pad_new_no_target_from_template
12741 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12743 * docs/random/ensonic/profiling.txt:
12744 Ideas about qos profiling.
12746 2006-08-29 Wim Taymans <wim@fluendo.com>
12748 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12752 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12755 Improve and detypofy docs.
12757 * tests/check/Makefile.am:
12758 * tests/check/gst/.cvsignore:
12759 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12760 Add a basic test suite for GstXML.
12762 2006-08-29 Wim Taymans <wim@fluendo.com>
12764 * gst/gstelement.c: (activate_pads), (clear_caps),
12765 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12766 Clear the pad caps when the element shut down all of the pads and
12767 is not streaming data that could modify the caps.
12770 2006-08-28 Michael Smith <msmith@fluendo.com>
12772 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12773 Revert previous change; I misunderstood single-segment mode.
12775 2006-08-28 Michael Smith <msmith@fluendo.com>
12777 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12778 Unset DISCONT on buffers when using single-segment mode.
12780 2006-08-28 Wim Taymans <wim@fluendo.com>
12782 * gst/gstcaps.c: (gst_caps_merge_structure):
12784 Fix docs and indentation again.
12786 * tests/check/gst/gstquery.c: (GST_START_TEST):
12787 Fix leak in tests and add some more tests.
12789 2006-08-28 Edward Hervey <edward@fluendo.com>
12791 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12792 Inform GstSegment of the last stop position in order for the current
12793 segment to have a proper duration if it doesn't have a specific stop
12794 position from which a duration could be calculated.
12795 This bug was noticeable when a non-flushing, non-update new segment was
12796 followed by another segment (all buffers from the new segment were being
12799 2006-08-28 Wim Taymans <wim@fluendo.com>
12801 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12802 Small comment update.
12804 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12805 (gst_identity_transform_ip):
12806 Drop-probability is broken, mention this in the code with a
12807 FIXME and also in the property description.
12808 Make silent also be silent about the drop messages.
12810 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12812 * docs/manual/appendix-win32.xml:
12813 Remove mention of popt, we don't depend on that any
12814 longer (#353136). Add some comments pointing out that
12815 this section is slightly outdated.
12817 2006-08-28 Wim Taymans <wim@fluendo.com>
12819 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12821 * gst/gstquery.c: (gst_query_new_segment):
12822 * tests/check/gst/gstquery.c: (GST_START_TEST):
12823 Initialize variables when creating a new segment query.
12826 2006-08-28 Wim Taymans <wim@fluendo.com>
12828 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12830 * gst/gstelement.c: (gst_element_get_bus):
12831 * tests/check/gst/gstelement.c: (GST_START_TEST):
12832 Check for NULL before _reffing the bus. Fixes #353122.
12834 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12836 * docs/manual/basics-bus.xml:
12837 Docs update: fix wrong callback return value explanation; add
12838 some lines about the implicit relationship between main loop
12839 and main context; remove duplicate main loop variable declaration.
12841 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12843 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12844 Don't leak caps in unit test; add a few more simple
12847 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12849 * docs/gst/gstreamer-sections.txt:
12850 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12851 (gst_caps_structure_is_subset), (gst_caps_merge),
12852 (gst_caps_merge_structure):
12854 * libs/gst/base/gstbasetransform.c:
12855 (gst_base_transform_transform_caps):
12856 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12857 implement caps merging (fixes #352580)
12859 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12861 * tools/Makefile.am:
12862 * tools/gst-plot-timeline.py:
12863 add debug-log plotting developer tool (#340674)
12865 2006-08-23 Wim Taymans <wim@fluendo.com>
12867 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12868 (gst_pad_stop_task):
12869 Improve debugging for task functions.
12871 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12872 (gst_task_start), (gst_task_pause), (gst_task_join):
12873 Make sure that the task function started and finished after a
12875 Don't try to push the task function on the threadpool multiple
12877 Improve the g_warning message with some useful suggestions
12878 about how to fix the problem.
12880 2006-08-23 Wim Taymans <wim@fluendo.com>
12882 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12883 Handle RESYNC correctly in _proxy_getcaps.
12885 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12887 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12888 (gst_xml_parse_memory), (gst_xml_get_element):
12889 Chain up to parent class in dispose function and also
12890 unref the elements in the toplevel_elements GList.
12891 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12892 Always return a reference in gst_xml_get_element() rather
12893 than only sometimes.
12895 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12896 Don't leak GstXml object.
12898 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12900 * docs/gst/gstreamer-sections.txt:
12901 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12904 * libs/gst/base/gstbasetransform.c:
12905 (gst_base_transform_transform_caps):
12906 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12909 2006-08-21 Edward Hervey <edward@fluendo.com>
12911 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12912 Implement GObject::dispose virtual method in GstXML so we can free the
12913 top_elements GList.
12915 2006-08-21 Wim Taymans <wim@fluendo.com>
12917 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12918 (gst_buffer_create_sub):
12919 Copy duration/offset_end/caps when creating a subbuffer of the
12921 Make the subbuffer read-only when we make the metadata writable for
12922 now. Fixes #351768.
12924 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12925 Added check for metadata copy when creating subbuffers.
12927 2006-08-21 Edward Hervey <edward@fluendo.com>
12929 * libs/gst/base/gstbasetransform.c:
12930 (gst_base_transform_buffer_alloc):
12931 Only call downstream buffer_alloc if transform element is passthrough
12932 or always_in_place. Closes #350449.
12934 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12937 ChangeLog surgery to add comments to previous changes
12939 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12944 * gst/gstpad.c: (gst_pad_set_active):
12945 Be more verbose in the log
12947 * libs/gst/base/gstbasetransform.c:
12948 (gst_base_transform_transform_caps):
12949 Simplify caps to get rid of duplicates, fixes #345444
12951 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12955 Use these optimizations only internally.
12957 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12959 * gst/gstvalue.c: (gst_value_compare_list),
12960 (gst_value_compare_fraction_range),
12961 (gst_value_intersect_fraction_fraction_range),
12962 (gst_value_intersect_fraction_range_fraction_range),
12963 (gst_value_subtract_fraction_fraction_range),
12964 (gst_value_subtract_fraction_range_fraction_range),
12965 (gst_value_get_compare_func), (gst_value_compare),
12966 (gst_value_compare_with_func):
12968 Saves the expensive lookup of the compare function in many cases
12971 2006-08-18 Edward Hervey <edward@fluendo.com>
12973 * tests/check/gst/gstinfo.c: (gst_info_suite):
12974 Disable test that require gstdebug if it wasn't built in core.
12976 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12978 * docs/random/ensonic/logging.txt:
12981 * gst/gstinfo.c: (gst_debug_log_default):
12982 reorder fields, save some columns, add optional color codes for log
12985 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12987 * docs/random/ensonic/logging.txt:
12988 add ideas about making the logs a bit more useful
12990 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12992 * docs/pwg/advanced-events.xml:
12993 * docs/pwg/titlepage.xml:
12994 Update for 0.10 API (#340627). Add myself
12997 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12999 * docs/libs/gstreamer-libs-docs.sgml:
13000 * docs/libs/gstreamer-libs-sections.txt:
13001 * libs/gst/check/gstbufferstraw.c:
13002 Make gstcheck stuff show up in docs (still needs to
13003 be documented properly though).
13005 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
13007 * docs/gst/gstreamer-sections.txt:
13009 * gst/gst.c: (init_post):
13010 * gst/gst_private.h:
13011 * gst/gstquark.c: (_priv_gst_quarks_initialize):
13013 * gst/gstquery.c: (gst_query_new_position),
13014 (gst_query_set_position), (gst_query_parse_position),
13015 (gst_query_new_duration), (gst_query_set_duration),
13016 (gst_query_parse_duration), (gst_query_new_convert),
13017 (gst_query_set_convert), (gst_query_parse_convert),
13018 (gst_query_new_segment), (gst_query_set_segment),
13019 (gst_query_parse_segment), (gst_query_new_seeking),
13020 (gst_query_set_seeking), (gst_query_parse_seeking):
13021 Add internal helpers for pre-registering quarks from static strings
13022 and using the quark values directly instead of looking them up when
13023 creating and parsing queries. Can be used for event construction too.
13026 2006-08-16 Wim Taymans <wim@fluendo.com>
13031 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13033 * gst/gstutils.c: (gst_util_set_value_from_string):
13034 Fix memleak (#351502).
13036 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13037 Add unit test for most of gst_util_set_value_from_string()
13038 (not that one would want to encourage use of this function).
13040 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13042 * libs/gst/check/gstcheck.h:
13043 Use const gchar * variables in fail_unless_equals_string
13044 macro to avoid compiler warnings (and don't use tabs for
13047 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13049 * tools/gst-launch.c: (print_tag):
13050 More space on the left for the tag names, to cater
13051 for the 'extended comment' tag (not touching the
13052 string for the first line since it's translated).
13054 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
13056 * libs/gst/check/gstcheck.h:
13057 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13058 print something when they fail.
13060 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13062 * docs/gst/gstreamer-sections.txt:
13063 * gst/gsttaglist.c: (_gst_tag_initialize):
13064 * gst/gsttaglist.h:
13065 API: add GST_TAG_EXTENDED_COMMENT (#350935).
13066 Also change merge function for GST_TAG_COMMENT to
13069 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13071 * gst/gstinfo.c: (gst_debug_print_object):
13072 Make GST_PTR_FORMAT print messages as well.
13074 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13075 (GST_START_TEST), (gst_info_suite):
13078 2006-08-14 Edward Hervey <edward@fluendo.com>
13080 * gst/gstelementfactory.c: (gst_element_register):
13081 If the GstElementClass doesn't have a GstElementDetails with all fields
13082 filled up correctly (longname, description AND author), then error out
13083 nicely instead of crashing.
13085 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13087 * gst/gststructure.c:
13088 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13091 Expand on the difference between arrays and lists as we use them.
13093 2006-08-14 Wim Taymans <wim@fluendo.com>
13095 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13096 If the parent state change function failed, don't assume we can safely
13097 stop the source, this will be done when the pads are deactivated.
13099 2006-08-14 Wim Taymans <wim@fluendo.com>
13102 * gst/gsttask.c: (gst_task_join):
13105 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13106 (gst_pad_stop_task):
13107 When pad (de)activation failed for some reason, restore the old
13108 activation mode and set the pad to flushing instead of assuming the
13109 pad is deactivated.
13110 If the _task_join() failed, reinstall the task on the pad so that it can
13111 be stopped later and return an error.
13113 2006-08-11 Andy Wingo <wingo@pobox.com>
13116 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13117 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13118 is only for users of API that don't want to see deprecated
13119 functions in the headers; people that want to compile out
13120 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13121 CFLAGS. Fixes the build of multifdsink, or will soon..
13123 2006-08-11 Wim Taymans <wim@fluendo.com>
13125 * docs/gst/gstreamer-sections.txt:
13126 Add GstClockClass vmethod docs.
13129 Mark #endif with comment for associated #if
13131 * gst/gstclock.c: (gst_clock_id_wait):
13133 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13134 most clock implementations.
13136 Flesh out docs about resolution methods.
13137 API: GstClockClass::wait_jitter
13139 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13140 (gst_system_clock_async_thread),
13141 (gst_system_clock_id_wait_jitter_unlocked),
13142 (gst_system_clock_id_wait_jitter):
13143 Use base class wait_jitter variant for improved performance
13144 due to less clock polling.
13146 2006-08-11 Edward Hervey <edward@fluendo.com>
13148 * gst/gst.c: (gst_init_check), (init_post):
13149 Set gst as being initialized before scanning/updating the registry,
13150 since there might be my python plugin loader that calls gst_init() and
13151 we don't want to loop back in.
13154 2006-08-11 Wim Taymans <wim@fluendo.com>
13156 * docs/design/part-qos.txt:
13157 Bring docs in line with the code. Mostly the sign of the jitter was
13158 wrong in the docs. Fixes #349943.
13161 Fix the docs for the jitter.
13163 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13164 (gst_event_parse_tag), (gst_event_new_buffer_size),
13165 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13166 (gst_event_new_seek), (gst_event_parse_seek),
13167 (gst_event_new_navigation):
13168 Make sure the GstStructure has no parent when creating custom
13170 Add some more argument checking so that we avoid 0.0 rates.
13171 Flesh out the docs for the QoS event some more.
13173 2006-08-11 Wim Taymans <wim@fluendo.com>
13175 * docs/gst/gstreamer-sections.txt:
13176 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13177 (ensure_current_registry_forking), (ensure_current_registry),
13178 (parse_one_option), (parse_goption_arg), (gst_deinit),
13179 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13182 Added API and command line option to disable registry forking in
13183 addition to the environment variable.
13184 Constify some static arrays.
13185 Added some more debug.
13186 Don't deinit twice.
13187 API: gst_registry_fork_is_enabled()
13188 API: gst_registry_fork_set_enabled()
13189 API: --gst-disable-registry-fork command line option
13192 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13194 * gst/gst.c: (gst_init):
13195 Fix typo in error message.
13197 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13199 * libs/gst/controller/gstcontroller.h:
13200 fix ABI size-correction
13202 * tests/check/libs/gdp.c: (gst_dp_suite):
13203 make tests that use deprecated API conditional
13205 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13207 * docs/libs/gstreamer-libs-sections.txt:
13208 * libs/gst/controller/gstcontroller.c:
13209 (_gst_controller_get_property), (_gst_controller_set_property),
13210 (_gst_controller_init), (_gst_controller_class_init):
13211 * libs/gst/controller/gstcontroller.h:
13212 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13213 (gst_object_set_control_rate):
13214 API: add gst_object_{s,g}et_control_rate(), add private data section,
13217 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13218 * libs/gst/dataprotocol/dataprotocol.h:
13219 add deprecation guards to make gtk-doc happy and allow disabling cruft
13221 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13223 * tests/check/Makefile.am:
13224 * tests/check/gst/.cvsignore:
13225 Let's enable the new unit test as well.
13227 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13230 * docs/gst/gstreamer-sections.txt:
13231 * gst/gstconfig.h.in:
13232 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13233 (_gst_info_printf_extension_ptr),
13234 (_gst_info_printf_extension_segment):
13235 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13236 register that lets us easily dump GstSegments into debug
13239 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13240 (info_segment_format_printf_extension), (gst_info_suite):
13241 Add simple unit test that logs a bunch of different segments (not
13242 valgrinded at the moment because of leaks in
13243 gst_debug_add_log_function).
13245 2006-08-09 Edward Hervey <edward@fluendo.com>
13247 * libs/gst/base/gstbasetransform.c:
13248 (gst_base_transform_buffer_alloc):
13249 Even if we can't figure out the proper format to request downstream,
13250 call buffer_alloc() downstream with the input parameters without setting
13251 the caps on the srcpad. This will force negotiation in the chain
13255 2006-08-08 Edward Hervey <edward@fluendo.com>
13257 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13258 Unlinking from a pad without a target is now a perfectly valid case
13259 which should NOT raise an assertion.
13260 This case would happen if a linked ghostpad its target set to NULL after
13261 it was previously linked.
13263 2006-08-08 Edward Hervey <edward@fluendo.com>
13265 * tests/check/libs/gdp.c:
13266 Also comment out the test (see below).
13268 2006-08-08 Edward Hervey <edward@fluendo.com>
13270 * tests/check/libs/gdp.c: (gst_dp_suite):
13271 Use the architecture information from config.h and not gcc macros
13272 in order to properly disable a test that fails on PPC64.
13274 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13276 * gst/gstelement.c: (gst_element_remove_pad):
13277 Don't crash printing the warning if the pad has no parent.
13279 2006-08-02 Wim Taymans <wim@fluendo.com>
13281 * libs/gst/dataprotocol/dataprotocol.c:
13282 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13283 (gst_dp_crc), (gst_dp_header_payload_length),
13284 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13285 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13286 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13287 (gst_dp_event_from_packet), (gst_dp_validate_header),
13288 (gst_dp_validate_payload):
13289 Make debug category static
13290 Constify the crc table.
13291 Do some more arg checking in public functions.
13292 Fix some docs and do some small cleanups.
13294 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13295 Add some more checks to see if GDP deals with bogus input.
13297 2006-07-31 Wim Taymans <wim@fluendo.com>
13299 * gst/gstvalue.c: (gst_value_compare_list):
13300 Fix GstValueList comparison code. Fixes #347293.
13302 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13303 Check to test GstValueList comparison.
13305 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13307 * gst/gstelementfactory.c: (gst_element_factory_create):
13308 Remove unnecessary ref/unref pair
13310 * gst/parse/grammar.y:
13311 Make sure to free the parse buffer on all code paths.
13312 Move a g_free up to the error handler where it's easier to see.
13314 * tests/check/gst/gstevent.c: (test_event):
13315 Extending timeout for downstream travelling events to 10 seconds to
13316 hopefully avoid intermittent failure on the buildbots.
13318 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13319 Don't manually set the state of the src element - it will happen as a
13320 natural consequence of the pipeline changing state, and that way it
13321 will do it in the right order too.
13323 2006-07-31 Wim Taymans <wim@fluendo.com>
13325 * libs/gst/base/gstbasetransform.c:
13326 (gst_base_transform_buffer_alloc):
13327 Use OBJECT_LOCK and refcounting to get the pad caps in the
13328 buffer_alloc function because the caps could change while we are
13329 busy with them. Fixes #349105
13331 2006-07-31 Wim Taymans <wim@fluendo.com>
13333 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13334 Protect _PAD_CAPS with OBJECT_LOCK.
13336 2006-07-31 Wim Taymans <wim@fluendo.com>
13338 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13339 (gst_pad_get_property), (gst_pad_activate_pull),
13340 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13341 (gst_pad_set_activate_function),
13342 (gst_pad_set_activatepull_function),
13343 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13344 (gst_pad_set_getrange_function),
13345 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13346 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13347 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13348 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13349 (gst_pad_set_acceptcaps_function),
13350 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13351 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13352 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13353 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13354 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13355 (gst_pad_configure_sink), (gst_pad_configure_src),
13356 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13357 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13358 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13359 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13360 (gst_pad_send_event):
13361 Use _DEBUG_OBJECT when it makes sense.
13362 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13363 Small cleanups and code reflows.
13364 Avoid caps refcounting in _accept_caps.
13365 Refactor alloc_buffer so that the code performed on the peer is in a
13366 separate function. Also if the pad does not implement a buffer alloc
13367 function, we should still check if the pad is flushing before falling
13368 back to the default allocator.
13370 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13372 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13373 Make all uses of identity and fakesink have silent=true to avoid
13374 serialising every passing data structure, which is breaking tests
13375 on FC4 for some unknown reason.
13377 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13379 * gst/parse/Makefile.am:
13380 * gst/parse/grammar.y:
13381 * gst/parse/parse.l:
13382 Reverted previous patch as it required to bump the flex dependency to
13383 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13385 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13387 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13389 * gst/parse/Makefile.am:
13390 * gst/parse/grammar.y:
13391 * gst/parse/parse.l:
13392 push & pop the state of the lexer for reentrant use case
13395 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13397 * libs/gst/base/gstbasesrc.h:
13398 Note in the docs that the ::newsegment vfunc is not actually used by
13401 2006-07-28 Wim Taymans <wim@fluendo.com>
13403 * libs/gst/base/gstcollectpads.c:
13404 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13405 (gst_collect_pads_clear), (gst_collect_pads_flush),
13406 (gst_collect_pads_event), (gst_collect_pads_chain):
13407 When flushing a pad, also clear the queued buffer so that we don't
13408 accidentally use it when we shouldn't.
13409 Fix leaks by inreffing incomming buffer.
13410 Flush out queued buffers in case of errors.
13413 2006-07-28 Wim Taymans <wim@fluendo.com>
13415 * docs/random/phonon-gst:
13416 Random notes about a Phonon backend.
13418 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13420 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13422 * tests/check/libs/gdp.c: (gst_dp_suite):
13423 Take a whack at fixing the ppc compile using a different define to
13424 disable the broken test.
13426 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13427 Remove excess g_print()
13429 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13431 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13432 Oops, meant to uncomment this line too to dampen the noise a bit.
13434 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13436 * gst/parse/grammar.y:
13437 * gst/parse/parse.l:
13438 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13439 (GST_START_TEST), (parse_suite):
13440 Fix some of the leaks exposed by extending the parse-launch testsuite,
13441 and move the 3 I can't figure out into a separate test that won't run
13442 the pipelines unless the appropriate line is uncommented.
13444 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13446 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13447 Requesting 0 bytes before the end of the file should result in
13448 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13451 2006-07-27 Wim Taymans <wim@fluendo.com>
13453 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13454 Fix useless assert, a uint is always positive.
13456 * gst/gststructure.c: (gst_structure_nth_field_name),
13457 (gst_structure_foreach), (gst_structure_map_in_place):
13458 Check input arguments for public functions to avoid obvious crashes.
13460 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13461 * plugins/elements/gstfakesink.h:
13462 Do less useless typechecking.
13464 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13466 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13467 Do not use mmap() by default since there are a number of error
13468 conditions that we would like to handle in a non-fatal way that
13469 will result in a SIGBUS if we use mmap(). Examples: external
13470 devices (USB harddrive, portable music player) being unplugged
13471 while in use; file on mounted CD/DVD that can't be read because
13472 the medium is partly damaged. Fixes #348455 and #348475.
13474 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13477 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13478 rates are a gdouble
13480 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13482 * gst/gstregistry.c:
13483 Move big documentation comment into class section header, so that it
13484 appears in the API docs.
13486 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13488 * docs/gst/gstreamer-sections.txt:
13489 Oops. Commit the docs additions too for new API.
13490 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13492 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13494 * gst/gststructure.c: (gst_structure_id_set),
13495 (gst_structure_id_set_valist):
13496 * gst/gststructure.h:
13497 Add API for setting values into structures without performing
13498 a quark lookup, if the appropriate quark is already known.
13500 API: gst_structure_id_set
13501 API: gst_structure_id_set_valist
13503 * gst/parse/grammar.y:
13504 * gst/parse/parse.l:
13505 Remove some dead code shown by the coverage information.
13506 Don't throw a critical g_warning when encountering a syntax error,
13507 just warn and let the normal error path handle it.
13509 * plugins/elements/gstelements.c:
13510 Bump the rank of filesink up to PRIMARY so that it is preferred over
13511 gnomevfssink for file:// sink uri's
13513 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13514 (GST_START_TEST), (run_delayed_test),
13515 (gst_parse_test_element_base_init),
13516 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13517 (gst_parse_test_element_change_state),
13518 (gst_register_parse_element), (parse_suite):
13519 Beef up the tests for parse syntax to check that more error cases
13520 fail as they are supposed to. Increases the test coverage a bit.
13522 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13524 * docs/manual/basics-elements.xml:
13525 Fix gst_element_link() example.
13528 Mention in API docs that one should usually gst_bin_add()
13529 elements to a bin or pipeline before doing the linking.
13531 2006-07-26 Wim Taymans <wim@fluendo.com>
13533 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13534 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13535 Avoid function call for known types by keeping the buffer and
13536 subbuffer GType global.
13538 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13539 Random silly optimisations in read() path.
13541 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13543 * tools/gst-launch.c: (main):
13544 If the top-level of the parse is a normal bin, it doesn't do the
13545 right logic to run as a top-level element, so place it inside a
13548 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13550 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13551 Remove superfluous g_object_notify() calls, GObject does
13552 that for us automatically.
13554 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13557 on Win32, use dllspec to export the debug category symbols
13559 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13561 * gst/gsttaglist.c: (_gst_tag_initialize):
13562 Allow more than one GST_TAG_IMAGE per taglist.
13564 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13566 * gst/gstminiobject.c:
13568 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13569 (gst_fd_src_create):
13570 log recurring events at LOG level
13571 add more debug for when the fd gets set
13573 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13575 * gst/gstparse.c: (gst_parse_launch):
13576 Also remove reentrance checks if flex is MT safe (#348179)
13577 Fix my empty ChangeLog entry below
13579 2006-07-21 Andy Wingo <wingo@pobox.com>
13581 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13583 * libs/gst/check/Makefile.am
13584 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13585 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13586 * libs/gst/check/gstbufferstraw.h:
13587 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13588 functions, thus proving I am still a GStreamer haxor. OK I wrote
13589 them a long time ago, but anyways.
13591 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13594 * gst/gstparse.c: (gst_parse_launch):
13595 Check for flex version and omit mutex if we have a MT save flex
13598 2006-07-21 Wim Taymans <wim@fluendo.com>
13600 * gst/gstparse.c: (gst_parse_launch):
13601 Protect recursive calls to _parse with a recursive mutex
13604 2006-07-21 Wim Taymans <wim@fluendo.com>
13606 * tests/check/gst/gstpad.c: (GST_START_TEST):
13609 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13611 * gst/gstparse.c: (gst_parse_launch):
13612 Do not hang on recursive usage of gst_parse_launch()
13614 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13616 * gst/gsttaglist.c:
13617 Add some more docs, comments and FIXME 0.11s here and there
13618 and also fix some typos.
13620 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13622 * gst/gstsegment.h:
13623 Convert tabs to spaces for better readability.
13625 2006-07-20 Edward Hervey <edward@fluendo.com>
13627 * tests/check/libs/gdp.c: (gst_dp_suite):
13628 the test_buffer test fails at line 140 on ppc64 at the following
13630 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13631 GST_BUFFER_FLAG_IN_CAPS),
13632 "GST_BUFFER_IN_CAPS flag should have been copied !");
13633 See bug #348114 for more details.
13635 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13637 * docs/pwg/advanced-scheduling.xml:
13639 Fix typos (#348000).
13641 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13643 * docs/pwg/intro-basics.xml:
13644 Fix wrong links (#347927).
13646 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13648 * gst/gstregistry.h:
13649 * gst/gstregistryxml.c: (load_feature),
13650 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13651 * win32/common/config.h:
13652 make --disable-index work (#342564)
13654 2006-07-18 Wim Taymans <wim@fluendo.com>
13656 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13660 The attached patch adds two missing defines to gsttrace.h when tracing
13661 is disabled. It also corrects one existing define.
13664 2006-07-17 Wim Taymans <wim@fluendo.com>
13666 * docs/gst/gstreamer-sections.txt:
13667 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13669 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13670 Add two functions to check and change the SIGSEGV behaviour
13671 when loading plugins.
13672 Don't mess with the SIGSEGV handler when we were told not to.
13674 API: gst_segtrap_is_enabled
13675 API: gst_segtrap_set_enabled
13677 2006-07-14 Wim Taymans <wim@fluendo.com>
13679 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13680 * tests/check/elements/filesrc.c: (GST_START_TEST):
13681 Revert fix for regression in #347408 after release.
13683 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13685 Patch by: Antoine Tremblay <hexa00 at gmail com>
13687 * gst/gstutils.c: (gst_element_unlink):
13688 Free iterator when done (#347311).
13690 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13691 And add a test case for this.
13693 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13696 Bump nano back to CVS
13698 === release 0.10.9 ===
13700 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13703 releasing 0.10.9, "On the road again"
13705 2006-07-13 Wim Taymans <wim@fluendo.com>
13707 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13708 * tests/check/elements/filesrc.c: (GST_START_TEST):
13709 Revert pull-0 fix for release. Disable check. Fixes #347408.
13711 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13713 * libs/gst/dataprotocol/dataprotocol.c:
13714 (gst_dp_event_from_packet_1_0):
13715 Fixes #347337: failure to deserialize event packets with
13716 empty payload (only event type)
13718 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13721 do not install a .c file in the header directory
13723 2006-07-13 Edward Hervey <edward@fluendo.com>
13725 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13726 GhostPad no longer implicitely use the padtemplates of the targets.
13729 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13731 * gst/gstvalue.c: (gst_value_compare_list),
13732 (gst_value_compare_array), (_gst_value_initialize):
13733 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13734 Make GstValueArray comparison be order dependent as designed.
13735 Add checks for value lists and value array comparisons.
13738 2006-07-11 Edward Hervey <edward@fluendo.com>
13740 * gst/gstbin.c: (activate_pads),
13741 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13742 (gst_bin_change_state_func):
13743 (de)activate src pads before calling state_change on the childs.
13744 This is to avoid the case where a src ghostpad is blocked (holding the
13745 stream lock), which would block the deactivation of the ghostpad's
13747 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13748 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13749 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13750 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13751 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13752 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13753 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13754 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13755 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13756 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13757 (gst_ghost_pad_class_init),
13758 (gst_ghost_pad_internal_do_activate_push),
13759 (gst_ghost_pad_internal_do_activate_pull),
13760 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13761 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13762 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13763 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13764 GhostPads now create their internal GstProxyPad at creation (and not
13765 when they're linked, as it was being done previously).
13766 The internal and target pads are linked straight away.
13767 The data will also travel through the other pad in order to make
13768 pad blocking and probes non-hackish (the probe/block now really happens
13769 on the GhostPad and not on the target).
13770 * gst/gstpad.c: (gst_pad_set_blocked_async),
13771 (gst_pad_link_prepare), (gst_pad_push_event):
13772 Remove previous ghostpad cruft.
13773 * gst/gstutils.c: (gst_pad_add_data_probe),
13774 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13775 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13776 (gst_pad_remove_buffer_probe):
13777 Remove previous ghost pad cruft.
13778 Added more detailed debug statements.
13779 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13780 Fix the testsuite for refcounting changes.
13781 The comments about who has references were correct, but the refcount
13782 being checked wasn't the same (!?!).
13786 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13788 * docs/gst/gstreamer-sections.txt:
13789 * gst/gstconfig.h.in:
13790 More docs for configuration options, add docs to gtk-doc.
13792 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13795 * gst/gstconfig.h.in:
13796 * win32/common/config.h:
13797 Fix build when disabling tracing (fixes #344016). Also start to document
13798 the defines that disable the sub-systems.
13800 2006-07-10 Edward Hervey <edward@fluendo.com>
13802 * gst/gst.c: (ensure_current_registry_forking):
13803 let's make valgrind happy...
13805 2006-07-09 Wim Taymans <wim@fluendo.com>
13807 * gst/gstelement.c: (activate_pads),
13808 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13809 Better pad activation code: Reset the collect value too on resync.
13812 2006-07-09 Wim Taymans <wim@fluendo.com>
13814 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13815 (gst_pad_activate_push):
13816 Use some more macros where it makes sense.
13817 Allow pad mode switching instead of asserting. When a pad
13818 is activated in one mode and we activate it in another,
13819 deactivate it first before activating it in a different mode.
13822 2006-07-08 Andy Wingo <wingo@pobox.com>
13824 * tools/gst-launch.c (main): Handle err == NULL.
13826 * gst/gst.c (init_post, ensure_current_registry)
13827 (ensure_current_registry_forking)
13828 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13829 factoring out the registry scanning into separate functions. Don't
13830 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13831 Better environment var name/interface suggestions accepted.
13833 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13835 * gst/gstobject.c: (gst_object_set_name_default),
13836 (gst_object_set_name):
13837 Random micro-optimisation: don't use a hash table
13838 with strings as keys and the usual strdup/strcmp
13839 involved, but rather just use the GQuark of the
13840 type name as key, since it needs to be looked up
13841 anyway to get the type name string.
13843 * tests/check/gst/gstobject.c: (GST_START_TEST):
13846 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13848 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13849 (gst_bin_iterate_all_by_interface):
13850 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13851 GTypes are gulongs and thus the top 4 bytes might be cut
13852 off on some platforms when doing GPOINTER_TO_INT, leading
13853 to invalid GTypes and bad things happening (see RH bug #179654).
13854 Also add a check to make sure the type passed in is really
13857 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13862 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13866 * gst-element-check.m4:
13867 * gst-element-check.m4.in:
13868 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13869 instead of the unversioned gst-inspect (#324176, #168659).
13871 2006-07-06 Wim Taymans <wim@fluendo.com>
13873 * gst/gstmessage.h:
13874 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13877 2006-07-06 Wim Taymans <wim@fluendo.com>
13879 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13880 (gst_base_src_wait), (gst_base_src_update_length),
13881 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13882 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13883 (gst_base_src_loop), (gst_base_src_start),
13884 (gst_base_src_activate_pull):
13886 blocksize == 0 now means the default blocksize when working in push
13888 Remove some pointless asserts in _wait function.
13889 Fix offset/length calculations and EOS handling. We can now pull 0
13890 bytes as well, which is allowed.
13891 use _check_get_range() to decide if we can operate in _pull based
13893 Fix refcounting leak when check_get_range function was not
13895 API GstBaseSrc::blocksize range can be 0 too now (default)
13897 * tests/check/elements/filesrc.c: (GST_START_TEST),
13899 Added check to test _get_range() behaviour.
13901 2006-07-06 Wim Taymans <wim@fluendo.com>
13903 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13904 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13905 (gst_pad_pull_range):
13907 Lots of comments and docs added to the pad functions.
13908 Flesh out the expected behaviour of the get_range() functions.
13910 2006-07-06 Wim Taymans <wim@fluendo.com>
13915 * gst/gstiterator.h:
13919 Remove comma at end of enumerator list.
13921 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13923 * win32/common/libgstbase.def:
13924 * win32/common/libgstdataprotocol.def:
13925 * win32/common/libsgtreamer.def:
13926 Add new exported functions.
13928 2006-07-05 Wim Taymans <wim@fluendo.com>
13930 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13931 Add some more docs here and there.
13933 2006-07-05 Wim Taymans <wim@fluendo.com>
13935 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13936 (gst_base_sink_loop), (gst_base_sink_get_position):
13937 When operating in pull mode update the offset so that we
13940 2006-07-05 Wim Taymans <wim@fluendo.com>
13942 * gst/gstregistryxml.c: (read_string):
13943 Avoid strdup. (will happen in libxml, but hey!)
13946 Add some more docs.
13948 2006-07-05 Wim Taymans <wim@fluendo.com>
13950 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13951 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13952 (gst_buffer_suite):
13953 No point in checking if the size of the subbuffer > 0, the
13954 code handles it correclty as demonstrated by unit test.
13955 Also add a unit test for the zero sized _new_and_alloc and
13956 _copy. Fixes #346663.
13958 2006-07-05 Wim Taymans <wim@fluendo.com>
13960 * libs/gst/base/gstbasetransform.c:
13961 (gst_base_transform_prepare_output_buffer),
13962 (gst_base_transform_buffer_alloc),
13963 (gst_base_transform_handle_buffer):
13964 Make sure the buffer we pass to transform_ip has a refcount of
13965 1 and thus is writable. Fixes #343196
13967 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13969 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13970 (gst_file_src_init), (gst_file_src_set_property),
13971 (gst_file_src_get_property), (gst_file_src_map_region):
13972 * plugins/elements/gstfilesrc.h:
13973 Add "sequential" property, off by default, to use madvise and hint
13974 to the kernel that sequential access is desired.
13975 Touch all retrieved pages by default to ensure they are pulled
13976 into memory. (Closes #345720)
13978 2006-07-03 Wim Taymans <wim@fluendo.com>
13980 * docs/design/part-block.txt:
13981 * docs/design/part-dynamic.txt:
13982 Small docs updates.
13984 2006-07-03 Wim Taymans <wim@fluendo.com>
13986 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13987 (gst_caps_unref), (gst_static_caps_get),
13988 (gst_caps_append_structure):
13989 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13990 Use GSlice when the glib we build against is >= 2.10
13992 2006-07-03 Wim Taymans <wim@fluendo.com>
13994 * gst/gstelement.c: (gst_element_pads_activate):
13995 Small cleanup in pad activation code.
13997 2006-07-03 Wim Taymans <wim@fluendo.com>
13999 Patch by: Peter Kjellerstedt <pkj at axis dot com>
14001 * gst/gst-i18n-app.h:
14002 * gst/gst-i18n-lib.h:
14003 * tools/gst-inspect.c: (print_signal_info):
14004 The attached patch will make the inclusion of gettext.h unconditional in
14005 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14006 libintl.h in tools/gst-inspect.c.
14007 This allows use of --disable-nls again and fixes #344642.
14009 2006-07-03 Edward Hervey <edward@fluendo.com>
14011 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14012 Implement pad blocking on events according to part-block.txt.
14013 More comments on behaviour.
14014 * tests/check/gst/gstevent.c: (test_event):
14015 Send event to peer pad of blocked pad (else it will block).
14017 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14019 * libs/gst/check/gstcheck.c: (gst_check_message_error),
14020 (gst_check_run_suite):
14021 if we get the wrong message, give us the types as string
14022 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14024 * tests/check/elements/filesrc.c: (GST_START_TEST):
14025 add a test for trying to open a non-existing file
14027 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14029 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14030 add a test for adding self
14032 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
14034 * libs/gst/check/gstcheck.h:
14035 add some assert_ as alias for fail_unless_*
14036 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14037 increase test coverage
14039 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14042 include lcov.mak for lcov coverage generation
14043 * tools/Makefile.am:
14046 2006-07-02 Edward Hervey <edward@fluendo.com>
14048 * tests/check/elements/.cvsignore:
14051 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14054 don't set CFLAGS and friends for gcov, done from GST_GCOV now
14055 * tests/check/Makefile.am:
14056 clean up gcov files
14058 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14060 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14061 remove gst_caps_simplify; it was not declared and not used
14062 and deprecated in 0.8
14064 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14066 * docs/faq/gst-uninstalled:
14067 don't put empty paths on PYTHONPATH
14068 * docs/gst/gstreamer-sections.txt:
14069 remove some symbols that are not there
14071 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14073 * gst/gstcaps.c: (gst_caps_compare_structures):
14075 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14076 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14079 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14081 * libs/gst/dataprotocol/Makefile.am:
14082 build dataprotocol test by linking to the lib, instead of
14083 compiling the source, so we get coverage
14084 * tests/check/Makefile.am:
14085 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14086 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14087 add a test for filesrc
14089 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14091 * tests/check/gst/gststructure.c: (GST_START_TEST),
14092 (gst_structure_suite):
14093 Push coverage from 59.04% to 70.00%
14095 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14097 * tests/check/Makefile.am:
14098 gst-inspect every element; this makes sure that we also get
14099 coverage on element's get/set functions
14101 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14104 set CFLAGS and friends to -O0 if gcov is being used
14107 * libs/gst/base/Makefile.am:
14108 * libs/gst/check/Makefile.am:
14109 * libs/gst/controller/Makefile.am:
14110 * libs/gst/dataprotocol/Makefile.am:
14111 * libs/gst/net/Makefile.am:
14112 * plugins/elements/Makefile.am:
14113 * plugins/indexers/Makefile.am:
14114 add makefile rules to generate gcov data and clean up
14115 * tests/check/Makefile.am:
14116 add a coverage target that generates an html overview
14119 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14121 * tests/check/elements/fakesink.c:
14122 * tests/check/elements/fakesrc.c:
14123 * tests/check/elements/fdsrc.c:
14124 * tests/check/elements/identity.c:
14125 * tests/check/generic/sinks.c: (gst_sinks_suite):
14126 * tests/check/generic/states.c:
14127 * tests/check/gst/gst.c:
14128 * tests/check/gst/gstabi.c:
14129 * tests/check/gst/gstbin.c:
14130 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14131 * tests/check/gst/gstbus.c: (gst_bus_suite):
14132 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14133 * tests/check/gst/gstelement.c:
14134 * tests/check/gst/gstevent.c: (gst_event_suite):
14135 * tests/check/gst/gstghostpad.c:
14136 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14137 * tests/check/gst/gstmessage.c: (gst_message_suite):
14138 * tests/check/gst/gstminiobject.c:
14139 * tests/check/gst/gstobject.c:
14140 * tests/check/gst/gstpad.c:
14141 * tests/check/gst/gstpipeline.c:
14142 * tests/check/gst/gstplugin.c:
14143 * tests/check/gst/gstquery.c: (gst_query_suite):
14144 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14145 * tests/check/gst/gststructure.c:
14146 * tests/check/gst/gstsystemclock.c:
14147 * tests/check/gst/gsttag.c:
14148 * tests/check/gst/gsttask.c: (gst_task_suite):
14149 * tests/check/gst/gstutils.c:
14150 * tests/check/gst/gstvalue.c:
14151 * tests/check/libs/adapter.c:
14152 * tests/check/libs/basesrc.c:
14153 * tests/check/libs/collectpads.c:
14154 * tests/check/libs/controller.c:
14155 * tests/check/libs/gdp.c: (gst_dp_suite):
14156 * tests/check/libs/gstnetclientclock.c:
14157 * tests/check/libs/gstnettimeprovider.c:
14158 * tests/check/libs/libsabi.c: (libsabi_suite):
14159 * tests/check/libs/typefindhelper.c:
14160 * tests/check/pipelines/cleanup.c:
14161 * tests/check/pipelines/parse-launch.c:
14162 * tests/check/pipelines/simple-launch-lines.c:
14163 * tests/check/pipelines/stress.c: (stress_suite):
14166 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14168 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14169 * libs/gst/check/gstcheck.h:
14170 create a macro and function so that the simple unit test
14171 case can be just one macro to create main()
14173 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14175 * gst/gstbin.c: (gst_bin_restore_thyself):
14176 * gst/gstxml.c: (gst_xml_make_element):
14177 Fix deserialisation from XML. Set parent manually
14178 instead of using gst_bin_add(), since gst_bin_add()
14179 will unlink all pads of the element being added.
14182 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14184 Patch by: Peter Kjellerstedt <pkj at axis com>
14186 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14187 Fix missing g_strdup() and double free when using the
14188 --gst-plugin-load command line option (#346097).
14190 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14193 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14195 * libs/gst/net/gstnetclientclock.c:
14196 * libs/gst/net/gstnettimeprovider.c:
14197 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14199 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14201 * docs/manual/advanced-dataaccess.xml:
14202 Fix buffer probe example compilation in
14205 2006-06-22 Edward Hervey <edward@fluendo.com>
14207 * gst/gstelement.c: (gst_element_pads_activate):
14208 We need to deactivate src pads first and then sink pads.
14209 The reason is the src pads might be blocking while holding the streaming
14210 lock, so we need to deactivate them first so that deactivating the sink
14211 pads doesn't block (since it will require the streaming lock).
14213 2006-06-22 Wim Taymans <wim@fluendo.com>
14215 * libs/gst/base/gstbasetransform.c:
14216 (gst_base_transform_buffer_alloc):
14217 Forgot to remove two unneeded unrefs.
14218 Simplify a check _is_equal allready checks the obvious case.
14220 2006-06-22 Wim Taymans <wim@fluendo.com>
14222 * docs/design/part-block.txt:
14223 Some docs about what pad_block should do.
14225 2006-06-22 Wim Taymans <wim@fluendo.com>
14227 * gst/gstcaps.c: (gst_caps_replace):
14228 Fix crasher when passed NULL. Doc clarification.
14229 Optimize for the trivial case.
14231 * gst/gstpipeline.c: (gst_pipeline_change_state):
14234 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14235 Small documentation cleanup.
14237 * libs/gst/base/gstbasetransform.c:
14238 (gst_base_transform_buffer_alloc):
14239 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14240 is what we need and it avoids a whole lot of redundant
14241 refcount operations.
14243 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14245 Patch by: Philip Jägenstedt <philip at lysator liu se>
14247 * docs/manual/advanced-dataaccess.xml:
14248 Fix 'Embedding static elements' section to use
14249 GST_PLUGIN_DEFINE_STATIC (#345607).
14251 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14253 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14254 Attempt to 'fix' spuriously failing test case: it seems like the
14255 timeout of half a second is simply too small when the system is under
14256 load otherwise, and the timeout doesn't really seem to serve any
14257 particular purpose here. Give the pipeline a few seconds to preroll
14258 first, and then give it another half a second to go from PAUSED to
14259 PLAYING and marshal the message into the main thread.
14261 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14263 * tools/gst-feedback-m.m:
14264 Don't only use unversioned tools, try versioned tools as well
14267 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14269 * gst/gstbus.c: (gst_bus_class_init):
14270 Fix some typos, make docs more explicit.
14272 2006-06-20 Wim Taymans <wim@fluendo.com>
14274 * tests/check/gst/gstghostpad.c: (block_callback),
14275 (GST_START_TEST), (gst_ghost_pad_suite):
14276 Added some more ghostpad tests, mainly blocking
14279 2006-06-16 Wim Taymans <wim@fluendo.com>
14281 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14282 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14283 (gst_file_sink_event), (gst_file_sink_render):
14284 * plugins/elements/gstfilesink.h:
14285 Check if we can seek in the file instead of assuming
14286 we always can. Post an error when we are asked to seek in a
14287 non-seekable file (like a fifo). Fixes #343312.
14290 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14292 * tools/gst-launch.1.in:
14293 Un-garble (fourcc) bit in filtered caps section.
14295 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14297 * docs/manual/advanced-autoplugging.xml:
14298 * docs/manual/basics-helloworld.xml:
14299 * docs/manual/highlevel-components.xml:
14300 Don't leak bus reference in sample code.
14302 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14305 Add default for new --enable-plugin-docs switch.
14308 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14311 * docs/Makefile.am:
14312 Use new ENABLE_PLUGIN_DOCS conditional.
14314 2006-06-14 Wim Taymans <wim@fluendo.com>
14316 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14317 Make it clear with a FIXME and a real define what the #if 0
14318 previously disabled.
14320 2006-06-14 Wim Taymans <wim@fluendo.com>
14322 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14323 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14324 * libs/gst/base/gstbasetransform.c:
14325 (gst_base_transform_sink_eventfunc):
14326 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14327 Don't randomly and silently reset a segment when the format
14328 changes as this is a bug somewhere upstream. Fixes #330379.
14330 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14332 Patch by: Wouter Paesen <wouter at kangaroot net>
14334 * libs/gst/controller/gstcontroller.c:
14335 (gst_controlled_property_new):
14336 Fix controlling of float properties (#344849).
14338 * tests/check/libs/controller.c:
14339 (gst_test_mono_source_get_property),
14340 (gst_test_mono_source_set_property),
14341 (gst_test_mono_source_class_init), (GST_START_TEST):
14342 While we're at it, add some float stuff to unit test.
14344 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14347 * docs/images/gdp-header.svg:
14349 * docs/libs/Makefile.am:
14350 * docs/libs/gdp-header.png:
14351 * libs/gst/dataprotocol/dataprotocol.c:
14352 add it to the API docs
14353 * docs/manual/intro-motivation.xml:
14356 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14358 * gst/gst.c: (scan_and_update_registry), (init_post):
14359 If the fork()'ed child process can't write the updated registry cache
14360 file to disk for some reason, make it exit with a failure exit code,
14361 so that the parent can then re-scan the plugins itself and update the
14362 registry structures in memory and work with that (rather than failing
14363 when creating elements because seemingly no plugins are available).
14364 Refactor registry scanning code into separate function for this and
14365 also separate fork() and non-fork() code paths. Fixes #344748.
14367 2006-06-13 Wim Taymans <wim@fluendo.com>
14369 * docs/manual/advanced-dataaccess.xml:
14370 Fix wrong PluginDesc. Fixes #344755.
14372 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14374 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14375 Fix silly bug that prevented us from creating
14376 ~/.gstreamer-0.10 and writing the registry in one
14377 go (the first call to g_mkstemp() would overwrite the
14378 placeholder in the template string, so the second call
14379 to g_mkstemp() after creating the missing directory
14380 would then error out with 'invalid argument').
14382 2006-06-13 Edward Hervey <edward@fluendo.com>
14384 * gst/gst.c: (init_post):
14387 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14389 * gst/glib-compat-private.h:
14390 * gst/glib-compat.c:
14391 * gst/glib-compat.h:
14392 * gst/gstvalue.c: (gst_value_serialize_flags):
14393 remove GLib 2.6 compatibility code
14395 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14397 * gst/parse/Makefile.am:
14398 Fix build with 'make -j N' even more (#340016).
14400 2006-06-12 Wim Taymans <wim@fluendo.com>
14402 * docs/gst/gstreamer-sections.txt:
14405 2006-06-12 Wim Taymans <wim@fluendo.com>
14407 * gst/gstsegment.c: (gst_segment_set_duration),
14408 (gst_segment_set_last_stop), (gst_segment_set_seek),
14409 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14410 (gst_segment_to_running_time), (gst_segment_clip):
14411 Use G_UNLIKELY to help the compiler a bit.
14413 2006-06-12 Wim Taymans <wim@fluendo.com>
14415 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14417 * gst/gstevent.c: (gst_event_get_type):
14418 * gst/gstmessage.c:
14419 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14421 constify quark registration strings. Fixes #344115
14422 Avoid unneeded type checking is _pad_push() by internally
14423 calling gst_pad_chain_unchecked().
14425 2006-06-12 Wim Taymans <wim@fluendo.com>
14427 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14428 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14429 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14430 (gst_buffer_is_span_fast), (gst_buffer_span):
14431 Init _type for consistency.
14432 Use _FLAGS macro to avoid type check.
14433 Avoid unneeded type checks in subbufer code.
14435 2006-06-12 Wim Taymans <wim@fluendo.com>
14437 * gst/gst.c: (gst_debug_help):
14438 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14439 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14440 (gst_plugin_feature_list_free):
14441 * gst/gstregistry.c: (gst_registry_add_plugin),
14442 (gst_registry_add_feature), (gst_registry_plugin_filter),
14443 (gst_registry_feature_filter), (gst_registry_find_plugin),
14444 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14445 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14446 * gst/gstregistryxml.c: (load_feature),
14447 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14448 * gst/gstminiobject.c: (gst_mini_object_unref),
14449 (gst_mini_object_replace), (gst_value_mini_object_free),
14450 (gst_value_mini_object_copy):
14451 Use _CAST macros to avoid unneeded type checking.
14452 Added some more G_UNLIKELY.
14454 2006-06-12 Wim Taymans <wim@fluendo.com>
14457 Avoid unneeded type checking.
14458 API: GST_BUFFER_IS_DISCONT
14460 * gst/gstminiobject.h:
14461 Avoid type check in flag accessor.
14463 * gst/gstelementfactory.h:
14465 * gst/gstpluginfeature.h:
14467 API: GST_ELEMENT_FACTORY_CAST
14468 API: GST_PLUGIN_CAST
14469 API: GST_PLUGIN_FEATURE_CAST
14471 2006-06-12 Wim Taymans <wim@fluendo.com>
14473 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14474 (gst_object_unref):
14475 Add G_UNLIKELY in type registration.
14476 Avoid type check in _ref/_unref since that is also
14479 2006-06-12 Wim Taymans <wim@fluendo.com>
14481 * gst/gsterror.c: (gst_g_error_get_type):
14482 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14483 (gst_static_pad_template_get_type):
14484 * gst/gsttaglist.c: (gst_tag_list_get_type):
14485 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14486 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14487 * gst/gsturi.c: (gst_uri_handler_get_type):
14488 * gst/gstvalue.c: (gst_date_get_type):
14489 * gst/gstxml.c: (gst_xml_get_type):
14490 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14491 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14492 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14493 Add G_UNLIKELY in type registration.
14495 2006-06-12 Wim Taymans <wim@fluendo.com>
14497 * tools/gst-inspect.c: (print_signal_info):
14498 Properly print enum values.
14500 2006-06-12 Wim Taymans <wim@fluendo.com>
14502 * gst/gstinfo.c: (gst_debug_set_active),
14503 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14505 Add some G_[UN]LIKELY.
14506 Maintain __gst_debug_min to avoid formatting the arguments of
14507 debug messages that will be dropped anyway to avoid a lot of
14508 overhead from the debugging system.
14510 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14513 * po/POTFILES.skip:
14514 add missing files containing translatable strings, tell intltool about
14517 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14519 * tests/check/libs/.cvsignore:
14520 add test-binary to ignore list
14522 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14524 * docs/libs/gstreamer-libs-docs.sgml:
14525 reorder (put dp into a chapter) and indent
14527 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14532 === release 0.10.8 ===
14534 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14537 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14539 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14541 * gst/gst.c: (init_post):
14542 move pid declaration to declaration block
14544 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14546 * gst/gst.c: (init_post):
14547 use _exit() instead of exit() in our forked child; this ensures
14548 that none of the registered exit handlers from whatever is using
14549 GStreamer get executed. This fixes gnome-mixer-applet failing
14550 to load, because ORBit would shut down.
14551 Spotted by: Edward Hervey <edward@fluendo.com>
14552 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14555 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14560 === release 0.10.7 ===
14562 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14565 releasing 0.10.7, "Soepeke, ik zie ou"
14567 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14590 * win32/common/config.h:
14591 0.10.6.2 prerelease
14593 2006-06-07 Wim Taymans <wim@fluendo.com>
14595 * gst/gstindex.c: (gst_index_gtype_resolver):
14596 * tools/gst-xmlinspect.c: (print_plugin_info):
14597 Fix leak spotted by coverity checker. Fixes #343827
14598 Fix another other leak found by paolo borelli.
14600 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14602 * libs/gst/dataprotocol/dataprotocol.c:
14603 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14604 (gst_dp_version_get_type), (gst_dp_init),
14605 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14606 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14607 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14608 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14609 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14610 (gst_dp_packetizer_free):
14611 * libs/gst/dataprotocol/dataprotocol.h:
14612 API: add a GstDPPacketizer object, and create/free functions
14613 API: add GstDPVersion enum
14614 Add 1.0 event function that uses the string serialization
14615 Serialize more useful buffer flags
14618 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14620 * tests/check/Makefile.am:
14621 * tests/check/gst/gstabi.c:
14622 * tests/check/gst/struct_ppc64.h:
14623 * tests/check/libs/libsabi.c:
14624 * tests/check/libs/struct_ppc64.h:
14625 add ppc64 structure sizes
14627 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14629 * tests/check/Makefile.am:
14630 * tests/check/gst/gstabi.c:
14631 * tests/check/gst/struct_x86_64.h:
14632 * tests/check/libs/libsabi.c:
14633 * tests/check/libs/struct_x86_64.h:
14634 generate and add structure size lists for x86_64
14636 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14638 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14639 * libs/gst/check/gstcheck.h:
14640 factor out the method from tests that checks size of structures,
14641 and add code to generate the header containing these sizes
14642 * tests/check/gst/gstabi.c: (GST_START_TEST):
14643 * tests/check/gst/struct_i386.h:
14644 * tests/check/libs/libsabi.c: (GST_START_TEST):
14645 * tests/check/libs/struct_i386.h:
14648 2006-06-06 Michael Smith <msmith@fluendo.com>
14650 * gst/gstsegment.h:
14651 Don't use c++-style comments, fixes #343929
14653 2006-06-05 Edward Hervey <edward@fluendo.com>
14656 plugin_paths is not used if we build without registry support.
14658 * gst/gstsegment.c: (gst_segment_copy):
14659 _copy() was always returning NULL...
14661 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14663 * libs/gst/dataprotocol/dataprotocol.c:
14664 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14665 (gst_dp_packet_from_event):
14666 factor out CRC code
14668 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14670 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14671 make sure we unset caps
14673 2006-06-02 Michael Smith <msmith@fluendo.com>
14675 * libs/gst/check/gstcheck.c: (gst_check_init),
14676 (gst_check_chain_func):
14677 * libs/gst/check/gstcheck.h:
14678 Add a cond/mutex to the check support lib, signal this whenever we
14679 add to the buffers list. This will allow tests to not busy-wait on
14682 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14684 * libs/gst/dataprotocol/dataprotocol.c:
14685 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14686 (gst_dp_packet_from_event):
14687 factor out some common header init code
14689 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14691 * docs/libs/gstreamer-libs-sections.txt:
14692 * docs/libs/tmpl/gstdataprotocol.sgml:
14693 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14694 * libs/gst/dataprotocol/dataprotocol.h:
14695 API: make gst_dp_crc() public
14697 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14699 * plugins/indexers/gstindexers.c: (plugin_init):
14700 conditionally register fileindexer (fixes #343598)
14702 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14704 * gst/gsttagsetter.h:
14705 Can't cast ifaces to a class
14707 * libs/gst/net/gstnetclientclock.h:
14708 * libs/gst/net/gstnettimeprovider.h:
14709 * plugins/elements/gstfakesink.h:
14710 * plugins/elements/gstfakesrc.h:
14711 * plugins/elements/gstfdsink.h:
14712 * plugins/elements/gstfdsrc.h:
14713 * plugins/elements/gstfilesink.h:
14714 * plugins/elements/gstfilesrc.h:
14715 * plugins/elements/gstidentity.h:
14716 * plugins/elements/gstqueue.h:
14717 * plugins/elements/gsttee.h:
14718 * plugins/indexers/gstfileindex.c:
14719 * plugins/indexers/gstmemindex.c:
14720 * tests/old/examples/plugins/example.h:
14721 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14723 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14725 * libs/gst/dataprotocol/dataprotocol.c:
14726 (gst_dp_header_from_buffer):
14727 make sure we zero the whole ABI-compatible area
14729 2006-06-01 Wim Taymans <wim@fluendo.com>
14731 Patch by: Alessandro Decina <alessandro at nnva dot org>
14733 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14734 Make sure the EOS flag is cleared from pads after a flush
14735 or stop. Fixes #343538.
14737 * tests/check/libs/collectpads.c: (GST_START_TEST),
14738 (gst_collect_pads_suite):
14739 Added test for collectpads reusage after EOS.
14741 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14744 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14745 * win32/common/libgstbase.def:
14746 export gst_collect_pads_set_flushing
14747 * win32/common/libgstreamer.def:
14748 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14749 gst_value_fraction_multiply
14750 * win32/vs6/gst_inspect.dsp:
14751 add a link to intl.lib
14753 2006-05-30 Wim Taymans <wim@fluendo.com>
14755 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14756 (gst_collect_pads_chain):
14757 Handle the case where a pad is removed from the collection
14758 that could cause the other pads to become collectable.
14760 2006-05-30 Wim Taymans <wim@fluendo.com>
14762 * gst/gstelement.c:
14763 Clarify the use of _release_request_pad() and
14764 _get_request_pad() a bit better.
14766 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14767 (gst_adapter_take_buffer):
14768 Fix some doc and comment typos.
14770 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14772 * docs/gst/gstreamer-sections.txt:
14773 * docs/libs/gstreamer-libs-sections.txt:
14774 add declared symbols
14776 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14778 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14779 Add debug that can be enabled using a #define at the top of the file,
14780 for dumping stats about how late/early we were when waking up from
14781 waiting on the clock.
14783 2006-05-30 Wim Taymans <wim@fluendo.com>
14785 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14786 When rebuilding the pad list, don't leak the previous list.
14788 2006-05-30 Wim Taymans <wim@fluendo.com>
14790 Patch by: Lutz Mueller <lutz at topfrose dot de>
14792 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14793 (gst_base_src_get_query_types), (gst_base_src_update_length):
14794 Publish supported query types.
14795 Update last_stop field in get_range mode so the position
14796 query works. Fixes #342321.
14798 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14800 * docs/gst/gstreamer-sections.txt:
14801 * gst/gsttaglist.c: (_gst_tag_initialize):
14802 * gst/gsttaglist.h:
14803 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14805 2006-05-30 Wim Taymans <wim@fluendo.com>
14807 Patch by: Alessandro Decina <alessandro at nnva dot org>
14809 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14810 Unlock mutex when removing an unknown pad.
14813 * tests/check/Makefile.am:
14814 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14815 (push_event), (setup), (teardown), (GST_START_TEST),
14816 (gst_collect_pads_suite), (main):
14817 Added collecpads check, disabled for now as check crashes for
14820 2006-05-29 Wim Taymans <wim@fluendo.com>
14822 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14823 Don't leak pads lists.
14825 2006-05-29 Wim Taymans <wim@fluendo.com>
14827 * docs/libs/gstreamer-libs-sections.txt:
14828 * libs/gst/base/gstcollectpads.c:
14829 (gst_collect_pads_set_flushing_unlocked),
14830 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14831 (gst_collect_pads_stop):
14832 * libs/gst/base/gstcollectpads.h:
14833 API: gst_collect_pads_set_flushing()
14834 Added api to set the pads to flushing, useful for seeking
14835 code in elements using collectpads.
14836 Clear segment when receiving a flush.
14838 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14840 * gst/gst.c: (add_path_func), (init_post):
14841 Don't scan registry paths passed via --gst-plugin-path immediately
14842 (will crash, because absolutely nothing is set up and no types are
14843 registered etc.); do this later in init_post(). Fixes #343057.
14845 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14847 * gst/gst.c: (init_post):
14848 if we have fork, fork while reading/rebuilding the registry
14849 so the parent doesn't take the hit of having all plugins loaded
14850 in memory. Fixes #342777.
14852 Check if we have fork()
14853 * win32/common/config.h.in:
14856 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14858 * plugins/elements/gstelements.c:
14859 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14860 (gst_file_src_init), (gst_file_src_set_property),
14861 (gst_file_src_get_property), (gst_file_src_start):
14862 * plugins/elements/gstfilesrc.h:
14863 API: GstFileSrc::use-mmap
14865 Add a use-mmap property to enable easier testing of all code paths.
14866 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14867 in the absence of gnomevfssrc. (Closes #340501)
14869 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14871 * tools/gst-inspect.c:
14872 Add missing include, removes warning of ngettext not being defined on
14875 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14877 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14878 Handle NULL input and output pointers silently as a failed conversion,
14879 rather than g_warnings.
14881 2006-05-25 Wim Taymans <wim@fluendo.com>
14883 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14884 Initialize variable before using. Fixes #342820.
14886 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14888 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14889 Fix off-by-one bug that would only allow peeks of N-1 bytes
14890 from the start even if the buffer to typefind on contains
14891 in fact N bytes of data (makes vorbis typefinding from a
14892 vorbis identification header buffer work).
14894 * tests/check/Makefile.am:
14895 * tests/check/libs/.cvsignore:
14896 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14897 (gst_typefindhelper_suite), (main), (foobar_typefind),
14899 Add very basic unit test for gst_type_find_helper_for_buffer()
14900 that checks for the problem fixed above.
14902 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14904 * tools/gst-inspect.c: (print_interfaces),
14905 (print_element_properties_info), (print_element_list), (main):
14906 add more translatable strings
14908 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14910 Patch by: Julien Moutte <julien at moutte net>
14912 * docs/gst/gstreamer-sections.txt:
14913 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14915 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14916 (gst_fake_sink_preroll):
14917 * plugins/elements/gstfakesink.h:
14918 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14920 2006-05-23 Wim Taymans <wim@fluendo.com>
14922 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14924 Added _CUSTOM error and success GstFlowReturn that can be
14925 used be elements internally.
14926 Added macro to check for SUCCESS flowreturns.
14927 API: GST_FLOW_CUSTOM_SUCCESS
14928 API: GST_FLOW_CUSTOM_ERROR
14929 API: GST_FLOW_IS_SUCCESS
14931 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14932 Added check for GstFlowReturn sanity.
14934 2006-05-23 Wim Taymans <wim@fluendo.com>
14936 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14938 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14939 (gst_collect_pads_event):
14940 clear/reset segment info in FLUSH_STOP.
14943 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14945 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14946 (gst_collect_pads_check_collected):
14947 Flush queued buffer on _stop(), fixes playing again (#342454)
14949 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14951 * tests/check/gst/gststructure.c: (GST_START_TEST),
14952 (gst_structure_suite):
14953 add a test for a complete structure
14955 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14957 * docs/faq/developing.xml:
14958 * docs/faq/faq.xml:
14959 * docs/faq/troubleshooting.xml:
14960 * docs/faq/using.xml:
14961 Some minor FAQ updates that won't change the fact that
14962 our FAQ is badly structured, full of information hardly
14963 anyone new to GStreamer needs to know and lacking lots
14964 of information people constantly ask for.
14966 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14968 * gst/gstpad.c: (gst_pad_set_caps):
14969 Short-circuit gst_pad_set_caps if setting the existing
14970 caps pointer again, and avoid printing debug and
14971 reffing/unreffing the caps.
14973 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14974 There's actually no need to set the caps before pushing -
14975 the acceptcaps method will handle it anyway.
14977 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14979 * docs/gst/gstreamer-sections.txt:
14980 * win32/common/libgstreamer.def:
14981 * gst/gstutils.c: (gst_element_seek_simple):
14983 API: add gst_element_seek_simple() (#342238).
14985 2006-05-18 Edward Hervey <edward@fluendo.com>
14987 * gst/gsttypefind.c: (gst_type_find_get_type):
14988 * gst/gsttypefind.h:
14989 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14990 registered for GstTypeFind pointers. This allows wrapping the structure
14991 in bindings (i.e. gst-python).
14993 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14995 * gst/gsttagsetter.c:
14996 Docs additions and fixes (see #339918).
14998 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
15000 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15001 The caps intersection algorithm can produce multiple copies of the
15002 caps. Until that is fixed, we need to simplify the result to be
15003 sure whether the allowed caps are fixed or not.
15005 * plugins/elements/gstqueue.c: (gst_queue_init),
15006 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15007 (gst_queue_push_one):
15008 Proxied buffer alloc should not set the caps on the source pad.
15009 When pushing buffers, we always accept the caps change that triggers.
15010 This prevents negotiation errors caused by caps changing mid-stream
15011 and then being refused on our source pad (because upstream is now
15012 refusing those caps).
15014 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
15016 * tests/examples/helloworld/helloworld.c: (main):
15017 Must plug audioconvert and audioresample between decoder
15020 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
15022 * gst/gstregistryxml.c: (read_string), (load_pad_template),
15023 (load_feature), (load_plugin):
15024 Allow empty strings for some of the plugin fields so we don't
15025 drop valid plugin entries that were written out correctly
15028 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
15030 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15031 Use g_remove and g_rename instead of remove and rename that don't
15032 handle utf8 characters. rename was failing for users who had specific
15033 characters in their name then the registry was built at each
15035 * win32/vs6/gst_inspect.dsp:
15036 * win32/vs6/gst_launch.dsp:
15037 * win32/vs6/libgstbase.dsp:
15038 * win32/vs6/libgstcoreelements.dsp:
15039 * win32/vs6/libgstreamer.dsp:
15040 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
15041 build of libgstreamer and clean unused libraries in projects link
15044 2006-05-17 Edward Hervey <edward@fluendo.com>
15046 * plugins/elements/gstqueue.c: (gst_queue_push_one):
15047 The queue is not responsible for pushing an EOS when receiving a fatal
15048 flow error. It's up to the real element driving the pipeline to do that.
15050 2006-05-16 Edward Hervey <edward@fluendo.com>
15052 * plugins/elements/gstqueue.c: (gst_queue_push_one):
15053 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15054 buffer returned a fatal error. It should just send an EOS and stop
15056 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15057 when pushing buffers on the queue and will be able to handle the event.
15059 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
15061 * docs/manual/basics-bins.xml:
15062 * docs/manual/basics-init.xml:
15063 Fix typos and minor errors in sample code (#341856).
15065 2006-05-16 Wim Taymans <wim@fluendo.com>
15067 * docs/design/part-qos.txt:
15068 Fix indexes in formulas to make more sense.
15070 2006-05-15 Wim Taymans <wim@fluendo.com>
15072 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15073 Don't report POSITION based on clock time if sync is
15074 disabled in a sink.
15076 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
15079 Add cast to make compiler happy - refcount variable was a gint
15080 in GstObject but is a guint in GObject and g_atomic_int_get()
15083 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
15085 * gst/parse/Makefile.am:
15086 chain commands using &&, which also makes parallel make work
15088 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
15090 * docs/gst/gstreamer-sections.txt:
15093 * gst/gstmessage.h:
15096 === release 0.10.6 ===
15098 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
15101 releasing 0.10.6, "Take the cannoli"
15103 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
15105 * tools/gst-launch.c: (print_tag):
15106 Fix use of uninitialized variable in the hypothetical
15107 case that some broken plugin creates a GST_TAG_IMAGE
15108 tag containing a NULL buffer (#341667).
15110 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
15112 * tools/gst-launch.c: (print_tag):
15113 Print something more intelligible for image tags when
15114 using the -t switch (#341556).
15116 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
15121 define GST_MAJORMINOR so we have it available in win32/common/config.h
15122 Possibly remove it from our Makefile.am files later
15123 * win32/common/config.h:
15124 * win32/common/config.h.in:
15125 added GST_MAJORMINOR
15126 * win32/common/gstenumtypes.c: (register_gst_resource_error):
15127 * win32/common/gstversion.h:
15130 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15133 Update win32 files listing.
15134 * win32/common/gstversion.h:
15135 Add GST_MAJORMINOR definition.
15136 * win32/common/libgstreamer.def:
15137 Add new exported functions.
15139 2006-05-12 Michael Smith <msmith@fluendo.com>
15141 * gst/gstplugin.c: (gst_plugin_load_file):
15142 If an so file has no plugin entry point, unload the module.
15144 2006-05-11 Wim Taymans <wim@fluendo.com>
15146 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15147 (gst_queue_set_property):
15148 Don't forget to signal the _chain or _loop function
15149 when the queue size or thresholds change since that might
15150 cause them to make progres again.
15152 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15154 * gst/gstclock.c: (gst_clock_class_init):
15155 * gst/gstindex.c: (gst_index_class_init):
15156 * gst/gstobject.c: (gst_object_class_init):
15157 * gst/gstpad.c: (gst_pad_class_init):
15158 * gst/gstpipeline.c: (gst_pipeline_class_init):
15159 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15160 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15161 * libs/gst/base/gstbasetransform.c:
15162 (gst_base_transform_class_init):
15163 * libs/gst/net/gstnetclientclock.c:
15164 (gst_net_client_clock_class_init):
15165 * libs/gst/net/gstnettimeprovider.c:
15166 (gst_net_time_provider_class_init):
15167 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15168 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15169 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15170 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15171 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15172 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15173 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15174 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15175 * plugins/elements/gsttee.c: (gst_tee_class_init):
15176 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15177 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15178 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15180 2006-05-11 Wim Taymans <wim@fluendo.com>
15182 * gst/gstbuffer.c: (_gst_buffer_initialize):
15183 Register subbufer along with the buffer type so that
15184 it does not accidentally gets registered from N
15185 different streaming threads in a non threadsafe way.
15187 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15191 * gst/gstmessage.h:
15192 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15193 gst_event_ref() and gst_message_ref() functions again
15194 (ugly hack, please do fix if there's a better way besides
15195 overrides.txt, which doesn't seem to work).
15197 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15199 * libs/gst/check/gstcheck.h:
15200 add an assert for setting state to avoid lots of repetitive code
15203 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15205 * gst/gstvalue.c: (gst_value_serialize_flags):
15206 fix a leak if no flags are set
15207 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15210 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15212 * docs/manual/basics-pads.xml:
15213 Expand a bit on caps and filtered links and update
15214 examples that were still using the no longer existing
15215 gst_pad_link_filtered() (#338206).
15217 2006-05-10 Wim Taymans <wim@fluendo.com>
15219 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15220 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15221 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15222 (gst_collect_pads_stop):
15223 * libs/gst/base/gstcollectpads.h:
15224 No need to call _stop in _finalize.
15225 Iterate the main pad list in _finalize.
15226 Added some more debug.
15227 Free lists and data in the right order.
15228 Also free data whem doing _remove_pad when stopped for
15229 backward compatibility protect ::started with PAD_LOCK as
15232 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15234 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15235 (gst_structure_parse_value):
15237 rename a method so that it actually says what it does better
15239 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15241 * gst/gstevent.c: (_gst_event_initialize):
15242 * gst/gstformat.c: (_gst_format_initialize):
15243 make sure some essential types used by events are registered
15244 as part of gst_init()
15245 * gst/gstvalue.c: (gst_value_serialize_flags):
15246 if no flags are set, serialize them to a value that represents NONE
15247 so that deserializing them works
15248 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15249 add tests for serialization and deserialization of flags
15251 2006-05-10 Wim Taymans <wim@fluendo.com>
15253 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15254 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15255 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15256 (gst_collect_pads_event), (gst_collect_pads_chain):
15259 Catch and return errors from the collect function
15260 Refuse data on eos pads.
15262 2006-05-10 Edward Hervey <edward@fluendo.com>
15264 * gst/gstinterface.h:
15265 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15266 GInterface type checking.
15267 They were previously using non-defined macros.
15269 2006-05-09 Wim Taymans <wim@fluendo.com>
15271 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15272 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15273 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15274 (gst_collect_pads_start), (gst_collect_pads_stop),
15275 (gst_collect_pads_peek), (gst_collect_pads_pop),
15276 (gst_collect_pads_available), (gst_collect_pads_read),
15277 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15278 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15279 (gst_collect_pads_chain):
15280 * libs/gst/base/gstcollectpads.h:
15281 Clean up the mess that is collectpads, add comments and
15282 FIXMEs where needed.
15283 Maintain a separate pad list so we can add pads while
15284 collecting the other ones. For this we need a new separate
15286 Fix memory leak in finalize.
15287 Refactor some weird code to set/unset pad flushing flags, mark
15289 Don't crash in _available, _read, _flush when we're EOS.
15291 * tests/check/libs/.cvsignore:
15292 Ignore adapter check binary.
15294 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15296 * gst/gstindex.c: (gst_index_resolver_get_type):
15297 * plugins/elements/gstfakesink.c:
15298 (gst_fake_sink_state_error_get_type):
15299 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15300 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15301 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15302 Const-ify GEnumValue arrays.
15304 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15306 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15307 Add test case for flags + gst_buffer_make_metadata_writable().
15309 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15311 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15312 gst_buffer_make_metadata_writable() should maintain the
15313 buffer flags (those that make sense at least) (see #340859).
15315 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15317 * tools/gst-inspect.c:
15318 * tools/gst-launch.c:
15319 * tools/gst-typefind.c:
15320 * tools/gst-xmlinspect.c:
15322 Fix up includes: need to include stdlib.h in tools.h for exit().
15324 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15326 * gst/gsttaglist.c: (_gst_tag_initialize):
15327 * gst/gsttaglist.h:
15328 API: add GST_TAG_IMAGE tag (#340721).
15330 2006-05-08 Wim Taymans <wim@fluendo.com>
15333 Added some docs for the segment query.
15335 2006-05-08 Wim Taymans <wim@fluendo.com>
15337 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15338 (gst_base_src_loop), (gst_base_src_change_state):
15339 Always push non-flushing serialized events in the streaming
15342 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15344 * gst/gsterror.c: (_gst_stream_errors_init):
15345 Add a missing error string.
15347 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15349 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15350 Add applied_rate to the debug
15352 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15353 Copy applied_rate into the outgoing NEWSEGMENT event
15355 2006-05-08 Wim Taymans <wim@fluendo.com>
15357 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15359 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15360 (gst_base_sink_change_state):
15361 call ::unlock before taking the PREROLL_LOCK so we can safely
15362 handle elements that lock in ::render.
15365 2006-05-08 Edward Hervey <edward@fluendo.com>
15367 * autogen.sh: (CONFIGURE_DEF_OPT):
15368 Darwin's libtoolize is in fact called glibtoolize.
15369 Adding glibtoolize to the list of accepted names for libtoolize.
15371 2006-05-08 Wim Taymans <wim@fluendo.com>
15373 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15374 Unify error handling, don't post an error message
15375 when a push() returns EOS but perform our normal EOS
15376 handling code. Fixes #340772.
15378 2006-05-08 Wim Taymans <wim@fluendo.com>
15380 * docs/design/part-overview.txt:
15381 Make upsteam/downstream concepts more clear.
15382 Give an example of serialized/non-serialized events.
15384 * docs/design/part-events.txt:
15385 * docs/design/part-streams.txt:
15386 Mention applied_rate.
15388 * docs/design/part-trickmodes.txt:
15389 Mention applied rate, flesh out some more use cases.
15391 * gst/gstevent.c: (gst_event_new_new_segment),
15392 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15393 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15394 (gst_event_parse_tag), (gst_event_new_buffer_size),
15395 (gst_event_parse_buffer_size), (gst_event_new_qos),
15396 (gst_event_parse_qos), (gst_event_parse_seek),
15397 (gst_event_new_navigation):
15399 Add applied_rate field to NEWSEGMENT event.
15400 API: gst_event_new_new_segment_full()
15401 API: gst_event_parse_new_segment_full()
15403 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15404 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15405 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15406 * gst/gstsegment.h:
15407 Add applied_rate to GstSegment structure.
15408 Make calculation of stream_time and running_time more correct
15409 wrt rate/applied_rate.
15410 Add some more docs.
15411 API: GstSegment::applied_rate field
15412 API: gst_segment_set_newsegment_full();
15414 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15415 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15416 * libs/gst/base/gstbasetransform.c:
15417 (gst_base_transform_sink_eventfunc),
15418 (gst_base_transform_handle_buffer):
15419 Parse and use applied_rate in the GstSegment field.
15421 * tests/check/gst/gstevent.c: (GST_START_TEST):
15422 Add check for applied_rate field.
15424 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15425 (gstsegments_suite):
15426 Add more checks for various GstSegment operations.
15428 2006-05-08 Wim Taymans <wim@fluendo.com>
15430 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15431 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15432 (gst_base_sink_get_position), (gst_base_sink_change_state):
15433 Store the sync time of the buffer end position separatly in a
15434 new variable eos_rtime so we can properly sync the EOS event.
15436 Fix the docs for gst_base_sink_set_qos_enabled().
15437 Don't set segment start to invalid value when we receive a
15438 non TIME newsegment.
15439 get closer to handling position reporting for negative rates
15442 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15445 Docs about how to print caps for debug purposes.
15447 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15448 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15450 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15452 * gst/gstelement.c:
15453 use full enum names and preprend a '%' in docs strings to make recent
15454 gtk-doc turn that into a link
15456 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15458 * docs/manual/basics-bins.xml:
15459 * docs/manual/basics-bus.xml:
15460 * docs/manual/basics-pads.xml:
15461 Some typo fixes, some additions, some clarifications.
15463 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15465 * tools/gst-inspect.c: (main):
15466 * tools/gst-launch.c: (main):
15467 * tools/gst-run.c: (main):
15468 * tools/gst-typefind.c: (main):
15469 * tools/gst-xmlinspect.c: (main):
15470 Use the string passed to g_option_context_new() for
15471 what it's intended for - the program name is already
15474 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15476 * tools/Makefile.am:
15477 * tools/gst-inspect.c: (main):
15478 * tools/gst-launch.c: (main):
15479 * tools/gst-xmlinspect.c: (main):
15481 Add back --version command line option (#340460).
15483 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15484 Add --version option and use GOption for argument parsing; refactor a
15485 bit; accept directories as arguments and recurse into them; lastly,
15486 print a decent error message when things go wrong.
15488 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15490 * docs/manual/basics-bins.xml:
15491 Don't mention GstThread (#340611)
15492 * docs/manual/basics-elements.xml:
15493 Update link to GObject tutorial (#340607)
15495 2006-05-05 Wim Taymans <wim@fluendo.com>
15498 * gst/gstminiobject.c:
15499 Add note about refcounting and miniobject/buffer writeability
15500 to docs. Fixes #340604
15502 * gst/gstelementfactory.h:
15503 Added some explanation about @klass.
15505 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15507 * docs/manual/intro-motivation.xml:
15508 * docs/manual/manual.xml:
15509 Avoid CORBA & Bonobo references (#340598)
15511 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15513 * docs/manual/basics-bus.xml:
15514 * docs/manual/basics-pads.xml:
15515 Fix up some inaccuracies and omissions (#340609)
15517 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15519 * gst/gstghostpad.c:
15520 Small typo in docs (#340625)
15522 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15524 * gst/parse/Makefile.am:
15525 Make 'make -j' proof (see #340698).
15527 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15530 Require GLib-2.8 here as well.
15532 2006-05-05 Wim Taymans <wim@fluendo.com>
15534 * gst/glib-compat.c:
15535 * gst/gst.c: (init_pre):
15536 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15537 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15538 (gst_object_dispatch_properties_changed):
15540 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15541 * gst/gststructure.c: (gst_structure_set_valist):
15542 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15543 Remove pre glib2.8 compatibility, fixes #340508
15545 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15547 * gst/gsttaglist.h:
15548 Mention type of tags in doc blurbs.
15550 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15552 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15553 (gst_pad_configure_src), (gst_pad_push):
15554 Restore acceptcaps checking behaviour now that good plugins have
15557 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15559 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15566 * gst/gstmessage.c:
15570 * gst/parse/Makefile.am:
15571 * libs/gst/base/gstadapter.c:
15572 * libs/gst/base/gstbasesrc.c:
15573 * libs/gst/base/gstpushsrc.c:
15574 * libs/gst/base/gsttypefindhelper.c:
15575 * plugins/elements/gstfakesrc.c:
15576 * plugins/elements/gstidentity.c:
15577 Make sure gstprivate.h and/or config.h are
15578 always included first, otherwise some of our
15579 defines (like _FILE_OFFSET_BITS) might be
15580 redefined in the system headers. Fixes build
15581 on opensolaris (#340016).
15583 2006-05-04 Wim Taymans <wim@fluendo.com>
15585 * docs/libs/gstreamer-libs-sections.txt:
15586 API: addition: gst_adapter_take_buffer()
15588 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15589 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15590 (gst_adapter_available_fast):
15591 * libs/gst/base/gstadapter.h:
15592 Prepare for optimizing the hell out of this hugely inefficient
15594 Added gst_adapter_take_buffer() so we can at least start thinking
15595 about subbuffering and merging.
15596 Added some comments.
15598 * tests/check/Makefile.am:
15599 * tests/check/libs/adapter.c: (GST_START_TEST),
15600 (gst_adapter_suite), (main):
15601 Added GstAdapter check.
15603 2006-05-04 Wim Taymans <wim@fluendo.com>
15605 * docs/design/part-overview.txt:
15606 Fix some typos, add blurb about buffer flags.
15608 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15610 * docs/libs/gstreamer-libs-sections.txt:
15611 make sure GstBaseTransformClass shows up in the docs
15612 * libs/gst/base/gstbasetransform.c:
15613 * libs/gst/base/gstbasetransform.h:
15614 move docs so gtk-doc picks it up now
15616 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15618 * docs/libs/gstreamer-libs-sections.txt:
15619 add missing symbols to docs
15621 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15623 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15624 back out the newsegment handling change, see #340060 for ongoing
15627 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15629 * tools/gst-run.c: (get_candidates), (main):
15630 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15631 work); fix typo in error message. Fixes #340079.
15633 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15635 * common/Makefile.am:
15636 * docs/Makefile.am:
15637 * docs/faq/Makefile.am:
15638 * docs/gst/Makefile.am:
15639 * docs/libs/Makefile.am:
15640 * docs/manual/Makefile.am:
15641 * docs/plugins/Makefile.am:
15642 * docs/pwg/Makefile.am:
15643 * docs/slides/Makefile.am:
15645 * common/upload.mak:
15646 move upload.mak to common
15648 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15650 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15651 add more asserts on refcounts
15652 do more cleanup at end of tests
15653 fix test leaks showing in FC5
15655 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15657 * plugins/elements/gsttypefindelement.c:
15658 (gst_type_find_element_handle_event):
15659 reverted wrong change and reflowed code to avoid others falling into
15662 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15664 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15665 fix changelog entry about last collectpads change,
15666 add notes about proper fix
15668 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15671 * gst/gstregistry.c: (gst_registry_scan_path_level),
15672 (gst_registry_scan_path):
15673 * gst/gstregistry.h:
15674 only write out registry if it has changed, fixes #338339
15676 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15679 * gst/gstpipeline.c:
15680 * plugins/elements/gstcapsfilter.c:
15681 * plugins/elements/gstfakesink.c:
15682 * plugins/elements/gstfakesrc.c:
15683 * plugins/elements/gstfdsink.c:
15684 * plugins/elements/gstfdsrc.c:
15685 * plugins/elements/gstfilesink.c:
15686 * plugins/elements/gstfilesrc.c:
15687 * plugins/elements/gstidentity.c:
15688 * plugins/elements/gstqueue.c:
15689 * plugins/elements/gsttee.c:
15690 * plugins/elements/gsttypefindelement.c:
15691 (gst_type_find_element_handle_event):
15692 make GstElementDetails const
15694 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15696 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15697 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15698 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15699 more detailed debug and formatting cleanup,
15700 forward newsegments to src-pad (so that e.g. adder not eats them)
15702 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15704 * gst/gstutils.c: (gst_element_link_pads):
15705 cleanup double code
15707 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15709 * libs/gst/controller/gstcontroller.c:
15710 (gst_controller_sync_values):
15712 * tests/check/libs/controller.c: (GST_START_TEST),
15713 (gst_controller_suite):
15714 a new test for live value handling
15716 2006-04-28 Wim Taymans <wim@fluendo.com>
15718 * gst/gstutils.c: (push_and_ref):
15719 Added some more docs.
15720 Fix refcount issue whith gst_element_found_tags() helper
15721 function. Fixes #338335
15723 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15724 Added testsuite for gst_element_found_tags().
15726 2006-04-28 Michael Smith <msmith@fluendo.com>
15728 * gst/gstvalue.c: (gst_value_serialize_flags):
15729 Avoid NULL dereference when trying to serialize flags containing
15732 2006-04-28 Michael Smith <msmith@fluendo.com>
15734 * plugins/elements/gsttypefindelement.c:
15735 (gst_type_find_element_handle_event):
15736 If we get EOS before any data is accumulated, don't use
15737 uninitialised local variables.
15739 2006-04-28 Michael Smith <msmith@fluendo.com>
15741 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15742 (gst_dp_event_from_packet):
15743 Fixes in reading/writing events over GDP (not currently used?) -
15744 dereferencing NULL events for unknown/invalid event types, memory
15745 leak, and change g_warning to GST_WARNING.
15747 2006-04-28 Wim Taymans <wim@fluendo.com>
15749 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15750 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15751 (gst_base_sink_get_position), (gst_base_sink_change_state):
15752 When frame dropping is enabled, we should not ignore frames
15753 without a duration.
15754 Update some documentation.
15756 2006-04-28 Wim Taymans <wim@fluendo.com>
15758 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15759 (gst_base_src_send_event), (gst_base_src_change_state):
15760 Documentation updates.
15762 2006-04-28 Wim Taymans <wim@fluendo.com>
15764 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15765 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15766 handle EAGAIN, EINTR and short writes correctly. Also clean
15767 up some error cases, avoid a deadlock on bad file descriptors and
15768 use GST_DEBUG_OBJECT.
15771 2006-04-28 Wim Taymans <wim@fluendo.com>
15773 * gst/gstvalue.c: (gst_value_serialize_buffer),
15774 (gst_value_deserialize_buffer):
15775 Don't try to serialize a GValue with a NULL buffer.
15778 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15779 Added check for serialisation of NULL buffers.
15781 2006-04-28 Wim Taymans <wim@fluendo.com>
15783 * gst/gstminiobject.c: (gst_value_take_mini_object):
15784 Taking a NULL miniobject is valid, fix the case where
15785 we try to unref the NULL miniobject.
15787 2006-04-28 Wim Taymans <wim@fluendo.com>
15789 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15791 * gst/gstbin.c: (gst_bin_handle_message_func):
15793 Don't leak bin refcount when a state recalc is
15794 in progress and we delay another one #339808.
15796 2006-04-28 Wim Taymans <wim@fluendo.com>
15798 * docs/design/part-TODO.txt:
15799 Mention QoS as an ongoing work item.
15801 * docs/design/part-buffering.txt:
15802 New doc about buffering that needs to be fleshed out
15805 * docs/design/part-qos.txt:
15806 More QoS policy for decoders/demuxers/transforms
15808 * docs/design/part-trickmodes.txt:
15811 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15816 === release 0.10.5 ===
15818 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15821 releasing 0.10.5, "Fogo"
15823 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15825 patch by: Wim Taymans
15827 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15828 (gst_pad_configure_src), (gst_pad_push):
15829 * gst/gstpipeline.c: (gst_pipeline_init):
15830 Fix internal data flow errors. Fixes #338711.
15832 2006-04-12 Wim Taymans <wim@fluendo.com>
15834 * tests/check/gst/gstelement.c: (GST_START_TEST):
15835 Don't leak the factory.
15837 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15840 * win32/common/config.h:
15843 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15845 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15846 (gst_controller_unset_all):
15847 Free allocated GstTimedValues when freeing list nodes.
15848 Should fix leaks 'make check-valgrind' complains about.
15850 * win32/common/libgstcontroller.def:
15851 Add gst_controller_unset_all.
15853 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15855 * docs/libs/gstreamer-libs-sections.txt:
15856 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15857 (gst_controller_unset_all):
15858 * libs/gst/controller/gstcontroller.h:
15859 API: Added new method gst_controller_unset_all()
15860 fixed gst_controller_unset()
15861 * tests/check/libs/controller.c: (GST_START_TEST),
15862 (gst_controller_suite):
15863 Added two testcases for new and fixed method
15865 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15867 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15868 MSG_DONTWAIT is not defined on Cygwin, so work
15869 around that (fixes #317048).
15871 2006-04-11 Wim Taymans <wim@fluendo.com>
15873 * gst/gstelementfactory.c: (gst_element_register),
15874 (gst_element_factory_create), (gst_element_factory_make):
15877 Updated docs (Fixes #131079)
15879 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15882 * tests/check/gst/gstelement.c: (GST_START_TEST),
15883 (gst_element_suite):
15884 Added testcase for elementfactory class field.
15886 2006-04-10 Wim Taymans <wim@fluendo.com>
15888 * gst/gstsegment.c:
15889 Added some more docs.
15891 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15892 (gst_base_sink_reset_qos):
15893 Calculate more accurate rate values.
15895 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15897 * gst/gst_private.h:
15898 add a new #ifdef to use __declspec(dllimport) only for
15899 other modules and not for gstreamer core
15900 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15901 use gst_guint64_to_gdouble for conversion
15902 * win32/common/libgstreamer.def:
15903 add new exported functions
15904 * win32/vs6/gst_inspect.dsp:
15905 * win32/vs6/gst_launch.dsp:
15906 * win32/vs6/libgstbase.dsp:
15907 * win32/vs6/libgstcontroller.dsp:
15908 * win32/vs6/libgstcoreelements.dsp:
15909 * win32/vs6/libgstdataprotocol.dsp:
15910 * win32/vs6/libgstnet.dsp:
15911 update project files
15913 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15915 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15916 * gst/gstclock.c: (gst_clock_class_init):
15917 * gst/gstelement.c: (gst_element_class_init):
15918 * gst/gstindex.c: (gst_index_class_init):
15919 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15920 * gst/gstobject.c: (gst_object_class_init),
15921 (gst_signal_object_class_init):
15922 * gst/gstpad.c: (gst_pad_class_init):
15923 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15924 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15925 * gst/gstregistry.c: (gst_registry_class_init):
15926 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15927 * gst/gsttask.c: (gst_task_class_init):
15928 * gst/gstxml.c: (gst_xml_class_init):
15929 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15930 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15931 (gst_base_src_loop):
15932 * libs/gst/controller/gstcontroller.c:/
15933 (_gst_controller_class_init):
15934 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15935 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15936 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15937 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15938 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15939 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15941 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15943 * gst/gstpad.c: (gst_pad_link):
15944 Must set peer pads before calling the link function, otherwise
15945 a task started from a link function might get a flow-not-linked
15946 result when trying to push because the other thread where the
15947 linking happens hasn't had a chance to set the peers yet. This
15948 might happen for example when a queue gets linked to a downstream
15949 element, as queue starts a streaming task when its source pad
15950 gets linked. Happens in real life when playing back flac/musepack
15951 files in playbin (#332390).
15953 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15957 * libs/gst/base/gstadapter.h:
15958 * libs/gst/base/gstbasesink.h:
15959 * libs/gst/base/gstbasesrc.h:
15960 * libs/gst/base/gstbasetransform.h:
15961 * libs/gst/base/gstcollectpads.h:
15962 * libs/gst/base/gstpushsrc.h:
15963 Fix broken GObject macros
15965 2006-04-07 Wim Taymans <wim@fluendo.com>
15967 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15968 Initialize start and stop times, thanks valgrind.
15970 2006-04-07 Wim Taymans <wim@fluendo.com>
15972 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15973 Be a bit nicer to badly behaving upstream elements that expect
15974 us to deal with non TIME segments and timestamps (such as fakesrc
15977 2006-04-07 Wim Taymans <wim@fluendo.com>
15980 Small documentation clarification about the signal watch.
15982 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15983 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15984 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15985 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15986 (gst_base_sink_get_position_last),
15987 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15988 Convert and store timestamps in stream time and running time, the
15989 raw timestamps are not useful, also document this better.
15990 Use different window sizes for good and bad QoS observations so
15991 we react to badness a little quicker.
15992 Keep track of the amount of rendered and dropped buffers.
15993 Send QoS timestamps in running time.
15995 * libs/gst/base/gstbasetransform.c:
15996 (gst_base_transform_sink_eventfunc),
15997 (gst_base_transform_handle_buffer):
15998 Compare QoS timestamps against running time.
16000 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
16003 Typo fixes in docs.
16005 2006-04-06 Michael Smith <msmith@fluendo.com>
16007 * gst/gstpad.c: (gst_pad_set_property):
16008 Use g_value_get_object() instead of g_value_dup_gst_object(),
16009 to avoid double-reffing the pad template (which we then sink,
16010 so this worked previously if (and only if) the pad template
16013 * gst/gstpadtemplate.c: (gst_pad_template_init),
16014 (gst_pad_template_pad_created):
16015 Never return floating references to pad templates, create
16016 them as initially-sunken.
16018 Document an extra function (and make this stop sinking our
16019 pad template, since that is now guaranteed to do nothing,
16020 since we created it sunken).
16022 * gst/gstghostpad.c:
16025 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
16027 * gst/gstinfo.c: (__gst_in_valgrind):
16030 * plugins/elements/gsttypefindelement.c:
16031 (gst_type_find_element_chain):
16032 Don't leak buffer caps.
16034 2006-04-06 Michael Smith <msmith@fluendo.com>
16036 * gst/parse/grammar.y:
16037 Fix a leak in parse-launch for any source-or-sink named element
16040 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16041 Unref the pipeline if it exists after we've failed parsing.
16043 2006-04-05 Michael Smith <msmith@fluendo.com>
16045 * gst/gstpipeline.c: (gst_pipeline_init):
16046 When we create a pipeline bus, initially create it in flushing mode.
16047 Fixes leaks in at least one test, and makes a new pipeline work the
16048 same as one that has gone to READY and then back to NULL.
16050 * gst/gstelement.c:
16053 2006-04-05 Michael Smith <msmith@fluendo.com>
16055 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16056 Unref a pad we reffed.
16057 * tests/check/gst/gstutils.c: (GST_START_TEST):
16060 2006-04-05 Michael Smith <msmith@fluendo.com>
16062 * gst/gstquery.c: (gst_query_set_formats),
16063 (gst_query_set_formatsv):
16064 Fix leaking GValues in queries, as shown by valgrind/testsuite.
16066 2006-04-05 Michael Smith <msmith@fluendo.com>
16068 * tests/check/generic/sinks.c: (GST_START_TEST):
16069 Fix a variety of memleaks in sinks check, which are only sometimes
16070 shown by running the tests under valgrind (weird?).
16072 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
16074 * docs/version.entities.in:
16075 Fix the substituted entity name after thomas' changes on the
16078 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
16080 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16083 2006-04-05 Andy Wingo <wingo@pobox.com>
16085 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16087 * libs/gst/base/gstbasetransform.c
16088 (gst_base_transform_sink_eventfunc): When resetting our segment on
16089 FLUSH_STOP, also update the flag saying we haven't seen a
16092 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16094 Patch by: Paolo Borelli <pborelli at katamail dot com>
16096 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16097 (gst_plugin_check_license):
16098 minor clean-ups: G_DEFINE_TYPE already takes care of the
16099 parent_class stuff, no need to do it twice. Mark array of
16100 license strings as constant. (#337103)
16102 2006-04-04 Michael Smith <msmith@fluendo.com>
16104 * tools/gst-inspect.c: (print_element_list):
16105 Free the right plugin list; fixes a memory leak.
16107 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16109 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
16111 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16112 Don't error out on empty buffers (#336945).
16114 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
16116 * docs/libs/gstreamer-libs-sections.txt:
16117 * gst/gsttaglist.c:
16118 * libs/gst/base/gstbasesink.c:
16119 * libs/gst/base/gstbasesink.h:
16120 * libs/gst/base/gstbasesrc.c:
16121 * libs/gst/base/gstbasesrc.h:
16122 Documentation updates. Make BaseSink and BaseSrc docs contain the
16123 class structure so that people can actually see the prototypes for
16124 virtual functions they're supposed to be overriding.
16126 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16128 * plugins/elements/gsttypefindelement.c:
16129 (gst_type_find_element_chain):
16130 More debug info; when skipping typefinding, send cached
16131 events in all cases.
16133 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16136 use new AS_VERSION and AS_NANO macros
16137 * gst/gst-i18n-lib.h:
16140 * gst/gstversion.h.in:
16141 * win32/common/config.h:
16142 * win32/common/config.h.in:
16145 2006-03-31 Michael Smith <msmith@fluendo.com>
16147 * plugins/elements/gsttypefindelement.c:
16148 (gst_type_find_element_chain):
16149 Do not typefind content if the buffers already have caps.
16150 Neccesary for icydemux (#333657), and the right thing to do anyway.
16152 2006-03-30 Wim Taymans <wim@fluendo.com>
16154 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16155 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16156 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16157 (gst_base_sink_record_qos_observation),
16158 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16159 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16160 (gst_base_sink_change_state):
16161 More QoS measurements as described in the design doc.
16162 Get rid of ringbuffer with observations, running average is
16163 more simple and equally good.
16164 Calculates valid proportion now.
16165 Added beginning of flood measurement.
16167 2006-03-29 Wim Taymans <wim@fluendo.com>
16169 * docs/design/part-qos.txt:
16171 Small documentation updates and additions.
16173 2006-03-29 Wim Taymans <wim@fluendo.com>
16175 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16176 (gst_base_src_send_event), (gst_base_src_loop),
16177 (gst_base_src_change_state):
16178 Perform the EOS logic when we reach the segment stop position.
16179 Fix compilation on gcc4.1
16181 2006-03-29 Wim Taymans <wim@fluendo.com>
16183 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16185 * plugins/elements/gstqueue.c: (gst_queue_init),
16186 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16187 (gst_queue_set_property):
16188 * plugins/elements/gstqueue.h:
16189 In queue, when EOS is received, if minimum threshold > max_size -
16190 current_level, there is chance that queue blocks forever in conditional
16191 item del wait. This is because the queue is not emptied completely due
16192 to minimum threshold. Here is another approach. Instead of setting
16193 cur_levels to max in EOS, just zero all minimum threshold levels. This
16194 should make sure that queue gives out all data. When going to READY
16195 (stop) state, just reset the original minimum threshold levels.
16198 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16200 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16201 (gst_type_find_element_handle_event),
16202 (gst_type_find_element_send_cached_events),
16203 (gst_type_find_element_change_state):
16204 * plugins/elements/gsttypefindelement.h:
16205 When typefinding is done in push mode, we should cache
16206 events we receive during typefinding instead of just
16207 dropping them (e.g. newsegment, custom events from
16208 dvdreadsrc etc.) and then send them out once we've
16209 determined the type of the stream (and decodebin
16210 has had a chance to plug in a decoder/demuxer).
16212 2006-03-27 Wim Taymans <wim@fluendo.com>
16214 * docs/design/part-qos.txt:
16217 2006-03-27 Wim Taymans <wim@fluendo.com>
16219 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16221 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16222 (gst_base_src_send_event), (gst_base_src_change_state):
16223 Handle element seek correctly when we are streaming.
16226 2006-03-24 Michael Smith <msmith@fluendo.com>
16228 * docs/faq/gst-uninstalled:
16229 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16230 allow you to correctly run intalled applications built against old
16231 core, using plugins that require updated core (e.g. running
16232 installed totem against a full uninstalled gstreamer stack)
16234 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16236 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16239 2006-03-24 Wim Taymans <wim@fluendo.com>
16241 * docs/gst/gstreamer-sections.txt:
16242 Rearrange the order of the methods so that related methods
16243 are grouped together in sections.
16245 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16247 * gst/gstelement.c:
16248 Little clarification in the docs
16250 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16254 * plugins/elements/gstidentity.c:
16255 * plugins/elements/gstqueue.c:
16256 * plugins/elements/gsttee.c:
16257 * plugins/elements/gsttypefindelement.c:
16258 GST_ELEMENT_DETAILS formatting
16260 2006-03-24 Wim Taymans <wim@fluendo.com>
16262 * libs/gst/base/gstbasesink.h:
16263 Only add fields, not insert or we break ABI.
16265 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16267 * win32/common/libgstbase.def:
16268 * win32/common/libgstreamer.def:
16269 Update, add recently added functions.
16271 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16273 * docs/gst/gstreamer-sections.txt:
16274 * gst/gstutils.c: (gst_pad_query_peer_position),
16275 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16277 API: add some new utility functions:
16278 - gst_pad_query_peer_position()
16279 - gst_pad_query_peer_duration()
16280 - gst_pad_query_peer_convert()
16282 2006-03-23 Wim Taymans <wim@fluendo.com>
16284 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16285 (gst_base_sink_init), (gst_base_sink_finalize),
16286 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16287 (gst_base_sink_set_property), (gst_base_sink_get_property),
16288 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16289 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16290 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16291 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16292 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16293 (gst_base_sink_preroll_object), (gst_base_sink_event),
16294 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16295 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16296 (gst_base_sink_query), (gst_base_sink_change_state):
16297 Decouple max-lateness and the fact that QoS messages are generated
16298 with a new property (qos).
16299 added API: GstBaseSink::async_play()
16300 Add vmethod so subclasses can be notified of ASYNC playing
16302 Collect timestamp start and stop to report better current
16303 position in EOS/PLAYING/PAUSED/READY/NULL.
16304 Refactor QoS/frame dropping and other measurements.
16305 API: GstBaseSrc::qos
16308 * libs/gst/base/gstbasesink.h:
16309 Added Private struct.
16310 API: gst_base_sink_set_qos_enabled()
16311 API: gst_base_sink_is_qos_enabled()
16313 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16315 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16316 If compiling against GLib-2.8 or newer, try to read the
16317 registry file using GMappedFile first before falling back
16318 to fopen() + fread() (#332151).
16320 2006-03-22 Wim Taymans <wim@fluendo.com>
16322 * gst/gstinfo.c: (gst_debug_set_active),
16323 (gst_debug_category_set_threshold):
16324 Disable debugging unless explicitly activated.
16327 2006-03-22 Wim Taymans <wim@fluendo.com>
16329 * gst/gstelement.c: (gst_element_set_locked_state),
16330 (gst_element_dispose):
16331 Cleanup the error case.
16333 * gst/gstobject.c: (gst_object_dispose):
16334 print a critical when some object was disposed with
16335 a parent, also revive the object since it might
16338 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16340 * tools/gst-launch.1.in:
16343 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16346 * tests/check/Makefile.am:
16347 disable some tests when we don't have a registry
16348 * tests/check/gst/gstutils.c: (gst_utils_suite):
16349 don't build the part that needs parsing
16351 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16354 * tests/examples/Makefile.am:
16355 fix --disable-parse build
16357 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16359 * tools/gst-feedback.1.in:
16360 Fix typo: s/feeback/feedback/ (#133494).
16362 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16364 * tools/Makefile.am:
16365 * tools/gst-launch.1.in:
16366 Add FILES section and correct entry about GST_REGISTRY_PATH
16367 environment variable (#133495; #133494).
16369 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16371 * tools/Makefile.am:
16372 * tools/gst-md5sum.1.in:
16373 * tools/gst-md5sum.c:
16374 Remove gst-md5sum and man page (the md5sink element
16375 required was removed ages ago)
16377 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16379 * gst/gststructure.c: (gst_structure_id_set_value):
16380 Make sure that string fields in structures/taglists
16381 contain valid UTF-8 - we don't want to pass rubbish to
16382 applications because of a buggy plugin (cp. #334167).
16384 2006-03-21 Edward Hervey <edward@fluendo.com>
16386 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16387 (gst_bin_handle_message_func):
16388 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16389 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16390 (gst_element_set_bus_func):
16391 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16392 * gst/gstminiobject.c: (gst_value_set_mini_object),
16393 (gst_value_take_mini_object):
16394 * gst/gstpad.c: (gst_pad_set_pad_template):
16395 * gst/gstpipeline.c: (gst_pipeline_dispose),
16396 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16397 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16398 (gst_collect_pads_chain):
16399 * libs/gst/net/gstnettimeprovider.c:
16400 (gst_net_time_provider_set_property):
16401 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16402 It's in fact all issues with gst_*object_replace().
16404 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16406 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16408 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16409 * pkgconfig/gstreamer-check.pc.in:
16410 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16412 2006-03-21 Edward Hervey <edward@fluendo.com>
16416 * gst/gstmessage.h:
16417 gst_[buffer|event|message]_ref() macros are replaced by a static
16418 inline functions because gcc-4.1 will about if the return value
16420 * tests/check/gst/gstevent.c: (event_probe):
16421 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16423 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16426 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16427 the type' case. (Closes: #335195 for now). In the future, when we
16428 depend on GLib 2.10, we could also intern the type name using
16429 g_intern_static_string()
16431 2006-03-20 Wim Taymans <wim@fluendo.com>
16433 * gst/gstbin.c: (gst_bin_handle_message_func),
16434 (bin_query_max_init), (bin_query_position_fold),
16435 (bin_query_position_done), (gst_bin_query):
16436 Position query should also take max of all streams.
16438 2006-03-20 Wim Taymans <wim@fluendo.com>
16440 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16441 (gst_fake_src_finalize):
16442 Fix leaks in fakesrc.
16444 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16445 Fix leaks in the testcase.
16447 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16449 * gst/gst_private.h:
16450 add win32 specific import decoration(__declspec(dllimport))
16451 for all extern GstDebugCategory * variables
16452 * win32/common/libgstbase.def:
16453 * win32/common/libgstcontroller.def:
16454 * win32/common/libgstreamer.def:
16455 Add some exports, remove empty lines
16456 * win32/common/libgstdataprotocol.def:
16457 * win32/common/libgstdataprotocol.dsp:
16458 * win32/common/libgstnet.def:
16459 * win32/common/libgstnet.dsp:
16460 new project files and exportation files added
16462 2006-03-19 Wim Taymans <wim@fluendo.com>
16464 * tests/check/libs/basesrc.c: (eos_event_counter):
16465 Use proper return value for probe.
16467 2006-03-17 Wim Taymans <wim@fluendo.com>
16469 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16471 Don't leak buffers, caps and pads on negotiation errors.
16473 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16475 * docs/faq/cvs.xml:
16476 * docs/faq/dependencies.xml:
16477 * docs/faq/developing.xml:
16478 * docs/faq/faq.xml:
16479 * docs/faq/general.xml:
16480 * docs/faq/getting.xml:
16481 * docs/faq/legal.xml:
16482 * docs/faq/troubleshooting.xml:
16483 * docs/faq/using.xml:
16484 Faq review and update.
16486 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16488 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16490 Don't pound the cpu to pieces by checking get_caps when accept_caps
16491 is called with the same caps as the pad already has.
16492 Use GST_DEBUG_OBJECT when outputting caps change information.
16494 2006-03-15 Wim Taymans <wim@fluendo.com>
16496 * gst/gstclock.c: (gst_clock_class_init):
16499 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16504 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16505 (gst_pad_accept_caps), (gst_pad_configure_sink),
16506 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16507 Make the default acceptcaps behaviour be to check the requested
16508 caps against the gst_pad_get_caps output.
16510 Ensure that gst_pad_accept_caps is used to check caps when a pad
16511 doesn't have a setcaps function, so that pads automatically refuse
16512 caps that they don't allow in their pad template. (Fixes #332986)
16514 When a buffer with attached caps is pushed, ensure that the source
16515 pad receives those caps even if the element didn't call
16516 gst_pad_set_caps first.
16518 2006-03-15 Wim Taymans <wim@fluendo.com>
16520 * libs/gst/base/gstadapter.c:
16523 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16525 * win32/common/libgstbase.def:
16526 * win32/common/libgstcontroller.def:
16527 * win32/common/libgstreamer.def:
16528 Add a whole bunch of missing functions (#334434).
16530 2006-03-14 Wim Taymans <wim@fluendo.com>
16532 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16533 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16534 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16535 Better debug info when we receive a segment event.
16536 Reorganize a bit so we can pass the get_times() results around.
16537 Use the segment format when calculating the running time.
16538 Don't do QoS is sync is disabled or we have no clock or the
16539 element does not want us to sync to the clock.
16540 Don't drop buffers if QoS is disabled for now.
16542 2006-03-14 Wim Taymans <wim@fluendo.com>
16544 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16545 Marked the stats property as unimplemented so people don't get
16547 Add debug message when regression goes wrong.
16548 Added some more docs.
16550 2006-03-14 Wim Taymans <wim@fluendo.com>
16552 * gst/gstsegment.c: (gst_segment_to_stream_time):
16553 Return correct return type in case of errors.
16555 2006-03-14 Wim Taymans <wim@fluendo.com>
16557 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16558 Don't segfault on invalid formats.
16560 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16562 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16563 Can't use gst_segment_to_running_time() when the segment
16564 is not in GST_TIME_FORMAT (like with filesink, for example).
16565 Stops flac encoding pipelines from spewing critical warnings
16568 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16570 * gst/gstpipeline.c: (gst_pipeline_class_init):
16571 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16573 * plugins/elements/gsttypefindelement.c:
16574 (gst_type_find_element_handle_event):
16575 Don't try to typefind empty streams.
16577 2006-03-14 Wim Taymans <wim@fluendo.com>
16579 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16580 (gst_base_sink_do_qos):
16581 Separate QoS calculation.
16582 Only drop buffers when lateness is bigger than the
16583 duration of the buffer.
16585 2006-03-13 Wim Taymans <wim@fluendo.com>
16587 * gst/gstpipeline.c: (gst_pipeline_set_property),
16588 (gst_pipeline_get_property), (do_pipeline_seek),
16589 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16590 (gst_pipeline_get_delay):
16591 Don't deadlock when reading properties.
16593 2006-03-13 Wim Taymans <wim@fluendo.com>
16595 * libs/gst/base/gstbasetransform.c:
16596 (gst_base_transform_class_init), (gst_base_transform_init),
16597 (gst_base_transform_sink_event),
16598 (gst_base_transform_sink_eventfunc),
16599 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16600 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16601 (gst_base_transform_set_property),
16602 (gst_base_transform_get_property),
16603 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16604 (gst_base_transform_set_qos_enabled),
16605 (gst_base_transform_is_qos_enabled):
16606 * libs/gst/base/gstbasetransform.h:
16607 Make basetransform virtual method for src events too.
16608 Handle QOS in basetransform.
16609 API: gst_base_transform_update_qos()
16610 API: gst_base_transform_set_qos_enabled()
16611 API: gst_base_transform_is_qos_enabled()
16613 2006-03-13 Wim Taymans <wim@fluendo.com>
16615 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16616 (gst_base_sink_do_sync):
16618 Use QOS debug category.
16620 2006-03-13 Wim Taymans <wim@fluendo.com>
16622 * plugins/elements/gstqueue.c:
16623 Very small doc update.
16625 2006-03-13 Wim Taymans <wim@fluendo.com>
16627 * gst/gst_private.h:
16628 * gst/gstinfo.c: (_gst_debug_init):
16629 Added QOS debug category
16631 2006-03-13 Wim Taymans <wim@fluendo.com>
16633 * docs/gst/gstreamer-sections.txt:
16634 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16636 * gst/gstbus.c: (gst_bus_class_init):
16639 * gst/gstelement.c: (gst_element_set_locked_state):
16640 * gst/gstsegment.c:
16641 Documentation updates.
16643 * gst/gstpipeline.c: (gst_pipeline_get_type),
16644 (gst_pipeline_class_init), (gst_pipeline_init),
16645 (gst_pipeline_dispose), (gst_pipeline_set_property),
16646 (gst_pipeline_get_property), (do_pipeline_seek),
16647 (gst_pipeline_send_event), (gst_pipeline_change_state),
16648 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16649 (gst_pipeline_get_delay):
16650 * gst/gstpipeline.h:
16651 Added methods for setting the delay.
16652 API: gst_pipeline_set_delay()
16653 API: gst_pipeline_get_delay()
16654 Add pipeline debug category
16657 Don't reset stream time when seek failed.
16659 2006-03-13 Wim Taymans <wim@fluendo.com>
16661 * docs/design/draft-klass.txt:
16662 * docs/design/part-clocks.txt:
16663 * docs/design/part-events.txt:
16664 * docs/design/part-gstbin.txt:
16665 * docs/design/part-gstpipeline.txt:
16666 * docs/design/part-messages.txt:
16667 * docs/design/part-negotiation.txt:
16668 * docs/design/part-overview.txt:
16669 * docs/design/part-preroll.txt:
16670 * docs/design/part-seeking.txt:
16671 * docs/design/part-states.txt:
16672 * docs/design/part-streams.txt:
16673 Documentation updates.
16675 2006-03-12 Julien MOUTTE <julien@moutte.net>
16677 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16678 us to leak strings...
16680 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16682 * libs/gst/net/gstnettimeprovider.c:
16684 * win32/common/config.h:
16687 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16689 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16692 Don't check for libgnomeui (leftover from old examples
16693 that aren't built or disted any longer) (#334303).
16695 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16697 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16698 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16699 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16700 there's no space left on the device.
16702 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16705 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16706 to cast the input to GstClockTime before comparing with
16707 another GstClockTime value.
16709 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16714 === release 0.10.4 ===
16716 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16719 releasing 0.10.4, "Light"
16721 2006-03-10 Michael Smith <msmith@fluendo.com>
16723 * libs/gst/dataprotocol/dataprotocol.c:
16724 Fix docs for dataprocotol to not get the return types completely
16725 wrong for a few functions.
16727 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16729 * docs/gst/gstreamer-sections.txt:
16730 * gst/gstpipeline.c: (gst_pipeline_class_init),
16731 (gst_pipeline_init), (gst_pipeline_set_property),
16732 (gst_pipeline_get_property), (gst_pipeline_change_state),
16733 (gst_pipeline_set_auto_flush_bus),
16734 (gst_pipeline_get_auto_flush_bus):
16735 * gst/gstpipeline.h:
16736 Add new API: gst_pipeline_set_auto_flush_bus() and
16737 gst_pipeline_get_auto_flush_bus() to disable automatic
16738 flushing of the pipeline's GstBus when going from READY
16739 to NULL state (#332045).
16741 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16743 * docs/gst/gstreamer-sections.txt:
16744 * gst/gsturi.c: (gst_uri_has_protocol):
16746 Add new API: gst_uri_has_protocol() (#333779).
16748 2006-03-09 Wim Taymans <wim@fluendo.com>
16750 * gst/gstclock.c: (gst_clock_entry_new),
16751 (gst_clock_id_compare_func), (gst_clock_id_wait),
16752 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16753 (gst_clock_init), (gst_clock_get_internal_time),
16754 (gst_clock_set_master), (do_linear_regression),
16755 (gst_clock_add_observation), (gst_clock_set_property):
16759 Fix a possible segfault when the window-size is made smaller.
16760 Calculate jitter before performing the clock wait. Ideally
16761 the clock implementation should calculate jitter but we need
16762 API breakage for that.
16764 * gst/gstsystemclock.c: (gst_system_clock_init):
16767 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16768 Remove leftover else
16770 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16771 (gst_systemclock_suite):
16772 Added check to test GST_CLOCK_DIFF.
16774 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16776 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16777 (gst_type_find_helper_get_range):
16778 If we are provided with the size, we should implement
16779 GstTypeFind::get_length, so that typefind functions who
16780 want to can actually peek at the middle of a file.
16782 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16784 * docs/manual/advanced-dataaccess.xml:
16785 Add some very very basic error checking.
16787 * docs/pwg/appendix-checklist.xml:
16788 Some updates to the list of things to check when writing an element.
16790 2006-03-08 Wim Taymans <wim@fluendo.com>
16792 * docs/design/part-element-transform.txt:
16793 Added some docs about the design of tranform elements.
16795 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16796 (gst_base_src_loop), (gst_base_src_change_state):
16797 Mark buffers with the DISCONT flag.
16799 2006-03-08 Michael Smith <msmith@fluendo.com>
16801 * gst/gstregistry.h:
16802 * gst/gstregistryxml.c: (gst_registry_save),
16803 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16804 (gst_registry_xml_save_pad_template),
16805 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16806 (gst_registry_xml_write_cache):
16807 Rewrite registry-saving to avoid race conditions and check for
16810 2006-03-08 Wim Taymans <wim@fluendo.com>
16812 * libs/gst/base/gstbasetransform.c:
16813 (gst_base_transform_transform_caps),
16814 (gst_base_transform_transform_size),
16815 (gst_base_transform_prepare_output_buffer),
16816 (gst_base_transform_get_unit_size),
16817 (gst_base_transform_buffer_alloc),
16818 (gst_base_transform_handle_buffer),
16819 (gst_base_transform_change_state):
16820 Cleanups, separate normal flow from errors, add sensible
16822 Don't try to renegotiate when allocating an output buffer.
16823 Also copy DISCONT buffer flag when copying a buffer.
16824 Reset the transform after we finish streaming, not during.
16826 2006-03-08 Wim Taymans <wim@fluendo.com>
16828 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16829 Use last buffer timestamp in qos message.
16831 2006-03-07 Wim Taymans <wim@fluendo.com>
16833 Patch by: Christophe Fergeau
16835 * docs/pwg/advanced-tagging.xml:
16836 * docs/pwg/building-pads.xml:
16839 2006-03-07 Wim Taymans <wim@fluendo.com>
16841 * docs/libs/gstreamer-libs-sections.txt:
16842 Added basesink new methods.
16846 Docs updates. Flesh out the QoS docs.
16848 * libs/gst/base/gstadapter.c:
16849 Small doc clarification about ownership and flushing.
16851 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16852 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16853 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16854 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16855 * libs/gst/base/gstbasesink.h:
16857 Added new methods to allow subclass to control max-lateness
16859 Generate very basic QoS events based on last sync observation.
16860 Updated docs, fix typo, added some QoS blurb.
16862 * libs/gst/base/gstbasesrc.c:
16863 Remove obsolete _get_state() calls from docs.
16865 2006-03-07 Wim Taymans <wim@fluendo.com>
16867 * docs/libs/gstreamer-libs-sections.txt:
16868 * libs/gst/base/gstbasetransform.h:
16869 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16870 Fix docs for GstBaseSrc.
16872 2006-03-07 Wim Taymans <wim@fluendo.com>
16874 * docs/gst/gstreamer-sections.txt:
16877 * libs/gst/base/gstbasetransform.h:
16878 Small documentation fixes.
16880 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16883 Document thread-unsafety of gst_value_register_foo_func()
16884 when used at the same time as gst_value_foo() (#322628).
16886 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16888 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16889 (gst_push_src_check_get_range):
16890 Push sources don't support pull mode by default.
16892 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16894 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16895 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16896 (gst_base_src_default_check_get_range):
16897 * libs/gst/base/gstbasesrc.h:
16898 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16899 provide default implementation, and rename
16900 gst_base_src_check_get_range() to
16901 gst_base_src_pad_check_get_range() for clarity.
16903 2006-03-06 Wim Taymans <wim@fluendo.com>
16905 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16906 Make property overridable.
16908 2006-03-06 Wim Taymans <wim@fluendo.com>
16910 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16911 (gst_base_sink_init), (gst_base_sink_set_property),
16912 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16913 * libs/gst/base/gstbasesink.h:
16914 API addition: Make max-lateness a property.
16916 2006-03-06 Wim Taymans <wim@fluendo.com>
16918 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16919 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16920 Don't ever draw a frame that is >10ms late.
16922 2006-03-06 Michael Smith <msmith@fluendo.com>
16924 * gst/gstmessage.c: (_gst_message_copy):
16925 When copying a message, set the parent_refcount of the enclosed
16926 structure to point at the copy, not the original message.
16928 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16930 Patch by: Christophe Fergeau
16933 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16934 usable in c++ code (#333417)
16936 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16939 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16941 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16943 * libs/gst/base/gstbasetransform.c:
16944 (gst_base_transform_transform_caps):
16945 Make sure caps are writable before passing them to
16948 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16951 Fix some minor docs errors.
16953 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16955 Patch by: Ross Burton <ross at burtonini dot com>
16957 * gst/gsterror.c: (_gst_resource_errors_init):
16959 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16961 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16964 Add a check and output a g_warning when GStreamer is built
16965 against GLib 2.6 but running against 2.8 or higher, and vice
16966 versa. (Closes: #323542)
16968 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16970 * gst/parse/parse.l:
16971 Commit patch for parse_launch syntax from #331255. Removes
16972 support for quoted strings and mimetypes when writing filtered
16973 caps. See the bug report for more details - I'm pretty sure this
16974 obscure feature is not in use by _anyone_ anywhere.
16976 With this simple change, the size of the gstreamer.so here
16977 drops from 2193KB to 1565KB.
16979 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16981 * plugins/elements/gsttypefindelement.h:
16982 * plugins/elements/gsttypefindelement.c:
16983 (gst_type_find_element_src_event), (start_typefinding),
16984 (stop_typefinding), (gst_type_find_element_handle_event),
16985 (gst_type_find_element_chain),
16986 (gst_type_find_element_chain_do_typefinding):
16987 Use gst_type_find_helper_for_buffer() for chain-based
16990 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16992 * plugins/elements/gsttypefindelement.c:
16993 (gst_type_find_element_class_init),
16994 (gst_type_find_element_set_property),
16995 (gst_type_find_element_get_property):
16996 Deprecate "maximum" property (not only was it only taken into
16997 account for typefinding in push-mode anyway, it also was never
16998 actually possible to set it in the first place because the
16999 property was registered with the numeric property ID for the
17000 "minimum" property). Register "maximum" property correctly,
17001 for the sake of future copy'n'pasters. Remove some cruft
17002 from property get/set functions.
17004 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
17006 * plugins/elements/gsttypefindelement.c:
17007 (gst_type_find_element_activate):
17008 Use gst_type_find_helper_get_range() here, so we
17009 can honour the "minimum" property and also emit
17010 the signal with the correct probability of the found caps.
17012 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
17014 * docs/libs/gstreamer-libs-sections.txt:
17015 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17016 (helper_find_suggest), (gst_type_find_helper_get_range),
17017 (gst_type_find_helper):
17018 * libs/gst/base/gsttypefindhelper.h:
17019 New API: gst_type_find_helper_get_range() (#333042).
17021 2006-03-02 Michael Smith <msmith@fluendo.com>
17023 * gst/gstregistryxml.c: (load_feature):
17024 Asserting on a failure to read part of the registry is Not Cool.
17025 Just log a warning and return NULL (which is already handled)
17027 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
17029 * win32/common/libgstbase.def:
17030 added export of gst_type_find_helper_for_buffer
17031 * win32/common/libgstbase.def:
17032 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17033 gst_ghost_pad_get_target
17035 2006-02-28 Wim Taymans <wim@fluendo.com>
17037 * docs/design/draft-klass.txt:
17039 Added Connector to mark elements that are only used to
17040 allow pipeline connections.
17041 Moved Debug to extra feature since most of them are
17042 functionally something else.
17044 2006-02-28 Wim Taymans <wim@fluendo.com>
17046 * docs/design/draft-klass.txt:
17047 Some updates and clarifications.
17049 2006-02-28 Wim Taymans <wim@fluendo.com>
17051 * docs/design/draft-klass.txt:
17052 Proposal for klass field values.
17054 * docs/design/part-streams.txt:
17055 Start of a doc describing stream anatomy.
17057 2006-02-28 Wim Taymans <wim@fluendo.com>
17059 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17060 Help the compiler a bit with type registration.
17061 Use existing forward cod path instead of duplicating it when
17062 handling a message.
17064 * gst/gstbus.c: (gst_bus_get_type):
17065 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17066 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17067 * gst/gstclock.c: (gst_clock_get_type):
17068 * gst/gstelement.c: (gst_element_get_type),
17069 * gst/gstelementfactory.c: (gst_element_factory_get_type):
17070 * gst/gstindexfactory.c: (gst_index_factory_get_type):
17071 * gst/gstminiobject.c: (gst_mini_object_get_type):
17072 * gst/gstpad.c: (gst_pad_get_type):
17073 * gst/gstsegment.c: (gst_segment_get_type):
17074 * gst/gststructure.c: (gst_structure_get_type):
17075 * gst/gstsystemclock.c: (gst_system_clock_get_type):
17076 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17078 Help compiler with type registration.
17080 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17083 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17085 * plugins/elements/gsttypefindelement.c:
17086 (gst_type_find_element_handle_event):
17087 When we get an EOS event and have not found a type yet
17088 (most likely because we had not yet accumulated
17089 TYPE_FIND_MIN_SIZE of data yet), try to determine the
17090 type given the data we have so far. Fixes typefinding
17091 for very short streams again, most notably quicktime
17092 redirections as used on Apple's trailer site (#331701).
17094 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17096 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17097 (gst_type_find_helper):
17098 Try typefinding factories with the highest rank first.
17100 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17102 * docs/libs/gstreamer-libs-docs.sgml:
17103 * docs/libs/gstreamer-libs-sections.txt:
17104 * libs/gst/base/gsttypefindhelper.c:
17105 Add section for typefind helper and add documentation
17106 for the old and the new function.
17108 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17110 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17111 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17112 (gst_type_find_helper_for_buffer):
17113 * libs/gst/base/gsttypefindhelper.h:
17114 New API: gst_type_find_helper_for_buffer() (#332723).
17116 2006-02-27 Michael Smith <msmith@fluendo.com>
17118 Patch by: Loïc Minier
17121 * docs/Makefile.am:
17122 * docs/slides/Makefile.am:
17123 prevent CVS directories getting disted.
17125 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17127 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17128 Use the REFCOUNTING category for caps refcounting.
17130 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17132 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17133 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17135 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17137 * plugins/elements/gsttypefindelement.c:
17138 (gst_type_find_element_activate):
17139 Use gst_pad_check_pull_range() before _activate_pull()
17140 to avoid unnecessary open/close (see #331690).
17142 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17145 Docs enhancement: make it crystal clear what the
17146 gst_pad_add_*_probe() callbacks should look like.
17148 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17150 * libs/gst/base/gstbasesrc.c:
17151 Document how applications can stop recording from
17152 live sources (see #330996).
17154 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17156 * tests/check/Makefile.am:
17157 * tests/check/libs/basesrc.c: (eos_event_counter),
17158 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17159 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17160 (gst_basesrc_suite), (main):
17161 ... and add some tests for the base source EOS stuff.
17163 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17165 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17166 Test case originally showed the problem fixed below,
17167 but was then amended. Add checks back at the place
17168 where they used to be.
17170 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17172 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17173 (gst_base_src_init), (gst_base_src_loop),
17174 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17175 (gst_base_src_change_state):
17176 * libs/gst/base/gstbasesrc.h:
17177 Don't unconditionally send EOS when going from PAUSED to
17178 READY state, esp. make sure we don't send two EOS events
17179 in some cases (e.g. one when reaching EOS and one when
17180 going from PAUSED to READY). Also, we don't want to send
17181 EOS events when operating in pull mode. However, we do
17182 want to send an EOS event when shutting down a live
17183 source explicitly, for example (fixes #330996).
17185 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17187 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17188 Update src->read_position after a seek when not using mmap.
17189 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17191 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17197 Make things work with --disable-parse as they do with
17198 --disable-load-save - the symbols involved disappear, but the
17199 header is still installed and GST_DISABLE_PARSE is included via
17202 2006-02-20 Julien MOUTTE <julien@moutte.net>
17204 * libs/gst/base/gstbasetransform.c:
17205 (gst_base_transform_change_state): Fix a stupid bug. I was
17206 sure I compiled that.
17208 2006-02-20 Julien MOUTTE <julien@moutte.net>
17210 * gst/gstpad.c: (gst_pad_set_blocked_async):
17211 * gst/gstutils.c: (gst_pad_add_data_probe),
17212 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17213 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17214 (gst_pad_remove_buffer_probe): Make those function act on the
17215 ghostpad target when it's a ghostpad. (Closes #331727)
17217 2006-02-20 Julien MOUTTE <julien@moutte.net>
17219 * libs/gst/base/gstbasetransform.c:
17220 (gst_base_transform_change_state): Make basetransform reusable.
17223 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17225 * docs/random/release:
17226 Move the current documentation of how to do a release to the top
17229 * gst/gstbin.c: (gst_bin_class_init),
17230 (gst_bin_handle_message_func):
17231 Allow multiple state-recalculation threads. (Closes #328873)
17233 2006-02-19 Julien MOUTTE <julien@moutte.net>
17235 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17236 * gst/gstpad.c: (gst_pad_set_event_function),
17237 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17238 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17239 2 strings. You can't use the STR_NULL macro on that.
17241 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17243 * gst/gstpad.c: (gst_pad_set_event_function),
17244 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17245 (gst_pad_set_getcaps_function)
17246 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17247 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17248 So now, we can use --gst-debug-level=5 on Windows
17249 * win32/common/libgstcontroller.def:
17250 Added export of gst_controller_init
17251 * win32/vs6/libgstcontroller.dsp:
17252 Fixed Release post build configuration
17254 2006-02-17 Wim Taymans <wim@fluendo.com>
17256 * tests/check/gst/gstquery.c: (GST_START_TEST):
17257 Added another check.
17259 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17261 * plugins/elements/gsttypefindelement.c: (find_peek):
17262 We can do peeks at non-zero offsets, as long as they
17263 fall within the buffer we have.
17265 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17267 * tests/check/Makefile.am:
17268 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17269 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17270 (parse_suite), (main):
17271 Add testsuite for parse launch syntax
17273 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17275 * plugins/elements/gsttypefindelement.c:
17276 (gst_type_find_element_chain):
17277 When typefinding is unsuccessful in the chain function, don't
17278 error out immediately. Only error out with NO_CAPS_FOUND if
17279 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17280 otherwise simply wait for more data so we can try typefinding
17281 again with more data later. Also, don't attempt to typefind
17282 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17283 this should improve typefinding from network sources where the
17284 size of the first buffer can be somewhat random.
17286 2006-02-14 Wim Taymans <wim@fluendo.com>
17288 * docs/gst/gstreamer-sections.txt:
17289 * gst/gstpadtemplate.c:
17290 * gst/gstpadtemplate.h:
17291 Fix padtemplate docs, fixes #328805.
17293 2006-02-14 Wim Taymans <wim@fluendo.com>
17295 * tools/gst-launch.c: (main):
17296 NO_PREROLL is not an ERROR so don't send confusing messages
17299 2006-02-14 Wim Taymans <wim@fluendo.com>
17301 Patch by: Torsten Schoenfeld
17303 * gst/gstregistry.c: (gst_registry_get_default),
17304 (_gst_registry_cleanup):
17305 Protect default registry with lock and ref/sink it.
17308 2006-02-14 Wim Taymans <wim@fluendo.com>
17311 * gst/gstquery.c: (gst_query_list_add_format),
17312 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17313 (gst_query_parse_formats_nth):
17314 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17317 2006-02-14 Wim Taymans <wim@fluendo.com>
17319 * docs/gst/gstreamer-sections.txt:
17320 Reworked query docs.
17322 * gst/gstquery.c: (gst_query_new_formats),
17323 (gst_query_list_add_format), (gst_query_set_formats),
17324 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17325 (gst_query_parse_formats_nth):
17327 Flesh out formats query, added some new methods.
17328 Fix part of #324398.
17330 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17331 Added query creation tests.
17333 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17335 * gst/gstpad.c: (fixate_value):
17336 Add a default fixation for fraction lists.
17338 2006-02-13 Wim Taymans <wim@fluendo.com>
17340 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17341 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17344 Detect and warn for obvious deadlocks. fixes #320340
17345 Fix error case where lock was not released.
17347 * tests/check/Makefile.am:
17348 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17349 (task_func), (gst_element_suite), (main):
17352 2006-02-13 Wim Taymans <wim@fluendo.com>
17354 * docs/gst/gstreamer-sections.txt:
17356 Add new functions to docs.
17358 2006-02-13 Wim Taymans <wim@fluendo.com>
17360 * docs/design/part-TODO.txt:
17361 Updated TODO list, basesrc supports seeking to non-bytes
17364 * docs/design/part-element-sink.txt:
17367 * gst/gstbin.c: (bin_replace_message),
17368 (gst_bin_handle_message_func):
17369 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17370 * gst/gstevent.c: (gst_event_finalize):
17371 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17372 (gst_pad_send_event):
17373 Use shiny new _TYPE_NAME macros.
17375 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17376 Move debug statement up.
17378 * gst/gstelement.c: (gst_element_set_locked_state):
17379 Add some debugging.
17381 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17383 * docs/gst/gstreamer-sections.txt:
17384 * gst/gstmessage.h:
17386 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17387 macros (#330906). Also, document the already existing
17388 GST_QUERY_TYPE macro.
17390 2006-02-13 Wim Taymans <wim@fluendo.com>
17392 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17393 (event_probe), (GST_START_TEST):
17394 Only events up to the pipeline EOS are counted, there are
17395 some more when going to NULL currently which we don't care
17398 2006-02-13 Wim Taymans <wim@fluendo.com>
17400 * gst/gstpad.c: (gst_pad_send_event):
17401 Correctly check flushing and emit probes. fixes #330125
17403 2006-02-10 Andy Wingo <wingo@pobox.com>
17405 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17407 (gst_bus_init): Cache the location of the private data in the
17408 instance structure.
17409 (gst_bus_enable_sync_message_emission)
17410 (gst_bus_disable_sync_message_emission): Implement new public
17412 (gst_bus_post): Emit the sync-message signal if the user asked for
17415 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17416 location of the bus-private structure.
17417 (gst_bus_enable_sync_message_emission)
17418 (gst_bus_disable_sync_message_emission): API addition
17420 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17422 Patch by: Vincent Torri
17424 * docs/pwg/building-boiler.xml:
17425 PWG patch from #326800
17427 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17430 * docs/Makefile.am:
17431 * docs/design/Makefile.am:
17434 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17439 === release 0.10.3 ===
17441 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17444 releasing 0.10.3, "Like a virgin"
17446 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17449 2nd prerelease of 0.10.3
17450 Bump libtool versioning.
17452 2006-02-07 Andy Wingo <wingo@pobox.com>
17454 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17455 update last_stop if we're in TIME format and the timestamp is
17458 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17459 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17460 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17461 If we get a new newsegment with a different format, adapt
17464 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17465 of 0. Not a problem, really.
17467 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17470 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17475 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17478 project files updated to the default vs7 configuration
17479 * win32/common/libgstbase.def:
17480 * win32/common/libgstreamer.def:
17482 removed empty lines,
17483 sorted all exported symbols alphabetically
17484 * win32/common/dirent.c:
17485 * win32/common/dirent.h:
17486 * win32/common/gchar.h:
17487 use windows line end.
17489 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17491 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17492 Send EOS event when stopping.
17494 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17497 Tell folks what to do if the plugin-foobar.xml file
17498 hasn't been generated for a newly-added plugin.
17500 2006-02-05 Julien MOUTTE <julien@moutte.net>
17502 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17503 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17504 (gst_collect_pads_start), (gst_collect_pads_stop),
17505 (gst_collect_pads_event): Collectpads now holds a reference
17506 to the GstPad that was added. Indeed we don't want to look
17507 at pads that might just go away with no warning...
17509 2006-02-05 Julien MOUTTE <julien@moutte.net>
17511 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17512 (gst_collect_pads_start), (gst_collect_pads_stop),
17513 (gst_collect_pads_event), (gst_collect_pads_chain):
17514 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17515 Mark Nauwelaerts's patch on bug #328491.
17517 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17519 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17521 Add some simple tests for gst_parse_bin_from_description() and
17522 gst_bin_find_unconnected_pad() (#329069).
17524 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17526 * tools/gst-launch.c: (event_loop), (main):
17527 Catch errors during preroll (#320084).
17529 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17531 * plugins/elements/gsttypefindelement.c:
17532 (gst_type_find_element_activate):
17533 Post TYPE_NOT_FOUND error message when typefinding
17534 is unsuccessful in the activate function as well.
17536 2006-02-02 Wim Taymans <wim@fluendo.com>
17538 * docs/design/part-element-sink.txt:
17541 2006-02-02 Wim Taymans <wim@fluendo.com>
17543 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17544 (gst_base_sink_render_object),
17545 (gst_base_sink_queue_object_unlocked):
17546 Only keep track of prerollable items when we are
17548 Before rendering after preroll, always check if we
17550 Added some more debugging.
17552 2006-02-02 Wim Taymans <wim@fluendo.com>
17554 * gst/gstelement.c: (gst_element_continue_state),
17555 (gst_element_set_state_func), (gst_element_change_state):
17556 Fixed #326576, been running this for quite some time with
17557 no regressions at all.
17559 2006-02-02 Wim Taymans <wim@fluendo.com>
17562 Added more suppressions
17564 2006-02-02 Wim Taymans <wim@fluendo.com>
17566 * docs/design/part-element-sink.txt:
17569 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17570 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17571 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17572 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17573 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17574 (gst_base_sink_preroll_object),
17575 (gst_base_sink_queue_object_unlocked),
17576 (gst_base_sink_queue_object), (gst_base_sink_event),
17577 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17578 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17579 (gst_base_sink_get_position), (gst_base_sink_change_state):
17580 * libs/gst/base/gstbasesink.h:
17581 Totally refactored matching the design doc.
17582 Use two segments, one to clip incomming buffers and another to
17584 Handle queueing correctly, bypass the queue when playing.
17585 Make EOS cancelable.
17586 Handle errors correctly when operating in pull based mode.
17588 * tests/check/elements/fakesink.c: (GST_START_TEST),
17590 Added new check for sinks.
17592 2006-02-02 Wim Taymans <wim@fluendo.com>
17594 * gst/gstsegment.c: (gst_segment_clip):
17595 No reason to refuse to clip when start == -1
17597 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17600 * docs/manual/intro-basics.xml:
17601 * docs/manual/intro-preface.xml:
17602 * docs/manual/manual.xml:
17603 * docs/pwg/advanced-dparams.xml:
17604 * docs/pwg/intro-basics.xml:
17605 * docs/pwg/intro-preface.xml:
17606 * docs/pwg/pwg.xml:
17607 describe dparams (controller) for plugins
17608 unify docs a little more
17610 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17612 * docs/gst/gstreamer-sections.txt:
17613 * gst/gstutils.c: (element_find_unconnected_pad),
17614 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17616 Add new API: gst_parse_bin_from_description() and
17617 gst_bin_find_unconnected_pad() (#329069).
17619 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17621 * docs/manual/README:
17622 uncover a nasty detail of the docs build
17624 2006-01-31 Wim Taymans <wim@fluendo.com>
17626 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17627 Don't cache duration messages if we're not going to use or
17630 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17632 * docs/manual/advanced-dparams.xml:
17633 * docs/pwg/advanced-dparams.xml:
17637 * libs/gst/controller/lib.c: (gst_controller_init):
17640 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17642 * gst/gstelement.c: (gst_element_message_full):
17643 also show file/line/func if no additional debug was given
17645 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17647 * win32/vs7/grammar.vcproj:
17648 activate copy of autogenerated files for Release mode
17650 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17652 * win32/common/libgstreamer.def:
17653 export gst_value_compare
17655 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17657 * plugins/elements/Makefile.am:
17658 * plugins/elements/gstelements.c:
17659 * plugins/elements/gstfdsink.c: (_do_init),
17660 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17661 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17662 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17663 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17664 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17665 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17666 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17667 * plugins/elements/gstfdsink.h:
17668 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17670 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17672 * docs/manual/advanced-dparams.xml:
17673 describe controller
17674 * docs/manual/advanced-position.xml:
17675 * docs/manual/basics-init.xml:
17676 * docs/manual/manual.xml:
17677 * docs/manual/titlepage.xml:
17678 * docs/pwg/pwg.xml:
17679 * docs/pwg/titlepage.xml:
17680 cleanup xml (more to come)
17681 * libs/gst/controller/gstcontroller.c:
17684 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17686 * win32/vs6/grammar.dsp:
17687 add autogen of gstmarshal.c,h for Release mode
17689 2006-01-30 Wim Taymans <wim@fluendo.com>
17691 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17692 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17693 (gst_base_sink_handle_object), (gst_base_sink_event),
17694 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17695 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17696 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17697 (gst_base_sink_deactivate), (gst_base_sink_activate),
17698 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17699 (gst_base_sink_query), (gst_base_sink_change_state):
17700 Basesink cleanups, remove some old code.
17701 Handle the case where a subclass can preroll in the render
17702 method (mostly audiosinks).
17703 Handle more events.
17704 Remove some locks around variables that are now protected
17705 with the PREROLL_LOCK (clock_id, flushing, ..).
17706 Optimize position query some more, do correct locking.
17707 Remove old code to push queue in state change, this is not
17708 needed anymore since preroll blocks on all prerollable items
17710 Almost implemented as described in design doc.
17712 2006-01-30 Wim Taymans <wim@fluendo.com>
17714 * tests/check/gst/gstbin.c: (GST_START_TEST):
17715 Wait for refcount to settle down before checking.
17717 2006-01-30 Wim Taymans <wim@fluendo.com>
17719 * docs/design/part-element-sink.txt:
17720 Pseudo code overview of desired sink behaviour regarding
17723 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17724 * win32/vs6/grammar.dsp:
17725 fix some bugs in Release mode for autogenerated files
17727 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17728 * win32/common/libgstbase.def:
17729 * win32/common/libgstreamer.def:
17730 export some new symbols: gst_base_src_set_format,
17731 gst_iterator_next, gst_structure_set_valist
17733 2006-01-29 Julien MOUTTE <julien@moutte.net>
17735 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17736 Set pad functions unconditionally. Fixes #329105.
17738 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17740 add vs8 project files created by Sergey Scobich
17742 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17744 * gst/gstutils.c: (gst_element_unlink_pads):
17745 Don't leak pad references.
17747 * tests/check/elements/fakesink.c: (GST_START_TEST):
17748 * tests/check/generic/sinks.c: (GST_START_TEST):
17749 * tests/check/generic/states.c: (GST_START_TEST):
17750 * tests/check/gst/gstbin.c: (GST_START_TEST):
17751 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17752 * tests/check/gst/gstelement.c: (GST_START_TEST):
17753 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17754 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17755 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17756 Fix a bunch of leaks. Make generic/sinks.c
17757 use a bit less cpu by slowing the buffer rate
17758 between fakesrc and fakesink.
17760 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17762 * gst/gstelement.c: (gst_element_send_event):
17765 * gst/gstiterator.c:
17766 * gst/gstiterator.h:
17767 * gst/gstpad.c: (gst_pad_send_event):
17768 * gst/gststructure.c:
17772 * libs/gst/base/gstadapter.c:
17773 doc fixes, to link to function, just write gst_cool_function(), don't
17776 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17778 * plugins/elements/gsttee.c: (gst_tee_do_push),
17779 (gst_tee_handle_buffer):
17780 Always prefer an actual return value from a src
17781 pad in place of NOT_LINKED. This means we return
17782 WRONG_STATE when all src pads are WRONG_STATE
17783 instead of NOT_LINKED.
17785 Lock when replacing the last message to prevent
17786 racing with the get_property method.
17790 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17792 * tests/check/Makefile.am:
17793 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17795 Add a very simple check that should have caught the memleak I fixed
17796 last night (if not for the slice allocator hiding it)
17798 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17800 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17801 (gst_bin_remove_func), (gst_bin_handle_message_func),
17802 (bin_query_duration_fold), (bin_query_generic_fold):
17803 Clean up references to the clock provider when disposed or when
17804 handling a clock-lost message from it.
17806 Unref sinks when performing a query via gst_iterator_fold, as the
17807 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17809 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17810 (gst_clock_set_master):
17811 Drop our reference to the master clock, if any, when we are disposed.
17813 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17814 Chain up in dispose.
17816 2006-01-26 Wim Taymans <wim@fluendo.com>
17818 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17819 Add some debugging.
17821 2006-01-26 Julien MOUTTE <julien@moutte.net>
17823 * plugins/elements/gsttee.c: (gst_tee_do_push),
17824 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17825 handles pad being NOT_LINKED or in WRONG_STATE.
17827 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17832 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17835 remove obsolete entry
17837 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17839 * docs/gst/gstreamer-sections.txt:
17840 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17841 (gst_bin_iterate_sources), (gst_bin_send_event):
17843 * gst/gstelement.c: (gst_element_send_event):
17845 * gst/gstpad.c: (gst_pad_send_event):
17846 added code for downstream events, reviewed docs in gstevent.c
17848 2006-01-25 Julien MOUTTE <julien@moutte.net>
17850 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17851 We only query position using the clock in the playing state.
17852 Query peer in the other cases.
17853 * win32/common/config.h: Updates.
17855 2006-01-24 Wim Taymans <wim@fluendo.com>
17857 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17858 A clock entry that is scheduled for the exact time of the
17859 clock is still in time.
17861 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17862 (gst_base_sink_do_sync):
17863 Add some more debug info.
17865 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17868 Add new vs7 project files and solution.
17870 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17873 all files removed as they were out-dated.
17875 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17877 * docs/random/release:
17879 * gst/gstbin.c: (gst_bin_init):
17880 * gst/gstbus.c: (gst_bus_new):
17882 * gst/gstpipeline.c: (gst_pipeline_init):
17883 use gst_bus_new(), improve logging, fix docs
17884 * win32/common/config.h:
17885 update for cvs build
17887 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17890 up required version of automake to 1.7
17892 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17894 * win32/common/libgstreamer.def:
17895 export gst_buffer_is_metadata_writable
17897 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17899 * docs/gst/gstreamer-sections.txt:
17901 Add gst_event_replace() (#327001)
17903 2006-01-20 Wim Taymans <wim@fluendo.com>
17905 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17906 Make it actually compile too..
17908 2006-01-20 Wim Taymans <wim@fluendo.com>
17911 Clarify behaviour of _is_equal() when passing NULL parameters.
17913 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17914 (gst_pad_set_caps):
17915 Cleanups. Don't unref NULL caps.
17916 When setting the same caps, protect caps of the pad with
17918 Use full functionality of _is_equal() when comparing caps.
17920 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17922 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17923 Don't loop infinitely if there are no buffers to present. Partially
17924 fixes #327197, but collectpads is just broken for reusing elements
17925 to do multiple encodes atm.
17927 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17929 * tools/gst-inspect.c: (print_element_features):
17930 * tools/gst-xmlinspect.c: (main):
17931 URL_HANDLER is not a plugin feature we can search for in
17934 2006-01-19 Edward Hervey <edward@fluendo.com>
17936 * gst/gstelement.c: (gst_element_pads_activate):
17937 When activating, do src pads first, then sink pads.
17938 When de-activating, do sink pads first, then src pads.
17940 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17942 * docs/gst/gstreamer-sections.txt:
17943 Add gst_index_add_associationv to the docs
17945 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17950 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17951 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17952 Do some refactoring. Doesn't actually change functionality,
17953 but makes landing the DRAIN event easier later.
17955 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17957 * docs/pwg/advanced-scheduling.xml:
17958 Update from 0.9.x to 0.10 API and make example a bit
17961 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17963 * docs/gst/gstreamer-sections.txt:
17964 Add gst_buffer_(is|make)_metadata_writable methods.
17966 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17968 * docs/design/part-sparsestreams.txt:
17969 Update sparse streams doc, hopefully for greater clarity
17971 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17973 * docs/design/part-events.txt:
17974 Remove mention of FILLER events.
17977 * docs/design/part-sparsestreams.txt:
17978 Write some things about using NEWSEGMENT to keep sparse streams
17981 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17983 * gst/gstbin.c: (gst_bin_dispose):
17984 Guard gst_object_unref call against a NULL object (dispose
17985 can theoretically be called multiple times).
17987 2006-01-18 Wim Taymans <wim@fluendo.com>
17989 * gst/gstbin.c: (gst_bin_element_set_state):
17990 * gst/gstclock.c: (gst_clock_id_wait):
17991 Added some more debug info.
17993 * libs/gst/base/gstadapter.c:
17996 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17997 (gst_base_sink_do_sync), (gst_base_sink_chain):
17998 Added some comments.
18000 2006-01-18 Wim Taymans <wim@fluendo.com>
18002 * tests/check/Makefile.am:
18003 * tests/check/elements/fakesink.c: (chain_async_buffer),
18004 (chain_async), (chain_async_return), (GST_START_TEST),
18005 (fakesink_suite), (main):
18006 Added fakesink test that checks prerolling and clipping
18009 * tests/check/gst/gstutils.c: (GST_START_TEST):
18010 Make check run faster so that buildbots don't timeout.
18012 2006-01-18 Wim Taymans <wim@fluendo.com>
18014 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18015 (gst_base_sink_do_sync):
18017 When the sink finishes blocking on the preroll buffer, it can
18018 immediatly render it instead of rendering when the next buffer
18021 2006-01-18 Wim Taymans <wim@fluendo.com>
18023 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18024 (gst_base_sink_get_property), (gst_base_sink_do_sync),
18025 (gst_base_sink_chain):
18027 GST_ELEMENT_CLOCK and sync are protected with LOCK.
18028 Don't store _last_stop if the buffer is dropped.
18030 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
18032 * plugins/elements/gsttypefindelement.c:
18033 (gst_type_find_element_class_init):
18034 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18035 object method handler that sets the caps on the pad and we want
18036 that to happen before we emit the signal (fixes e.g. feeding a
18037 plain text file to decodebin).
18039 2006-01-18 Christian Schaller <Christian@fluendo.com>
18041 * gst/gstplugin.c: Add MPL and Proprietary as license options
18043 2006-01-18 Andy Wingo <wingo@pobox.com>
18045 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18046 symbol was exported before, it appears this was just an oversight.
18048 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18050 * gst/gstindex.c (gst_index_add_associationv): Changed int in
18051 prototype to gint. OK since this prototype was not in the header.
18053 2006-01-17 Andy Wingo <wingo@pobox.com>
18055 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18056 registry while we remove plugins.
18058 * tools/gst-inspect.c (print_element_info): Don't unref the
18059 factory arg, that should be the responsibility of whatever code
18060 received the ref. Fixes a double-free when called from
18061 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18062 (main): Unref the factory if we have one.
18063 (print_element_list): No change -- relies on the
18064 plugin_feature_list_free to free the list of features.
18066 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
18068 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18069 (gst_buffer_make_metadata_writable):
18071 * libs/gst/base/gstbasetransform.c:
18072 (gst_base_transform_prepare_output_buf):
18073 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18074 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18075 Replace gst_buffer_(make|is)_metadata_writable patch now
18076 that the release is out.
18078 2006-01-17 Andy Wingo <wingo@pobox.com>
18080 * gst/gstregistry.c: Reflow design comment. Update so as to speak
18081 in the present tense without reference to versions.
18083 * gst/gstregistry.c (gst_registry_add_plugin)
18084 (gst_registry_remove_plugin, gst_registry_remove_feature)
18085 (gst_registry_find_feature, gst_registry_get_feature_list)
18086 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18087 (gst_registry_lookup, gst_registry_scan_path)
18088 (_gst_registry_remove_cache_plugins)
18089 (gst_registry_get_feature_list_by_plugin): Add argument
18092 === release 0.10.2 ===
18094 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
18097 releasing 0.10.2, "If man is five"
18099 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18103 * libs/gst/base/gstbasetransform.c:
18104 (gst_base_transform_prepare_output_buf):
18105 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18106 * tests/check/gst/gstbuffer.c: (gst_test_suite):
18107 Back out patch until after the release.
18109 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18111 * gst/gstminiobject.c:
18112 Spelling fix in docs.
18113 * ChangeLog - remove conflict indicator
18115 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18117 Reviewed By: Andy Wingo
18119 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18120 (gst_buffer_make_metadata_writable):
18122 Add gst_buffer_(is|make)_metadata_writable as analogues of
18123 gst_buffer_(is|make)_writable.
18125 * libs/gst/base/gstbasetransform.c:
18126 (gst_base_transform_prepare_output_buf):
18127 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18128 Use name gst_buffer_(is|make)_metadata_writable functions.
18130 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18131 Test gst_buffer_(is|make)_metadata_writable
18135 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18137 * docs/manual/Makefile.am:
18138 don't do parallel make
18141 * win32/common/config.h.in:
18142 add generations for HOST_CPU and GST_MAJORMINOR
18143 * win32/common/config.h:
18144 commit generated result
18146 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18148 * docs/manual/appendix-integration.xml:
18149 Update GNOME integration section to use gst_init_get_option_group()
18150 instead of the old popt stuff (#322911). Also, GNOME applications
18151 should now use gconf*sink and gconf*src instead of the old gconf
18154 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18157 * docs/gst/gstreamer-docs.sgml:
18158 * docs/gst/gstreamer-sections.txt:
18159 * docs/libs/gstreamer-libs-sections.txt:
18160 add new API entries to the docs
18161 * libs/gst/controller/Makefile.am:
18162 * libs/gst/controller/gstcontroller.c:
18163 * libs/gst/controller/gstcontroller.h:
18164 * libs/gst/controller/gstcontrollerprivate.h:
18165 * libs/gst/controller/gsthelper.c:
18166 * libs/gst/controller/gstinterpolation.c:
18167 move private structs to private header
18169 gstreamer-0.7 -> gstreamer-0.10
18170 * tests/check/libs/struct_i386.h:
18171 remove private structs
18173 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18175 * plugins/indexers/Makefile.am:
18176 Fixes as part of #317048
18178 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18180 * plugins/indexers/Makefile.am:
18181 fix #316086 - compilation when mmap is missing
18183 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18185 * libs/gst/base/gstbasesink.c:
18186 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18187 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18188 * win32/common/config.h:
18189 added some defines GST_MAJORMINOR and HOST_CPU
18190 * win32/common/libgstbase.def:
18191 * win32/common/libgstreamer.def:
18192 added some exported functions.
18194 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18196 * libs/gst/controller/gstcontroller.c:
18197 (gst_controlled_property_set_interpolation_mode),
18198 (gst_controlled_property_new):
18199 * libs/gst/controller/gstcontroller.h:
18200 * libs/gst/controller/gstinterpolation.c:
18201 (interpolate_none_get_string_value_array):
18202 make G_TYPE_STRING controlable
18204 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18207 * tools/gst-feedback.1.in:
18208 * tools/gst-inspect.1.in:
18209 * tools/gst-launch.1.in:
18210 * tools/gst-md5sum.1.in:
18211 * tools/gst-typefind.1.in:
18212 * tools/gst-xmlinspect.1.in:
18213 * tools/gst-xmllaunch.1.in:
18214 cleanup man-pages, remove reference to gst-register, document env-vars
18216 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18218 * gst/gstbuffer.c: (gst_buffer_span):
18219 gst_buffer_span should copy the timestamp of the first buffer
18220 if they were both originally overlapping subbuffers of the
18221 same parent, using the same logic as the 'slow copy' case.
18223 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18225 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18226 Need to awaken ALL the pads when we pop a buffer, otherwise
18227 collectpads only works when there is 2 input streams.
18229 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18231 * docs/random/ensonic/media-device-daemon.txt:
18234 fix doc example, add clarification
18235 * tools/gst-launch.1.in:
18236 add initial info about GST_PLUGIN_PATH, needs more work
18238 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18240 * docs/manual/basics-bins.xml:
18241 * docs/manual/basics-elements.xml:
18242 * docs/manual/intro-basics.xml:
18243 Some more minor docs additions and updates.
18245 2006-01-11 Wim Taymans <wim@fluendo.com>
18247 * docs/manual/basics-bins.xml:
18248 * docs/manual/basics-elements.xml:
18249 Some small fixes as pointed out by Ser-ver on IRC.
18251 2006-01-10 Edward Hervey <edward@fluendo.com>
18253 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18254 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18255 the single-segment mode.
18257 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18259 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18261 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18262 (gst_base_src_perform_seek), (gst_base_src_send_event),
18263 (gst_base_src_set_property), (gst_base_src_get_property),
18264 (gst_base_src_loop), (gst_base_src_start),
18265 (gst_base_src_activate_push):
18266 * libs/gst/base/gstbasesrc.h:
18267 Name (private) union; makes Sun's Forte compiler happy (#324900).
18269 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18272 gst-register is gone.
18274 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18276 * gst/gstvalue.c: (_gst_value_initialize):
18277 make the G_TYPE_DATE instantiation work if debug is disabled
18279 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18281 * gst/gstmessage.c: (gst_message_parse_tag),
18282 (gst_message_parse_error), (gst_message_parse_warning):
18283 Don't crash when return location for error/warning debug
18284 string is NULL; add fact that return locations can be
18285 NULL to docs where appropriate.
18287 2006-01-05 Wim Taymans <wim@fluendo.com>
18289 * gst/gstplugin.c: (gst_plugin_load_file):
18290 Replace strdup by g_strdup.
18292 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18294 * docs/pwg/advanced-types.xml:
18297 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18299 submitted by: Abel Cheung
18303 Added Chinese (traditional) translation
18305 2006-01-04 Wim Taymans <wim@fluendo.com>
18307 * docs/manual/basics-pads.xml:
18308 * docs/plugins/Makefile.am:
18309 * docs/plugins/gstreamer-plugins-docs.sgml:
18310 * docs/plugins/gstreamer-plugins-sections.txt:
18311 * docs/pwg/advanced-clock.xml:
18312 * docs/pwg/advanced-scheduling.xml:
18313 * docs/pwg/advanced-types.xml:
18314 * plugins/elements/gstfdsink.c:
18315 * plugins/elements/gstfdsrc.c:
18316 * plugins/elements/gstfdsrc.h:
18317 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18318 * plugins/elements/gstidentity.h:
18319 * plugins/elements/gstqueue.h:
18320 * plugins/elements/gsttee.c:
18321 * plugins/elements/gsttee.h:
18322 * plugins/elements/gsttypefindelement.c:
18323 (gst_type_find_element_class_init):
18324 * plugins/elements/gsttypefindelement.h:
18325 Small updates to various docs.
18326 Added core plugins to docs.
18328 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18331 add a suppression for liboil's uninitialized variable
18333 2006-01-02 James Livingston <jrl at ids dot org dot au>
18335 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18338 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18339 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18340 compiler switch is being used (#325429).
18342 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18344 * gst/gstbin.c: (gst_bin_query):
18345 Disable duration query caching in bins until it gets
18346 fixed (see #324807).
18348 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18350 * tools/gst-inspect.c: (print_element_properties_info):
18351 Handle properties of POINTER and BOXED type.
18353 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18355 * gst/gst.c: (init_post):
18356 Init tags stuff and some other things before loading
18357 any static plugins (there may be other static plugins
18358 than just the GStreamer ones, and they may want to
18359 register their own tags or formats or whatever, and
18360 preferably without segfaulting).
18362 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18363 Print at least a warning in the debug logs if we drop a
18364 query just because we don't know how to adjust the value
18365 in the particular format.
18367 2005-12-24 David Schleef <ds@schleef.org>
18369 * tools/gstreamer-completion:
18370 Replacement for gst-complete written in sh and sed. Only
18371 completes names of features, but that's 90% of what I want
18372 it for. Properties are not available in registry.xml. (Maybe
18375 === release 0.10.1 ===
18377 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18380 releasing 0.10.1, "Nollaig chridheil"
18382 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18384 * docs/faq/cvs.xml:
18385 Add missing quote, should be make ERROR_CFLAGS="".
18387 2005-12-20 Wim Taymans <wim@fluendo.com>
18389 * docs/design/part-trickmodes.txt:
18390 More documentation on trickmodes.
18392 2005-12-20 Edward Hervey <edward@fluendo.com>
18394 * gst/gstcaps.c: (gst_static_caps_get_type):
18396 API addition: GST_TYPE_STATIC_CAPS
18397 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18398 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18399 * gst/gstpadtemplate.h:
18400 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18401 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18404 2005-12-18 Wim Taymans <wim@fluendo.com>
18406 * libs/gst/base/gstadapter.c:
18407 * libs/gst/base/gstadapter.h:
18408 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18409 (gst_base_sink_get_position):
18410 * libs/gst/base/gstbasesink.h:
18411 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18412 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18413 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18414 (gst_base_src_send_event), (gst_base_src_update_length),
18415 (gst_base_src_get_range), (gst_base_src_loop),
18416 (gst_base_src_start):
18417 * libs/gst/base/gstbasesrc.h:
18418 * libs/gst/base/gstbasetransform.h:
18419 * libs/gst/base/gstcollectpads.h:
18420 * libs/gst/base/gstpushsrc.c:
18421 * libs/gst/base/gstpushsrc.h:
18422 * libs/gst/dataprotocol/dataprotocol.c:
18423 * libs/gst/dataprotocol/dataprotocol.h:
18424 * libs/gst/net/gstnetclientclock.h:
18425 * libs/gst/net/gstnettimeprovider.h:
18426 Documentation updates.
18428 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18430 * docs/manual/basics-helloworld.xml:
18431 Remove superfluous closing bracket in helloworld example.
18433 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18435 * tools/gst-launch.1.in:
18436 Update gst-launch man page; add a section with useful
18437 environment variables. Fixes #323882.
18439 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18442 * gst/gst_private.h:
18443 change some char* into char[]
18445 2005-12-16 Wim Taymans <wim@fluendo.com>
18447 * gst/gstregistryxml.c: (load_feature):
18449 Don't use g_object_unref on GstObjects so that we avoid
18450 leaks on unsafe glibs.
18452 2005-12-16 Wim Taymans <wim@fluendo.com>
18454 * gst/gstbin.c: (gst_bin_recalc_state):
18457 2005-12-16 Wim Taymans <wim@fluendo.com>
18459 * common/check.mak:
18460 Added make forever target for check.
18462 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18464 * gst/gst.c: (init_post):
18465 make the registry cache file HOST_CPU-dependent
18467 2005-12-16 Andy Wingo <wingo@pobox.com>
18469 * plugins/elements/gstbufferstore.c
18470 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18473 * tests/check/gst/gstobject.c
18474 (test_fake_object_name_threaded_unique): Pay attention to
18475 g_list_sort return value.
18477 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18479 * tools/gst-feedback-m.m:
18480 Update for 0.9/0.10 (fixes #323870).
18482 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18484 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18485 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18487 * tests/check/gst/gstminiobject.c: (my_foo_init),
18488 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18489 (test_value_collection), (gst_mini_object_suite):
18490 Add test to ensure refcounts end up as expected when passing
18491 GstMiniObjects through g_object_get() and g_object_set().
18493 2005-12-14 Julien MOUTTE <julien@moutte.net>
18495 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18496 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18497 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18498 of collectpads. This version removes a lot of races without
18499 touching API/ABI. Yay !
18501 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18503 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18504 Don't allow activation of a srcpad in pull_range if it has no
18506 Change some debug statements to be a little clearer
18508 * plugins/elements/gsttypefindelement.c:
18509 (gst_type_find_handle_src_query):
18510 Check that we have a peer before executing queries thereupon.
18512 * tests/examples/metadata/read-metadata.c: (message_loop):
18513 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18514 immediately return us any available message with 0 timeout.
18516 2005-12-12 Michael Smith <msmith@fluendo.com>
18518 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18519 Don't unref factories after calling them.
18520 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18521 * plugins/elements/gsttypefindelement.c:
18522 (gst_type_find_element_chain):
18523 Free lists of factories after using them. Fixing typefinding memory
18526 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18528 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18529 (gst_plugin_feature_load):
18530 more meaningful debug output
18532 * tests/Makefile.am:
18533 * tests/old/examples/Makefile.am:
18534 make make distcheck happy again
18536 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18538 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18539 Catch the special case where we are operating chain-based,
18540 but the downstream peer pad has no chain function. Emit a
18541 custom error message in this case instead of letting the
18542 core generate one implying that this is some sort of core
18543 bug. It's not, it just means that whatever got plugged
18544 into the pipeline downstream when we announced the type
18545 can only operate pull-based, while our source can only
18546 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18547 Error string has not been marked for translation yet, as
18548 it probably needs some more work first.
18550 (gst_type_find_element_get_best_possibility):
18551 Add helper function to find the best of all available
18552 found possibilities that qualify given the min. threshold.
18554 (gst_type_find_element_handle_event):
18555 Fix the case where we get an EOS while still in TYPEFIND
18556 mode (we want to chose the best of all possible types,
18557 not just the first type that happens to be in our unsorted
18558 list of possible types).
18560 (gst_type_find_element_chain):
18561 Make sure we return GST_FLOW_ERROR when we errored out
18562 in stop_typefinding(); also, don't just find the best of
18563 all found type entries and then use the last examined
18564 type entry, but actually use the best entry.
18566 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18568 * tests/examples/typefind/typefind.c: (type_found):
18569 * tests/examples/xml/runxml.c: (xml_loaded):
18570 More gcc4 fixes and a mem leak fix.
18572 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18574 * tests/examples/xml/createxml.c: (object_saved):
18577 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18579 * tests/Makefile.am:
18580 enable the examples even more
18582 2005-12-12 Andy Wingo <wingo@pobox.com>
18584 * libs/gst/net/gstnettimeprovider.c
18585 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18586 (gst_net_time_provider_set_property)
18587 (gst_net_time_provider_get_property):
18588 API addition: Export "active" as a GObject property.
18589 (gst_net_time_provider_thread): Only respond to time queries if
18590 the time provider is active.
18592 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18593 NetTimeProvider, preserving binary compat.
18595 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18597 * tests/examples/controller/audio-example.c: (main):
18598 * tests/examples/launch/Makefile.am:
18599 convert comments again
18601 2005-12-12 Wim Taymans <wim@fluendo.com>
18603 * libs/gst/base/gstpushsrc.c:
18606 2005-12-12 Wim Taymans <wim@fluendo.com>
18608 * docs/libs/gstreamer-libs-sections.txt:
18609 Added new symbol to docs.
18611 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18612 (gst_base_src_init), (gst_base_src_set_format),
18613 (gst_base_src_default_query), (gst_base_src_query),
18614 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18615 (gst_base_src_perform_seek), (gst_base_src_send_event),
18616 (gst_base_src_default_event), (gst_base_src_event_handler),
18617 (gst_base_src_set_property), (gst_base_src_get_property),
18618 (gst_base_src_wait), (gst_base_src_do_sync),
18619 (gst_base_src_update_length), (gst_base_src_get_range),
18620 (gst_base_src_check_get_range), (gst_base_src_loop),
18621 (gst_base_src_default_negotiate), (gst_base_src_start),
18622 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18623 (gst_base_src_change_state):
18624 * libs/gst/base/gstbasesrc.h:
18625 Implement seeking to other formats than _BYTES.
18626 Implement more seeking methods correctly.
18628 Added query vmethod.
18629 Added do_seek vmethod to make life easier for subclasses
18631 API addition: gst_base_src_set_format()
18633 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18635 * tests/examples/Makefile.am:
18638 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18641 * docs/random/ensonic/media-device-daemon.txt:
18642 * tests/examples/controller/.cvsignore:
18643 * tests/examples/controller/Makefile.am:
18644 * tests/examples/controller/audio-example.c: (main):
18645 * tests/examples/helloworld/.cvsignore:
18646 * tests/examples/helloworld/Makefile.am:
18647 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18648 * tests/examples/launch/.cvsignore:
18649 * tests/examples/launch/Makefile.am:
18650 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18651 * tests/examples/metadata/.cvsignore:
18652 * tests/examples/metadata/Makefile.am:
18653 * tests/examples/metadata/read-metadata.c: (message_loop),
18654 (make_pipeline), (print_tag), (main):
18655 * tests/examples/queue/.cvsignore:
18656 * tests/examples/queue/Makefile.am:
18657 * tests/examples/queue/queue.c: (event_loop), (main):
18658 * tests/examples/typefind/.cvsignore:
18659 * tests/examples/typefind/Makefile.am:
18660 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18662 * tests/examples/xml/.cvsignore:
18663 * tests/examples/xml/Makefile.am:
18664 * tests/examples/xml/createxml.c: (object_saved), (main):
18665 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18666 * tests/old/examples/Makefile.am:
18667 * tests/old/examples/TODO:
18668 * tests/old/examples/controller/.cvsignore:
18669 * tests/old/examples/controller/Makefile.am:
18670 * tests/old/examples/controller/audio-example.c:
18671 * tests/old/examples/helloworld/.cvsignore:
18672 * tests/old/examples/helloworld/Makefile.am:
18673 * tests/old/examples/helloworld/helloworld.c:
18674 * tests/old/examples/launch/.cvsignore:
18675 * tests/old/examples/launch/Makefile.am:
18676 * tests/old/examples/launch/mp3parselaunch.c:
18677 * tests/old/examples/launch/mp3play:
18678 * tests/old/examples/manual/Makefile.am:
18679 * tests/old/examples/metadata/Makefile.am:
18680 * tests/old/examples/metadata/read-metadata.c:
18681 * tests/old/examples/queue/.cvsignore:
18682 * tests/old/examples/queue/Makefile.am:
18683 * tests/old/examples/queue/queue.c:
18684 * tests/old/examples/typefind/.cvsignore:
18685 * tests/old/examples/typefind/Makefile.am:
18686 * tests/old/examples/typefind/typefind.c:
18687 * tests/old/examples/xml/.cvsignore:
18688 * tests/old/examples/xml/Makefile.am:
18689 * tests/old/examples/xml/createxml.c:
18690 * tests/old/examples/xml/runxml.c:
18691 applied some simple fixing to some examples
18692 re-enabled the working examples
18694 2005-12-12 Wim Taymans <wim@fluendo.com>
18696 * gst/gstsegment.c: (gst_segment_init),
18697 (gst_segment_set_last_stop), (gst_segment_set_seek),
18698 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18699 (gst_segment_to_running_time):
18700 Added more documentation.
18701 Make sure the last_pos value is updated properly.
18702 Make sure to_stream_time and to_running_time don't
18703 operate on wrong values.
18705 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18708 2005-12-12 Michael Smith <msmith@fluendo.com>
18710 * plugins/elements/gsttypefindelement.c: (free_entry),
18711 (gst_type_find_element_chain):
18712 Now that we're not leaking factories, make sure we keep references
18713 to them while we need them.
18715 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18717 * tests/check/gst/struct_i386.h:
18718 ifdef out the XML structs
18720 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18722 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18723 floor is not needed, F is always positive; this obviates the
18724 need for adding -lm when building without libxml
18726 2005-12-12 Wim Taymans <wim@fluendo.com>
18728 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18729 Take current playback rate into account when reporting
18732 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18734 * docs/manual/mime-world.fig:
18735 Let's try this again, this time with a file that is
18736 actually in XFig format.
18738 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18740 * docs/manual/mime-world.fig:
18741 Add audioconvert element to diagram so that it
18742 matches the text and the code (fixes #319526).
18744 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18746 * docs/pwg/building-chainfn.xml:
18747 * docs/pwg/building-pads.xml:
18748 * docs/pwg/building-state.xml:
18749 * docs/pwg/other-source.xml:
18750 Update state change stuff for 0.10 (fixes #322969).
18752 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18754 * docs/manual/advanced-dataaccess.xml:
18755 * docs/manual/appendix-checklist.xml:
18756 * docs/manual/appendix-programs.xml:
18757 * docs/manual/basics-pads.xml:
18758 * docs/manual/highlevel-components.xml:
18759 * docs/manual/manual.xml:
18760 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18761 add converters in front of pipelines; remove curly
18762 brackets for threads stuff, they no longer exist; use
18763 GST_TYPE_FRACTION for framerates; update some pieces of
18764 code to 0.10, but there's plenty more to do.
18766 * docs/manual/appendix-porting.xml:
18767 Expand on asynchroneous state changes; s/0.9/0.10/;
18768 mention disappearance of gst_init_get_popt_table()
18771 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18773 * docs/faq/using.xml:
18774 Spider no longer exists, and neither does gst-launch-ext.
18775 Update examples to use decodebin and playbin and put
18776 converters in front of sinks (fixes #323726).
18778 2005-12-09 Michael Smith <msmith@fluendo.com>
18780 * plugins/elements/gsttypefindelement.c: (find_peek),
18781 (gst_type_find_element_chain):
18782 Fix leaking element factories in typefinding.
18783 Fix problem where we forgot about a probable type on non-seekable
18784 files, and thus later mis-typefound it.
18786 2005-12-09 Michael Smith <msmith@fluendo.com>
18788 * common/m4/gst-makecontext.m4:
18789 * common/m4/gst-mcsc.m4:
18791 * win32/common/config.h:
18792 * win32/common/config.h.in:
18793 Remove makecontext stuff; not used in 0.10 and causes problems on
18794 HPUX according to bug #322441
18796 2005-12-07 Wim Taymans <wim@fluendo.com>
18798 * tests/check/Makefile.am:
18799 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18801 * tests/check/libs/struct_i386.h:
18802 Added ABI check for libs
18804 2005-12-07 Wim Taymans <wim@fluendo.com>
18806 * tests/check/Makefile.am:
18807 And add the struct_i386.h to dist.
18809 2005-12-07 Wim Taymans <wim@fluendo.com>
18811 * tests/check/Makefile.am:
18812 * tests/check/gst/.cvsignore:
18813 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18815 * tests/check/gst/struct_i386.h:
18816 Added check for ABI compatibility.
18818 2005-12-07 Wim Taymans <wim@fluendo.com>
18820 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18821 (gst_fake_src_get_times), (gst_fake_src_create):
18822 Fix broken sync option, fixes #323259
18824 2005-12-07 Wim Taymans <wim@fluendo.com>
18829 * gst/gstcaps.c: (gst_caps_is_equal):
18830 Don't assert on NULL <--> X. Fixes #323260
18832 * gst/gstminiobject.c: (gst_mini_object_replace):
18833 If we're doing atomic operations, we might just as well use
18834 the proper way to get an atomic pointer.
18836 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18837 Clean up debugging.
18839 2005-12-07 Michael Smith <msmith@fluendo.com>
18841 * gst/parse/grammar.y:
18842 Remove handling of { } for threads.
18844 2005-12-06 David Schleef <ds@schleef.org>
18846 * libs/gst/base/gstbasetransform.c: speling fix.
18848 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18850 * docs/libs/tmpl/gstdataprotocol.sgml:
18851 * docs/random/omega/testing/gstobject.c:
18854 * gst/gstelement.c:
18855 * gst/gstelementfactory.c:
18858 * gst/gstghostpad.c:
18860 * gst/gstpadtemplate.c:
18861 * gst/gstregistryxml.c:
18862 * gst/gsttaglist.c:
18863 * gst/gsttagsetter.c:
18864 * gst/gsttypefind.c:
18866 * libs/gst/base/gstbasesrc.c:
18867 * libs/gst/net/gstnetclientclock.c:
18868 * libs/gst/net/gstnettimeprovider.c:
18869 * plugins/elements/gstfakesrc.c:
18870 * plugins/elements/gstfdsrc.c:
18871 * plugins/elements/gstfilesrc.c:
18872 * plugins/elements/gstidentity.c:
18873 * plugins/elements/gstqueue.c:
18874 * plugins/elements/gsttypefindelement.c:
18875 * plugins/indexers/gstfileindex.c:
18876 * plugins/indexers/gstmemindex.c:
18877 * tests/check/gst/gsttag.c:
18878 * tests/old/examples/cutter/cutter.c:
18879 * tests/old/examples/mixer/mixer.c:
18880 * tests/old/examples/xml/runxml.c: (main):
18881 * tests/old/testsuite/caps/normalisation.c:
18882 * tests/old/testsuite/debug/global.c:
18883 * tests/old/testsuite/parse/parse1.c:
18884 * tools/gst-xmlinspect.c:
18885 * win32/common/dirent.c:
18888 === release 0.10.0 ===
18890 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18893 releasing 0.10.0, "Maroilles"
18895 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18897 submitted by: Funda Wang <fundawang@linux.net.cn>
18901 added Chinese (Traditional) translation
18903 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18905 * docs/gst/gstreamer-sections.txt:
18906 * docs/libs/tmpl/gstdataprotocol.sgml:
18907 * docs/random/thomasvs/TODO:
18912 2005-12-05 Andy Wingo <wingo@pobox.com>
18914 patch by: Wim Taymans <wim@fluendo.com>
18916 * libs/gst/base/gstbasetransform.c
18917 (gst_base_transform_prepare_output_buf)
18918 (gst_base_transform_buffer_alloc):
18919 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18920 alloc_buffer_and_set_caps.
18922 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18923 set_caps on the source pad.
18924 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18925 alloc_buffer used to do. Fixes #322874.
18927 * docs/gst/gstreamer-sections.txt:
18928 * docs/design/part-negotiation.txt:
18929 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18932 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18934 patch by: Sebastien Moutte
18937 * win32/common/config.h.in:
18938 * win32/vs6/libgstcontroller.dsp:
18941 2005-12-05 Wim Taymans <wim@fluendo.com>
18943 * gst/gstcaps.c: (gst_caps_is_equal):
18944 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18945 (gst_fake_src_create):
18946 Back out previous code changes, leave doc updates, file bugs
18949 2005-12-05 Wim Taymans <wim@fluendo.com>
18951 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18952 (gst_fake_src_get_times), (gst_fake_src_create):
18953 * plugins/elements/gstfakesrc.h:
18954 Fix broken sync code.
18956 2005-12-05 Wim Taymans <wim@fluendo.com>
18958 * gst/gstcaps.c: (gst_caps_is_equal):
18959 Comparing NULL against !NULL yields different caps, not a
18962 2005-12-05 Wim Taymans <wim@fluendo.com>
18964 * gst/gstpipeline.c:
18965 Fix small typo in docs.
18967 2005-12-05 Andy Wingo <wingo@pobox.com>
18969 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18971 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18972 registries/plugins with a MAJORMINOR one.
18973 (plugin_desc): Rename library from gstcoreleements to
18974 staticelements. Fixes #323222.
18976 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18978 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18979 Change debug category to 'collectpads' from 'collect_pads'
18982 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18984 patch by: Sebastien Moutte
18986 * libs/gst/controller/gstinterpolation.c:
18987 use convert function for uint64/double
18988 * win32/vs6/libgstcontroller.dsp:
18991 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18993 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18994 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18996 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18997 add tests that seem to show that the guint64/gdouble conversions
19000 2005-12-02 Wim Taymans <wim@fluendo.com>
19002 * gst/gstregistry.c: (gst_registry_add_path):
19003 * gst/gstregistry.h:
19004 * gst/gstregistryxml.c:
19007 2005-12-02 Wim Taymans <wim@fluendo.com>
19009 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19010 (gst_util_uint64_scale_int):
19013 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19014 Add debug log line.
19016 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19019 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
19022 * win32/common/config.h:
19023 * win32/vs6/gstreamer.dsw:
19024 * win32/vs6/libgstcoreelements.dsp:
19025 * win32/vs6/libgstelements.dsp:
19026 renamed core elements plugin
19028 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
19030 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19032 do piece-wise major/minor comparison so 0.9 < 0.10
19033 also allow .exe extensions for tools
19035 2005-12-02 Michael Smith <msmith@fluendo.com>
19038 Escape a % to make gtkdoc happier; bug 322958.
19040 === release 0.9.7 ===
19042 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19045 releasing 0.9.7, "My Dog Has No Nose"
19047 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19049 * common/gst-xmlinspect.py:
19051 * docs/libs/tmpl/gstdataprotocol.sgml:
19052 * docs/random/release:
19071 * win32/common/config.h:
19072 * win32/common/config.h.in:
19073 * win32/vs6/gst_inspect.dsp:
19074 * win32/vs6/gst_launch.dsp:
19075 * win32/vs6/libgstbase.dsp:
19076 * win32/vs6/libgstelements.dsp:
19077 * win32/vs6/libgstreamer.dsp:
19078 * win32/vs7/GStreamer.vcproj:
19079 * win32/vs7/gst-inspect.vcproj:
19080 * win32/vs7/gst-launch.vcproj:
19081 * win32/vs7/libgstbase.vcproj:
19082 bump GST_MAJORMINOR to 0.10
19083 reset libtool version
19085 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19089 Added Bulgarian translation by (Alexander Shopov)
19091 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19093 * tests/check/gst/gstplugin.c:
19096 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19098 * common/gst-xmlinspect.py:
19099 * common/gtk-doc-plugins.mak:
19101 * docs/Makefile.am:
19102 * docs/gst/Makefile.am:
19103 * docs/gst/gstreamer-docs.sgml:
19104 * docs/gst/gstreamer-sections.txt:
19105 * docs/gst/gstreamer.types:
19106 * docs/gst/gstreamer.types.in:
19107 * docs/plugins/Makefile.am:
19108 * docs/plugins/gstreamer-plugins-docs.sgml:
19109 * docs/plugins/gstreamer-plugins-sections.txt:
19110 * docs/plugins/gstreamer-plugins.types:
19111 * docs/plugins/inspect.stamp:
19112 * docs/plugins/inspect/plugin-coreelements.xml:
19113 * docs/plugins/inspect/plugin-coreindexers.xml:
19114 * docs/plugins/scanobj-build.stamp:
19115 * gstreamer.spec.in:
19116 * plugins/elements/Makefile.am:
19117 * plugins/elements/gstelements.c:
19118 * plugins/elements/gstfakesink.c:
19119 * plugins/elements/gstfakesrc.c:
19120 * plugins/elements/gstfilesink.c:
19121 * plugins/elements/gstfilesrc.c:
19122 * plugins/elements/gstqueue.c:
19123 * plugins/indexers/Makefile.am:
19124 * plugins/indexers/gstindexers.c:
19125 document core plugins in a separate document just like all the
19127 rename these plugins to something starting with core
19129 2005-12-01 Andy Wingo <wingo@pobox.com>
19131 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19132 padding here before, but it missed the commit.
19134 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19136 * libs/gst/controller/gstinterpolation.c:
19137 whitespace prices have crashed, we should feel free to use some now
19138 use gst_guint64_to_gdouble
19140 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19142 * libs/gst/controller/gstcontroller.c:
19143 * libs/gst/controller/gsthelper.c:
19144 * libs/gst/controller/gstinterpolation.c:
19145 * libs/gst/controller/lib.c:
19146 wrap config.h include
19148 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19150 * docs/gst/gstreamer-sections.txt:
19153 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19155 * plugins/elements/gstelements.c:
19156 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19157 (gst_fd_sink__class_init), (gst_fd_sink__init),
19158 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19159 (gst_fd_sink__get_property):
19160 * plugins/elements/gstfdsink.h:
19161 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19162 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19163 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19164 (gst_fd_src_unlock), (gst_fd_src_set_property),
19165 (gst_fd_src_get_property), (gst_fd_src_create),
19166 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19167 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19168 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19169 (gst_fd_src_uri_handler_init):
19170 * plugins/elements/gstfdsrc.h:
19171 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19174 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19176 * docs/gst/Makefile.am:
19177 * docs/gst/gstreamer.types.in:
19181 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19187 * gst/gstregistry.h:
19188 * tests/benchmarks/complexity.c:
19189 * tests/benchmarks/mass-elements.c:
19190 * tests/check/Makefile.am:
19191 * tools/Makefile.am:
19192 * tools/gst-inspect.c:
19193 * tools/gst-xmlinspect.c:
19194 various fixes to make
19195 --disable-nls --disable-registry --disable-loadsave
19196 --disable-parse --disable-gst-debug
19197 work and get the core .so down to 360444 bytes after stripping
19199 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19204 * docs/random/thomasvs/TODO:
19205 * tests/Makefile.am:
19209 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19211 * win32/GStreamer.vcproj:
19214 * win32/Makefile.inspect:
19215 * win32/Makefile.launch:
19216 * win32/Makefile.register:
19217 * win32/README.txt:
19218 * win32/gst-inspect.vcproj:
19219 * win32/gst-launch.vcproj:
19220 * win32/gst-register.vcproj:
19221 * win32/gstelements.vcproj:
19222 * win32/gstgetbits.def:
19223 * win32/gstgetbits.vcproj:
19224 * win32/gstreamer-dbg.def:
19225 * win32/gstreamer.def:
19226 * win32/libgstbase.def:
19227 * win32/libgstbase.vcproj:
19228 * win32/link_oldruntime.c:
19232 * win32/msvc71.sln:
19233 move even more stuff, win32/ is nice and clean now
19235 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19237 * libs/gst/control/.cvsignore:
19242 * win32/gstbytestream.def:
19243 * win32/gstbytestream.vcproj:
19244 * win32/gstconfig.h:
19245 * win32/gstenumtypes.c:
19246 * win32/gstenumtypes.h:
19247 * win32/gstoptimalscheduler.vcproj:
19248 * win32/gstversion.h:
19250 * win32/testsuite/bins.vcproj:
19251 * win32/testsuite/bytestream.vcproj:
19252 * win32/testsuite/caps.vcproj:
19253 * win32/testsuite/cleanup.vcproj:
19254 * win32/testsuite/clock.vcproj:
19255 * win32/testsuite/debug.vcproj:
19256 * win32/testsuite/dlopen.vcproj:
19257 * win32/testsuite/dynparams.vcproj:
19258 * win32/testsuite/elements.vcproj:
19259 * win32/testsuite/ghostpads.vcproj:
19260 * win32/testsuite/indexers.vcproj:
19261 * win32/testsuite/negotiation.vcproj:
19262 * win32/testsuite/parse.vcproj:
19263 * win32/testsuite/plugin.vcproj:
19264 * win32/testsuite/refcounting.vcproj:
19265 * win32/testsuite/schedulers.vcproj:
19266 * win32/testsuite/states.vcproj:
19267 * win32/testsuite/tags.vcproj:
19268 * win32/testsuite/threads.vcproj:
19269 remove old win32 stuff that isn't maintained and should be
19272 2005-11-30 Andy Wingo <wingo@pobox.com>
19274 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19275 loading the gst.interfaces python module bork.
19277 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19278 available since GLib 2.2. Fixes #318031.
19280 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19283 * check/.cvsignore:
19284 * check/Makefile.am:
19285 * check/elements/.cvsignore:
19286 * check/elements/fakesrc.c:
19287 * check/elements/fdsrc.c:
19288 * check/elements/identity.c:
19289 * check/generic/.cvsignore:
19290 * check/generic/states.c:
19291 * check/gst-libs/.cvsignore:
19292 * check/gst-libs/controller.c:
19293 * check/gst-libs/gdp.c:
19294 * check/gst/.cvsignore:
19295 * check/gst/capslist.h:
19297 * check/gst/gstbin.c:
19298 * check/gst/gstbuffer.c:
19299 * check/gst/gstbus.c:
19300 * check/gst/gstcaps.c:
19301 * check/gst/gstelement.c:
19302 * check/gst/gstevent.c:
19303 * check/gst/gstghostpad.c:
19304 * check/gst/gstiterator.c:
19305 * check/gst/gstmessage.c:
19306 * check/gst/gstminiobject.c:
19307 * check/gst/gstobject.c:
19308 * check/gst/gstpad.c:
19309 * check/gst/gstpipeline.c:
19310 * check/gst/gstplugin.c:
19311 * check/gst/gstsegment.c:
19312 * check/gst/gststructure.c:
19313 * check/gst/gstsystemclock.c:
19314 * check/gst/gsttag.c:
19315 * check/gst/gstutils.c:
19316 * check/gst/gstvalue.c:
19317 * check/net/.cvsignore:
19318 * check/net/gstnetclientclock.c:
19319 * check/net/gstnettimeprovider.c:
19320 * check/pipelines/.cvsignore:
19321 * check/pipelines/cleanup.c:
19322 * check/pipelines/simple_launch_lines.c:
19323 * check/pipelines/stress.c:
19324 * check/states/.cvsignore:
19325 * check/states/sinks.c:
19327 * examples/Makefile.am:
19328 * examples/appreader/.cvsignore:
19329 * examples/appreader/Makefile.am:
19330 * examples/appreader/appreader.c:
19331 * examples/controller/.cvsignore:
19332 * examples/controller/Makefile.am:
19333 * examples/controller/audio-example.c:
19334 * examples/cutter/.cvsignore:
19335 * examples/cutter/Makefile.am:
19336 * examples/cutter/cutter.c:
19337 * examples/cutter/cutter.h:
19338 * examples/events/Makefile.am:
19339 * examples/events/seek.c:
19340 * examples/helloworld/.cvsignore:
19341 * examples/helloworld/Makefile.am:
19342 * examples/helloworld/helloworld.c:
19343 * examples/helloworld2/.cvsignore:
19344 * examples/helloworld2/Makefile.am:
19345 * examples/helloworld2/helloworld2.c:
19346 * examples/launch/.cvsignore:
19347 * examples/launch/Makefile.am:
19348 * examples/launch/mp3parselaunch.c:
19349 * examples/launch/mp3play:
19350 * examples/manual/.cvsignore:
19351 * examples/manual/Makefile.am:
19352 * examples/manual/extract.pl:
19353 * examples/metadata/Makefile.am:
19354 * examples/metadata/read-metadata.c:
19355 * examples/mixer/.cvsignore:
19356 * examples/mixer/Makefile.am:
19357 * examples/mixer/mixer.c:
19358 * examples/mixer/mixer.h:
19359 * examples/pingpong/.cvsignore:
19360 * examples/pingpong/Makefile.am:
19361 * examples/pingpong/pingpong.c:
19362 * examples/plugins/.cvsignore:
19363 * examples/plugins/Makefile.am:
19364 * examples/plugins/example.c:
19365 * examples/plugins/example.h:
19366 * examples/pwg/.cvsignore:
19367 * examples/pwg/Makefile.am:
19368 * examples/pwg/extract.pl:
19369 * examples/queue/.cvsignore:
19370 * examples/queue/Makefile.am:
19371 * examples/queue/queue.c:
19372 * examples/queue2/.cvsignore:
19373 * examples/queue2/Makefile.am:
19374 * examples/queue2/queue2.c:
19375 * examples/queue3/.cvsignore:
19376 * examples/queue3/Makefile.am:
19377 * examples/queue3/queue3.c:
19378 * examples/queue4/.cvsignore:
19379 * examples/queue4/Makefile.am:
19380 * examples/queue4/queue4.c:
19381 * examples/retag/.cvsignore:
19382 * examples/retag/Makefile.am:
19383 * examples/retag/retag.c:
19384 * examples/retag/transcode.c:
19385 * examples/thread/.cvsignore:
19386 * examples/thread/Makefile.am:
19387 * examples/thread/thread.c:
19388 * examples/typefind/.cvsignore:
19389 * examples/typefind/Makefile.am:
19390 * examples/typefind/typefind.c:
19391 * examples/xml/.cvsignore:
19392 * examples/xml/Makefile.am:
19393 * examples/xml/createxml.c:
19394 * examples/xml/runxml.c:
19395 * tests/Makefile.am:
19396 * tests/check/Makefile.am:
19397 * testsuite/.cvsignore:
19398 * testsuite/Makefile.am:
19400 * testsuite/caps/.cvsignore:
19401 * testsuite/caps/Makefile.am:
19402 * testsuite/caps/app_fixate.c:
19403 * testsuite/caps/audioscale.c:
19404 * testsuite/caps/caps.c:
19405 * testsuite/caps/caps.h:
19406 * testsuite/caps/caps_strings:
19407 * testsuite/caps/compatibility.c:
19408 * testsuite/caps/deserialize.c:
19409 * testsuite/caps/enumcaps.c:
19410 * testsuite/caps/eratosthenes.c:
19411 * testsuite/caps/filtercaps.c:
19412 * testsuite/caps/fixed.c:
19413 * testsuite/caps/fraction-convert.c:
19414 * testsuite/caps/fraction-multiply-and-zero.c:
19415 * testsuite/caps/intersect2.c:
19416 * testsuite/caps/intersection.c:
19417 * testsuite/caps/normalisation.c:
19418 * testsuite/caps/random.c:
19419 * testsuite/caps/renegotiate.c:
19420 * testsuite/caps/sets.c:
19421 * testsuite/caps/simplify.c:
19422 * testsuite/caps/string-conversions.c:
19423 * testsuite/caps/structure.c:
19424 * testsuite/caps/subtract.c:
19425 * testsuite/caps/union.c:
19426 * testsuite/debug/.cvsignore:
19427 * testsuite/debug/Makefile.am:
19428 * testsuite/debug/category.c:
19429 * testsuite/debug/commandline.c:
19430 * testsuite/debug/global.c:
19431 * testsuite/debug/output.c:
19432 * testsuite/debug/printf_extension.c:
19433 * testsuite/dlopen/.cvsignore:
19434 * testsuite/dlopen/Makefile.am:
19435 * testsuite/dlopen/dlopen_gst.c:
19436 * testsuite/dlopen/loadgst.c:
19437 * testsuite/elements/.cvsignore:
19438 * testsuite/elements/Makefile.am:
19439 * testsuite/elements/gst-inspect-check.in:
19440 * testsuite/elements/struct_i386.h:
19441 * testsuite/elements/struct_size.c:
19442 * testsuite/indexers/.cvsignore:
19443 * testsuite/indexers/Makefile.am:
19444 * testsuite/indexers/cache1.c:
19445 * testsuite/indexers/indexdump.c:
19446 * testsuite/parse/.cvsignore:
19447 * testsuite/parse/Makefile.am:
19448 * testsuite/parse/parse1.c:
19449 * testsuite/parse/parse2.c:
19450 * testsuite/plugin/.cvsignore:
19451 * testsuite/plugin/Makefile.am:
19452 * testsuite/plugin/README:
19453 * testsuite/plugin/dynamic.c:
19454 * testsuite/plugin/linked.c:
19455 * testsuite/plugin/loading.c:
19456 * testsuite/plugin/registry.c:
19457 * testsuite/plugin/static.c:
19458 * testsuite/plugin/static2.c:
19459 * testsuite/plugin/testplugin.c:
19460 * testsuite/plugin/testplugin2.c:
19461 * testsuite/plugin/testplugin2_s.c:
19462 * testsuite/plugin/testplugin_s.c:
19463 * testsuite/refcounting/.cvsignore:
19464 * testsuite/refcounting/Makefile.am:
19465 * testsuite/refcounting/bin.c:
19466 * testsuite/refcounting/element.c:
19467 * testsuite/refcounting/element_pad.c:
19468 * testsuite/refcounting/mainloop.c:
19469 * testsuite/refcounting/mem.c:
19470 * testsuite/refcounting/mem.h:
19471 * testsuite/refcounting/object.c:
19472 * testsuite/refcounting/pad.c:
19473 * testsuite/refcounting/sched.c:
19474 * testsuite/refcounting/thread.c:
19475 * testsuite/states/.cvsignore:
19476 * testsuite/states/Makefile.am:
19477 * testsuite/states/bin.c:
19478 * testsuite/states/locked.c:
19479 * testsuite/states/parent.c:
19480 * testsuite/threads/.cvsignore:
19481 * testsuite/threads/159566.c:
19482 * testsuite/threads/159852.c:
19483 * testsuite/threads/Makefile.am:
19484 * testsuite/threads/queue.c:
19485 * testsuite/threads/signals.c:
19486 * testsuite/threads/staticrec.c:
19487 * testsuite/threads/thread.c:
19488 * testsuite/threads/threadb.c:
19489 * testsuite/threads/threadc.c:
19490 * testsuite/threads/threadd.c:
19491 * testsuite/threads/threade.c:
19492 * testsuite/threads/threadf.c:
19493 * testsuite/threads/threadg.c:
19494 * testsuite/threads/threadh.c:
19495 * testsuite/threads/threadi.c:
19496 move all of these under tests
19498 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19501 * tests/Makefile.am:
19504 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19506 * docs/gst/gstreamer-sections.txt:
19507 * tests/sched/.cvsignore:
19508 * tests/sched/Makefile.am:
19509 * tests/sched/cases/(fs-fs).xml:
19510 * tests/sched/cases/(fs-i-fs).xml:
19511 * tests/sched/cases/(fs-i-i-fs).xml:
19512 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19513 * tests/sched/dynamic-pipeline.c:
19514 * tests/sched/interrupt1.c:
19515 * tests/sched/interrupt2.c:
19516 * tests/sched/interrupt3.c:
19517 * tests/sched/runtestcases:
19518 * tests/sched/runxml.c:
19519 * tests/sched/sched-stress.c:
19520 * tests/sched/sort.c:
19521 * tests/sched/testcases:
19522 * tests/sched/testcases1.tc:
19523 * tests/seeking/.cvsignore:
19524 * tests/seeking/Makefile.am:
19525 * tests/seeking/seeking1.c:
19526 * tests/threadstate/.cvsignore:
19527 * tests/threadstate/Makefile.am:
19528 * tests/threadstate/test1.c:
19529 * tests/threadstate/test2.c:
19530 * tests/threadstate/threadstate1.c:
19531 * tests/threadstate/threadstate2.c:
19532 * tests/threadstate/threadstate3.c:
19533 * tests/threadstate/threadstate4.c:
19534 * tests/threadstate/threadstate5.c:
19535 remove obsolete tests
19537 * tests/bench-complexity.scm:
19538 * tests/bench-mass_elements.scm:
19539 * tests/complexity.c:
19540 * tests/complexity.gnuplot:
19541 * tests/instantiate/.cvsignore:
19542 * tests/instantiate/Makefile.am:
19543 * tests/instantiate/caps.c:
19544 * tests/mass_elements.c:
19545 * tests/network-clock-utils.scm:
19546 * tests/network-clock.scm:
19548 First pass at cleaning up tests/ dir before moving the rest
19549 Combined with CVS surgery
19551 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19554 queue has moved, update
19556 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19558 * docs/gst/gstreamer-sections.txt:
19559 remove double entries from the docs
19560 * gst/gst_private.h:
19561 * gst/gstinfo.c: (_gst_debug_init):
19562 remove the THREAD debug category
19566 * docs/gst/gstreamer.types:
19567 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19568 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19569 completely move queue and fix up debugging categories
19571 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19573 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19574 make initialization portable, using LL is not
19576 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19578 * win32/common/gstconfig.h:
19581 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19583 * win32/common/libgstreamer.def:
19584 rename symbols; sort base section
19586 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19588 * gst/gstclock.c: (do_linear_regression):
19589 remove crack non-portable handrolled DEBUG macro
19591 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19593 * docs/random/release:
19595 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19596 (gst_object_flags_get_type), (register_gst_bin_flags),
19597 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19598 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19599 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19600 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19601 (gst_caps_flags_get_type), (register_gst_clock_return),
19602 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19603 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19604 (gst_clock_flags_get_type), (register_gst_state),
19605 (gst_state_get_type), (register_gst_state_change_return),
19606 (gst_state_change_return_get_type), (register_gst_state_change),
19607 (gst_state_change_get_type), (register_gst_element_flags),
19608 (gst_element_flags_get_type), (register_gst_core_error),
19609 (gst_core_error_get_type), (register_gst_library_error),
19610 (gst_library_error_get_type), (register_gst_resource_error),
19611 (gst_resource_error_get_type), (register_gst_stream_error),
19612 (gst_stream_error_get_type), (register_gst_event_type_flags),
19613 (gst_event_type_flags_get_type), (register_gst_event_type),
19614 (gst_event_type_get_type), (register_gst_seek_type),
19615 (gst_seek_type_get_type), (register_gst_seek_flags),
19616 (gst_seek_flags_get_type), (register_gst_format),
19617 (gst_format_get_type), (register_gst_index_certainty),
19618 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19619 (gst_index_entry_type_get_type),
19620 (register_gst_index_lookup_method),
19621 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19622 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19623 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19624 (gst_index_flags_get_type), (register_gst_debug_level),
19625 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19626 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19627 (gst_iterator_result_get_type), (register_gst_iterator_item),
19628 (gst_iterator_item_get_type), (register_gst_message_type),
19629 (gst_message_type_get_type), (register_gst_mini_object_flags),
19630 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19631 (gst_pad_link_return_get_type), (register_gst_flow_return),
19632 (gst_flow_return_get_type), (register_gst_activate_mode),
19633 (gst_activate_mode_get_type), (register_gst_pad_direction),
19634 (gst_pad_direction_get_type), (register_gst_pad_flags),
19635 (gst_pad_flags_get_type), (register_gst_pad_presence),
19636 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19637 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19638 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19639 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19640 (gst_plugin_flags_get_type), (register_gst_rank),
19641 (gst_rank_get_type), (register_gst_query_type),
19642 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19643 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19644 (gst_tag_flag_get_type), (register_gst_task_state),
19645 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19646 (gst_alloc_trace_flags_get_type),
19647 (register_gst_type_find_probability),
19648 (gst_type_find_probability_get_type), (register_gst_uri_type),
19649 (gst_uri_type_get_type), (register_gst_parse_error),
19650 (gst_parse_error_get_type):
19651 * win32/common/gstenumtypes.h:
19652 * win32/common/gstversion.h:
19653 update visual studio generated files
19655 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19657 * win32/vs6/libgstbase.dsp:
19658 * win32/vs6/libgstelements.dsp:
19659 update project files for new locations
19661 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19666 reinstate and update
19671 * docs/random/LICENSE:
19674 2005-11-30 Edward Hervey <edward@fluendo.com>
19676 * gst/gsttypefind.c: (gst_type_find_register):
19677 * gst/gsttypefind.h:
19678 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19679 (gst_type_find_factory_dispose):
19680 * gst/gsttypefindfactory.h:
19681 Fix memory leak in GstTypeFindFactory.
19683 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19686 * plugins/elements/Makefile.am:
19687 * plugins/elements/gstelements.c:
19688 * plugins/elements/gstqueue.c:
19689 move queue from core to the elements plugin
19691 2005-11-29 Andy Wingo <wingo@pobox.com>
19693 * libs/gst/base/gstbasetransform.h:
19694 * libs/gst/base/gstbasesrc.h:
19695 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19697 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19698 of pointers by which to pad very extensible base classes (like the
19699 ones in libs/gst/base).
19701 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19703 * docs/gst/gstreamer-docs.sgml:
19704 * docs/gst/gstreamer-sections.txt:
19705 * docs/libs/gstreamer-libs-docs.sgml:
19706 * docs/libs/gstreamer-libs-sections.txt:
19707 moving documentation from core to lib
19709 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19711 * check/Makefile.am:
19713 * docs/gst/Makefile.am:
19715 * gst/base/.cvsignore:
19716 * gst/base/Makefile.am:
19718 * gst/base/gstadapter.c:
19719 * gst/base/gstadapter.h:
19720 * gst/base/gstbasesink.c:
19721 * gst/base/gstbasesink.h:
19722 * gst/base/gstbasesrc.c:
19723 * gst/base/gstbasesrc.h:
19724 * gst/base/gstbasetransform.c:
19725 * gst/base/gstbasetransform.h:
19726 * gst/base/gstcollectpads.c:
19727 * gst/base/gstcollectpads.h:
19728 * gst/base/gstpushsrc.c:
19729 * gst/base/gstpushsrc.h:
19730 * gst/base/gsttypefindhelper.c:
19731 * gst/base/gsttypefindhelper.h:
19732 * gst/check/Makefile.am:
19733 * gst/check/gstcheck.c:
19734 * gst/check/gstcheck.h:
19735 * gst/net/Makefile.am:
19736 * gst/net/gstnet.h:
19737 * gst/net/gstnetclientclock.c:
19738 * gst/net/gstnetclientclock.h:
19739 * gst/net/gstnettimepacket.c:
19740 * gst/net/gstnettimepacket.h:
19741 * gst/net/gstnettimeprovider.c:
19742 * gst/net/gstnettimeprovider.h:
19743 * libs/gst/Makefile.am:
19744 * libs/gst/base/Makefile.am:
19745 * libs/gst/base/gstbasetransform.c:
19746 * libs/gst/check/Makefile.am:
19747 * plugins/elements/Makefile.am:
19749 CVS surgery + support to move base, check, and net out of gst
19752 2005-11-29 Andy Wingo <wingo@pobox.com>
19754 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19756 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19759 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19761 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19763 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19765 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19766 padding; reduces object size by about 30%. We don't expect
19767 anything else to go into gstobject.
19769 * gst/gstminiobject.h (struct _GstMiniObject)
19770 (struct _GstMiniObjectClass): Only one pointer of padding; the
19771 payload is only a pointer and two ints anyway. For the class there
19772 are only two methods as well.
19774 * gst/gstelement.h (struct _GstElementClass): Removed
19775 the state_changed signal callback, it is not used.
19777 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19779 * docs/gst/gstreamer.types:
19780 fix includes, though they are a little dinky
19782 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19784 * check/Makefile.am:
19785 look in the right place for elements, a lot more chance of
19788 remove indexers and elements subdirs
19789 * plugins/Makefile.am:
19790 make indexers conditional
19792 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19796 * plugins/elements/Makefile.am:
19797 * plugins/elements/gstcapsfilter.c:
19798 * plugins/elements/gstfilesink.c:
19799 * plugins/elements/gstfilesrc.c:
19800 * plugins/elements/gstidentity.c:
19801 * plugins/indexers/Makefile.am:
19802 do CVS surgery and related build fixery to move elements
19803 and indexers in a new gstreamer/plugins directory, out of the
19806 2005-11-29 Andy Wingo <wingo@pobox.com>
19808 * check/Makefile.am:
19809 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19810 * pkgconfig/gstreamer-net.pc.in:
19811 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19814 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19816 * tools/Makefile.am:
19817 * tools/gst-complete.1.in:
19818 * tools/gst-complete.c:
19819 * tools/gst-compprep.1.in:
19820 * tools/gst-compprep.c:
19821 removing -compprep and -complete
19823 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19825 * gst/gstevent.c: (gst_event_new_new_segment),
19826 (gst_event_parse_new_segment):
19828 fix #320529 - clean up new_segment API and structure.
19829 Let's hope everyone was using the methods, and not the structure.
19831 2005-11-29 Edward Hervey <edward@fluendo.com>
19833 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19834 (gst_base_sink_event), (gst_base_sink_do_sync),
19835 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19836 Properly handle non GST_FORMAT_TIME segment
19837 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19838 Properly handle non GST_FORMAT_TIME segment
19839 * gst/gstsegment.c:
19840 This function is valid if the accumulator is 0 and the format
19841 is different from the requested format.
19843 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19845 * docs/gst/gstreamer-sections.txt:
19846 Add gst_query_new_seeking and gst_query_parse_seeking to the
19849 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19851 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19852 Treat a pad alloc with new caps the same as if we were not
19853 negotiated, in order to allow a changing upstream output
19854 to produce a new format of data.
19856 2005-11-29 Edward Hervey <edward@fluendo.com>
19858 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19859 (gst_base_transform_event), (gst_base_transform_eventfunc):
19860 The event virtual method is now properly implemented, with a default
19862 Sub classes should call the parent_class event method. They should
19863 return FALSE if they had a problem handling the given event, or don't
19864 want GstBaseTransform to send that even downstream
19865 * gst/elements/gstidentity.c: (gst_identity_class_init),
19866 (gst_identity_init), (gst_identity_event),
19867 (gst_identity_transform_ip), (gst_identity_set_property),
19868 (gst_identity_get_property):
19869 * gst/elements/gstidentity.h:
19870 Added the single-segment boolean property.
19871 If set to TRUE, it will output a single segment of data, starting from
19872 0, will eat up all incoming newsegment, and modify the timestamp of the
19873 buffers accordingly
19875 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19877 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19878 Don't ref NULL target pad (#322751). Improve docs.
19880 2005-11-29 Michael Smith <msmith@fluendo.com>
19882 * gst/gstregistryxml.c: (load_plugin):
19883 Don't crash if we failed to load a feature from a plugin.
19885 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19887 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19889 use more check API and less GLib API
19891 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19894 don't run checks if we don't have check
19895 * common/check.mak:
19896 remove the registry when running make torture
19897 * docs/gst/gstreamer-sections.txt:
19898 remove second multiply
19899 * gst/gstqueue.c: (gst_queue_loop):
19900 fix a compile warning when disabling debug
19902 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19905 Hey! Let's print the pad name if the pointer != NULL instead
19906 of when it == NULL :-)
19908 2005-11-28 Wim Taymans <wim@fluendo.com>
19910 * check/gst/gstutils.c: (GST_START_TEST):
19911 Updated check, add some scaling accuracy checking code.
19913 * gst/gstutils.c: (gst_util_div128_64),
19914 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19915 (gst_util_uint64_scale_int):
19916 Fix 6 times faster division code. Optimize for common
19917 1/1 and less common X/1 cases.
19919 2005-11-28 Wim Taymans <wim@fluendo.com>
19921 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19924 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19925 (do_linear_regression), (gst_clock_add_observation):
19927 Release lock when the clock cannot be slaved.
19928 Catch the case where the regression returned an invalid denominator.
19930 * gst/gstutils.c: (gst_util_div128_64_iterate),
19931 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19932 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19933 Add protentially more performant non-iterative 128/64 divide function
19934 that unfortunatly does not work yet.
19935 Shortcut the trivial 0/X = 0 case.
19936 Remove the warnings on overflow.
19938 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19940 * gst/gstplugin.c: (gst_plugin_register_func):
19941 everything causing a plugin not to load should be at least a WARNING
19943 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19945 * docs/random/ensonic/dparams.txt:
19946 some TODOs for the next dev cycle
19947 * libs/gst/controller/gstcontroller.c:
19948 (gst_controlled_property_set_interpolation_mode),
19949 (gst_controlled_property_new):
19950 * libs/gst/controller/gstcontroller.h:
19951 use base type to assign acccessor functions
19953 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19955 * check/Makefile.am:
19956 Oops, that should have been top_srcdir
19958 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19960 * check/Makefile.am:
19961 * check/elements/fdsrc.c: (GST_START_TEST):
19962 Use a cmdline define to specify the location of a file to use for
19963 testing, to avoid breaking distcheck.
19965 2005-11-28 Andy Wingo <wingo@pobox.com>
19967 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19969 2005-11-28 Edward Hervey <edward@fluendo.com>
19971 * tools/gst-launch.c: (main):
19972 Clarify the output strings, makes it easier to translate.
19975 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19978 don't try and build net if we don't even have <sys/socket.h>
19980 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19982 * check/Makefile.am:
19983 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19984 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19985 Add tests for fdsrc seekability
19987 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19988 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19989 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19990 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19991 * gst/elements/gstfdsrc.h:
19992 fdsrc should not be a 'live' source.
19993 Implement seeking on seekable fd's.
19995 * gst/gstquery.c: (gst_query_new_seeking),
19996 (gst_query_parse_seeking):
19998 Implement SEEKING query functions:
19999 *_new_seeking and *_parse_seeking
20001 2005-11-27 Stefan Kost <ensonic@users.sf.net>
20003 * gst/gstelement.c: (gst_element_dispose):
20006 * gst/gstiterator.c:
20007 * gst/gststructure.c:
20010 * libs/gst/controller/gstcontroller.c:
20011 (gst_controlled_property_set_interpolation_mode):
20012 * libs/gst/controller/gstcontroller.h:
20013 * libs/gst/controller/gstinterpolation.c:
20014 (interpolate_none_get_enum_value_array):
20015 support controlling enums
20017 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
20020 Improve documentation for gst_value_union().
20023 Change return value for union, intersect and subtract functions
20024 from gint to gboolean.
20026 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
20028 * gst/gstvalue.c: (gst_value_serialize_any_list),
20029 (gst_value_transform_any_list_string),
20030 (gst_value_deserialize_list), (gst_value_deserialize_array),
20031 (gst_value_set_int_range), (gst_value_deserialize_int_range),
20032 (gst_value_set_double_range), (gst_value_deserialize_double_range),
20033 (gst_value_set_fraction_range_full),
20034 (gst_value_deserialize_fraction_range),
20035 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20036 (gst_value_deserialize_boolean),
20037 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20038 (gst_value_serialize_float), (gst_value_deserialize_float),
20039 (gst_string_wrap), (gst_value_deserialize_string),
20040 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20041 (gst_value_union_int_range_int_range),
20042 (gst_value_intersect_int_range_int_range),
20043 (gst_value_intersect_double_range_double_range),
20044 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20045 (gst_value_subtract_int_range_int_range),
20046 (gst_value_subtract_double_double_range),
20047 (gst_value_subtract_double_range_double_range),
20048 (gst_value_deserialize_fraction):
20050 Use gint, gdouble and gchar in our API instead of int, double and
20051 char (and make usage in gstvalue.c more consistent).
20053 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20055 * check/Makefile.am:
20056 * libs/gst/controller/Makefile.am:
20057 * libs/gst/dataprotocol/Makefile.am:
20058 fix up Makefile.am and remove GST_ENABLE_NEW
20060 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20064 * gst/base/Makefile.am:
20065 * gst/check/Makefile.am:
20066 * gst/elements/Makefile.am:
20067 * gst/net/Makefile.am:
20068 update LDFLAGS use some more
20070 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20072 * common/m4/gst-doc.m4:
20075 2005-11-26 Edward Hervey <edward@fluendo.com>
20077 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20078 This shouldn't issue a g_warning since it returns NULL if it
20079 couldn't find the plugin, and all functions using this behave
20080 properly on a NULL return. Switching to a GST_WARNING.
20082 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
20084 * gst/gstbin.c: (gst_bin_handle_message_func):
20085 Don't leak clock messages.
20087 2005-11-25 Wim Taymans <wim@fluendo.com>
20089 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20090 (gst_util_uint64_scale_int):
20091 Optimisations, remove unneeded vars.
20093 2005-11-25 Wim Taymans <wim@fluendo.com>
20095 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20096 Added more checks for the high precision uint64 cases.
20098 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20099 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20100 Implement high precision (guint64 * guint64) / guint64.
20102 2005-11-24 Wim Taymans <wim@fluendo.com>
20104 * gst/base/gstbasesrc.c: (gst_base_src_query):
20105 Fix wrong percentage query.
20107 * gst/gstutils.c: (gst_util_uint64_scale),
20108 (gst_util_uint64_scale_int):
20109 Add some more common cases that can be handled
20110 efficiently to _scale.
20112 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20114 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20115 (gst_mini_object_suite):
20116 don't use check calls from threads; check probably isn't
20117 threadsafe and using a lock to make it threadsafe would
20118 defeat the purpose of this check
20119 * gst/check/gstcheck.c:
20120 * gst/check/gstcheck.h:
20121 use GST_DEBUG some more
20123 2005-11-24 Wim Taymans <wim@fluendo.com>
20125 * gst/gstutils.c: (gst_util_uint64_scale),
20126 (gst_util_uint64_scale_int):
20127 Chain trivial case to _scale_int.
20129 2005-11-24 Wim Taymans <wim@fluendo.com>
20131 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20132 Added test for scaling.
20137 * gst/gstutils.c: (gst_util_uint64_scale_int):
20138 Implemented high precision scaling code.
20140 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20143 do not crash on pad==NULL
20145 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20147 Patch by: Stefan Kost
20149 * common/gtk-doc.mak:
20150 * docs/gst/Makefile.am:
20151 * docs/libs/Makefile.am:
20152 Fix distcheck issues for the libraries docs build
20155 2005-11-24 Michael Smith <msmith@fluendo.com>
20157 * docs/manual/basics-helloworld.xml:
20158 Fix bug #315027: memory leak in example code in docs.
20160 2005-11-24 Michael Smith <msmith@fluendo.com>
20162 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20163 Unlock the PREROLL_LOCK in a failure case.
20165 2005-11-24 Wim Taymans <wim@fluendo.com>
20167 * docs/gst/gstreamer-sections.txt:
20168 * gst/base/gstadapter.h:
20169 * gst/base/gstbasesink.h:
20170 * gst/base/gstbasesrc.h:
20171 * gst/base/gstbasetransform.h:
20172 * gst/base/gstpushsrc.h:
20173 * gst/elements/gstfakesink.h:
20174 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20175 * gst/elements/gstfakesrc.h:
20176 * gst/elements/gstfilesink.h:
20177 * gst/elements/gstfilesrc.h:
20180 * gst/gstbuffer.c: (_gst_buffer_copy):
20183 * gst/gstchildproxy.c:
20185 * gst/gstelement.c:
20186 * gst/gstelementfactory.c:
20187 * gst/gstelementfactory.h:
20189 * gst/gstghostpad.h:
20191 * gst/gstinterface.h:
20192 * gst/gstminiobject.c:
20193 * gst/gstminiobject.h:
20196 * gst/gstpadtemplate.h:
20197 * gst/gstpipeline.h:
20198 * gst/gstpluginfeature.h:
20201 * gst/gsttaglist.c:
20202 * gst/gsttaglist.h:
20203 * gst/gsttagsetter.c:
20204 * gst/gsttagsetter.h:
20207 * gst/gsttypefind.h:
20210 * gst/net/gstnetclientclock.c:
20211 * gst/net/gstnetclientclock.h:
20212 * gst/net/gstnettimepacket.c:
20213 * gst/net/gstnettimeprovider.c:
20214 * gst/net/gstnettimeprovider.h:
20217 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20219 * configure.ac: back to HEAD
20221 === release 0.9.6 ===
20223 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20226 releasing 0.9.6, "Always On Time"
20228 2005-11-23 Wim Taymans <wim@fluendo.com>
20230 * docs/gst/gstreamer-sections.txt:
20231 * gst/glib-compat.c:
20232 * gst/gsttagsetter.c:
20234 * gst/net/gstnetclientclock.c:
20235 * gst/net/gstnettimepacket.h:
20238 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20240 * docs/faq/using.xml:
20241 * docs/libs/tmpl/gstcontrol.sgml:
20242 * docs/manual/advanced-dparams.xml:
20243 * docs/manual/appendix-checklist.xml:
20244 * docs/manual/basics-elements.xml:
20245 * docs/pwg/other-source.xml:
20246 * docs/random/moving-plugins:
20248 * tools/gst-launch.1.in:
20249 remove mentions of sinesrc
20251 2005-11-23 Michael Smith <msmith@fluendo.com>
20253 * docs/gst/gstreamer-sections.txt:
20254 Update for new API and API changes.
20256 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20258 Documentation typo fix.
20259 * gst/net/gstnettimepacket.c:
20260 Documentation fixes for arguments.
20262 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20264 * gst/gststructure.c: (gst_structure_get_fraction),
20265 (gst_structure_parse_value),
20266 (gst_structure_fixate_field_nearest_fraction):
20267 * gst/gststructure.h:
20268 * gst/gstutils.c: (gst_util_uint64_scale_int):
20270 * scripts/update-funcnames:
20272 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20273 Make gst_structure_fixate_field_nearest_fraction take a numerator
20274 and denominator argument instead of a GValue
20275 add gst_structure_get_fraction helper function.
20277 2005-11-23 Wim Taymans <wim@fluendo.com>
20279 * docs/design/part-TODO.txt:
20282 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20283 * gst/net/gstnetclientclock.h:
20284 Use parent fields for timeout and window_size.
20286 2005-11-23 Andy Wingo <wingo@pobox.com>
20288 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20289 rate_num/rate_denom change.
20291 * gst/net/gstnetclientclock.c
20292 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20293 OBJECT_LOCK. Don't call add_observation with the lock.
20295 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20297 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20299 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20300 deal with rate as a fraction whose numerator and denominator are
20301 GstClockTime values.
20302 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20303 master; the other fields are protected by the SLAVE_LOCK.
20304 (do_linear_regression): Note that this must be called with the
20306 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20307 OBJECT_LOCK. Call set_calibration instead of touching the
20308 variables directly.
20309 (gst_clock_set_property, gst_clock_get_property): Protect
20310 master/slave parameters with the SLAVE_LOCK.
20312 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20313 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20314 note that all of the instance variables that add_observation and
20315 the set_master functions use are protected by that lock and not
20317 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20319 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20320 the caller to take the object lock.
20322 2005-11-23 Wim Taymans <wim@fluendo.com>
20324 * gst/gsterror.c: (_gst_core_errors_init):
20326 Add error for clock stuff.
20328 * gst/gstpipeline.c: (gst_pipeline_change_state),
20329 (gst_pipeline_set_clock):
20330 Post clock error when clock cannot be used in a pipeline.
20332 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20334 * docs/gst/gstreamer-sections.txt:
20335 make two symbols from gstinfo private for the docs
20336 * gst/base/gstcollectpads.h:
20338 fix doc typos, update docs
20340 2005-11-22 Wim Taymans <wim@fluendo.com>
20342 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20343 (gst_base_sink_wait), (gst_base_sink_do_sync),
20344 (gst_base_sink_handle_event):
20345 * gst/base/gstbasesink.h:
20346 No need to store the clock, the parent element class already
20349 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20350 Updates for clock_set returning a gboolean
20352 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20353 (gst_clock_id_wait_async), (gst_clock_class_init),
20354 (gst_clock_init), (gst_clock_finalize),
20355 (gst_clock_get_internal_time), (gst_clock_get_time),
20356 (gst_clock_slave_callback), (gst_clock_set_master),
20357 (gst_clock_get_master), (do_linear_regression),
20358 (gst_clock_add_observation), (gst_clock_set_property),
20359 (gst_clock_get_property):
20361 Implement master/slave. When setting a clock as a slave, a
20362 periodic timeout is scheduled to sample master and slave times.
20363 Then the slave clock is recalibrated to match offset and rate
20364 of the master clock.
20365 Update logging a bit.
20366 Add flag so that a clock can state that is cannot be slaved to
20369 * gst/gstelement.c: (gst_element_set_clock):
20370 * gst/gstelement.h:
20371 The set clock returns a gboolean for when an element cannot
20372 deal with the selected clock in the pipeline.
20374 * gst/gstpipeline.c: (gst_pipeline_change_state),
20375 (gst_pipeline_set_clock):
20376 * gst/gstpipeline.h:
20377 Handle the case where the selected clock cannot be set on
20380 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20381 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20382 (gst_net_client_clock_set_property),
20383 (gst_net_client_clock_get_property),
20384 (gst_net_client_clock_observe_times):
20385 * gst/net/gstnetclientclock.h:
20386 Use regression code in GstClock parent, remove duplicated
20389 2005-11-22 Michael Smith <msmith@fluendo.com>
20391 * gst/gstutils.c: (gst_util_clock_time_scale):
20393 * docs/gst/gstreamer-sections.txt:
20394 Rename method to have extra underscore.
20396 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20398 * gst/elements/Makefile.am:
20399 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20400 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20401 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20402 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20403 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20404 * gst/elements/gstfakesrc.h:
20405 * gst/gstqueue.c: (queue_leaky_get_type):
20406 correctly fix GEnumValues so that nick is the short lowercase
20408 * tools/gst-inspect.c: (print_element_properties_info):
20409 also show the nick, since it's useful to use from parse_launch
20413 2005-11-22 Michael Smith <msmith@fluendo.com>
20415 * gst/gstutils.c: (gst_util_clocktime_scale):
20417 * docs/gst/gstreamer-sections.txt:
20418 Add util method for scaling a clocktime by a fraction. Useful
20419 implementation is left as an exercise for the reader.
20421 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20423 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20424 If needed, allocate storage in the destination value during
20427 2005-11-22 Edward Hervey <edward@fluendo.com>
20429 * docs/gst/gstreamer-sections.txt:
20432 * gst/gsturitype.c:
20433 * gst/gsturitype.h:
20434 * gst/gstutils.c: (gst_util_set_object_arg):
20435 * tools/gst-compprep.c: (main):
20436 * tools/gst-inspect.c: (print_element_properties_info):
20437 Removed GstURI, closes bug #321061
20439 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20441 * check/gst/gststructure.c: (GST_START_TEST):
20442 * gst/gststructure.c: (gst_structure_parse_value):
20443 Oops, broke automatic string type parsing.
20444 Add a test to catch it in future.
20446 2005-11-22 Andy Wingo <wingo@pobox.com>
20448 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20449 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20450 Actually rename the function implementations. Grr.
20452 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20454 * check/gst/capslist.h:
20456 * check/gst/gststructure.c: (GST_START_TEST),
20457 (gst_structure_suite):
20458 Test automatic value type detection in gst_structure_from_string.
20459 * gst/gststructure.c: (gst_structure_parse_value):
20460 Add fraction as a type we try and guess automatically in
20461 caps/structure strings.
20463 2005-11-22 Andy Wingo <wingo@pobox.com>
20465 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20467 * gst/gsttagsetter.h:
20468 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20469 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20470 (gst_tag_setter_add_tag_valist)
20471 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20472 _add_values, _add_valist, and _add_valist_values. Since this is an
20473 interface the function suffixes should be more explicit so
20474 language binding don't end up with element.add_valist ->
20475 gst_tag_setter_add_valist, for example. Fixes #322069.
20477 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20479 * check/gst/gstcaps.c: (GST_START_TEST):
20480 Extend caps string tests to check that a caps to string
20481 conversion is reversible and produces the same caps.
20483 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20484 Output "fraction" as the generic type fraction range, so caps
20485 serialisation and deserialisation works.
20486 * check/gst/capslist.h:
20487 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20488 Support 'MIN' and 'MAX' for deserialising fractions.
20490 2005-11-22 Andy Wingo <wingo@pobox.com>
20492 * gst/gstevent.h (gst_event_new_new_segment)
20493 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20494 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20495 Renamed from *_newsegment, *_buffersize, *_notarget.
20497 * scripts/update-funcnames: New script, performs the changes
20500 2005-11-22 Wim Taymans <wim@fluendo.com>
20502 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20503 Make sure the GstFlowReturn is returned.
20505 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20506 (gst_bus_add_signal_watch):
20508 add gst_bus_add_signal_watch_full.
20510 * gst/gstplugin.c: (gst_plugin_load_file):
20511 Small style cleanup.
20513 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20515 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20516 Block the fakesrc srcpad when we send an event, to avoid
20517 contention on the stream_lock causing random test failures.
20519 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20521 * check/gst/gstvalue.c: (GST_START_TEST):
20522 * gst/gstvalue.c: (gst_value_fraction_subtract):
20525 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20528 include "gstchildproxy.h"
20529 * gst/gstchildproxy.h:
20530 * libs/gst/controller/gstcontroller.h:
20531 use G_GNUC_NULL_TERMINATED
20533 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20535 * check/gst/capslist.h:
20536 * check/gst/gstcaps.c: (GST_START_TEST):
20537 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20538 * gst/gststructure.c: (gst_structure_parse_range),
20539 (gst_structure_fixate_field_nearest_fraction):
20540 * gst/gststructure.h:
20541 * gst/gstvalue.c: (gst_value_init_fraction_range),
20542 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20543 (gst_value_collect_fraction_range),
20544 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20545 (gst_value_set_fraction_range_full),
20546 (gst_value_get_fraction_range_min),
20547 (gst_value_get_fraction_range_max),
20548 (gst_value_serialize_fraction_range),
20549 (gst_value_transform_fraction_range_string),
20550 (gst_value_compare_fraction_range),
20551 (gst_value_deserialize_fraction_range),
20552 (gst_value_intersect_fraction_fraction_range),
20553 (gst_value_intersect_fraction_range_fraction_range),
20554 (gst_value_subtract_fraction_fraction_range),
20555 (gst_value_subtract_fraction_range_fraction),
20556 (gst_value_subtract_fraction_range_fraction_range),
20557 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20558 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20559 (gst_value_transform_string_fraction), (_gst_value_initialize):
20561 Implement fraction ranges and extend GstFraction to support
20562 arithmetic subtraction, as well as deserialization from integer
20563 strings such as "100"
20564 Add a testsuite as for int and double range set operations
20566 2005-11-21 Andy Wingo <wingo@pobox.com>
20568 * gst/gsttaglist.h:
20570 * gst/gststructure.h: Add glib-compat.h.
20572 2005-11-21 Wim Taymans <wim@fluendo.com>
20574 * gst/gstbin.c: (gst_bin_change_state_func):
20577 2005-11-21 Wim Taymans <wim@fluendo.com>
20579 * gst/gstsegment.h:
20580 And add a nice define too.
20582 2005-11-21 Wim Taymans <wim@fluendo.com>
20584 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20585 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20586 (gst_segment_set_duration), (gst_segment_set_last_stop),
20587 (gst_segment_set_seek), (gst_segment_set_newsegment),
20588 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20589 (gst_segment_clip):
20590 * gst/gstsegment.h:
20591 Make binding friendly.
20593 2005-11-21 Andy Wingo <wingo@pobox.com>
20595 * gst/gsttagsetter.h:
20596 * gst/gsttaglist.h:
20597 * gst/gststructure.h:
20599 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20602 * gst/gsterror.c (_gst_core_errors_init):
20603 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20606 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20607 (noinst_HEADERS): noinst the -private.
20609 2005-11-21 Michael Smith <msmith@fluendo.com>
20612 * gst/gstregistry.h:
20613 Remove unimplemented declarations for which we can see no sensible
20616 2005-11-21 Andy Wingo <wingo@pobox.com>
20618 * gst/gst.h: Include glib-compat.h.
20620 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20622 * gst/glib-compat.c: Include the public and the private header.
20624 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20628 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20630 * check/gst/gstevent.c (create_custom_events): Check that
20631 FLUSH_STOP is serialized.
20633 * check/elements/identity.c (event_func):
20634 * check/elements/fakesrc.c (event_func): No stream lock, the core
20637 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20638 stream lock taking, yay.
20640 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20641 ensure that core takes the stream lock.
20643 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20646 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20647 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20648 it already. For the flush start we do take it though so we get the
20649 right preroll state change messages.
20651 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20652 the stream lock here, the core does it for us.
20654 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20655 GST_STREAM_GET_LOCK.
20656 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20657 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20658 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20659 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20660 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20661 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20663 * gst/gstpad.c: Update for stream lock name change.
20665 * gst/base/gstbasesink.c: Update for preroll lock name change.
20667 2005-11-21 Wim Taymans <wim@fluendo.com>
20669 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20670 (gst_clock_get_master):
20672 * gst/gstsystemclock.c: (gst_system_clock_init):
20673 Convert Clock flags to object flags.
20674 Added methods to manage master/slave clocks.
20676 2005-11-21 Wim Taymans <wim@fluendo.com>
20678 * check/gst/gstsegment.c: (GST_START_TEST):
20679 * docs/design/part-TODO.txt:
20680 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20681 (gst_base_sink_event), (gst_base_sink_do_sync),
20682 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20683 (gst_base_sink_query), (gst_base_sink_change_state):
20684 * gst/base/gstbasesink.h:
20685 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20686 (gst_base_src_default_newsegment),
20687 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20688 (gst_base_src_get_range), (gst_base_src_loop),
20689 (gst_base_src_change_state):
20690 * gst/base/gstbasesrc.h:
20691 * gst/base/gstbasetransform.c:
20692 (gst_base_transform_prepare_output_buf),
20693 (gst_base_transform_event), (gst_base_transform_change_state):
20694 * gst/base/gstbasetransform.h:
20695 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20696 (gst_collect_pads_event):
20697 * gst/base/gstcollectpads.h:
20698 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20699 (gst_fake_src_create):
20700 * gst/elements/gstfakesrc.h:
20701 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20702 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20703 (gst_segment_set_last_stop), (gst_segment_set_seek),
20704 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20705 (gst_segment_to_running_time), (gst_segment_clip):
20706 * gst/gstsegment.h:
20707 More segment updates, replace code in plugins with segment
20710 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20712 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20713 Don't ignore sscanf results
20715 2005-11-21 Andy Wingo <wingo@pobox.com>
20717 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20720 * *.c: Ran scripts/update-macros. Oh yes.
20722 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20723 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20726 * scripts/update-macros: New script. Run it on your files to
20727 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20730 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20732 * docs/gst/Makefile.am:
20733 * docs/gst/gstreamer-docs.sgml:
20734 * docs/gst/gstreamer-sections.txt:
20735 * docs/gst/gstreamer.types:
20737 more docs fixes, add new api to the docs
20739 2005-11-21 Andy Wingo <wingo@pobox.com>
20741 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20742 state_broadcast call.
20744 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20746 2005-11-21 Julien MOUTTE <julien@moutte.net>
20748 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20749 function calls for arrays.
20751 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20753 * docs/random/ensonic/media-device-daemon.txt:
20754 wild idea, can this be done?
20755 * docs/gst/gstreamer-sections.txt:
20760 * gst/gstpluginfeature.c:
20764 doc fixes and additions
20766 2005-11-21 Andy Wingo <wingo@pobox.com>
20768 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20769 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20770 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20771 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20772 private to the basesrc implementation.
20774 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20775 behalf of event function if necessary. It should no longer be
20776 necessary to take the stream lock in pad's event functions. Fixes
20779 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20780 * docs/gst/gstreamer-sections.txt:
20781 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20782 (gst_structure_fixate_field_nearest_double),
20783 (gst_structure_fixate_field_boolean):
20784 * gst/gststructure.h:
20785 * win32/common/libgstreamer.def:
20786 * win32/gstreamer.def:
20788 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20791 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20793 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20794 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20795 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20796 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20797 (gst_fdsrc_uri_handler_init):
20798 * gst/elements/gstfdsrc.h:
20799 Port fd:// URI handler from 0.8 to fdsrc
20801 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20803 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20804 (gst_value_serialize_fourcc):
20806 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20807 consistent with our other format defines (#320324).
20809 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20811 * gst/gstvalue.c: (gst_value_is_fixed):
20812 Revert previous commit. Value lists are by definition
20813 not fixed, as they are a list of possible values.
20815 2005-11-21 Andy Wingo <wingo@pobox.com>
20817 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20818 during the stable series if we need it. Fixes #319178.
20820 * gst/gstevent.c (gst_event_new_filler): Removed.
20822 * check/gst/gstevent.c: Update comment about filler events.
20824 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20826 * gst/gstvalue.c: (gst_value_is_fixed):
20827 Should handle both value arrays and value lists.
20829 2005-11-21 Andy Wingo <wingo@pobox.com>
20831 patch by: Alessandro Dessina <alessandro nnva org>
20833 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20834 functions to access arrays. Fixes #321962.
20836 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20838 * docs/gst/gstreamer.types:
20839 gst_collectpads_get_type => gst_collect_pads_get_type.
20841 * gst/base/gstbasetransform.c:
20842 Remove unused SIGNAL_HANDOFF enum.
20844 2005-11-21 Andy Wingo <wingo@pobox.com>
20846 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20847 the event type (upstream, downstream, serialized). Renamed
20848 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20849 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20850 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20852 * gst/gstevent.c: Update for new CUSTOM event names.
20854 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20857 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20860 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20862 * docs/gst/gstreamer-sections.txt:
20863 * win32/common/libgstbase.def:
20864 * win32/libgstbase.def:
20865 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20866 (gst_collect_pads_class_init), (gst_collect_pads_init),
20867 (gst_collect_pads_finalize), (gst_collect_pads_new),
20868 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20869 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20870 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20871 (gst_collect_pads_start), (gst_collect_pads_stop),
20872 (gst_collect_pads_peek), (gst_collect_pads_pop),
20873 (gst_collect_pads_available), (gst_collect_pads_read),
20874 (gst_collect_pads_flush), (gst_collect_pads_event),
20875 (gst_collect_pads_chain):
20876 * gst/base/gstcollectpads.h:
20877 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20878 unimplemented functions as unimplemented. Add padding to
20879 GstCollectData. (#320766, #320423)
20881 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20883 * gst/gstmessage.c:
20884 Improve docs for DURATION message (usage of duration parameter)
20887 2005-11-20 Wim Taymans <wim@fluendo.com>
20889 * check/Makefile.am:
20890 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20894 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20895 (gst_segment_set_seek), (gst_segment_set_newsegment),
20896 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20897 (gst_segment_clip):
20898 * gst/gstsegment.h:
20899 Added segment helper structure and methods. Not fully implemented
20901 Added segment check.
20903 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20905 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20906 Add a deserialisation test for fractions
20907 * examples/metadata/read-metadata.c: (message_loop),
20908 (make_pipeline), (main):
20909 Fix up metadata reading sample.
20910 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20912 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20913 Don't try and fixate empty caps
20914 * gst/gst_private.h:
20915 Wrap in G_BEGIN_DECLS/G_END_DECLS
20916 * gst/gstvalue.c: (gst_value_collect_fraction),
20917 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20918 (gst_value_transform_string_fraction),
20919 (gst_value_compare_fraction):
20920 Add some extra guards to ensure that we don't end up
20921 with an invalid denominator of 0 in a gstfraction and
20922 that fractions always get reduced.
20924 2005-11-20 Wim Taymans <wim@fluendo.com>
20926 * docs/gst/gstreamer-sections.txt:
20928 * gst/gstelement.c:
20937 2005-11-20 Wim Taymans <wim@fluendo.com>
20939 * docs/design/part-TODO.txt:
20941 Make a proper enum of the flag.
20943 2005-11-19 Wim Taymans <wim@fluendo.com>
20945 * docs/design/part-TODO.txt:
20946 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20947 (gst_format_to_quark), (gst_format_register):
20949 * gst/gstquery.c: (_gst_query_initialize),
20950 (gst_query_type_get_name), (gst_query_type_to_quark),
20951 (gst_query_type_register):
20953 Add type to quark and type to string conversions.
20955 2005-11-19 Andy Wingo <wingo@pobox.com>
20957 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20960 2005-11-19 Wim Taymans <wim@fluendo.com>
20962 * docs/design/part-TODO.txt:
20963 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20964 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20965 (gst_bin_handle_message_func):
20967 Make message handling overridable.
20969 2005-11-19 Andy Wingo <wingo@pobox.com>
20971 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20974 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20976 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20977 is a GstClockTime. Fixes #321710.
20979 * gst/gstclock.h (GstClock): Remove offset property. Add
20980 internal_calibration and external_calibration. Fix padding. Pad
20981 also by GstClockTime so we don't run into problems.
20983 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20984 (gst_clock_get_rate_offset): Remove.
20985 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20988 * gst/gstutils.c (g_static_rec_cond_wait)
20989 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20991 * gst/gstbin.c: Remove terrible continue_state prototype.
20993 * gst/gstelement.h (gst_element_continue_state): Make public.
20995 * gst/gstelement.h:
20996 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20997 by continue_state. Fixes #319389.
20999 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21000 Really fixes #168438. However I don't see anywhere where the
21001 filter function is called... stupid GStreamer...
21003 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21004 don't have a dispose function, so it won't get called when the
21005 object is unreffed, but oh well!
21007 * gst/gstindex.c (gst_index_set_filter_full): New API function,
21008 allows a destroy function to be set so user_data can be freed.
21010 (gst_index_set_filter): Call gst_index_set_filter_full.
21012 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21014 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21015 string should produce an error, given the lack of a way to
21016 represent NULL strings. Fixes #165650.
21019 * gst/gstvalue.c (gst_value_array_append_value)
21020 (gst_value_array_prepend_value, gst_value_array_get_size)
21021 (gst_value_array_get_value): New API, copied from
21022 gst_value_list_*, only operates on arrays.
21023 (gst_value_list_append_value, gst_value_list_prepend_value)
21024 (gst_value_list_concat, gst_value_list_get_size)
21025 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21027 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21028 init_list, because it works on both.
21029 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21030 (gst_value_copy_list_or_array): Renamed from copy_list.
21031 (gst_value_free_list_or_array): Renamed from free_list.
21032 (gst_value_collect_list_or_array): Renamed from collect_list.
21033 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21034 (gst_value_list_or_array_peek_pointer): Renamed from
21036 (_gst_value_array_value_table, _gst_value_list_value_table):
21037 Update value table functions.
21038 (gst_value_compare_list_or_array): Renamed from compare_list.
21040 * gsttaglist.h: Whoops, foreach function returns void. Also fix
21043 * gst/gsttaglist.c:
21044 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21045 GstTagList*. Fixes #143472.
21047 * gst/gststructure.h: Clarify what the foreach/map functions can
21048 or can't do to their arguments.
21050 2005-11-18 Wim Taymans <wim@fluendo.com>
21052 * gst/gstclock.c: (gst_clock_set_calibration),
21053 (gst_clock_get_calibration):
21055 Calibration can be set with internal time equal to current
21058 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
21064 2005-11-18 Andy Wingo <wingo@pobox.com>
21067 * pkgconfig/gstreamer-net.pc.in:
21068 * pkgconfig/gstreamer-net-uninstalled.pc.in:
21069 * pkgconfig/Makefile.am: Add net pkgconfig files.
21071 2005-11-18 Stefan Kost <ensonic@users.sf.net>
21074 * gst/gstghostpad.c:
21080 2005-11-18 Andy Wingo <wingo@pobox.com>
21082 * gst/net/gstnetclientclock.c: Turn off debugging.
21084 * check/net/gstnetclientclock.c (test_functioning): Assert that the
21085 times connverge somewhat. Can't make a real test.
21087 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21088 integer arithmetic. Return the minimum of the domain, which can be
21089 set as "internal" for gst_clock_set_calibration.
21090 (gst_net_client_clock_observe_times): Call _set_calibration.
21091 (gst_net_client_clock_new): Call _set_calibration instead of
21094 * check/net/gstnetclientclock.c (test_functioning): Use the right
21098 * gst/gstclock.c (gst_clock_get_calibration)
21099 (gst_clock_set_calibration): New functions, obsolete the ones I
21100 added yesterday. Doh. Precision issues mean we have to extrapolate
21101 from a point in the more recent past than 1970.
21102 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21104 (gst_clock_adjust_unlocked): Use the right calibration data.
21106 2005-11-18 Edward Hervey <edward@fluendo.com>
21108 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21109 Also reset the ->current_* values in READY->PAUSED
21111 2005-11-18 Andy Wingo <wingo@pobox.com>
21113 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21114 Whoops, check the right fd. Also add some debugging.
21115 (gst_net_client_clock_observe_times): Adjust for int64 offset.
21116 (do_linear_regression): Add a crapload of debugging. Subtract off
21117 the minimum values from the input series to discard unneeded bits.
21118 Use only int arithmetic. There is still double arithmetic when
21119 calculating the intercept that needs fixing. Return boolean to
21120 indicate success; FALSE would mean the domain or range is too
21121 great. Still needs fixes.
21123 2005-11-18 Wim Taymans <wim@fluendo.com>
21125 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21126 For the current position in stream time, we need to subtract
21129 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21130 Release lock before calling the callback function of async
21133 2005-11-18 Andy Wingo <wingo@pobox.com>
21135 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21136 Port goes all the way to MAXUINT16.
21138 * gst/net/gstnettimeprovider.c: Make the port range the same as
21139 for the kernel: 0 assigns, otherwise ports are less than
21142 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21145 * check/net/gstnetclientclock.c (test_functioning): Add the start
21148 2005-11-18 Wim Taymans <wim@fluendo.com>
21150 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21151 (gst_bin_remove_func), (bin_bus_handler):
21153 Removing a clock provider from a bin, triggers a clock lost message
21154 so that a new clock will be selected.
21155 Adding a clock to a bin triggers a clock provider message.
21156 Make sure we reselect a clock when we received a clock lost message.
21157 Keep a reference to the element that provided the clock.
21159 2005-11-18 Andy Wingo <wingo@pobox.com>
21161 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21162 the clock initially so it produces values around the base time.
21163 (gst_net_client_clock_class_init): Typo fix.
21164 (gst_net_client_clock_thread): Add note on when the socket gets
21167 2005-11-17 Wim Taymans <wim@fluendo.com>
21169 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21170 Free remote and local time arrays.
21172 2005-11-17 Wim Taymans <wim@fluendo.com>
21174 * gst/net/gstnetclientclock.c: (do_linear_regression),
21175 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21176 Fix compilation, uninitialized vars and a forgotten continue.
21178 2005-11-17 Andy Wingo <wingo@pobox.com>
21180 * check/Makefile.am (check_PROGRAMS):
21181 * check/net/gstnetclientclock.c: Add a most minimal test for the
21182 net client clock. More to come later.
21184 * gst/net/gstnet.h:
21185 * gst/net/Makefile.am: Add netclientclock.
21187 * gst/net/gstnetclientclock.h:
21188 * gst/net/gstnetclientclock.c: New files, implement an untested
21189 GstClock that takes its time from a network time provider.
21190 Implements the algorithm in network-clock.scm.
21192 * tests/network-clock.scm (*window-size*): Rename from
21194 * tests/network-clock.scm (network-time):
21195 * tests/network-clock-utils.scm (q-push): Update callers.
21197 2005-11-17 Wim Taymans <wim@fluendo.com>
21199 * gst/gstbin.c: (gst_bin_provide_clock_func),
21200 (gst_bin_sort_iterator_new):
21201 And unref the child too..
21203 2005-11-17 Wim Taymans <wim@fluendo.com>
21205 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21206 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21207 Refactor the sort iterator so it can be used while holding the
21209 Make clock selection select a clock closest to the source.
21211 2005-11-17 Michael Smith <msmith@fluendo.com>
21213 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21214 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21216 Anonymous structs are a gcc (and some other compilers) extension, so
21217 don't use them. Since this is only for ABI-compatibility, and our
21218 API/ABI freeze is over in a few days, this whole thing will only
21219 last a few days, so don't bother trying to think up a meaningful
21220 name for the struct.
21222 2005-11-17 Andy Wingo <wingo@pobox.com>
21224 * gst/gstclock.h (GstClock): Add rate and offset properties,
21225 preserving ABI stability. Add rate/offset accessors. Will file bug
21226 for the freeze break.
21228 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21229 and offset, trying to keep precision and avoiding
21230 underflow/overflow.
21231 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21232 functions. Make gst_clock_set_time_adjust obsolete.
21233 (gst_clock_set_time_adjust): Note that this function is obsolete.
21234 Will file bug soon.
21236 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21237 greppable by using GST_PADDING-1+1.
21239 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21241 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21243 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21244 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21246 * gst/gstpadtemplate.h:
21247 * gst/gstpluginfeature.h:
21248 Don't use c++ style comments in headers (#321638).
21250 2005-11-16 Andy Wingo <wingo@pobox.com>
21252 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21255 * check/net/gstnettimeprovider.c: Check to see that the time
21256 provider actually provides times. Works, yo!
21258 2005-11-16 Wim Taymans <wim@fluendo.com>
21260 * check/Makefile.am:
21263 * check/elements/fakesrc.c: (GST_START_TEST):
21264 Set element to NULL before disposing it.
21266 2005-11-16 Andy Wingo <wingo@pobox.com>
21268 * gst/net/Makefile.am:
21269 * gst/net/gstnet.h:
21270 * gst/net/gstnettimeprovider.c:
21271 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21272 provider, include it from gstnet.h, and add it to the build.
21274 * gst/net/gstnettimepacket.h:
21275 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21276 sending and receiving.
21278 2005-11-16 Wim Taymans <wim@fluendo.com>
21280 * check/Makefile.am:
21281 Enable valgrind check.
21283 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21284 (gst_fake_src_alloc_buffer):
21287 2005-11-16 Wim Taymans <wim@fluendo.com>
21289 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21290 Call parent finalize too.
21292 2005-11-16 Wim Taymans <wim@fluendo.com>
21294 * check/Makefile.am:
21295 Enable valgrind check that should work fine now.
21297 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21298 * gst/gstqueue.c: (gst_queue_init):
21299 Fix memleaks in pad allocation.
21301 2005-11-16 Andy Wingo <wingo@pobox.com>
21303 * gst/net/Makefile.am:
21304 * gst/net/gstnet.h: New part of core to hold network elements and
21305 objects. Put in core because it exposes API that applications want
21306 to use. The library is named libgstnet-tempname right now because
21307 of the existing libgstnet in gst-plugins-base. Solution is
21308 probably to rename the one in plugins-base; will file a bug for
21311 * gst/net/gstnettimeprovider.c:
21312 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21313 get_time call over the network.
21316 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21318 * check/Makefile.am:
21319 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21320 get additions shortly.
21322 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21324 * gst/gstpad.c: (gst_pad_new_from_static_template):
21326 add gst_pad_new_from_static_template functions
21327 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21328 (gst_check_setup_sink_pad):
21329 * gst/elements/gsttee.c: (gst_tee_init):
21332 2005-11-16 Wim Taymans <wim@fluendo.com>
21334 * gst/gstpad.c: (gst_pad_pause_task):
21335 Removed warning, it's not really an error either.
21337 2005-11-16 Wim Taymans <wim@fluendo.com>
21339 * gst/base/gstbasetransform.c:
21340 (gst_base_transform_prepare_output_buf),
21341 (gst_base_transform_event):
21342 Check if the caps are NULL, this can happen if the element
21343 is shutting down and the pad caps are set to NULL.
21345 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21347 * gst/elements/gsttee.c: (gst_tee_init):
21348 fix pad template leak in tee
21350 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21352 * gst/glib-compat.c: (g_value_dup_gst_object):
21353 * gst/glib-compat.h:
21354 * gst/gstpad.c: (gst_pad_set_property):
21355 use gst_object_ref when setting the pad template; this will
21356 trigger the pad template leaks on GLib 2.6 and the slaves
21358 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21360 * gst/glib-compat.c: (gst_flags_get_first_value):
21361 * gst/glib-compat.h:
21362 * gst/gstregistryxml.c:
21363 remove functions copied from GLib 2.6
21365 2005-11-16 Michael Smith <msmith@fluendo.com>
21368 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21369 do, but only breaks with newer valgrind versions. We're not a
21370 valgrind tool, we have no link-time dependencies on libcoregrind.
21372 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21374 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21376 * gst/gstmessage.h:
21379 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21381 * gst/base/gstbasesrc.c: (gst_base_src_init):
21382 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21383 * gst/gstqueue.c: (gst_queue_init):
21384 * gst/gstregistryxml.c: (load_feature):
21385 Revert all these unrefs, they don't even pass make check !
21387 2005-11-15 Johan Dahlin <johan@gnome.org>
21389 * gst/base/gstbasesrc.c: (gst_base_src_init):
21390 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21391 * gst/gstqueue.c: (gst_queue_init):
21392 Free pad templates, fixes a couple of leaks.
21394 2005-11-15 Daniel Fischer <dan at f3c dot com>
21396 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21398 * gst/gstpad.c: (gst_pad_get_property):
21399 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21400 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21403 2005-11-15 Wim Taymans <wim@fluendo.com>
21408 2005-11-15 Andy Wingo <wingo@pobox.com>
21410 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21412 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21413 using GST_CLOCK_TIME_NONE to disable base time management.
21414 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21415 time if it was NONE before.
21416 (gst_pipeline_change_state): Only munge the base time if
21417 stream_time != GST_CLOCK_TIME_NONE.
21419 * check/gst/gstpipeline.c (test_base_time): Punt around the
21420 problem of the probe not being called, because that's not the
21421 issue I'm looking at. Add a check that setting stream_time to NONE
21422 disables base time management.
21424 2005-11-15 Wim Taymans <wim@fluendo.com>
21426 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21427 segment_stop == -1 at startup.
21429 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21430 (gst_base_transform_change_state):
21431 Init segment values at start.
21433 2005-11-15 Wim Taymans <wim@fluendo.com>
21435 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21436 0 segment values are 0 in any format.
21438 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21439 * gst/base/gstbasetransform.h:
21440 Parse newsegment correctly in basetransform
21442 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21443 Sync to clock using updated segment values.
21445 2005-11-15 Andy Wingo <wingo@pobox.com>
21447 * check/gst/gstpipeline.c (test_base_time): Add check that the
21448 base time and stream time are reset correctly.
21450 2005-11-15 Wim Taymans <wim@fluendo.com>
21452 * docs/design/part-TODO.txt:
21453 Some more TODO items.
21455 2005-11-15 Andy Wingo <wingo@pobox.com>
21457 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21458 error if the user selected "no clock" as the clocking method.
21460 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21461 timestamps with live capture.
21463 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21464 is 0 but we are a live source, timestamp the buffers using the
21467 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21469 * docs/gst/gstreamer-sections.txt:
21471 * gst/gstghostpad.c:
21476 2005-11-14 Wim Taymans <wim@fluendo.com>
21479 add suppressions from Wim's Debian machine
21481 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21484 add suppressions from Andy's AMD64 Ubuntu machine
21486 2005-11-14 Andy Wingo <wingo@pobox.com>
21488 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21489 STATE_LOCK not necessary. Fixes #311489.
21491 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21494 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21495 this function is not implemented.
21497 2005-11-14 Julien MOUTTE <julien@moutte.net>
21499 * gst/base/gstbasetransform.c:
21500 (gst_base_transform_prepare_output_buf):
21501 Ref the source pad caps while we need them.
21504 2005-11-11 Wim Taymans <wim@fluendo.com>
21506 * docs/gst/gstreamer-sections.txt:
21507 Added some docs for GstCollectData.
21509 * gst/base/gstadapter.c:
21510 Some small code example fix.
21512 * gst/base/gstcollectpads.c:
21513 * gst/base/gstcollectpads.h:
21514 Document some more.
21516 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21518 * configure.ac: back to HEAD
21520 === release 0.9.5 ===
21522 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21525 releasing 0.9.5, "Bike Lunch Day"
21527 2005-11-11 Wim Taymans <wim@fluendo.com>
21529 * gst/gstbuffer.c: (_gst_buffer_copy):
21532 * gst/gstcaps.c: (gst_caps_is_equal):
21534 Make _is_equal fast in the trivial cases.
21536 * gst/gstminiobject.c:
21537 * gst/gstminiobject.h:
21538 More docs. Spifify .h file.
21543 2005-11-11 Wim Taymans <wim@fluendo.com>
21545 * gst/base/gstbasetransform.c:
21546 (gst_base_transform_prepare_output_buf),
21547 (gst_base_transform_handle_buffer):
21549 If we're processing a buffer and need to allocate an output
21550 buffer, we cannot accept a format change. If we did get a
21551 format change, we have to alloc a buffer ourselves of the
21554 2005-11-11 Wim Taymans <wim@fluendo.com>
21556 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21557 While checking the flag for reentrancy in the gstcaps function
21558 is nice to detect recursive invocations, it also makes it
21559 impossible to call getcaps from multiple threads, which must be
21560 possible. So, checking for recursive calls has to go.
21562 2005-11-11 Michael Smith <msmith@fluendo.com>
21564 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21565 Don't sync on buffers that fall partially outside our current
21566 segment. Prevents an assertion failure/abort playing some files.
21568 2005-11-10 Andy Wingo <wingo@pobox.com>
21570 * check/gst/gstbin.c (test_message_state_changed_children): Style
21573 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21574 gst_bus_poll with the signal watch. Ensures that poll and a signal
21575 watch see the same messages.
21577 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21578 a poll and a watch at the same time get the same messages.
21580 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21582 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21583 * gst/gstcaps.c: (gst_caps_intersect):
21584 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21585 and it's not needed.
21587 2005-11-10 Wim Taymans <wim@fluendo.com>
21589 * docs/design/part-TODO.txt:
21592 2005-11-10 Wim Taymans <wim@fluendo.com>
21594 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21595 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21596 (gst_base_src_do_sync), (gst_base_src_get_range):
21597 Implement clock sync in base class.
21599 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21601 patch by: Tim-Philipp Müller <tim at centricular dot net>
21603 * gst/gststructure.c: (gst_structure_parse_field),
21604 (gst_structure_from_string):
21605 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21606 so that gst_parse_launch() can deal with spaces in filtered link
21607 caps (fixes #164479)
21608 * check/gst/capslist.h:
21609 * check/gst/gststructure.c: (GST_START_TEST):
21610 add unit tests for this change
21612 2005-11-10 Wim Taymans <wim@fluendo.com>
21614 * docs/gst/gstreamer-sections.txt:
21615 * gst/gstelement.c:
21616 * gst/gstelement.h:
21617 Fix docs, move some STATE macros to private.
21619 2005-11-10 Wim Taymans <wim@fluendo.com>
21621 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21622 Added check for bug #317341
21626 Some more spiffifying.
21628 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21629 Call peer linkfunction if we are a source pad. Totally fixes
21633 Update docs, source pads should call the peer linkfunction
21634 so they can atomically perform the pad link.
21636 2005-11-09 Wim Taymans <wim@fluendo.com>
21640 Uber-spiffy-spiffify some more.
21642 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21644 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21645 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21646 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21647 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21648 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21649 * gst/gstpad.c: (gst_pad_init):
21650 Use GST_DEBUG_FUNCPTR() more extensively.
21652 2005-11-09 Wim Taymans <wim@fluendo.com>
21654 * gst/gstobject.c: (gst_object_class_init):
21656 Documentation fixes.
21658 2005-11-09 Edward Hervey <edward@fluendo.com>
21660 * gst/gsttypefindfactory.c:
21663 2005-11-09 Edward Hervey <edward@fluendo.com>
21665 * gst/base/gsttypefindhelper.c:
21666 * gst/gsttypefind.c:
21667 * gst/gsttypefind.h:
21670 2005-11-09 Wim Taymans <wim@fluendo.com>
21672 * gst/gstiterator.c:
21679 2005-11-09 Wim Taymans <wim@fluendo.com>
21685 2005-11-09 Wim Taymans <wim@fluendo.com>
21687 * docs/gst/gstreamer-sections.txt:
21688 Moved the message async delivery private lock and cond
21689 to the private section.
21691 * gst/gstmessage.c:
21692 * gst/gstmessage.h:
21695 2005-11-09 Edward Hervey <edward@fluendo.com>
21697 * docs/gst/gstreamer-sections.txt:
21700 Document GstURIHandler
21702 2005-11-09 Wim Taymans <wim@fluendo.com>
21704 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21705 (gst_iterator_find_custom):
21706 * gst/gstiterator.h:
21709 2005-11-09 Wim Taymans <wim@fluendo.com>
21712 Document another field.
21714 * gst/gststructure.c:
21715 * gst/gststructure.h:
21718 2005-11-09 Wim Taymans <wim@fluendo.com>
21721 Documented structs.
21723 2005-11-09 Wim Taymans <wim@fluendo.com>
21725 * docs/gst/gstreamer-sections.txt:
21726 Added some new macros.
21733 2005-11-09 Wim Taymans <wim@fluendo.com>
21735 * docs/design/part-TODO.txt:
21736 Some more items for the TODO
21742 2005-11-09 Andy Wingo <wingo@pobox.com>
21744 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21745 to work on something else now tho...
21747 * gst/base/gstadapter.c: More adapter docs.
21749 * gst/elements/gstfilesink.c (gst_file_sink_start)
21750 (gst_file_sink_stop): New functions, replace the state change
21752 (gst_file_sink_class_init): Hook up the start and stop functions.
21753 (gst_file_sink_base_init): Don't set the state change handler any
21754 more. It was a bit ugly too, being set from here...
21755 (gst_file_sink_get_property, gst_file_sink_set_property):
21757 (gst_file_sink_set_location): More robust check that doesn't call
21758 GST_STATE. Ugggggg.
21760 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21762 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21763 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21765 2005-11-08 Wim Taymans <wim@fluendo.com>
21767 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21768 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21769 (gst_base_sink_chain), (gst_base_sink_change_state):
21770 * gst/base/gstbasesink.h:
21771 * gst/base/gstbasesrc.h:
21772 * gst/gstelement.h:
21774 Avoid excessive typechecking in macros.
21776 * gst/gstminiobject.c: (gst_mini_object_get_type),
21777 (gst_mini_object_init), (gst_mini_object_new),
21778 (gst_mini_object_free):
21779 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21780 (gst_object_finalize):
21781 Remove cruft code, optimize alloc_trace.
21783 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21785 * docs/faq/gst-uninstalled:
21786 fix up PS1 for systems that try to reset it
21788 2005-11-07 Wim Taymans <wim@fluendo.com>
21790 * gst/base/gstbasesrc.c: (gst_base_src_init),
21791 (gst_base_src_get_range):
21792 Set the segment_end to -1 initially. Fixed typefind.
21794 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21796 * gst/base/gstadapter.c:
21797 Debug category should be 'adapter', not 'GstAdapter'.
21799 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21800 (gst_collectpads_class_init), (gst_collectpads_init),
21801 (gst_collectpads_peek), (gst_collectpads_pop),
21802 (gst_collectpads_event), (gst_collectpads_chain):
21803 Add debug category and some debugging output. Use boilerplate
21804 macros. Remove some extraneous words from docs.
21806 2005-11-05 Andy Wingo <wingo@pobox.com>
21808 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21811 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21813 * docs/gst/gstreamer-sections.txt:
21816 * gst/gstminiobject.h:
21821 2005-11-04 Wim Taymans <wim@fluendo.com>
21823 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21824 Small update to stop at the configured segment_end
21827 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21829 * gst/gstregistry.c:
21830 * gst/gstregistry.h:
21833 2005-11-04 Edward Hervey <edward@fluendo.com>
21835 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21836 Check if we are doing a segment seek and have arrived at the
21837 end of that segment.
21839 2005-11-04 Wim Taymans <wim@fluendo.com>
21841 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21842 Don't leak a mutex unlock in case of an error.
21847 2005-11-04 Wim Taymans <wim@fluendo.com>
21849 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21851 Get the context to wake up only once.
21853 2005-11-03 Wim Taymans <wim@fluendo.com>
21855 * check/states/sinks.c: (GST_START_TEST):
21856 Uncomment fixed check.
21858 * docs/design/part-TODO.txt:
21861 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21862 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21863 (gst_base_sink_get_position):
21864 If we are going to PLAYING, post the right pending state
21865 when we post the intermediate paused message.
21867 * gst/gstelement.c: (gst_element_continue_state),
21868 (gst_element_set_state_func), (gst_element_change_state):
21869 Don't post state changes that were between the same state
21870 and were not ASYNC.
21872 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21874 * docs/gst/gstreamer-sections.txt:
21877 * gst/gstminiobject.h:
21880 more docs and doc style fixes
21882 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21884 * docs/gst/gstreamer-sections.txt:
21885 * gst/gstelement.c:
21886 * gst/gstminiobject.c:
21889 2005-11-03 Andy Wingo <wingo@pobox.com>
21891 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21892 state-changed messages actually have the right order and the right
21895 2005-11-03 Wim Taymans <wim@fluendo.com>
21897 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21898 Added some more checks. Specifically the case where NO_PREROLL
21899 elements are in the pipeline.
21901 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21902 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21903 (gst_base_sink_get_position):
21904 Post READY->PAUSED state change messages too.
21905 Fix bug where VOID was posted as pending state...
21907 * gst/gstbin.c: (gst_bin_recalc_state):
21908 use _element_continue_state() to continue the state change.
21910 * gst/gstelement.c: (gst_element_continue_state),
21911 (gst_element_commit_state), (gst_element_set_state_func),
21912 (gst_element_change_state), (gst_element_change_state_func):
21913 Lots of state change cleanups, assign the STATE_RETURN in
21914 a new continue_state() function that also propagates the
21915 last return value from a state change to the app.
21916 Update some debug statements with proper category.
21918 2005-11-03 Wim Taymans <wim@fluendo.com>
21920 * docs/design/part-events.txt:
21921 * docs/design/part-gstpipeline.txt:
21922 * docs/design/part-messages.txt:
21923 * docs/design/part-overview.txt:
21924 * docs/design/part-seeking.txt:
21925 * docs/design/part-states.txt:
21926 * docs/design/part-trickmodes.txt:
21927 * docs/manual/advanced-position.xml:
21928 Small docs updates.
21931 People think !! is ugly, this looks better.
21933 * gst/gstpad.c: (gst_pad_set_blocked_async):
21934 Remove !! since it's fixed elsewhere now.
21936 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21938 * gst/gstminiobject.h:
21940 Add !! to _FLAG_IS_SET macros to make the result boolean.
21942 2005-11-03 Edward Hervey <edward@fluendo.com>
21944 * gst/gstpad.c: (gst_pad_set_blocked_async):
21945 comparing a flag and a gboolean rarely returns coherent results...
21946 Added two characters (!!) to make that work correctly.
21948 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21950 * gst/gstbus.c: (gst_bus_class_init):
21953 * gst/gstqueue.c: (gst_queue_loop):
21954 Don't assume a miniobject that isn't a buffer is an
21955 event (it could be that there is a refcounting
21956 problem somewhere and the pointer is stale and
21957 refers to an already destroyed miniobject).
21959 2005-11-03 Julien MOUTTE <julien@moutte.net>
21961 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21963 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21965 * docs/manual/advanced-position.xml:
21966 Update seek example and explanations to current 0.9 API.
21968 * gst/elements/gsttypefindelement.c:
21969 (gst_type_find_element_activate):
21970 Remove FIXME comment now that the found caps
21973 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21975 * gst/gstregistryxml.c: (load_feature):
21976 Add another GST_STR_NULL instance
21978 2005-11-02 Edward Hervey <edward@fluendo.com>
21980 * gst/gstpad.c: (handle_pad_block):
21981 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21983 2005-11-02 Wim Taymans <wim@fluendo.com>
21988 * gst/gstelement.c: (gst_element_commit_state):
21989 Remove unused value.
21991 * gst/gstiterator.c:
21992 Mention that the returned element is reffed in the docs.
21994 2005-11-02 Wim Taymans <wim@fluendo.com>
21996 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21997 (gst_pad_push), (gst_pad_push_event):
21998 Unlock blocked pads when they are flushed.
22000 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22003 * docs/gst/gstreamer-sections.txt:
22006 * gst/gstregistry.c: (gst_registry_scan_path_level):
22007 fix for a nasty little missed situation where an installed plug-in
22008 which was in the cache did not get overridden by an uninstalled one
22009 which was earlier in the plugin path because the newly created plugin
22010 for the uninstalled one (not in the registry) didn't get its
22011 ->registered set to TRUE
22013 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
22015 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22016 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22017 (gst_collectpads_is_active), (gst_collectpads_collect),
22018 (gst_collectpads_collect_range), (gst_collectpads_start),
22019 (gst_collectpads_stop), (gst_collectpads_peek),
22020 (gst_collectpads_pop), (gst_collectpads_available),
22021 (gst_collectpads_read), (gst_collectpads_flush):
22022 Guard public API with assertions.
22025 Fix docs for gst_pad_set_link_function().
22027 2005-11-02 Johan Dahlin <johan@gnome.org>
22029 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
22030 Unref found_caps after we used it.
22032 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
22034 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22035 Don't try to ref NULL.
22037 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22039 * win32/common/config.h.in:
22040 provide a GST_FUNCTION that just gives a string for now
22042 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
22044 * win32/common/gstenumtypes.c: (register_gst_object_flags),
22045 (gst_object_flags_get_type), (register_gst_bin_flags),
22046 (gst_bin_flags_get_type), (register_gst_buffer_flag),
22047 (gst_buffer_flag_get_type), (register_gst_bus_flags),
22048 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22049 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22050 (gst_clock_return_get_type), (register_gst_clock_entry_type),
22051 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22052 (gst_clock_flags_get_type), (register_gst_state),
22053 (gst_state_get_type), (register_gst_state_change_return),
22054 (gst_state_change_return_get_type), (register_gst_state_change),
22055 (gst_state_change_get_type), (register_gst_element_flags),
22056 (gst_element_flags_get_type), (register_gst_core_error),
22057 (gst_core_error_get_type), (register_gst_library_error),
22058 (gst_library_error_get_type), (register_gst_resource_error),
22059 (gst_resource_error_get_type), (register_gst_stream_error),
22060 (gst_stream_error_get_type), (register_gst_event_type),
22061 (gst_event_type_get_type), (register_gst_seek_type),
22062 (gst_seek_type_get_type), (register_gst_seek_flags),
22063 (gst_seek_flags_get_type), (register_gst_format),
22064 (gst_format_get_type), (register_gst_index_certainty),
22065 (gst_index_certainty_get_type), (register_gst_index_entry_type),
22066 (gst_index_entry_type_get_type),
22067 (register_gst_index_lookup_method),
22068 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22069 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22070 (gst_index_resolver_method_get_type), (register_gst_index_flags),
22071 (gst_index_flags_get_type), (register_gst_debug_level),
22072 (gst_debug_level_get_type), (register_gst_debug_color_flags),
22073 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22074 (gst_iterator_result_get_type), (register_gst_iterator_item),
22075 (gst_iterator_item_get_type), (register_gst_message_type),
22076 (gst_message_type_get_type), (register_gst_mini_object_flags),
22077 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22078 (gst_pad_link_return_get_type), (register_gst_flow_return),
22079 (gst_flow_return_get_type), (register_gst_activate_mode),
22080 (gst_activate_mode_get_type), (register_gst_pad_direction),
22081 (gst_pad_direction_get_type), (register_gst_pad_flags),
22082 (gst_pad_flags_get_type), (register_gst_pad_presence),
22083 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22084 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22085 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22086 (gst_plugin_error_get_type), (register_gst_plugin_flags),
22087 (gst_plugin_flags_get_type), (register_gst_rank),
22088 (gst_rank_get_type), (register_gst_query_type),
22089 (gst_query_type_get_type), (register_gst_tag_merge_mode),
22090 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22091 (gst_tag_flag_get_type), (register_gst_task_state),
22092 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22093 (gst_alloc_trace_flags_get_type),
22094 (register_gst_type_find_probability),
22095 (gst_type_find_probability_get_type), (register_gst_uri_type),
22096 (gst_uri_type_get_type), (register_gst_parse_error),
22097 (gst_parse_error_get_type):
22098 * win32/common/gstversion.h:
22099 update win32 copies
22101 2005-11-01 Luca Ognibene <luogni@tin.it>
22104 fix docs. popt is dead, long live GOption.
22106 2005-10-31 Wim Taymans <wim@fluendo.com>
22111 2005-10-31 Andy Wingo <wingo@pobox.com>
22115 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22117 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22118 need to serialize property notifications on GLib 2.8. GLib 2.6 has
22119 the possibility of deadlocks here if code calling notify() or
22120 set() has a lock that can be taken in another notify handler (ABBA
22121 with class lock and e.g. python GIL state lock).
22123 2005-10-28 Julien MOUTTE <julien@moutte.net>
22125 * gst/gstbus.c: Doc updates.
22127 2005-10-28 Wim Taymans <wim@fluendo.com>
22129 * docs/design/part-TODO.txt:
22130 * gst/gstiterator.c:
22131 * gst/gstsystemclock.c:
22132 * gst/gstsystemclock.h:
22135 2005-10-28 Edward Hervey <edward@fluendo.com>
22137 * docs/gst/gstreamer-docs.sgml:
22138 * docs/gst/gstreamer-sections.txt:
22139 the GstURIType documentation page is private, it only defines GstURIType
22140 which should be defined in the GstURIHandler page
22142 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22144 * gst/gstbin.c: (gst_bin_class_init):
22147 Documentation updates.
22149 2005-10-28 Wim Taymans <wim@fluendo.com>
22151 * docs/gst/gstreamer-sections.txt:
22154 Documented the clocks.
22156 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22158 * docs/gst/gstreamer-sections.txt:
22159 move some macros to private sections
22160 * gst/gstminiobject.c:
22161 * gst/gstminiobject.h:
22162 add descriptions provided by ds and some more
22164 mark macro as to be removed
22166 2005-10-28 Wim Taymans <wim@fluendo.com>
22168 * docs/design/part-TODO.txt:
22169 Add an item to TODO.
22171 * gst/gstiterator.c: (gst_iterator_fold),
22172 (gst_iterator_find_custom):
22173 * gst/gstiterator.h:
22176 2005-10-28 Wim Taymans <wim@fluendo.com>
22178 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22179 (gst_base_transform_init):
22182 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22183 An EOS event marks the queue as completely filled.
22185 2005-10-27 Wim Taymans <wim@fluendo.com>
22187 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22188 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22189 Some more debugging.
22191 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22192 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22193 (gst_base_transform_event), (gst_base_transform_getrange),
22194 (gst_base_transform_chain):
22195 * gst/base/gstbasetransform.h:
22197 Protect transform and concurrent buffer alloc with a new lock.
22198 Try not to break ABI/API.
22200 2005-10-27 Wim Taymans <wim@fluendo.com>
22202 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22203 (gst_base_src_init), (gst_base_src_query),
22204 (gst_base_src_default_newsegment),
22205 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22206 (gst_base_src_send_event), (gst_base_src_event_handler),
22207 (gst_base_src_pad_get_range), (gst_base_src_loop),
22208 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22209 (gst_base_src_start), (gst_base_src_deactivate),
22210 (gst_base_src_activate_push), (gst_base_src_change_state):
22211 Move some stuff around and cleanup things.
22213 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22215 * gst/base/gstbasesrc.c: (gst_base_src_query):
22216 Add missing break statements.
22218 2005-10-27 Wim Taymans <wim@fluendo.com>
22220 * check/gst/gstbin.c: (GST_START_TEST):
22221 An extra refcount is taken in basesrc.
22223 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22224 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22225 (gst_base_src_loop):
22226 Small cleanups, check for flushing after being unlocked from the
22227 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22228 Don't send out EOS when going to READY.
22230 2005-10-27 Wim Taymans <wim@fluendo.com>
22232 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22233 (gst_base_sink_get_position):
22236 * gst/gstbin.c: (message_check), (bin_replace_message),
22237 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22238 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22239 (bin_query_duration_init), (bin_query_duration_fold),
22240 (bin_query_duration_done), (bin_query_generic_fold),
22242 * tools/gst-launch.c: (main):
22245 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22247 * examples/controller/audio-example.c: (main):
22248 * examples/queue/queue.c: (event_loop):
22249 * gst/base/gstbasetransform.h:
22250 * gst/gstelement.c: (gst_element_send_event):
22252 * gst/gstpad.c: (gst_pad_send_event):
22255 changing log priority in error situations
22257 2005-10-25 Wim Taymans <wim@fluendo.com>
22259 * gst/gstbin.c: (message_check), (bin_replace_message),
22260 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22261 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22262 (bin_query_duration_init), (bin_query_duration_fold),
22263 (bin_query_duration_done), (bin_query_generic_fold),
22265 Some doc and debug updates.
22266 Cache previously requested query DURATION for speed. invalidate
22267 cached duration if element posts a DURATION message.
22269 2005-10-25 Wim Taymans <wim@fluendo.com>
22271 * docs/design/part-TODO.txt:
22274 * gst/gstbin.c: (message_check), (bin_replace_message),
22275 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22276 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22277 (bin_query_duration_init), (bin_query_duration_fold),
22278 (bin_query_duration_done), (bin_query_generic_fold),
22280 Handle SEGMENT_START/DONE messages correctly.
22281 More evolved query algorithm that handles duration queries
22284 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22285 (gst_element_get_state_func), (gst_element_abort_state),
22286 (gst_element_commit_state), (gst_element_lost_state):
22287 Some more debugging.
22289 * gst/gstmessage.h:
22292 2005-10-25 Wim Taymans <wim@fluendo.com>
22294 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22295 Don't use invalid stream_time.
22297 * gst/gstevent.c: (gst_event_new_newsegment):
22298 stream_time in newsegment cannot be undefined.
22300 2005-10-24 Wim Taymans <wim@fluendo.com>
22305 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22307 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22309 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22311 * docs/libs/tmpl/gstdparam.sgml:
22312 * docs/libs/tmpl/gstdplinint.sgml:
22313 * docs/libs/tmpl/gstdpman.sgml:
22314 * docs/libs/tmpl/gstdpsmooth.sgml:
22315 * docs/libs/tmpl/gstunitconvert.sgml:
22318 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22323 === release 0.9.4 ===
22325 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22328 releasing 0.9.4, "Tyrannosaurus Rex"
22330 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22332 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22333 (gst_file_sink_get_current_offset):
22334 Use fseeko() and ftello() if available. When falling back on
22335 lseek() to get the current offset, fflush() first to make sure
22336 everything is up-to-date and we get the right offset.
22338 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22340 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22341 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22342 * gst/gsterror.c: (_gst_stream_errors_init):
22344 * gst/gstqueue.c: (gst_queue_loop):
22346 remove prematurely added error category and clean up the instances
22348 2005-10-21 Wim Taymans <wim@fluendo.com>
22350 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22351 (gst_base_sink_get_position), (gst_base_sink_query),
22352 (gst_base_sink_change_state):
22353 Simply set the right flag when going to playing, that's all
22354 we need to do instead of calling a function inside the object
22355 lock (that could take the lock as well and deadlock)
22357 2005-10-21 Wim Taymans <wim@fluendo.com>
22359 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22360 (gst_base_src_loop):
22361 Don't warn, the peer element knows what to do best when
22362 the seek failed, it might try something else.
22364 2005-10-21 Wim Taymans <wim@fluendo.com>
22366 * gst/base/gstbasesrc.c: (gst_base_src_init),
22367 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22370 2005-10-21 Wim Taymans <wim@fluendo.com>
22372 * docs/design/part-segments.txt:
22375 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22376 Correctly set caps, even on the subbufer.
22378 2005-10-21 Wim Taymans <wim@fluendo.com>
22380 * docs/gst/gstreamer-docs.sgml:
22381 * docs/gst/gstreamer-sections.txt:
22382 * gst/gstelement.h:
22385 * gst/gstmessage.h:
22388 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22392 And 2% more doc coverage.
22394 2005-10-21 Andy Wingo <wingo@pobox.com>
22396 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22397 position reporting.
22399 2005-10-20 Wim Taymans <wim@fluendo.com>
22401 * gst/gsterror.c: (gst_error_get_message):
22404 * gst/gststructure.c:
22409 2005-10-20 Wim Taymans <wim@fluendo.com>
22414 Another 1% more coverage.
22416 2005-10-20 Wim Taymans <wim@fluendo.com>
22418 * docs/gst/gstreamer-sections.txt:
22419 * gst/gstelement.c: (gst_element_get_state_func),
22420 (gst_element_abort_state), (gst_element_commit_state),
22421 (gst_element_lost_state):
22423 * gst/gstquery.c: (gst_query_set_position),
22424 (gst_query_parse_position), (gst_query_set_duration),
22425 (gst_query_parse_duration), (gst_query_new_convert):
22427 Yay! 1% more docs coverage.
22429 2005-10-20 Wim Taymans <wim@fluendo.com>
22432 * gst/gstquery.c: (gst_query_set_position),
22433 (gst_query_parse_position), (gst_query_set_duration),
22434 (gst_query_parse_duration), (gst_query_new_convert):
22436 * gst/gstutils.c: (gst_element_query_convert):
22438 Docs and consistency fixes.
22440 2005-10-20 Wim Taymans <wim@fluendo.com>
22446 2005-10-20 Wim Taymans <wim@fluendo.com>
22448 * gst/gstbin.c: (message_check), (bin_replace_message),
22449 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22450 (update_degree), (gst_bin_sort_iterator_next),
22451 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22452 Reworked the message handling a bit, cache the messages instead of
22453 only the senders. alows us to do more in the future.
22455 2005-10-20 Wim Taymans <wim@fluendo.com>
22457 * docs/design/part-TODO.txt:
22460 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22461 (gst_base_sink_query):
22462 Don't use clock time to report position when in EOS.
22464 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22466 * tools/gst-inspect.c: (print_interfaces),
22467 (print_element_properties_info), (print_element_info):
22468 Fix interface output with gst-inspect -a; don't print
22469 newlines after double/float properties.
22471 2005-10-20 Wim Taymans <wim@fluendo.com>
22473 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22474 (gst_base_sink_query):
22475 Speed up current position calculation.
22477 * gst/base/gstbasesrc.c: (gst_base_src_query),
22478 (gst_base_src_default_newsegment):
22479 Correctly set stream position in newsegment.
22481 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22482 (update_degree), (gst_bin_sort_iterator_next),
22483 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22484 * gst/gstmessage.c: (gst_message_new_custom):
22485 Clean up debugging info
22487 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22488 (gst_queue_loop), (gst_queue_handle_src_query):
22491 2005-10-19 Wim Taymans <wim@fluendo.com>
22493 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22494 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22495 Fix query handling again.
22497 2005-10-19 Wim Taymans <wim@fluendo.com>
22499 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22500 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22501 * gst/base/gstbasesrc.c: (gst_base_src_query):
22502 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22503 * gst/elements/gsttypefindelement.c:
22504 (gst_type_find_handle_src_query), (find_element_get_length),
22505 (gst_type_find_element_activate):
22508 * gst/gstquery.c: (gst_query_new_position),
22509 (gst_query_set_position), (gst_query_parse_position),
22510 (gst_query_new_duration), (gst_query_set_duration),
22511 (gst_query_parse_duration), (gst_query_set_segment),
22512 (gst_query_parse_segment):
22514 Bundling query position/duration is not a good idea since duration
22515 does not change much and we don't want to recalculate it for every
22516 position query, so they are separated again..
22517 Base value in segment query is not needed.
22519 * gst/gstqueue.c: (gst_queue_handle_src_query):
22520 * gst/gstutils.c: (gst_element_query_position),
22521 (gst_element_query_duration), (gst_pad_query_position),
22522 (gst_pad_query_duration):
22524 Updates for query API change.
22525 Added some docs here and there.
22527 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22529 * check/gst/gstbin.c: (GST_START_TEST):
22530 * check/gst/gstghostpad.c: (GST_START_TEST):
22531 * check/pipelines/cleanup.c: (GST_START_TEST):
22532 wait on thread to die so we can check refcount correctly
22534 2005-10-18 Wim Taymans <wim@fluendo.com>
22536 * check/pipelines/stress.c: (GST_START_TEST):
22537 Make check a little more time consuming.
22539 2005-10-18 Wim Taymans <wim@fluendo.com>
22541 * check/Makefile.am:
22542 * check/pipelines/stress.c: (GST_START_TEST),
22543 (simple_launch_lines_suite), (main):
22544 Small state change torture test.
22546 * docs/design/part-states.txt:
22547 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22548 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22549 (gst_base_sink_change_state):
22550 Never take state lock from streaming thread, clean up ugly
22551 hacks. Unfortunatly core does not yet support nice ways to
22552 async commit state.
22554 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22556 Start state recalc if a STATE_DIRTY message is posted, but only
22557 on the toplevel bin.
22559 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22560 (gst_element_get_state_func), (gst_element_abort_state),
22561 (gst_element_commit_state), (gst_element_lost_state),
22562 (gst_element_set_state_func), (gst_element_change_state):
22563 * gst/gstelement.h:
22564 State variables are now protected with the LOCK, the state
22565 lock is only used to serialize _set_state().
22567 2005-10-18 Wim Taymans <wim@fluendo.com>
22569 * check/gst/gstbin.c: (GST_START_TEST):
22570 * check/gst/gstmessage.c: (GST_START_TEST):
22571 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22572 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22574 * gst/gstelement.c: (gst_element_abort_state),
22575 (gst_element_commit_state), (gst_element_lost_state):
22576 * gst/gstmessage.c: (gst_message_new_state_changed),
22577 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22578 (gst_message_new_segment_done), (gst_message_new_duration),
22579 (gst_message_parse_state_changed),
22580 (gst_message_parse_segment_start),
22581 (gst_message_parse_segment_done), (gst_message_parse_duration):
22582 * gst/gstmessage.h:
22583 * tools/gst-launch.c: (event_loop):
22584 Seriously, this is better than a previous commit as we only need
22585 to notify the fact that an element changed state in a streaming
22586 thread, marking the state of the parents dirty, hence the
22587 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22590 2005-10-18 Wim Taymans <wim@fluendo.com>
22592 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22593 (gst_bin_recalc_func):
22594 * gst/gstelement.c: (gst_element_set_clock),
22595 (gst_element_abort_state), (gst_element_lost_state):
22596 Cleanups, prepare for state change fixes.
22598 2005-10-18 Wim Taymans <wim@fluendo.com>
22601 * gst/gstelement.c: (gst_element_class_init),
22602 (gst_element_set_state), (gst_element_set_state_func):
22603 * gst/gstelement.h:
22604 Pending ABI changes.
22605 GThreadPool in GstBinClass to monitor async state changes.
22606 state_cookie in GstElement to detect concurrent gst/set state.
22607 set_state is now virtual too in case a very complicated element
22608 has to be constructed.
22610 2005-10-18 Wim Taymans <wim@fluendo.com>
22612 * check/gst/gstbin.c: (GST_START_TEST):
22613 * check/gst/gstmessage.c: (GST_START_TEST):
22614 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22615 * gst/gstbin.c: (bin_bus_handler):
22616 * gst/gstelement.c: (gst_element_commit_state),
22617 (gst_element_lost_state):
22618 * gst/gstmessage.c: (gst_message_new_state_changed),
22619 (gst_message_new_segment_start), (gst_message_new_segment_done),
22620 (gst_message_new_duration), (gst_message_parse_state_changed),
22621 (gst_message_parse_segment_start),
22622 (gst_message_parse_segment_done), (gst_message_parse_duration):
22623 * gst/gstmessage.h:
22624 * tools/gst-launch.c: (event_loop):
22625 Make messages future proof.
22626 state-change gets a flag if it was a message comming from the
22628 segment-start/stop can also be specified in other formats.
22629 A message to notify an app that a pipeline changed playback
22631 Also fix a GstMessage leak in -launch
22633 2005-10-18 Andy Wingo <wingo@pobox.com>
22635 * gst/gstelement.c (gst_element_dispose): More helpful message.
22637 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22639 reviewed by: <delete if not using a buddy>
22641 * common/gtk-doc.mak:
22643 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22645 * gst/gstregistry.c: (gst_registry_scan_path_level):
22646 unref a plug-in we get that was already initialized
22648 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22650 * docs/gst/gstreamer-sections.txt:
22651 * docs/libs/gstreamer-libs-sections.txt:
22652 * gst/gstelement.h:
22653 add new api entries
22654 hide internal macro
22656 2005-10-17 Andy Wingo <wingo@pobox.com>
22658 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22661 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22663 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22665 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22666 (gst_element_get_state_func): Better debug message.
22667 (gst_element_commit_state): s/INFO/DEBUG/.
22668 (gst_element_lost_state, gst_element_change_state):
22670 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22671 (gst_message_new_custom): s/INFO/LOG/.
22673 2005-10-17 Michael Smith <msmith@fluendo.com>
22675 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22676 Check if end time is valid using end time, not start time.
22678 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22680 * check/gst-libs/controller.c: (GST_START_TEST),
22681 (gst_controller_suite):
22682 * libs/gst/controller/gstcontroller.c:
22683 (gst_controlled_property_set_interpolation_mode):
22684 * libs/gst/controller/gstcontroller.h:
22685 * libs/gst/controller/gstinterpolation.c:
22686 * testsuite/controller/.cvsignore:
22687 * testsuite/controller/Makefile.am:
22688 * testsuite/controller/interpolator.c:
22689 merge controller testsuites
22691 remove mem-chunk from docs
22693 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22695 * gst/gstmemchunk.c:
22696 * gst/gstmemchunk.h:
22697 * gst/gsttrashstack.c:
22698 * gst/gsttrashstack.h:
22699 out. get out. you're fired. to the Attic !
22701 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22703 * gst/gstcaps.c: (gst_caps_intersect):
22704 fix signedness issues in a (hopefully) correct way
22705 * gst/gstelement.c: (gst_element_pads_activate):
22707 * gst/gstobject.c: (gst_object_set_parent):
22710 2005-10-17 Julien MOUTTE <julien@moutte.net>
22712 * gst/gstvalue.h: Fix prototypes.
22714 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22716 * docs/gst/gstreamer-sections.txt:
22717 * gst/gst.c: (gst_version_string):
22719 * gst/gstversion.h.in:
22720 * win32/common/libgstreamer.def:
22721 add gst_version_string ()
22723 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22727 * gst/gst.c: (init_post):
22728 * win32/common/config.h.in:
22730 * gst/gstcaps.c: (gst_caps_intersect):
22731 use gint64, the range could be bigger than a guint
22733 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22736 document potential problem in 2038
22738 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22740 * gst/gstcaps.c: (gst_caps_intersect):
22741 Fix guint j diving under 0
22743 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22746 * win32/common/config.h:
22747 * win32/common/config.h.in:
22748 check for process.h, declares getpid() on Windows
22750 include process.h if we have it
22751 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22752 * gst/gstmemchunk.h:
22753 fix signedness issues
22754 * win32/common/libgstreamer.def:
22757 2005-10-16 Julien MOUTTE <julien@moutte.net>
22759 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22760 fix. Because of unsigned ints, caps intersection was going nuts and
22761 trying to access structures with G_MAXUINT index. That fixes
22762 videotestsrc ! ffmpegcolorspace ! fakesink
22763 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22766 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22769 use the gettext macro
22770 * gst/elements/gstelements.c:
22772 * gst/indexers/gstindexers.c:
22773 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22774 * win32/common/config.h:
22776 * win32/common/config.h.in:
22777 add the template to generate config.h
22778 * win32/common/gstenumtypes.c:
22779 * win32/common/gstversion.h:
22782 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22784 * gst/gst.c: (gst_version):
22785 * gst/gstversion.h.in:
22788 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22791 Oops, add missing closing bracket.
22793 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22796 use common m4's for argument checking
22798 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22800 * docs/gst/gstreamer-sections.txt:
22802 Add GST_EVENT_TYPE_NAME() macro.
22804 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22807 * gst/gstpluginfeature.c:
22809 privatize more symbols
22811 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22814 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22815 everything that uses GStreamer API should have the includes
22817 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22819 * docs/gst/gstreamer-sections.txt:
22820 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22822 give each value a _get_type, removes the DATA exports
22824 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22828 remove _gst_registry_auto_load, not used anymore
22829 * gst/gstbin.c: (gst_bin_get_type):
22831 * gst/gstelement.c: (gst_element_get_type):
22832 * gst/gstelement.h:
22833 * gst/gstobject.c: (gst_object_get_type):
22835 * gst/gstpad.c: (gst_pad_get_type):
22837 make _get_type functions similar, fixes data export from library
22839 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22842 correctly make conditionals
22843 * gst/elements/Makefile.am:
22844 * gst/elements/gstelements.c:
22845 fix typo causing fdsrc not to build
22847 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22849 * testsuite/Makefile.am:
22850 * testsuite/bytestream/.cvsignore:
22851 * testsuite/bytestream/Makefile.am:
22852 * testsuite/bytestream/filepadsink.c:
22853 * testsuite/bytestream/gstbstest.c:
22854 * testsuite/bytestream/test1.c:
22855 * testsuite/bytestream/testfile1:
22856 * testsuite/caps/normalisation.c:
22857 * testsuite/caps/random.c: (main):
22858 * testsuite/cleanup/.cvsignore:
22859 * testsuite/cleanup/Makefile.am:
22860 * testsuite/cleanup/cleanup1.c:
22861 * testsuite/cleanup/cleanup2.c:
22862 * testsuite/cleanup/cleanup3.c:
22863 * testsuite/cleanup/cleanup4.c:
22864 * testsuite/cleanup/cleanup5.c:
22865 * testsuite/controller/interpolator.c:
22866 * testsuite/debug/printf_extension.c: (main):
22867 * testsuite/elements/tee.c:
22868 * testsuite/negotiation/.cvsignore:
22869 * testsuite/negotiation/Makefile.am:
22870 * testsuite/negotiation/pad_link.c:
22871 * testsuite/pad/Makefile.am:
22872 * testsuite/pad/chainnopull.c:
22873 * testsuite/pad/getnopush.c:
22874 * testsuite/pad/link.c:
22875 * testsuite/refcounting/sched.c: (create_pipeline):
22876 * testsuite/registry/Makefile.am:
22877 * testsuite/registry/gst-print-formats.c:
22878 * testsuite/schedulers/.cvsignore:
22879 * testsuite/schedulers/142183-2.c:
22880 * testsuite/schedulers/142183.c:
22881 * testsuite/schedulers/143777-2.c:
22882 * testsuite/schedulers/143777.c:
22883 * testsuite/schedulers/147713.c:
22884 * testsuite/schedulers/147819.c:
22885 * testsuite/schedulers/147894-2.c:
22886 * testsuite/schedulers/147894.c:
22887 * testsuite/schedulers/Makefile.am:
22888 * testsuite/schedulers/group_link.c:
22889 * testsuite/schedulers/queue_link.c:
22890 * testsuite/schedulers/relink.c:
22891 * testsuite/schedulers/unlink.c:
22892 * testsuite/schedulers/unref.c:
22893 * testsuite/schedulers/useless_iteration.c:
22894 * testsuite/states/bin.c:
22895 clean out/remove some stuff from the testsuite directories
22897 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22900 check for some headers
22901 * gst/elements/Makefile.am:
22902 * gst/elements/gstelements.c:
22903 don't compile fdsrc without sys/socket.h
22904 * gst/indexers/Makefile.am:
22905 * gst/indexers/gstindexers.c: (plugin_init):
22906 don't compile fileindex without mmap
22908 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22915 * check/Makefile.am:
22916 * docs/gst/Makefile.am:
22917 * examples/helloworld/Makefile.am:
22919 * gst/base/Makefile.am:
22920 * gst/check/Makefile.am:
22921 * gst/elements/Makefile.am:
22922 * gst/indexers/Makefile.am:
22923 * gst/parse/Makefile.am:
22924 * libs/gst/controller/Makefile.am:
22925 * libs/gst/dataprotocol/Makefile.am:
22926 * examples/helloworld/helloworld.c: (event_loop):
22927 compile fixes, though it's not being compiled currently
22929 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22931 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22932 Add some simple tests for the new taglist date API.
22934 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22936 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22937 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22938 Beautify 'last-message' output: print 'none' for buffer timestamps
22939 and durations if none is set; improve alignment with next messages.
22941 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22943 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22944 * gst/gstpluginfeature.h:
22945 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22946 * gst/gstregistry.h:
22947 * docs/gst/gstreamer-sections.txt:
22948 Add new API to check plugin feature version requirements.
22950 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22951 Some basic tests for the above.
22953 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22955 * gst/gststructure.c: (gst_structure_to_string):
22956 guard against NULL printf - happens when for example
22957 a message structure with GstClock gets serialized
22959 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22961 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22962 Fix presumable copy'n'pasto.
22964 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22966 * gst/elements/gstfakesrc.h:
22967 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22968 * gst/elements/gsttypefindelement.c:
22969 fix some signedness
22970 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22971 I wonder if this could actually write +2GB files before
22973 2005-10-13 Andy Wingo <wingo@pobox.com>
22975 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22976 Fix Timmeke Waymans bug.
22977 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22978 string of the proper length to gst_caps_from_string. There's a
22979 potential for, before this fix, that this could cause someone
22980 connecting over the network to cause a segfault if the payload is
22981 not NUL-terminated.
22983 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22985 * docs/design/draft-push-pull.txt:
22986 * docs/design/part-overview.txt:
22987 * docs/random/TODO-pre-0.9:
22988 * docs/random/old/ChangeLog.gstreamer:
22989 * gst/base/gstpushsrc.c:
22993 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22995 * gst/glib-compat.c: (gst_flags_get_first_value):
22996 * gst/glib-compat.h:
22997 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22998 (gst_value_compare_double), (gst_value_serialize_flags):
22999 GLib 2.6 g_flags_get_first_value has a bug that triggers an
23002 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23004 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23005 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23007 * tools/gst-launch.c: (event_loop):
23008 print out clock nicely
23010 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
23012 * docs/gst/gstreamer-sections.txt:
23013 * gst/gsttaglist.h:
23014 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23015 (gst_tag_list_get_date_index):
23016 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23017 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23019 2005-10-13 Julien MOUTTE <julien@moutte.net>
23021 * gst/base/gstcollectpads.c: (gst_collectpads_event),
23022 (gst_collectpads_chain):
23023 * gst/base/gstcollectpads.h: Handle newsegment and store informations
23026 2005-10-13 Stefan Kost <ensonic@users.sf.net>
23028 * docs/gst/gstreamer-sections.txt:
23031 * tools/gst-inspect.c: (main):
23032 * tools/gst-launch.c: (main):
23033 * tools/gst-run.c: (main):
23034 * tools/gst-xmlinspect.c: (main):
23035 fix GOption context leaks
23038 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23042 * win32/common/config.h:
23044 * win32/vs6/grammar.dsp:
23045 * win32/vs6/libgstelements.dsp:
23046 * win32/vs6/libgstreamer.dsp:
23049 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23051 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23052 * gst/base/gstbasesrc.c: (gst_base_src_query):
23053 fix more guint64<->gdouble conversions
23055 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23058 add win32-update target
23059 * win32/common/gstconfig.h:
23060 * win32/common/gstenumtypes.c:
23061 * win32/common/gstenumtypes.h:
23062 * win32/common/gstversion.h:
23063 add files that visual studio can't generate
23065 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23068 add a win32-update target
23071 2005-10-12 Wim Taymans <wim@fluendo.com>
23073 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23074 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23075 * gst/gstelement.c: (gst_element_commit_state),
23076 (gst_element_set_state):
23077 Protect flags with proper lock.
23078 unref provided cached clock in dispose.
23080 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23083 * gst/gstminiobject.h:
23085 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23086 removed unused flags from miniobject
23089 2005-10-12 Wim Taymans <wim@fluendo.com>
23091 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23092 (gst_file_sink_event), (gst_file_sink_render):
23093 Flush before seeking.
23095 2005-10-12 Andy Wingo <wingo@pobox.com>
23097 * gst/gst.c (gst_init_check): Ignore unknown options, as has
23098 always been the case.
23100 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23102 * check/gst/gstbin.c: (GST_START_TEST):
23103 * docs/gst/gstreamer-sections.txt:
23104 * gst/base/gstbasesink.c: (gst_base_sink_init):
23105 * gst/base/gstbasesrc.c: (gst_base_src_init),
23106 (gst_base_src_get_range), (gst_base_src_check_get_range),
23107 (gst_base_src_start), (gst_base_src_stop):
23108 * gst/base/gstbasesrc.h:
23109 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23110 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23111 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23115 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23117 * gst/gstelement.c: (gst_element_is_locked_state),
23118 (gst_element_set_locked_state), (gst_element_commit_state),
23119 (gst_element_set_state):
23120 * gst/gstelement.h:
23121 * gst/gstindex.c: (gst_index_init):
23123 * gst/gstminiobject.h:
23124 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23125 (gst_object_set_parent):
23127 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23128 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23130 * gst/gstpadtemplate.h:
23131 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23132 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23133 * gst/gstpipeline.h:
23134 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23135 (gst_file_index_commit):
23136 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23137 * testsuite/pad/link.c: (gst_test_src_init),
23138 (gst_test_filter_init), (gst_test_sink_init):
23139 * testsuite/states/locked.c: (main):
23140 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23141 moved bitshift from macro to enum definition
23143 2005-10-12 Wim Taymans <wim@fluendo.com>
23145 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23146 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23147 (gst_file_sink_render):
23148 Some more debugging info.
23150 2005-10-12 Wim Taymans <wim@fluendo.com>
23152 * docs/design/part-states.txt:
23153 * tools/gst-launch.c: (main):
23155 Revert non-intentional change.
23157 2005-10-12 Wim Taymans <wim@fluendo.com>
23159 * check/gst/gstbin.c: (GST_START_TEST):
23160 * check/gst/gstelement.c: (GST_START_TEST):
23161 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23162 * check/gst/gstghostpad.c: (GST_START_TEST):
23163 * check/gst/gstpipeline.c: (GST_START_TEST):
23164 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23165 * check/states/sinks.c: (GST_START_TEST):
23166 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23167 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23168 (gst_bin_remove_func), (gst_bin_get_state_func),
23169 (gst_bin_recalc_state), (gst_bin_change_state_func),
23171 * gst/gstelement.c: (gst_element_get_state_func),
23172 (gst_element_get_state), (gst_element_abort_state),
23173 (gst_element_commit_state), (gst_element_set_state),
23174 (gst_element_change_state), (gst_element_change_state_func):
23175 * gst/gstelement.h:
23176 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23177 (gst_pipeline_provide_clock_func):
23178 * gst/gstutils.c: (gst_element_link_pads_filtered):
23179 * tools/gst-launch.c: (main):
23180 * tools/gst-typefind.c: (main):
23181 Use GstClockTime in _get_state() instead of GTimeVal.
23182 Remove old code in gstutils.c
23184 2005-10-12 Andy Wingo <wingo@pobox.com>
23186 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23189 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23190 there is no task. Shouldn't affect any code, as nothing in our
23191 plugins checks this return value.
23192 (gst_pad_stop_task): Also take the stream lock if the pad has no
23193 task. Docs updated.
23195 2005-10-12 Wim Taymans <wim@fluendo.com>
23197 * gst/gstpad.c: (pre_activate), (post_activate),
23198 (gst_pad_activate_pull), (gst_pad_activate_push):
23199 Cleanup activation code. Reset old state if
23202 2005-10-12 Wim Taymans <wim@fluendo.com>
23204 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23205 (gst_base_sink_change_state):
23206 No need to prerol after receiving EOS.
23208 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23209 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23210 * gst/elements/gstidentity.c: (gst_identity_event):
23211 Print events more verbosely.
23213 2005-10-12 Wim Taymans <wim@fluendo.com>
23215 * check/Makefile.am:
23216 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23217 * check/states/sinks2.c:
23218 Moved sinks2 testcode in sinks check.
23220 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23221 (gst_bin_remove_func), (gst_bin_recalc_state),
23222 (gst_bin_change_state_func), (bin_bus_handler):
23223 Fix potential race condition when _get_state() iterated over an
23224 ASYNC element right before it posted a state completion.
23227 Do proper cast here.
23229 * gst/gstevent.c: (gst_event_new_newsegment),
23230 (gst_event_parse_newsegment):
23231 A playback rate of 0.0 is not allowed.
23233 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23235 * win32/common/config.h:
23236 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23237 (_trewinddir), (_ttelldir), (_tseekdir):
23238 * win32/common/dirent.h:
23239 * win32/common/gtchar.h:
23240 * win32/common/libgstbase.def:
23241 * win32/common/libgstreamer.def:
23242 * win32/vs6/grammar.dsp:
23243 * win32/vs6/gst_inspect.dsp:
23244 * win32/vs6/gst_launch.dsp:
23245 * win32/vs6/gstreamer.dsw:
23246 * win32/vs6/libgstbase.dsp:
23247 * win32/vs6/libgstelements.dsp:
23248 * win32/vs6/libgstreamer.dsp:
23249 Visual Studio 6 project files, and a new common directory.
23252 2005-10-11 Wim Taymans <wim@fluendo.com>
23254 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23255 (gst_base_sink_do_sync), (gst_base_sink_query),
23256 (gst_base_sink_change_state):
23257 * gst/base/gstbasesink.h:
23258 Correctly parse newsegment info.
23260 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23262 * gst/gst.c: (init_post):
23263 split plugin paths correctly
23265 2005-10-11 Wim Taymans <wim@fluendo.com>
23267 * check/gst/gstevent.c: (GST_START_TEST):
23268 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23269 (gst_base_sink_change_state):
23270 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23271 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23272 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23273 * gst/gstevent.c: (gst_event_new_newsegment),
23274 (gst_event_parse_newsegment):
23276 Added extra flag to newsegment for future API freeze.
23277 Updated check and base elements.
23279 2005-10-11 Julien MOUTTE <julien@moutte.net>
23281 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23282 (gst_collectpads_add_pad), (gst_collectpads_pop),
23283 (gst_collectpads_event), (gst_collectpads_chain):
23284 * gst/base/gstcollectpads.h: Handle EOS correctly.
23286 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23288 * tools/gst-launch.c: (main):
23289 more null protecting
23291 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23293 * gst/gst-i18n-lib.h:
23294 check for ENABLE_NLS, not GETTEXT_PACKAGE
23295 * gst/gstregistry.c: (gst_registry_add_plugin),
23296 (gst_registry_scan_path_level),
23297 (_gst_registry_remove_cache_plugins):
23298 protect possibly NULL strings
23299 * gst/parse/types.h:
23300 config.h already included before
23301 * tools/gst-inspect.c: (main):
23302 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23303 check for ENABLE_NLS, not GETTEXT_PACKAGE
23304 * tools/gst-launch.c: (main):
23305 check for ENABLE_NLS, not GETTEXT_PACKAGE
23307 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23310 if we don't have glib, fail before testing 2.8
23311 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23312 fix a leak, should fix plugins-base testsuite
23314 2005-10-11 Andy Wingo <wingo@pobox.com>
23316 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23317 take the mode we're going to as an arg. Go head and set the mode
23318 and flushing flags now, so that if the activate function starts a
23319 thread all the flags will be in the right state.
23320 (post_activate): Renamed also. Just handle making sure streaming
23321 finishes for the deactivation case, and setting the deactivated
23323 (gst_pad_set_active): Complain loudly if deactivation fails.
23324 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23325 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23326 remove the terrible hack.
23328 2005-10-11 Wim Taymans <wim@fluendo.com>
23330 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23331 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23332 (gst_bin_recalc_state), (gst_bin_change_state_func),
23333 (gst_bin_dispose), (bin_bus_handler):
23335 Prepare to make current EOS message queue more generic.
23338 * gst/gstevent.c: (gst_event_new_newsegment),
23339 (gst_event_parse_newsegment):
23341 Rename base to stream_time.
23343 * gst/gstmessage.h:
23346 2005-10-11 Wim Taymans <wim@fluendo.com>
23348 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23349 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23350 (gst_bin_change_state_func), (bin_bus_handler):
23352 Work on proper clock selection.
23354 2005-10-11 Edward Hervey <edward@fluendo.com>
23356 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23357 * libs/gst/controller/gstcontroller.h:
23358 Added GList* version of _remove_properties() in order to be able to wrap
23361 2005-10-11 Wim Taymans <wim@fluendo.com>
23363 * docs/design/part-states.txt:
23366 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23367 (gst_bin_change_state_func), (bin_bus_handler):
23368 Doc updates. Don't distribute the same clock over and over again.
23374 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23375 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23376 (gst_pad_send_event):
23378 Make probe emission threadsafe again.
23379 Register quarks and move _get_name() from utils.
23382 * gst/gstpipeline.c: (gst_pipeline_class_init),
23383 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23384 Only redistribute the clock of it changed.
23386 * gst/gstsystemclock.h:
23391 Moved the _flow_get_name() to GstPad.
23393 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23395 * check/gst-libs/gdp.c: (GST_START_TEST):
23396 * check/gst/gstcaps.c: (GST_START_TEST):
23397 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23398 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23399 (gst_dp_packet_from_caps):
23400 fix more valgrind warnings before turning up the heat
23402 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23404 * gst/parse/grammar.y:
23405 some cleanup before the hacking
23407 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23409 * gst/base/gstbasesrc.c: (gst_base_src_query):
23411 * gst/gstutils.c: (gst_guint64_to_gdouble),
23412 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23414 externalize, basesrc uses it
23415 obviously the implementation needs testing
23417 2005-10-10 Wim Taymans <wim@fluendo.com>
23419 * tests/sched/Makefile.am:
23420 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23421 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23423 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23425 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23426 apparently converting from guint64 to double is not implemented
23429 2005-10-10 Wim Taymans <wim@fluendo.com>
23431 * check/Makefile.am:
23432 * check/generic/states.c: (GST_START_TEST):
23433 * check/gst/gstbin.c: (GST_START_TEST):
23434 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23435 * check/states/sinks.c: (GST_START_TEST):
23436 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23438 Check fixes, use API as stated in design docs, remove hacks.
23440 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23441 (gst_base_sink_change_state):
23442 Catch stopping our task while we're shutting down.
23444 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23445 (gst_bin_remove_func), (gst_bin_get_state_func),
23446 (gst_bin_recalc_state), (gst_bin_change_state_func),
23449 * gst/gstelement.c: (gst_element_init),
23450 (gst_element_get_state_func), (gst_element_abort_state),
23451 (gst_element_commit_state), (gst_element_lost_state),
23452 (gst_element_set_state), (gst_element_change_state),
23453 (gst_element_change_state_func):
23454 * gst/gstelement.h:
23455 New state change algorithm (see #318116)
23457 * gst/gstpipeline.c: (gst_pipeline_class_init),
23458 (gst_pipeline_init), (gst_pipeline_set_property),
23459 (gst_pipeline_get_property), (do_pipeline_seek),
23460 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23461 * gst/gstpipeline.h:
23462 Remove crude state change hacks.
23465 Remove crude hacks.
23467 * tools/gst-launch.c: (main):
23468 Fixes for state change. Needs some more work to fully use the
23471 2005-10-10 Andy Wingo <wingo@pobox.com>
23473 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23475 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23476 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23479 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23481 * gst/gstiterator.c: (gst_iterator_new):
23482 Fix my previous commit: GTypes passed to gst_iterator_new()
23483 can be fundamental types.
23485 2005-10-10 Wim Taymans <wim@fluendo.com>
23487 * gst/gstelement.c: (gst_element_iterate_pad_list),
23488 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23489 (gst_element_iterate_sink_pads):
23490 Use src/sink pads lists for the respective iterators instead
23493 2005-10-10 Andy Wingo <wingo@pobox.com>
23495 Merged in popt removal + GOption addition patch from Ronald, bug
23498 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23499 GstElement macros around, remove popt-related symbols, add goption
23502 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23504 * docs/gst/Makefile.am:
23505 * docs/libs/Makefile.am: No POPT_CFLAGS.
23507 * examples/manual/Makefile.am:
23508 * docs/manual/basics-init.xml: Doc updates with an example.
23510 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23511 (gst_init), (parse_one_option), (parse_goption_arg):
23512 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23513 bit of hand merging and debugging to get the GOption stuff working
23516 * tests/Makefile.am:
23517 * tools/Makefile.am:
23518 * tools/gst-inspect.c: (main):
23519 * tools/gst-launch.c: (main):
23520 * tools/gst-run.c: (main):
23521 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23523 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23525 * gst/gstiterator.c: (gst_iterator_new):
23526 Add assertions to make sure passed GType is likely to really
23527 be a GType (as the compiler won't catch it if the size and
23528 GType arguments get mixed up, see #318447).
23530 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23532 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23534 * gst/gstbin.c: (gst_bin_iterate_sorted):
23535 Pass GType and size arguments to gst_iterator_new() in the right
23536 order (maybe we should make _new() take the GType as first argument
23537 just like _new_list()?) (#318447).
23540 2005-10-10 Wim Taymans <wim@fluendo.com>
23542 * gst/gstelement.c: (gst_element_finalize):
23543 And free the GStaticRecMutex too
23545 2005-10-10 Andy Wingo <wingo@pobox.com>
23547 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23548 Allocate and free the mutex properly.
23550 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23552 (GstElement): The state_lock is now recursive. Rebuild your
23553 plugins, suckers. Old macros adapted.
23555 * docs/gst/gstreamer-sections.txt: Doc updates.
23558 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23559 (g_static_rec_cond_wait): Ported from state changes patch, while
23560 we wait on bug #317802 to be solved in a well-distributed GLib.
23562 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23563 gst_element_change_state, variable name changes.
23564 (gst_element_change_state): Split out of gst_element_set_state in
23565 preparation for the state change merge. Doesn't pay attention to
23566 the 'transition' argument.
23567 (gst_element_set_state): Updates, hopefully purely cosmetic.
23568 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23569 state change patch.
23570 (gst_element_get_state_func): Renamed from get_state, cosmetic
23573 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23575 * gst/elements/gstelements.c:
23576 * win32/GStreamer.vcproj:
23578 * win32/dirent.c: (_tseekdir):
23579 * win32/gst-inspect.vcproj:
23580 * win32/gst-launch.vcproj:
23581 * win32/gstconfig.h:
23582 * win32/gstelements.vcproj:
23583 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23584 * win32/gstreamer.def:
23585 * win32/msvc71.sln:
23586 updates for the win32 build (patch from Sebastien Moutte)
23588 2005-10-10 Andy Wingo <wingo@pobox.com>
23590 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23591 gst_bin_get_state, cleaned up (but no logic changes).
23592 (bin_element_is_sink): Comment updates.
23593 (sink_iterator_filter): Remove needless cast.
23594 (gst_bin_iterate_sinks): Doc update.
23595 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23596 cleaned up (but no logic changes).
23598 * check/states/sinks.c (test_src_sink): Cleanups from the state
23600 (test_livesrc_sink): Sync on the state.
23602 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23603 the state change patch.
23605 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23608 * check/gst/gstbin.c: Merge in some style fixes and additional
23609 checks from Wim's state change patch.
23611 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23613 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23614 (gst_type_find_helper):
23615 Check whether we have the requested data already in our list of
23616 cached buffers before pulling a new buffer; also make the buffer
23617 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23619 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23624 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23625 don't use long long, it's not portable. Replacing with
23626 gint64 seems to work; let's hope no skeletons fall out of the closet.
23628 2005-10-10 Andy Wingo <wingo@pobox.com>
23630 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23632 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23634 * docs/gst/gstreamer-sections.txt:
23639 * gst/gstmessage.c: (gst_message_parse_state_changed):
23642 more docs, fix compilation
23644 2005-10-09 Philippe Khalaf <burger@speedy.org>
23645 * gst/gstmessage.c:
23646 Fixed a few forgotten variables on previous commit
23648 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23650 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23651 Fix evil typefind crasher: getrange() might return a short
23652 buffer at the end of a file, but gst_type_find_peek() must
23653 either return the full data as requested or NULL, but
23654 never a short buffer.
23656 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23658 * gst/gstmessage.c: (gst_message_new_state_changed),
23659 (gst_message_parse_state_changed):
23660 * gst/gstmessage.h:
23661 don't use "new", it's a C++ keyword
23663 2005-10-08 Wim Taymans <wim@fluendo.com>
23665 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23666 * gst/gstelement.c: (gst_element_post_message):
23667 * gst/gstpipeline.c: (gst_pipeline_change_state):
23668 Small docs and debug updates.
23670 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23672 * docs/gst/gstreamer-sections.txt:
23673 * gst/gstelementfactory.c:
23675 * gst/gsttaglist.c:
23678 2005-10-08 Wim Taymans <wim@fluendo.com>
23680 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23681 (gst_bin_dispose), (bin_bus_handler):
23682 Fix typos, add comments.
23683 Clear EOS list when going to PAUSED from any direction and do it
23684 in a threadsafe way.
23685 Get base time in a threadsafe way too.
23686 Fix confusing debug in the change_state function.
23687 Various other small cleanups.
23689 * gst/gstelement.c: (gst_element_post_message):
23690 Fix very verbose bus posting code.
23692 * gst/gstpipeline.c: (gst_pipeline_class_init),
23693 (gst_pipeline_set_property), (gst_pipeline_get_property),
23694 (gst_pipeline_change_state):
23695 Small ARG_ -> PROP_ cleanup
23697 2005-10-08 Wim Taymans <wim@fluendo.com>
23699 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23700 Do a less CPU demanding EOS check because we can.
23702 2005-10-08 Wim Taymans <wim@fluendo.com>
23704 * libs/gst/dataprotocol/dataprotocol.c:
23705 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23706 (gst_dp_packet_from_event):
23707 * libs/gst/dataprotocol/dataprotocol.h:
23708 * libs/gst/dataprotocol/dp-private.h:
23709 It's about time we bump the version number.
23710 Since event types don't fit in the guint8 anymore describing
23711 the payload type, make payload type 16 bits wide.
23713 2005-10-08 Wim Taymans <wim@fluendo.com>
23715 * docs/design/part-TODO.txt:
23716 * docs/design/part-clocks.txt:
23717 * docs/design/part-events.txt:
23718 * docs/design/part-gstbin.txt:
23719 * docs/design/part-gstelement.txt:
23720 * docs/design/part-gstpipeline.txt:
23721 * docs/design/part-live-source.txt:
23722 * docs/design/part-messages.txt:
23723 * docs/design/part-overview.txt:
23724 * docs/design/part-states.txt:
23727 2005-10-08 Wim Taymans <wim@fluendo.com>
23731 Fix event quark registration.
23732 Add some space between events so we can insert them in the
23735 2005-10-08 Wim Taymans <wim@fluendo.com>
23737 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23738 (gst_base_sink_handle_buffer):
23739 Better log message.
23742 * gst/gstelement.h:
23745 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23746 (gst_queue_set_property), (gst_queue_get_property):
23748 Remove old unused properties.
23750 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23751 * docs/gst/gstreamer-sections.txt:
23752 * gst/gstmessage.c:
23753 * gst/gstmessage.h:
23754 * gst/gstminiobject.c:
23755 * gst/gstminiobject.h:
23759 lots of new docs and doc fixes
23761 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23763 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23765 * gst/gstregistry.c: (gst_registry_lookup_locked),
23766 (gst_registry_scan_path_level):
23767 * gst/gstregistryxml.c: (load_plugin):
23768 Only ever load one plugin for a given plugin basename.
23769 This ensures correct overriding of GST_PLUGIN_PATH over
23770 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23771 system installed plugins.
23773 2005-10-08 Wim Taymans <wim@fluendo.com>
23775 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23776 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23777 Prepare for doing QOS.
23779 2005-10-08 Wim Taymans <wim@fluendo.com>
23781 * check/gst/gstbin.c: (GST_START_TEST):
23782 * check/pipelines/cleanup.c: (GST_START_TEST):
23783 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23784 Allow new clock message too.
23786 2005-10-08 Wim Taymans <wim@fluendo.com>
23788 * gst/gstmessage.c: (gst_message_new_error),
23789 (gst_message_new_warning), (gst_message_new_tag),
23790 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23791 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23792 (gst_message_new_segment_start), (gst_message_new_segment_done),
23793 (gst_message_parse_state_changed),
23794 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23795 (gst_message_parse_new_clock):
23796 * gst/gstmessage.h:
23797 Also carry the clock in question.
23799 2005-10-08 Wim Taymans <wim@fluendo.com>
23801 * gst/gstmessage.c: (gst_message_new_custom),
23802 (gst_message_new_eos), (gst_message_new_error),
23803 (gst_message_new_warning), (gst_message_new_tag),
23804 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23805 (gst_message_new_new_clock), (gst_message_new_segment_start),
23806 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23807 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23808 * gst/gstmessage.h:
23810 Added clock related messages.
23812 * gst/gstpipeline.c: (gst_pipeline_change_state):
23813 Post message when the clock changed.
23815 * tools/gst-launch.c: (event_loop):
23818 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23820 * tools/gst-inspect.c: (print_element_properties_info):
23821 Can't pass NULL strings to g_print() on windows.
23823 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23825 * docs/Makefile.am:
23826 * docs/gst/Makefile.am:
23827 * docs/gst/gstreamer-docs.sgml:
23828 * docs/gst/running.xml:
23829 * docs/version.entities.in:
23830 add a chapter on running GStreamer.
23831 document GST_DEBUG and GST_PLUGIN* env vars
23833 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23838 remove PLUGINS_BUILDDIR stuff
23839 * gst/gst.c: (init_post):
23840 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23842 remove, it was condescending and not needed
23844 2005-10-08 Wim Taymans <wim@fluendo.com>
23846 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23847 (gst_base_sink_handle_object), (gst_base_sink_event),
23848 (gst_base_sink_wait), (gst_base_sink_handle_event),
23849 (gst_base_sink_change_state):
23850 * gst/base/gstbasesink.h:
23851 Repost EOS message while going to PLAYING if still EOS.
23852 Make sure that when receiving a FLUSH_START we don't attempt
23853 to sync on the clock anymore.
23855 2005-10-08 Wim Taymans <wim@fluendo.com>
23857 * tools/gst-launch.c: (event_loop):
23858 Better message printout.
23860 2005-10-08 Wim Taymans <wim@fluendo.com>
23862 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23863 (gst_bin_child_proxy_get_children_count):
23864 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23865 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23866 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23867 (gst_child_proxy_set_valist):
23868 * gst/parse/grammar.y:
23869 Make ChildProxy threadsafe and fix mem leaks.
23871 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23873 * gst/gst.c: (init_post):
23874 debug the GST_PLUGIN_ env vars
23876 2005-10-08 Wim Taymans <wim@fluendo.com>
23878 * check/gst/gstbin.c: (GST_START_TEST):
23879 * check/gst/gstmessage.c: (GST_START_TEST):
23880 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23881 * gst/gstelement.c: (gst_element_commit_state),
23882 (gst_element_lost_state):
23883 * gst/gstmessage.c: (gst_message_new_state_changed),
23884 (gst_message_parse_state_changed):
23885 * gst/gstmessage.h:
23886 * tools/gst-launch.c: (event_loop):
23887 Added extra field to STATE_CHANGE message with the pending
23888 state, which will be different from the new state soon.
23890 2005-10-08 Wim Taymans <wim@fluendo.com>
23892 * gst/gstbus.c: (gst_bus_pop):
23894 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23895 Small cleanups and doc updates.
23897 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23899 * gst/gst.c: (init_pre):
23900 * gst/gstbin.c: (gst_bin_add_func):
23901 log distributing clocks and base time
23902 * gst/gstregistry.c: (gst_registry_add_plugin),
23903 (gst_registry_scan_path_level), (gst_registry_scan_path):
23904 clean up the debugging output a little
23905 * gst/gstutils.c: (gst_element_state_get_name):
23906 warn about a memleak (I've actually seen this be used, though
23907 it was probably a bug)
23909 2005-10-07 Wim Taymans <wim@fluendo.com>
23911 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23912 (gst_base_src_init), (gst_base_src_default_newsegment),
23913 (gst_base_src_newsegment), (gst_base_src_do_seek),
23914 (gst_base_src_loop), (gst_base_src_start):
23915 * gst/base/gstbasesrc.h:
23916 Make the newsegment event customizable by subclasses.
23918 2005-10-07 Wim Taymans <wim@fluendo.com>
23920 * gst/gstevent.c: (gst_event_new_buffersize),
23921 (gst_event_parse_buffersize):
23923 New event for future idea.
23925 2005-10-07 Andy Wingo <wingo@pobox.com>
23927 * gst/gstelement.c (gst_element_post_message): Doc update.
23929 * docs/gst/gstreamer-sections.txt: Update.
23931 * gst/gstmessage.c (gst_message_new_application): Made into a
23932 function like honest API calls.
23933 (gst_message_new_element): New message type.
23935 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23937 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23938 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23941 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23942 NO_PREROLL from gst_element_change_state to fall through.
23944 2005-10-07 Wim Taymans <wim@fluendo.com>
23946 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23947 (gst_ghost_pad_do_activate_push):
23948 Activating a ghostpad with no internal pad in push mode
23951 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23954 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23955 Fixes compilation on Windows.
23957 2005-10-07 Michael Smith <msmith@fluendo.com>
23959 * tools/gst-inspect.c:
23960 Print out feature and plugin count at the end when printing out
23963 2005-10-04 Michael Smith <msmith@fluendo.com>
23965 * gst/gsterror.c: (_gst_stream_errors_init):
23966 Add another error string used in a few existing plugins.
23969 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23970 * tools/gst-inspect.c: (print_element_info):
23971 When a feature disappears from a plugin (and the feature exists in
23972 the cached registry file), things went horribly wrong. This isn't a
23973 complete fix, we should actually be removing the 'missing' features
23974 from the features list when we load the actual plugin. That's not
23977 2005-10-04 Johan Dahlin <johan@gnome.org>
23979 * check/gst/gstiterator.c: (GST_START_TEST):
23980 * gst/gstbin.c: (gst_bin_iterate_elements),
23981 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23982 * gst/gstelement.c: (gst_element_iterate_pads):
23983 * gst/gstformat.c: (gst_format_iterate_definitions):
23984 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23985 (gst_iterator_new_list), (gst_iterator_filter):
23986 * gst/gstiterator.h:
23987 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23988 Add a GType to GstIterator, update callsites and tests.
23990 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23992 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23993 give events a chance to be handled by event probes when the pad
23996 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23998 * gst/gstevent.c: (gst_event_type_get_name),
23999 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24001 add string representations for event types
24003 2005-10-06 Wim Taymans <wim@fluendo.com>
24005 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24006 Don't use NULL pointers.
24008 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24010 * gst/gst_private.h:
24012 * gst/gstelement.c:
24014 * gst/gstpluginfeature.c:
24015 widen the debug category in output to fit the biggest one we have
24016 add a bus category and use it
24017 play with the colors
24018 fix up some categories
24020 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
24022 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24023 add push activation of sink ghost pads.
24024 Andye, please verify
24026 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
24028 * gst/gstutils.c: (gst_element_link_pads):
24029 fix a bug in the case where neither element has a pad
24030 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24031 add a test for that case
24033 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
24035 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24036 emit have-data before checking for peers. This allows
24037 for probe handlers to connect elements. This helps autopluggers.
24038 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24040 add six checks, linked/unlinked with no/true/false probe
24042 2005-10-04 Wim Taymans <wim@fluendo.com>
24044 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24045 (gst_fake_sink_event), (gst_fake_sink_preroll),
24046 (gst_fake_sink_render), (gst_fake_sink_change_state):
24047 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24048 (gst_fake_src_get_property), (gst_fake_src_create),
24049 (gst_fake_src_stop):
24050 * gst/elements/gstidentity.c: (gst_identity_stop):
24051 Protect last_message with lock.
24053 2005-10-04 Edward Hervey <edward@fluendo.com>
24056 Added precision in the comments for GST_FORMAT_DEFAULT
24058 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
24060 * tools/gst-launch.c: (main):
24061 Don't try to run erroneous pipelines.
24063 2005-10-04 Julien MOUTTE <julien@moutte.net>
24065 * gst/gstbus.c: We don't need this header.
24067 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24070 back to development
24072 === release 0.9.3 ===
24074 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24078 Releasing 0.9.3, "Unregistered"
24080 2005-10-03 Andy Wingo <wingo@pobox.com>
24082 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24083 whereby calling a pad's activatepush() function can start a thread
24084 that starts to push or pull before the pad gets the FLUSHING flag
24085 unset. Hack around it by holding the stream lock until the flag is
24086 set. Need to replace this with a proper solution. Together with
24087 the ghost pad fixes, this fixes mp3 playing/tagreading.
24089 * docs/design/part-gstghostpad.txt: Add a note about activation of
24090 proxy pads outside of ghost pads.
24092 * gst/gstghostpad.c: Implement the ghost pad activation design.
24094 2005-10-02 Andy Wingo <wingo@pobox.com>
24096 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24097 It is volatile, after all.
24099 * docs/design/part-gstghostpad.txt: Flesh out activation with
24102 * gst/base/gstbasesrc.c (gst_base_src_init): Use
24105 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
24108 Fix (unused) AM_CONDITIONAL tests.
24110 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
24112 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24114 * gst/gstutils.c: (gst_pad_query_convert):
24115 Add assertion that makes sure src_val is >=0, just like
24116 gst_query_new_convert() has. (#315895)
24118 2005-09-30 Edward Hervey <edward@fluendo.com>
24120 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24121 Let's not iterate pads we're not interested in, it avoids getting
24122 sky-high refcounts on sinkpad.
24124 2005-09-30 Wim Taymans <wim@fluendo.com>
24126 * gst/gstelement.c: (gst_element_set_state),
24127 (gst_element_change_state):
24128 Small tweak, element in ASYNC remains ASYNC.
24130 2005-09-30 Wim Taymans <wim@fluendo.com>
24132 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24133 Only error is an error.
24135 * gst/gstbin.c: (gst_bin_change_state):
24138 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24139 Also call pad_block in pad alloc.
24141 * gst/gstutils.c: (gst_flow_get_name):
24144 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24146 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24147 (gst_base_src_get_range):
24148 Fix documentation typos. Add some more debug info.
24150 2005-09-29 David Schleef <ds@schleef.org>
24152 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24153 more end-user friendly.
24154 * tools/gst-inspect.c: (main): Check if command-line argument is
24155 a file and attempt to load that file as a plugin.
24157 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24159 * check/gst/gstbin.c:
24160 * check/states/sinks.c:
24161 fix tests for the new warning
24162 * check/gst/gstpipeline.c:
24163 add a test for pipeline and bus interaction
24164 * gst/gstelement.c:
24165 elements should be NULL if they get disposed; add a warning if not
24167 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24170 for 2.6 refcounting, make debug log more correct by printing
24171 the actual refcounts at the time of swap (Wim)
24173 2005-09-29 Andy Wingo <wingo@pobox.com>
24175 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24176 removes signal watches previously added via
24177 gst_bus_add_signal_watch.
24178 (gst_bus_add_signal_watch): Don't return the source id, just store
24179 it on the bus if there wasn't an id already.
24181 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24182 add_signal_watch and remove_signal_watch.
24184 2005-09-29 Edward Hervey <edward@fluendo.com>
24186 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24187 Better if we actually iterate the list :)
24189 2005-09-29 Wim Taymans <wim@fluendo.com>
24191 * check/gst/gstbin.c: (GST_START_TEST):
24192 Change for new bus API.
24194 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24195 (send_messages), (GST_START_TEST), (gstbus_suite):
24196 Change for new bus signal API.
24198 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24199 (gst_bus_source_prepare), (gst_bus_source_check),
24200 (gst_bus_create_watch), (gst_bus_add_watch_full),
24201 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24202 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24204 Remove support for multiple GSources operating on different
24205 message types as it is too complex and unneeded when using
24207 Added support for receiving signals from the bus.
24209 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24211 * docs/libs/tmpl/gstdataprotocol.sgml:
24212 * docs/manual/advanced-dataaccess.xml:
24213 * gst/elements/gstcapsfilter.c:
24215 rename filter-caps to caps property
24217 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24219 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24220 More robust fraction string parsing.
24222 * docs/pwg/appendix-porting.xml:
24223 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24225 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24227 * gst/gstcaps.c: (gst_caps_do_simplify):
24228 Thou shalt not free a structure and then continue using it
24229 in the next loop iteration.
24231 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24233 Add test case for caps simplification.
24235 2005-09-29 Wim Taymans <wim@fluendo.com>
24237 * check/gst/gstbin.c: (GST_START_TEST):
24240 2005-09-29 Wim Taymans <wim@fluendo.com>
24242 * check/gst/gstbin.c: (GST_START_TEST):
24245 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24246 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24247 (find_element), (gst_bin_sort_iterator_next),
24248 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24249 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24250 (gst_bin_change_state), (gst_bin_dispose):
24251 A bin does not have a bus, it gets the bus from the parent.
24253 * gst/gstelement.c: (gst_element_requires_clock),
24254 (gst_element_provides_clock), (gst_element_is_indexable),
24255 (gst_element_is_locked_state), (gst_element_change_state),
24256 (gst_element_set_bus_func):
24259 * gst/gstpipeline.c: (gst_pipeline_class_init),
24260 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24261 The pipeline provides a bus.
24263 2005-09-28 Johan Dahlin <johan@gnome.org>
24265 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24266 gst_structure_get_enum instead of gst_structure_get_int
24268 * gst/gststructure.c (gst_structure_get_enum): Impl.
24270 * gst/gststructure.h (gst_structure_get_enum): Add
24272 * docs/gst/gstreamer-sections.txt: Ditto
24274 * gst/gstmessage.c (gst_message_new_state_changed): Use
24275 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24276 which does introspection.
24277 Reviewed by Christian Schaller
24279 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24281 * gst/gstinfo.c: (gst_debug_log_default):
24282 don't do dummy g_strdup()s
24283 * libs/gst/controller/gstcontroller.c:
24284 (on_object_controlled_property_changed),
24285 (gst_controlled_property_new), (gst_controller_new_valist),
24286 (gst_controller_new_list),
24287 (gst_controller_remove_properties_valist), (gst_controller_set),
24288 (gst_controller_get), (gst_controller_sync_values),
24289 (gst_controller_get_value_array), (_gst_controller_class_init),
24290 (gst_controller_get_type):
24291 * libs/gst/controller/gstcontroller.h:
24292 * libs/gst/controller/gstinterpolation.c:
24293 (gst_controlled_property_find_timed_value_node):
24294 convert // to /**/ comments
24296 2005-09-28 Wim Taymans <wim@fluendo.com>
24298 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24299 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24300 (gst_bus_sync_signal_handler):
24302 Added async-message and sync-message signals to the bus.
24303 Added helper BusFunc to emit signals for all posted messages.
24305 * gst/gstmessage.c: (gst_message_type_get_name),
24306 (gst_message_type_to_quark), (gst_message_get_type):
24307 * gst/gstmessage.h:
24308 Register quarks for message names.
24310 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24312 * docs/libs/gstreamer-libs-sections.txt:
24313 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24314 (gst_controller_new_list):
24315 * libs/gst/controller/gstcontroller.h:
24316 added another constructor for language bindings
24318 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24320 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24324 * gst/gstinfo.c: (_gst_debug_init):
24325 slightly more readable color for refcount debugging
24327 2005-09-28 Wim Taymans <wim@fluendo.com>
24329 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24330 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24331 (find_element), (gst_bin_sort_iterator_next),
24332 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24333 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24334 (gst_bin_change_state), (gst_bin_dispose):
24335 Small doc fixes. get_clock -> provide_clock.
24337 * gst/gstelement.c: (gst_element_class_init),
24338 (gst_element_provides_clock), (gst_element_provide_clock),
24339 (gst_element_get_clock), (gst_element_commit_state),
24340 (gst_element_lost_state):
24341 * gst/gstelement.h:
24342 Make get/set_clock() symetric. Add provide_clock vmethod since
24343 that is actually what this function does.
24345 * gst/gstpipeline.c: (gst_pipeline_class_init),
24346 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24347 (gst_pipeline_get_clock):
24348 get_clock -> provide_clock.
24350 2005-09-28 Andy Wingo <wingo@pobox.com>
24352 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24353 lieu of real docs...
24355 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24357 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24359 * gst/elements/gstcapsfilter.c:
24360 * gst/elements/gstfakesink.c:
24361 * gst/elements/gstfakesrc.c:
24362 * gst/elements/gstfdsink.c:
24363 * gst/elements/gstfdsrc.c:
24364 * gst/elements/gstfilesink.c:
24365 * gst/elements/gstfilesrc.c:
24366 * gst/elements/gstidentity.c:
24367 * gst/elements/gsttee.c:
24368 * gst/elements/gsttypefindelement.c:
24369 Make element details static.
24371 2005-09-28 Wim Taymans <wim@fluendo.com>
24373 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24374 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24375 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24376 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24377 (gst_bin_change_state), (gst_bin_dispose):
24378 Some documentation updates.
24379 Clean up dispose handlers.
24381 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24382 * gst/gstpad.c: (gst_pad_dispose):
24383 Clean up dispose handler.
24385 * gst/gstpipeline.c: (gst_pipeline_change_state):
24386 Removed spurious UNLOCK.
24388 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24390 * docs/gst/gstreamer-sections.txt:
24391 * gst/base/gstbasesrc.h:
24392 * gst/gstelement.h:
24396 * gst/gstpipeline.c:
24397 * gst/gstpipeline.h:
24400 added two new functions to the docs
24401 documents all undocumented GstXXXFlags
24402 completed some incomplete docs
24404 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24406 * gst/gstbin.c: (gst_bin_dispose):
24407 * gst/gstelement.c: (gst_element_dispose):
24408 remove now useless and leaky resurrection code in dispose
24409 * gst/base/gstbasesrc.c: (gst_base_src_init):
24410 * gst/gstelementfactory.c: (gst_element_factory_create):
24411 * gst/gstobject.c: (gst_object_set_parent):
24414 2005-09-27 Wim Taymans <wim@fluendo.com>
24416 * docs/design/part-TODO.txt:
24419 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24420 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24421 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24422 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24423 (gst_bin_change_state):
24424 * gst/gstelement.h:
24425 Remove element variable, we keep element info in the iterator now.
24427 2005-09-27 Andy Wingo <wingo@pobox.com>
24429 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24432 2005-09-27 Wim Taymans <wim@fluendo.com>
24434 * check/gst/gstbin.c: (GST_START_TEST):
24435 Enable check that works now.
24437 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24438 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24439 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24440 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24441 (gst_bin_change_state):
24443 Redid the state change algorithm using a topological sort algo.
24444 Handles all cases correctly.
24445 Exposed iterator for state change order.
24447 * gst/gstelement.h:
24448 Temp storage for state changes. Need to get rid of this soon.
24450 2005-09-27 Wim Taymans <wim@fluendo.com>
24452 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24453 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24454 (link_fold_func), (gst_pad_proxy_setcaps):
24455 Leak fixes, the fold functions need to unref the passed object and
24456 _get_parent_*() returns ref to parent.
24458 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24460 * check/gst/gstbuffer.c: (test_make_writable):
24461 Plug leak in test case and fix 'make check-valgrind'
24463 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24465 * gst/gstbuffer.c: (gst_subbuffer_init):
24466 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24467 works correctly in all circumstances (we could have just copied
24468 the parent buffer's readonly flag, but conceptually it seems
24469 cleaner to mark all subbuffers as read-only). (based on patch
24470 by Alessandro Decina, #314710).
24472 * check/gst/gstbuffer.c: (create_read_only_buffer),
24473 (test_make_writable), (test_subbuffer_make_writable),
24475 Add some tests for gst_buffer_make_writable().
24477 2005-09-27 Wim Taymans <wim@fluendo.com>
24479 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24480 use gst_object_has_ancestor().
24482 * gst/gstobject.c: (gst_object_has_ancestor):
24484 gst_object_has_ancestor() copied from gstbin.c as it is a
24487 * tests/instantiate/create.c: (create_all_elements):
24488 * tests/lat.c: (handoff_src), (handoff_sink):
24489 * tests/sched/runxml.c: (main):
24490 * tests/seeking/seeking1.c: (main):
24491 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24493 Fix compilation of some tests.
24495 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24498 Remove comment. GST_TYPE_G_ERROR is here to stay,
24499 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24500 (#316961, #300610).
24502 2005-09-26 Wim Taymans <wim@fluendo.com>
24504 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24505 Added check that shows error in state change order.
24507 2005-09-26 Wim Taymans <wim@fluendo.com>
24509 * gst/gstbin.c: (gst_bin_change_state):
24510 Make state change function use 3 queues again, we were
24511 adding elements in the wrong order.
24513 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24516 * gst/gstpad.c: (gst_pad_dispose):
24517 Added some debug info first.
24519 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24521 * docs/design/draft-push-pull.txt:
24522 * docs/design/part-events.txt:
24523 * docs/design/part-overview.txt:
24524 * docs/design/part-scheduling.txt:
24525 Replace all _pull_region() with _pull_range()
24527 2005-09-26 Andy Wingo <wingo@pobox.com>
24529 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24531 * check/gst-libs/controller.c: Update for controller api change.
24534 * tests/Makefile.am:
24535 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24536 over by GLib bug 118439.
24538 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24539 routines to a function.
24541 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24543 * libs/gst/controller/gsthelper.c:
24544 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24545 (gst_object_sync_values): Renamed from sink_values. Ugh.
24547 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24549 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24550 Renamed from controller_key, as it is exported.
24552 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24554 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24559 * gst/gstpadtemplate.h:
24562 * gst/gstqueryutils.c:
24563 * gst/gstqueryutils.h:
24564 remove queryutils headers after moving the two used functions
24565 to gstquery. also fixes build problem for gstsiddec
24567 2005-09-26 Michael Smith <msmith@fluendo.com>
24569 * tools/gst-launch.1.in:
24570 Correct documentation in manpage of debug syntax
24572 2005-09-26 Wim Taymans <wim@fluendo.com>
24574 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24575 (gst_base_src_is_seekable), (gst_base_src_change_state):
24576 Some more debugging info.
24578 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24580 * docs/gst/gstreamer-sections.txt:
24581 * gst/base/gstbasetransform.h:
24585 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24587 * docs/gst/.cvsignore:
24588 * docs/gst/tmpl/.cvsignore:
24589 * docs/gst/tmpl/gstpipeline.sgml:
24590 * docs/gst/tmpl/gstplugin.sgml:
24591 * gst/gstpipeline.c:
24594 inlined the last two docs files
24595 removed the tmpl directory from cvs (no more conflicts here!)
24597 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24599 * docs/gst/gstreamer-sections.txt:
24600 * docs/gst/tmpl/.cvsignore:
24601 * docs/gst/tmpl/gstpad.sgml:
24602 * docs/gst/tmpl/gstpadtemplate.sgml:
24604 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24605 (gst_pad_finalize), (gst_pad_set_pad_template):
24607 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24608 (gst_pad_template_class_init), (gst_pad_template_init),
24609 (gst_pad_template_dispose), (name_is_valid),
24610 (gst_static_pad_template_get), (gst_pad_template_new),
24611 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24612 (gst_pad_template_pad_created):
24613 * gst/gstpadtemplate.h:
24614 inlined two more docs
24615 factored gstpadtemplate out of gstpad
24617 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24619 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24620 (test_children_state_change_order_semi_sink):
24621 Fix test case: we can't rely on a fixed state change order when
24622 going from READY => PAUSED because the sink might commit its
24623 new state first when the first buffer created by the source
24624 reaches the sink before the source has finished its change state.
24625 (Test case still fails at times, see #316856, comment 5 onwards)
24627 2005-09-24 Wim Taymans <wim@fluendo.com>
24629 * docs/design/part-events.txt:
24630 * docs/design/part-gstbus.txt:
24631 * docs/design/part-gstpipeline.txt:
24632 * docs/design/part-messages.txt:
24633 * docs/design/part-overview.txt:
24634 * docs/design/part-segments.txt:
24638 * gst/gstelement.c:
24641 * gst/gstiterator.c:
24642 Various documentation updates.
24644 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24647 Well, that's embarassing. Luckily we weren't using
24648 GST_CLOCK_DIFF anywhere.
24650 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24652 * common/gtk-doc.mak:
24653 don't fail on building XML, FC4 slave shows a bunch of doc
24654 missing bits that I don't get
24656 * gst/gstpipeline.c:
24657 * gst/gststructure.c:
24660 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24662 * docs/design/part-gstbin.txt:
24663 * docs/design/part-gstbus.txt:
24665 Add blurb about how the bus goes into flushing mode and
24666 drops all messages when its bin goes from READY into NULL
24669 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24671 * docs/gst/gstreamer-sections.txt:
24672 * gst/gststructure.c: (gst_structure_get_clock_time):
24673 * gst/gststructure.h:
24674 add a method to get a GstClockTime out of a structure
24676 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24678 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24679 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24680 Added test to check state change order in bins (can still be made
24681 to fail here under heavy disk load; bails out with 'Push on pad
24682 fakesink:sink0, but it was not activated in push mode').
24684 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24685 Fix state change order when there is only a semi sink (#316856)
24687 * gst/gstbus.c: (gst_bus_class_init):
24688 Use _class_peek_parent(), not _class_ref(); fix docs to say
24689 'default main context' instead of 'mainloop' where that is
24692 * gst/gstelement.c: (gst_element_commit_state),
24693 (gst_element_set_state):
24694 Fix typos in debug messages
24696 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24699 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24700 * gst/gstpluginfeature.c:
24702 various doc updates
24703 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24704 change an assert into an error until it gets fixed properly
24706 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24708 * docs/gst/gstreamer-sections.txt:
24709 * docs/gst/tmpl/.cvsignore:
24710 * docs/gst/tmpl/gstelement.sgml:
24711 * docs/gst/tmpl/gstinfo.sgml:
24712 * docs/gst/tmpl/gstobject.sgml:
24713 * gst/gstelement.c:
24714 * gst/gstelement.h:
24717 * gst/gstobject.c: (gst_object_class_init):
24719 inlined 3 more biiiig doc files and added some missing docs on the fly
24721 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24723 * check/gst/.cvsignore:
24724 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24725 * gst/gstregistryxml.c: (load_plugin),
24726 (gst_registry_xml_save_plugin):
24727 put back source in registry. add checks for find_plugin.
24728 * testsuite/states/bin.c: (assert_state), (empty_bin),
24729 (test_adding_one_element), (main):
24730 * testsuite/states/locked.c: (main):
24731 some compile/run fixes
24733 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24735 * check/gst/gstvalue.c: (GST_START_TEST):
24736 fix leaks in the test itself
24738 2005-09-22 Wim Taymans <wim@fluendo.com>
24740 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24741 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24742 (gst_base_sink_query):
24743 Prepare for more accurate position reporting and query
24746 * gst/gstelement.c: (gst_element_send_event),
24747 (gst_element_set_state):
24750 2005-09-22 Wim Taymans <wim@fluendo.com>
24752 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24753 (gst_query_parse_segment):
24755 More documentation.
24756 Add segment query for future use.
24758 2005-09-22 Wim Taymans <wim@fluendo.com>
24760 * gst/gstbin.c: (gst_bin_add_func):
24761 Some more debug info.
24763 * gst/gstelement.c: (gst_element_send_event):
24764 Simplify send_event
24766 * gst/gstelement.h:
24767 Don't know how flags got broken.
24772 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24774 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24775 Add simplistic test suite for GST_TYPE_DATE serialisation and
24778 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24780 * docs/gst/gstreamer-sections.txt:
24781 * gst/gststructure.c: (gst_structure_set_valist),
24782 (gst_structure_get_date):
24783 * gst/gststructure.h:
24784 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24785 (gst_date_copy), (gst_value_compare_date),
24786 (gst_value_serialize_date), (gst_value_deserialize_date),
24787 (gst_value_transform_date_string),
24788 (gst_value_transform_string_date), (_gst_value_initialize):
24790 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24791 bunch of utility functions along with a hack that checks that
24792 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24793 is required. Part of the grand scheme in #170777.
24795 2005-09-22 Andy Wingo <wingo@pobox.com>
24797 * gst/gstconfig.h.in: Psych out gtk-doc.
24799 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24801 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24803 * tools/gst-inspect.c (print_element_list): Plug some
24804 inconsequential leaks.
24806 * gst/gstregistry.c (gst_registry_get_default): Doc.
24808 * check/gst/gstplugin.c:
24809 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24810 * gst/gstelementfactory.c (gst_element_factory_create):
24811 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24814 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24815 (gst_plugin_feature_load): Doc, don't eat refs.
24817 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24818 (gst_plugin_list_free): Doc.
24819 (gst_plugin_load_file): Doc updates.
24821 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24822 accessors returning refcounted objects, return a ref.
24824 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24825 accessor for caps. IDEMPOTENCE. Oh yes.
24827 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24829 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24831 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24832 (_gst_debug_register_funcptr):
24833 Add mutex to serialise access to the hash table with
24834 the function pointer => function name string mapping;
24835 make that hash table static scope (#316809).
24837 * gst/registries/.cvsignore:
24838 Remove left-over file.
24840 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24842 * docs/pwg/appendix-porting.xml:
24843 And something about newsegment events and caps-on-buffers to
24844 the porting guide (feel free to improve).
24846 2005-09-21 Andy Wingo <wingo@pobox.com>
24848 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24849 data and event probes on the same pad.
24850 (test_buffer_probe_once): Test that removing probes from within
24851 the probe functions works.
24853 2005-09-21 Andy Wingo <wingo@pobox.com>
24855 * check/gst/gstutils.c: New file.
24856 (test_buffer_probe_n_times): A simple buffer probe test. More to
24859 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24860 have-data::buffer, not have-data.
24861 (gst_pad_add_event_probe): Likewise for have-data::event.
24862 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24863 peer' isn't quite right yet though.
24864 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24865 (gst_pad_remove_data_probe): Change to take the guint handler_id
24866 as their arg, not the function+data, which is more glib-like.
24868 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24869 the signal emission to indicate if the data is a buffer or an
24871 (gst_pad_get_type): Initialize buffer and event quarks.
24872 (gst_pad_class_init): have-data is now a detailed signal, yes it
24875 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24877 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24878 * gst/gstutils.c: (gst_util_set_value_from_string),
24879 (gst_util_set_object_arg):
24880 Don't put functional code in g_return_if_fail() or
24881 g_return_val_if_fail() statements, otherwise things will
24882 break when G_DISABLE_CHECKS is defined during compilation.
24884 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24886 * docs/gst/tmpl/.cvsignore:
24887 * docs/gst/tmpl/gstvalue.sgml:
24890 inlied another one and added some obvious docs
24892 2005-09-21 Wim Taymans <wim@fluendo.com>
24894 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24895 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24896 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24897 (gst_fdsrc_get_property), (gst_fdsrc_create):
24898 * gst/elements/gstfdsrc.h:
24899 Properly implement fdsrc. Removed signal and timeout,
24900 better implemented somewhere else.
24902 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24904 * docs/gst/tmpl/.cvsignore:
24905 * docs/gst/tmpl/gstimplementsinterface.sgml:
24906 * gst/gstinterface.c:
24909 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24911 * docs/gst/gstreamer-sections.txt:
24912 * docs/gst/tmpl/.cvsignore:
24913 * docs/gst/tmpl/gstenumtypes.sgml:
24914 remove obsolete doc file
24916 2005-09-21 David Schleef <ds@schleef.org>
24918 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24919 little beer, fix a little leak.
24921 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24923 * docs/gst/gstreamer-docs.sgml:
24924 * docs/gst/gstreamer-sections.txt:
24925 * docs/gst/tmpl/.cvsignore:
24929 * gst/gstelement.h:
24930 * gst/gstindex.c: (gst_index_class_init):
24932 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24933 (gst_index_factory_class_init), (gst_index_factory_init),
24934 (gst_index_factory_finalize), (gst_index_factory_new),
24935 (gst_index_factory_destroy), (gst_index_factory_find),
24936 (gst_index_factory_create), (gst_index_factory_make):
24937 * gst/gstindexfactory.h:
24938 * gst/gstpluginfeature.c:
24939 * gst/gstpluginfeature.h:
24940 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24941 more docs inlined, splitted gstindex.{c,h}
24943 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24945 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24948 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24950 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24951 Set sync to FALSE by default.
24953 2005-09-20 Wim Taymans <wim@fluendo.com>
24955 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24956 (gst_base_sink_init):
24957 Make sync property settable from subclass.
24959 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24960 (gst_fake_sink_change_state):
24961 Set sync to FALSE by default.
24963 2005-09-20 Wim Taymans <wim@fluendo.com>
24965 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24966 * tools/gst-launch.c: (main):
24967 The timeout handler should have lower priority than the source
24968 so we don't timeout before popping a message with 0 timeout.
24969 Dump error messages after failed state change.
24971 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24973 * tools/gst-inspect.c: (print_element_properties_info):
24976 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24978 * check/gst/gstevent.c:
24979 * gst/elements/gstfakesink.c:
24980 * gst/elements/gstfakesink.h:
24981 remove the sync property from fakesink.
24982 has the side effect of setting sync TRUE
24983 for fakesink, which is a change. Anyone who knows how
24984 to fix this nicely in a GObject-y way, feel free.
24986 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24988 * docs/gst/gstreamer-docs.sgml:
24989 remove probe refsection
24991 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24993 * check/Makefile.am:
24994 disable valgrinding the controller test again
24995 * docs/gst/gstreamer-sections.txt:
24996 update for api-changes
24998 2005-09-20 Wim Taymans <wim@fluendo.com>
25000 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25001 (gst_base_sink_set_property), (gst_base_sink_get_property),
25002 (gst_base_sink_do_sync):
25003 * gst/base/gstbasesink.h:
25004 Added sync property to basesink to disable clock sync.
25006 2005-09-20 Andy Wingo <wingo@pobox.com>
25008 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25009 eating the caller's refcount.
25011 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
25012 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25015 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25016 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25017 of GLib 2.8 public, so we can know which refcount to check in
25020 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25021 (gst_object_init): Only set the gst refcount if we're going ahead
25022 with the refcount hack.
25024 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25026 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25027 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25028 more leaks plumbed, added more debug-logging
25032 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25034 * gst/gstmessage.c:
25035 remove include of gstmemchunk.h
25037 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25039 * gst/gstclock.c: (_gst_clock_id_free):
25040 Commit from the Political Party For More Atomic CVS Commits,
25041 so that people don't waste too much of their day fishing
25042 out obvious leaks out of massive commits.
25043 Oh, and fix a pretty damn obvious leak in the memchunk
25046 2005-09-20 Stefan Kost <ensonic@users.sf.net>
25048 * check/Makefile.am:
25049 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25050 plug mem-leak, re-add to valgrindable tests
25052 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
25055 unbreak the build for those who have chronic arthritis
25056 and typing "make check" is just too taxing on the hands
25058 2005-09-20 Andy Wingo <wingo@pobox.com>
25060 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25061 really want it out, you should fix plugins at the same time.
25063 2005-09-19 Stefan Kost <ensonic@users.sf.net>
25066 * docs/gst/gstreamer-sections.txt:
25068 added missing symbols to api docs
25069 disable ref-count hack if we have glib >= 2.8
25071 2005-09-19 David Schleef <ds@schleef.org>
25073 * docs/gst/Makefile.am: Ignore a few more internal headers
25074 * docs/gst/gstreamer-docs.sgml: Remove old sections
25075 * docs/gst/gstreamer-sections.txt: Remove old sections
25076 * docs/gst/tmpl/gstobject.sgml: update
25077 * docs/gst/tmpl/gstplugin.sgml: update
25078 * docs/gst/tmpl/gstpluginfeature.sgml: update
25079 * docs/random/ds/0.9-suggested-changes: update.
25080 * gst/Makefile.am: remove memchunk and trashstack, since they're
25082 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25083 * gst/gst.h: don't include some headers
25084 * gst/gstchildproxy.c: add gstmarshal.h
25085 * gst/gstclock.c: Don't use memchunks
25086 * gst/gstminiobject.c: Add some docs
25087 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25088 * gst/gstobject.h: same
25089 * gst/gstplugin.c: include gstmacros.h
25090 * gst/gstplugin.h: don't include gstmacros.h, since it's private
25091 * gst/gstquery.c: don't use memchunks
25092 * gst/gstregistry.c: rename gst_registry_deinit()
25093 * gst/gstregistry.h: same
25095 2005-09-19 David Schleef <ds@schleef.org>
25097 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25098 * docs/libs/gstreamer-libs-sections.txt:
25099 * docs/libs/tmpl/gstgetbits.sgml:
25100 * docs/libs/tmpl/gstputbits.sgml:
25102 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
25104 * win32/gstenumtypes.c:
25105 * win32/gstenumtypes.h:
25108 2005-09-19 Wim Taymans <wim@fluendo.com>
25110 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25111 Automatically PAUSE and RESUME a pipeline when a flushing seek
25114 2005-09-19 Andy Wingo <wingo@pobox.com>
25116 * gst/gstregistry.h: Spacing fixen.
25118 2005-09-19 Wim Taymans <wim@fluendo.com>
25120 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25121 Handle state change failure more correctly.
25123 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25125 * check/Makefile.am:
25126 * check/pipelines/cleanup.c: (run_pipeline):
25127 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25129 enable cleanup again after fixing the leak
25131 some more info on docs
25133 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25135 * check/Makefile.am:
25136 re-enable tests now that leaks are plugged
25138 * check/gst/gstbin.c:
25139 * check/gst/gstpipeline.c:
25140 add some more tests while fixing leaks
25141 * common/check.mak:
25142 make sure binaries are uptodate when valgrinding/gdbing
25144 * gst/gstelementfactory.c:
25145 remove a ref too many, and add a FIXME for when we get
25146 round to disposing of classes
25148 fix the refcounting when loading a plugin from a file and
25149 the code pretends that the pointer is the same even though
25150 of course it can change
25151 * gst/gstpluginfeature.c:
25152 unref plugins marked cached (a bit confusing as a name)
25153 as the docs state should be done
25154 various doc additions to explain refcounting
25155 * gst/gstregistry.c:
25156 * gst/gstregistryxml.c:
25159 2005-09-19 Wim Taymans <wim@fluendo.com>
25161 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25162 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25163 (send_messages), (GST_START_TEST), (gstbus_suite):
25164 * check/gst/gstpipeline.c: (GST_START_TEST):
25165 * check/pipelines/cleanup.c: (run_pipeline):
25166 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25168 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25169 (gst_bus_source_check), (gst_bus_source_dispatch),
25170 (gst_bus_create_watch), (gst_bus_add_watch_full),
25171 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25173 * tools/gst-launch.c: (event_loop):
25174 * tools/gst-md5sum.c: (event_loop):
25175 GstBusHandler -> GstBusFunc, return value has the same meaning as
25176 any other GSource (FALSE == remove source).
25177 _add_watch() and _add_watch_full() now take a MessageType mask to
25178 only handle specific types of messages.
25179 _poll() returns the GstMessage instead of the message type to avoid
25181 _have_pending() takes a MessageType mask now too.
25182 Added testsuite for multiple bus watches.
25183 Fix testsuites and applications for new bus API.
25185 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25187 * check/Makefile.am:
25188 mark a bunch of the tests as to fix until we fix them
25190 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25192 * common/check.mak:
25193 use GST_PLUGIN settings for valgrind tests as well, so we're
25194 valgrinding the correct thing
25195 * gst/gst.c: (init_post):
25198 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25200 * gst/gst.c: (init_post), (gst_deinit):
25201 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25202 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25203 * gst/gstindex.c: (gst_index_factory_class_init),
25204 (gst_index_factory_finalize):
25205 * gst/gstobject.c: (gst_object_dispose):
25206 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25207 (gst_plugin_load_file), (gst_plugin_desc_free):
25208 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25209 (gst_plugin_feature_finalize):
25210 * gst/gstregistry.c: (gst_registry_class_init),
25211 (gst_registry_init), (gst_registry_finalize),
25212 (gst_registry_get_default), (gst_registry_deinit):
25213 * gst/gstregistry.h:
25214 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25215 various cleanups and memleak plugging. make valgrind is happy now.
25217 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25219 * common/check.mak:
25220 add a check-valgrind target
25222 2005-09-18 David Schleef <ds@schleef.org>
25224 * tools/gst-inspect.c: Revert the GOption code.
25226 2005-09-17 David Schleef <ds@schleef.org>
25228 * check/Makefile.am: Fix environment variables.
25229 * check/gst/gstplugin.c: Fix for API changes.
25230 * tools/gst-inspect.c: Fix for API changes.
25231 * tools/gst-xmlinspect.c: Fix for API changes.
25232 * gst/gstelementfactory.c:
25235 * gst/gstpluginfeature.c:
25236 * gst/gstpluginfeature.h:
25237 * gst/gstregistry.c:
25238 * gst/gstregistry.h:
25239 * gst/gstregistryxml.c:
25240 * gst/gsttypefind.c:
25241 * gst/gsttypefindfactory.c:
25242 * gst/indexers/gstfileindex.c:
25243 * gst/indexers/gstmemindex.c:
25244 * gst/schedulers/Makefile.am:
25245 Change registry to keep track of both plugins and features,
25246 removing the feature tracking from plugins themselves.
25248 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25250 * check/Makefile.am:
25251 * tools/gst-register.1.in:
25252 remove gst-register
25254 2005-09-15 David Schleef <ds@schleef.org>
25256 * check/gst/gstplugin.c:
25257 * gst/gstelementfactory.c:
25259 * gst/gstpluginfeature.c:
25260 * gst/gstregistry.c:
25261 Getting tired of debugging. Disabled all the unreffing of
25262 plugins and features, which fixes the segfaults, but of
25263 course leaks like crazy. At least playbin works.
25265 2005-09-15 David Schleef <ds@schleef.org>
25267 * check/gst/gstplugin.c: (register_check_elements),
25268 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25270 * gst/elements/gsttypefindelement.c: Fix refcounting.
25271 * gst/gsttypefind.c:
25272 * gst/gsttypefindfactory.c:
25273 * gst/gsttypefindfactory.h:
25275 2005-09-15 David Schleef <ds@schleef.org>
25277 * gst/gstindex.c: get refcounting correct.
25278 * gst/gstregistry.c: Handle the case where a feature/plugin is
25281 2005-09-15 David Schleef <ds@schleef.org>
25283 * check/Makefile.am:
25284 * check/gst/gstplugin.c: Add test
25285 * gst/gstplugin.c: Fix problems noticed by testsuite
25287 * gst/gstregistry.c:
25288 * gst/gstregistry.h:
25290 2005-09-15 David Schleef <ds@schleef.org>
25292 * gst/gstplugin.c: Implement semi-decent recounting and locking
25293 in plugins and plugin features.
25295 * gst/gstpluginfeature.c:
25296 * gst/gstpluginfeature.h:
25297 * gst/gstregistry.c:
25299 2005-09-15 Michael Smith <msmith@fluendo.com>
25301 * gst/gstregistry.c: (gst_registry_get_feature_list):
25302 Implement this. Makes oggdemux work; decodebin still broken.
25304 2005-09-14 David Schleef <ds@schleef.org>
25306 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25308 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25309 * gst/check/Makefile.am:
25310 * libs/gst/controller/Makefile.am:
25311 * libs/gst/dataprotocol/Makefile.am:
25313 2005-09-14 David Schleef <ds@schleef.org>
25315 * configure.ac: Remove getbits library. Nothing uses it, and
25316 it should be in something like liboil if someone did want
25318 * libs/gst/Makefile.am:
25319 * libs/gst/getbits/Makefile.am:
25320 * libs/gst/getbits/gbtest.c:
25321 * libs/gst/getbits/getbits.c:
25322 * libs/gst/getbits/getbits.h:
25323 * libs/gst/getbits/gstgetbits_generic.c:
25324 * libs/gst/getbits/gstgetbits_i386.s:
25325 * libs/gst/getbits/gstgetbits_inl.h:
25327 2005-09-14 David Schleef <ds@schleef.org>
25329 * gst/Makefile.am: Dist glib-compat.h
25331 2005-09-14 David Schleef <ds@schleef.org>
25333 * configure.ac: Remove gst/registries, since it's no longer used.
25334 * gst/registries/Makefile.am:
25335 * gst/registries/gstlibxmlregistry.c:
25336 * gst/registries/gstlibxmlregistry.h:
25337 * gst/registries/gstxmlregistry.c:
25338 * gst/registries/gstxmlregistry.h:
25339 * gst/registries/registrytest.c:
25341 2005-09-14 David Schleef <ds@schleef.org>
25343 * gst/glib-compat.h:
25344 * gst/gstregistryxml.c:
25345 Convergence is near. Seriously.
25347 2005-09-14 David Schleef <ds@schleef.org>
25349 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25350 * gst/glib-compat.h:
25351 Attempt #4 to appease the buildbots.
25353 2005-09-14 David Schleef <ds@schleef.org>
25355 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25358 2005-09-14 David Schleef <ds@schleef.org>
25360 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25363 2005-09-14 David Schleef <ds@schleef.org>
25365 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25368 2005-09-14 David Schleef <ds@schleef.org>
25370 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25371 * gst/glib-compat.h: Add some functions that are in newer versions
25372 of glib than we care to require.
25373 * gst/gstregistryxml.c: Use them.
25375 2005-09-14 David Schleef <ds@schleef.org>
25377 * po/POTFILES.in: remove gst-register.c
25379 2005-09-14 David Schleef <ds@schleef.org>
25381 * docs/gst/gstreamer-docs.sgml:
25382 * docs/gst/gstreamer-sections.txt:
25383 * docs/gst/gstreamer.types:
25384 * docs/gst/tmpl/gstelement.sgml:
25385 * docs/gst/tmpl/gstplugin.sgml:
25386 * docs/gst/tmpl/gstpluginfeature.sgml:
25387 Documentation updates for registry changes.
25389 2005-09-14 David Schleef <ds@schleef.org>
25391 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25392 because we don't require glib-2.8.
25394 2005-09-14 David Schleef <ds@schleef.org>
25396 * gst/gstregistryxml.c: Added. Essentially moved out of the
25397 registries directory.
25399 2005-09-14 David Schleef <ds@schleef.org>
25401 * check/Makefile.am:
25402 * check/generic/states.c:
25406 * gst/gst_private.h:
25407 * gst/gstelementfactory.c:
25412 * gst/gstpluginfeature.c:
25413 * gst/gstpluginfeature.h:
25414 * gst/gstregistry.c:
25415 * gst/gstregistry.h:
25416 * gst/gstregistrypool.c: remove
25417 * gst/gstregistrypool.h: remove
25418 * gst/gsttypefind.c:
25419 * gst/gsttypefindfactory.c:
25421 * tools/Makefile.am:
25422 * tools/gst-compprep.c:
25423 * tools/gst-inspect.c:
25424 * tools/gst-register.c: remove
25425 * tools/gst-xmlinspect.c:
25426 Registry rewrite. Changes registry from being a file created
25427 by a tool into a simple cache file created automatically by
25428 libgstreamer. Removed gst-register (because it's no longer
25429 needed). Remove registry pools, because we only have one
25430 registry implementation (XML). Fix up other subsystems as
25433 2005-09-13 Michael Smith <msmith@fluendo.com>
25435 * gst/gstconfig.h.in:
25436 Don't Use windows linking attributes for MinGW. Fixes #316157
25438 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25440 * gst/gstutils.c: (set_state_async_thread_func),
25441 (gst_element_set_state_async):
25442 Apparently people think it's better if this function doesn't
25443 try to set the state to whatever state was asked for on the first
25444 call to this function for any object. Seriously.
25446 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25448 * check/gst/gstpipeline.c: (GST_START_TEST):
25449 * docs/gst/gstreamer-sections.txt:
25450 * gst/gstutils.c: (set_state_async_thread_func),
25451 (gst_element_set_state_async):
25453 add a "gst_element_set_state_async" method that
25454 sets the state and starts a thread to make sure the state
25455 change completes as best as it can
25457 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25459 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25460 codify design+behaviour in testsuite after discussion
25462 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25464 * docs/gst/tmpl/gstelement.sgml:
25465 * docs/manual/appendix-quotes.xml:
25467 * gst/gstelement.c: (gst_element_set_state):
25470 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25472 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25473 (gst_base_transform_prepare_output_buf),
25474 (gst_base_transform_handle_buffer):
25475 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25476 (gst_capsfilter_prepare_buf):
25477 Remove the requirement for sub-classes to call the parent
25478 implementation of prepare_output_buffer with a wrapper function.
25480 * gst/gsttaglist.h:
25481 * gst/gsttagsetter.h:
25482 Fix #define wrapper
25484 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25486 * docs/gst/gstreamer-sections.txt:
25489 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25491 * docs/gst/gstreamer-sections.txt:
25492 * docs/gst/tmpl/gstelement.sgml:
25493 * docs/gst/tmpl/gstplugin.sgml:
25494 * gst/gstminiobject.c:
25496 docs now stop throwing warnings
25498 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25500 * docs/gst/gstreamer-sections.txt:
25501 * docs/gst/gstreamer.types:
25502 * docs/gst/tmpl/gstpad.sgml:
25503 * docs/gst/tmpl/gsttypes.sgml:
25504 * gst/base/gstadapter.h:
25505 * gst/base/gstbasesink.h:
25506 * gst/base/gstbasesrc.h:
25512 * gst/gstelement.h:
25514 * gst/gstmessage.h:
25516 * gst/gststructure.c:
25517 * gst/registries/gstlibxmlregistry.h:
25518 various documentation fixes
25520 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25522 * docs/gst/gstreamer-sections.txt:
25523 * docs/gst/tmpl/gstvalue.sgml:
25524 rearrange gstvalue section
25525 * gst/gstutils.c: (gst_element_state_get_name):
25527 * gst/gstvalue.c: (_gst_value_initialize):
25531 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25533 * check/gst-libs/controller.c:
25534 Header include fix.
25535 * gst/base/gstbasetransform.c:
25536 (gst_base_transform_default_prepare_buf),
25537 (gst_base_transform_handle_buffer):
25538 * gst/base/gstbasetransform.h:
25539 Some more basetransform changes and fixes to enable sub-classes
25540 that modify buffer metadata only.
25541 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25542 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25543 (gst_capsfilter_prepare_buf):
25544 If the output pad has fixed allowed caps and input buffers
25545 don't have any, set the fixed caps on outgoing buffers.
25547 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25548 * check/elements/identity.c: (GST_START_TEST):
25549 Make the error a little clearer when the test fails because
25550 identity made a copy of the buffer.
25551 * docs/gst/gstreamer-sections.txt:
25552 New symbols in gstbasetransform.h
25553 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25554 (gst_base_transform_init), (gst_base_transform_transform_size),
25555 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25556 (gst_base_transform_default_prepare_buf),
25557 (gst_base_transform_get_unit_size),
25558 (gst_base_transform_buffer_alloc),
25559 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25560 (gst_base_transform_change_state),
25561 (gst_base_transform_set_passthrough),
25562 (gst_base_transform_set_in_place),
25563 (gst_base_transform_is_in_place):
25564 * gst/base/gstbasetransform.h:
25565 Change BaseTransform to separate in_place operate from same_caps
25566 output. in_place implies that the element can perform the transform
25567 on incoming buffers in-place, even if the caps on the output are
25569 Sub-class elements can now implement special buffer allocation
25570 methods for outgoing buffers if they wish to.
25571 Big documentation addition.
25572 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25573 * gst/elements/gstelements.c:
25574 Changes for basetransform modifications.
25575 * gst/elements/Makefile.am:
25576 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25577 Compile fix. Extra debug output.
25579 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25581 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25583 add tests for valid pad naming
25584 * gst/check/gstcheck.c: (gst_check_log_message_func),
25585 (gst_check_log_critical_func):
25587 remove printing of code, it is fragile when the code contains
25588 % and the line number is enough info
25589 * gst/check/gstcheck.h:
25590 * gst/gstpad.c: (gst_pad_template_new):
25593 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25596 say what CHECK flags we use
25597 * docs/libs/gstreamer-libs.types:
25598 * libs/gst/controller/Makefile.am:
25599 * libs/gst/controller/gst-controller.c:
25600 * libs/gst/controller/gst-controller.h:
25601 * libs/gst/controller/gst-helper.c:
25602 * libs/gst/controller/gst-interpolation.c:
25603 * libs/gst/controller/gstcontroller.c:
25604 * libs/gst/controller/gsthelper.c:
25605 * libs/gst/controller/gstinterpolation.c:
25606 * tools/gst-inspect.c: (print_plugin_info):
25607 we don't use dashes in header names
25609 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25611 * check/Makefile.am:
25612 * check/gst/.cvsignore:
25613 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25614 (gst_pipeline_suite), (main):
25615 adding a test for pipelines and state changes
25616 * gst/gstutils.c: (get_state_func):
25618 * gstreamer.spec.in:
25621 2005-09-08 Michael Smith <msmith@fluendo.com>
25623 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25624 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25625 (gst_file_src_is_seekable), (gst_file_src_get_size),
25626 (gst_file_src_start):
25627 * gst/elements/gstfilesrc.h:
25628 Various fixes for unseekable, unmmapable, and non-normal files, so
25629 that fallback to read() rather than mmap() works.
25630 * gst/gstevent.c: (gst_event_new_newsegment):
25631 Allow newsegment events with segment_start == segment_end, as will
25632 correctly happen if you use filesrc on a zero-size file, for
25635 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25637 * gst/gstplugin.c: (gst_plugin_load_file):
25638 Call g_module_close when we don't load the module
25640 * gst/registries/gstlibxmlregistry.c:
25641 (gst_xml_registry_get_property):
25642 Port leak fix from 0.8
25644 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25646 * docs/gst/gstreamer-docs.sgml:
25647 * docs/gst/tmpl/.cvsignore:
25648 * docs/gst/tmpl/gsttrace.sgml:
25649 * docs/gst/tmpl/gsttrashstack.sgml:
25652 * gst/gstelement.h:
25654 * gst/gstmessage.c:
25655 * gst/gstmessage.h:
25658 * gst/gsttaginterface.c:
25659 * gst/gsttaginterface.h:
25660 * gst/gsttaglist.c:
25661 * gst/gsttaglist.h:
25662 * gst/gsttagsetter.c:
25663 * gst/gsttagsetter.h:
25666 * gst/gsttrashstack.c:
25667 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25668 inlined docs for gsttrace, gsttrashstack
25670 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25673 * gst/elements/gstbufferstore.h:
25674 * gst/elements/gsttypefindelement.c:
25675 * gst/elements/gsttypefindelement.h:
25677 * gst/gsttypefind.c:
25678 * gst/gsttypefind.h:
25679 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25680 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25681 (gst_type_find_factory_dispose),
25682 (gst_type_find_factory_unload_thyself),
25683 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25684 (gst_type_find_factory_get_caps),
25685 (gst_type_find_factory_get_extensions),
25686 (gst_type_find_factory_call_function):
25687 * gst/gsttypefindfactory.h:
25688 * gst/registries/gstlibxmlregistry.c:
25689 * gst/registries/gstxmlregistry.c:
25690 splitted gsttypefind into gsttypefind, gsttypefindfactory
25692 2005-09-07 Andy Wingo <wingo@pobox.com>
25694 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25695 condition whereby the pad's task function is entered before the
25696 pad_mode variable was set.
25698 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25700 * gst/gstpad.c: (gst_pad_alloc_buffer):
25701 Catch misbehaving pad_alloc functions that don't
25702 set up caps and do it for them.
25704 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25706 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25707 test for pipe!=NULL
25708 * docs/gst/tmpl/.cvsignore:
25709 * docs/gst/tmpl/gstmemchunk.sgml:
25710 * docs/gst/tmpl/gstparse.sgml:
25711 * docs/gst/tmpl/gsttaglist.sgml:
25712 * docs/gst/tmpl/gsttagsetter.sgml:
25713 * docs/gst/tmpl/gsttypefind.sgml:
25714 * docs/gst/tmpl/gsttypefindfactory.sgml:
25715 * gst/gstmemchunk.c:
25718 * gst/gsttaginterface.c:
25719 * gst/gsttypefind.c:
25720 * gst/gsttypefind.h:
25723 === release 0.9.2 ===
25725 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25730 releasing 0.9.2, "South"
25732 2005-09-05 Andy Wingo <wingo@pobox.com>
25734 * gst/registries/gstxmlregistry.h:
25735 * gst/registries/gstxmlregistry.c: Um... resurrect...
25737 * gst/registries/gstxmlregistry.h:
25738 * gst/registries/gstxmlregistry.c: and update to newer API.
25739 Incidentally they should be a bit faster now that they don't have
25742 2005-09-05 Andy Wingo <wingo@pobox.com>
25744 * gst/registries/gstxmlregistry.h:
25745 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25746 replaced by the libxml registry a while back
25748 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25750 * docs/gst/tmpl/gstplugin.sgml:
25751 * gst/elements/gstelements.c:
25753 * gst/gstplugin.c: (gst_plugin_register_func),
25754 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25755 (gst_plugin_get_source):
25757 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25758 (gst_xml_registry_save_plugin):
25759 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25760 (gst_xml_registry_save_plugin):
25761 * tools/gst-inspect.c: (print_plugin_info):
25762 add a "source" plugin description field, to represent the source
25763 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25764 will set it to PACKAGE, which is automake's idea of the name of
25765 the source project.
25767 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25772 * docs/Makefile.am:
25773 * docs/faq/Makefile.am:
25774 * docs/gst/tmpl/gstelement.sgml:
25775 * docs/gst/tmpl/gsttypes.sgml:
25776 * docs/htmlinstall.mak:
25777 * docs/manual/Makefile.am:
25778 * docs/pwg/Makefile.am:
25779 reorganize doc build a little
25780 split out docbook and gtk-doc stuff
25781 have two separate --enable's and enable them through autogen
25782 but disable by default in configure (to be similar to other
25784 * gstreamer.spec.in:
25785 clean up docs install
25803 translation updates
25805 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25807 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25810 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25811 (gst_fake_sink_change_state):
25812 Make state change function thread-safe.
25814 * gst/gstpad.c: (gst_pad_alloc_buffer):
25815 Set offset on generic buffer allocated by fallback.
25817 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25819 * docs/gst/gstreamer-sections.txt:
25820 * docs/gst/tmpl/gstelement.sgml:
25822 * libs/gst/controller/gst-controller.c:
25823 (gst_controlled_property_set_interpolation_mode),
25824 (gst_controlled_property_new),
25825 (gst_controller_find_controlled_property):
25826 run the wingo-magic script against the docs
25828 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25830 * docs/gst/gstreamer-docs.sgml:
25831 * docs/gst/gstreamer-sections.txt:
25832 * docs/gst/tmpl/.cvsignore:
25833 * docs/gst/tmpl/gstelementdetails.sgml:
25834 * docs/gst/tmpl/gstelementfactory.sgml:
25837 * gst/gstelementfactory.c:
25838 * gst/gstelementfactory.h:
25839 merged elementdetails docs into elementfactory docs
25842 2005-09-02 Andy Wingo <wingo@pobox.com>
25844 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25845 consider this enum an enum and not a flags.
25847 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25849 * docs/gst/gstreamer-docs.sgml:
25850 * docs/gst/tmpl/.cvsignore:
25851 * docs/gst/tmpl/gstghostpad.sgml:
25852 * docs/gst/tmpl/gstiterator.sgml:
25853 * docs/gst/tmpl/gstmacros.sgml:
25854 * docs/gst/tmpl/gstrealpad.sgml:
25855 * docs/gst/tmpl/gstregistry.sgml:
25856 * docs/gst/tmpl/gstregistrypool.sgml:
25857 * docs/gst/tmpl/gststructure.sgml:
25858 * docs/gst/tmpl/gstsystemclock.sgml:
25859 * docs/gst/tmpl/gsttrace.sgml:
25860 * gst/gstghostpad.c:
25862 * gst/gstmemchunk.c:
25863 * gst/gstmemchunk.h:
25865 * gst/gstregistry.c:
25866 * gst/gstregistrypool.c:
25867 * gst/gststructure.c:
25868 * gst/gstsystemclock.c:
25871 2005-09-02 Andy Wingo <wingo@pobox.com>
25873 * gst/gstelement.h (GstState): Renamed from GstElementState,
25874 changed to be a normal enum instead of flags.
25875 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25876 munged to be GST_STATE_CHANGE_*.
25877 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25878 work with the new state representation.
25879 (GstStateChange): New enumeration of possible state transitions.
25880 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25881 (GstElementClass::change_state): Pass the GstStateChange along as
25882 an argument. Helps language bindings, so they don't have to use
25883 tricky lock-needing macros like GST_STATE_CHANGE ().
25885 * scripts/update-states (file): New script. Run it on a file to
25886 update it for state naming and API changes. Updates files in
25889 * All files updated for the new API.
25891 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25893 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25894 * gst/gstutils.c: (gst_util_set_value_from_string),
25895 (gst_util_set_object_arg):
25896 fix a bunch of unchecked return values
25897 * tools/gst-complete.c: (main):
25898 * gstreamer.spec.in:
25901 2005-09-01 Wim Taymans <wim@fluendo.com>
25903 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25904 (gst_base_sink_event), (gst_base_sink_do_sync),
25905 (gst_base_sink_handle_event):
25906 * gst/base/gstbasesink.h:
25907 Handle newsegments more correctly.
25912 * gst/gstevent.c: (gst_event_new_newsegment):
25913 A newsegment cannot have a start_time of -1
25915 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25917 * win32/gstenumtypes.c:
25918 * win32/gstenumtypes.h:
25921 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25923 * libs/gst/controller/gst-controller.c:
25924 (gst_controlled_property_set_interpolation_mode),
25925 (gst_controlled_property_new):
25926 fixed boolean again
25928 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25930 * docs/faq/gst-uninstalled:
25935 * gst/gstutils.c: (gst_element_link_filtered):
25937 add gst_element_link_filtered
25939 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25941 * docs/gst/gstreamer-docs.sgml:
25942 * docs/gst/gstreamer-sections.txt:
25943 * docs/gst/tmpl/.cvsignore:
25944 * docs/gst/tmpl/gsterror.sgml:
25945 * docs/gst/tmpl/gstfilter.sgml:
25946 * docs/gst/tmpl/gsturihandler.sgml:
25947 * docs/gst/tmpl/gsturitype.sgml:
25948 * docs/gst/tmpl/gstutils.sgml:
25949 * docs/gst/tmpl/gstxml.sgml:
25954 * gst/gsturitype.c:
25957 inlined more docs, fixed double id-ref
25959 2005-08-31 Wim Taymans <wim@fluendo.com>
25961 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25962 (gst_base_transform_handle_buffer):
25963 Passthrough elements don't need the caps as they don't care.
25965 2005-08-31 Wim Taymans <wim@fluendo.com>
25967 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25968 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25969 Don't leak refcounts on buffers.
25971 2005-08-31 Wim Taymans <wim@fluendo.com>
25973 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25974 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25975 (gst_base_transform_chain), (gst_base_transform_change_state):
25976 * gst/base/gstbasetransform.h:
25977 Handle the case where we are not negotiated more gracefully.
25979 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25981 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25982 (gst_file_src_map_region):
25983 Set READONLY flag on mmap'ed buffers, otherwise
25984 gst_buffer_make_writable() won't work properly (#314708).
25986 2005-08-31 Wim Taymans <wim@fluendo.com>
25988 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25989 passthrough elements can even do inplace on non writable
25990 buffers (as they don't touch them).
25992 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25994 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25995 (gst_test_mono_source_set_property),
25996 (gst_test_mono_source_class_init), (GST_START_TEST),
25997 (gst_controller_suite):
25998 more tests (hehe I have the most)
26000 describe popping messages whenusing mulltiple sources
26001 * libs/gst/controller/gst-controller.c:
26002 (gst_controlled_property_set_interpolation_mode),
26003 (gst_controlled_property_new):
26004 * libs/gst/controller/gst-controller.h:
26005 * libs/gst/controller/gst-interpolation.c:
26006 implement boolean properties
26008 2005-08-31 Wim Taymans <wim@fluendo.com>
26010 * gst/gstminiobject.c: (gst_mini_object_ref):
26011 Cannot assert that the refcount has to be positive
26012 since a disposed object can be resurrected.
26014 2005-08-31 Wim Taymans <wim@fluendo.com>
26016 * gst/gstpad.c: (gst_pad_init):
26017 Revert change, need to first fix badly behaving
26020 2005-08-30 Wim Taymans <wim@fluendo.com>
26022 * check/elements/fakesrc.c: (setup_fakesrc):
26023 * check/elements/identity.c: (setup_identity):
26024 Activate pads before using them.
26026 2005-08-30 Wim Taymans <wim@fluendo.com>
26028 * gst/base/gstadapter.c: (gst_adapter_flush):
26029 Flushing out 0 bytes is ok for this function.
26031 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26032 no newsegment gives a warning and sets the start/stop to
26035 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26036 (gst_base_transform_set_passthrough):
26039 * gst/gstminiobject.c: (gst_mini_object_ref):
26040 Check refcount here too.
26042 * gst/gstpad.c: (gst_pad_init):
26043 Pads are initially flushing and refusing data.
26045 * gst/gstutils.c: (gst_element_link_pads_filtered):
26046 When adding a capsfilter element make sure it has the
26047 same state as the parent bin.
26049 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26051 * docs/gst/tmpl/.cvsignore:
26052 * docs/gst/tmpl/gstformat.sgml:
26053 * docs/gst/tmpl/gstversion.sgml:
26057 * gst/gstversion.h.in:
26058 more docs and two more inlined
26060 2005-08-30 Wim Taymans <wim@fluendo.com>
26062 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26063 Don't sync to clock.
26065 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26067 * docs/gst/gstreamer-sections.txt:
26068 ultral33t func10ns deserve to appear in the docs actually
26069 * docs/gst/tmpl/.cvsignore:
26070 * docs/gst/tmpl/gstcompat.sgml:
26071 * docs/gst/tmpl/gstconfig.sgml:
26072 * gst/check/gstcheck.c:
26074 * gst/gstconfig.h.in:
26077 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26079 * docs/gst/tmpl/.cvsignore:
26080 * docs/gst/tmpl/gstquery.sgml:
26081 * docs/gst/tmpl/gstutils.sgml:
26084 inlined and extended docs
26086 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26088 * check/gst-libs/controller.c: (GST_START_TEST),
26089 (gst_controller_suite):
26091 * docs/gst/tmpl/gstutils.sgml:
26092 * docs/libs/gstreamer-libs-sections.txt:
26093 * docs/libs/tmpl/gstdataprotocol.sgml:
26095 * examples/controller/audio-example.c: (main):
26096 controller example works now
26099 * tools/gst-inspect.c: (print_element_properties_info):
26100 show param spec flags
26102 2005-08-29 Andy Wingo <wingo@pobox.com>
26104 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26106 2005-08-28 Andy Wingo <wingo@pobox.com>
26108 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26109 as having two arguments instead of just one. Allows superclasses
26110 to access information on subclasses -- see the terrible for() loop
26111 in gtype.c:g_type_create_instance for the reason why. All callers
26114 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26116 * docs/design/part-messages.txt:
26118 * docs/gst/tmpl/.cvsignore:
26119 * docs/gst/tmpl/gstcaps.sgml:
26120 * docs/gst/tmpl/gstclock.sgml:
26126 * gst/gstmessage.c:
26127 added descriptions for bus and message
26128 inline caps and clock docs
26130 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26132 * gst/gstmessage.c:
26133 * gst/gstmessage.h:
26136 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26138 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26141 2005-08-26 Andy Wingo <wingo@pobox.com>
26143 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26144 element_set_state's return val.
26145 (test_2_elements): Add test that's been disabled for months.
26147 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26148 can-activate-pull properties.
26150 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26151 can-activate-pull properties. Implement is_seekable so fakesrc can
26152 operate in pull mode.
26154 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26156 (gst_base_sink_activate, gst_base_sink_activate_pull)
26157 (gst_base_sink_activate_push): Make activation mode choosing work.
26159 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26160 is right. Make pull mode work. Post an eos before pausing in pull
26162 (gst_base_sink_change_state): Pay attention to the core's
26163 change_state() return val.
26165 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26166 has-getrange properties. Cleanups.
26168 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26169 has_getrange and replace with can_activate_pull and
26172 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26173 locking comments. Remove has_loop, has_chain and replace with
26174 can_activate_pull and can_activate_push.
26176 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26179 * examples/Makefile.am:
26180 * examples/metadata/Makefile.am:
26181 * examples/metadata/read-metadata.c: (message_loop),
26182 (have_pad_handler), (make_pipeline), (print_tag), (main):
26183 Add metadata reading example that loops over a list of filenames,
26184 dumping any tags found.
26186 * gst/gstbus.c: (gst_bus_dispose):
26187 * gst/gstelement.c: (gst_element_dispose):
26188 Release a few potentially-held references in dispose.
26190 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26192 * docs/gst/tmpl/gstminiobject.sgml:
26193 do *not* add tmpl/*.sgml files to CVS!
26195 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26197 * libs/gst/bytestream/.cvsignore:
26198 * libs/gst/bytestream/Makefile.am:
26199 * libs/gst/bytestream/adapter.c:
26200 * libs/gst/bytestream/adapter.h:
26201 * libs/gst/bytestream/bytestream.c:
26202 * libs/gst/bytestream/bytestream.h:
26203 * libs/gst/bytestream/filepad.c:
26204 * libs/gst/bytestream/filepad.h:
26205 removing obsolete files
26207 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26209 * docs/gst/gstreamer-docs.sgml:
26210 * docs/libs/gstreamer-libs-docs.sgml:
26211 disabed additional index entries again, as this makes docs-gen just
26212 slow and they aren't useful yet
26213 * docs/libs/gstreamer-libs-sections.txt:
26214 little -section.txt cleanup for libs
26216 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26218 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26219 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26220 fix up some debugging
26221 (gst_base_transform_get_unit_size),
26222 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26223 (gst_base_transform_handle_buffer):
26224 * gst/base/gstbasetransform.h:
26225 handle and store timed NEWSEGMENT events so that subclasses that
26226 calculate time by counting samples have a segment_start time they
26227 need to add to their timestamps - see audioresample
26229 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26232 removed ';' from the end of macro defs
26233 * docs/gst/gstreamer-docs.sgml:
26234 * docs/gst/gstreamer-sections.txt:
26235 * docs/gst/tmpl/.cvsignore:
26237 * gst/gstelement.c: (gst_element_class_init),
26238 (gst_element_set_state), (activate_pads),
26239 (gst_element_save_thyself):
26240 * gst/gstevent.c: (gst_event_new_newsegment):
26242 * gst/gstiterator.c:
26243 * gst/gstiterator.h:
26246 * gst/gstutils.c: (gst_pad_query_convert):
26248 fixed parameter name mismatches between source, header and docs
26249 added some more docs, resolved the last batch of unused elements in
26250 docs (now someone needs to doc them)
26252 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26254 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26255 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26256 don't walk through the plugins backwards. Where is all this
26257 reversed logic coming from ?
26259 2005-08-25 Wim Taymans <wim@fluendo.com>
26261 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26262 (gst_base_transform_transform_size),
26263 (gst_base_transform_configure_caps),
26264 (gst_base_transform_get_unit_size),
26265 (gst_base_transform_buffer_alloc),
26266 (gst_base_transform_change_state):
26267 * gst/base/gstbasetransform.h:
26268 Cache caps unit_size.
26269 Make sure we cannot negotiate up and downstream at the
26272 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26274 * gst/gst.c: (init_pre), (init_post):
26275 register the installed plugin path after the env var
26276 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26277 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26278 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26279 directories, so the tests can prefer uninstalled over installed
26281 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26283 * gst/base/gstbasetransform.h:
26288 2005-08-25 Wim Taymans <wim@fluendo.com>
26290 * gst/gstbin.c: (bin_bus_handler):
26291 Be a bit more conservative about the posted message.
26293 * gst/gstbus.c: (gst_bus_post):
26294 Some cleanups, warn wrong return values.
26296 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26298 * check/gst/gstbin.c: (GST_START_TEST):
26299 * gst/gstbin.c: (bin_bus_handler):
26300 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26301 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26302 (gst_message_new_warning), (gst_message_new_tag),
26303 (gst_message_new_state_changed), (gst_message_new_segment_start),
26304 (gst_message_new_segment_done), (gst_message_new_custom):
26305 * gst/gstmessage.h:
26306 * tools/gst-launch.c: (event_loop):
26307 * tools/gst-md5sum.c: (event_loop):
26308 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26310 2005-08-25 Wim Taymans <wim@fluendo.com>
26312 * check/generic/states.c: (GST_START_TEST):
26313 Cleanup can be done at the end.
26315 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26316 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26317 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26318 Oh boy.. Thanks for finding this, Thomas.
26320 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26322 * docs/gst/gstreamer.types:
26323 added missing types
26325 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26327 * docs/gst/gstreamer-docs.sgml:
26328 * docs/gst/gstreamer-sections.txt:
26329 * docs/gst/tmpl/.cvsignore:
26331 * gst/gstiterator.c:
26333 * gst/registries/gstxmlregistry.h:
26334 added missing classes and symbols (123 more to go)
26335 removed removed symbols from section file
26336 fixed many doc-comments
26338 2005-08-24 Wim Taymans <wim@fluendo.com>
26340 * check/generic/states.c: (GST_START_TEST):
26341 Make sure all tasks are stopped.
26343 * check/gst/gstbin.c: (GST_START_TEST):
26344 Unref after usage for proper valgrinding.
26346 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26347 Really wait for the task to stop before destroying the
26350 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26351 (gst_queue_src_activate_push):
26352 Small cleanups. Don't stop the task when we did not start
26355 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26356 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26357 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26360 Protect the stream lock with the object lock.
26361 Disallow setting the stream lock when running.
26362 Add cleanup_all to wait for the threadpool to finish.
26363 Remove code to autoallocate a mutex if none was provided.
26364 Add _join() to wait for a task to stop.
26365 Protect the thread pool with a global lock.
26367 2005-08-24 Wim Taymans <wim@fluendo.com>
26369 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26370 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26371 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26372 * gst/base/gstbasesink.h:
26373 Handle newsegment events correctly.
26374 Drop buffers out of the segment range.
26376 2005-08-22 Andy Wingo <wingo@pobox.com>
26378 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26379 macro, implements an interface and gstimplementsinterface for a
26382 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26384 * check/Makefile.am:
26385 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26386 add a test that does a bunch of state changes on elements
26387 needs some fixing for valgrind
26388 * check/states/sinks.c: (gst_object_suite):
26391 add prototype for gst_caps_is_equal_fixed
26393 * gst/gstregistrypool.c:
26396 2005-08-24 Andy Wingo <wingo@pobox.com>
26398 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26399 convert a negative value. Doesn't make much sense. Mostly this is
26400 here to force callers to ensure -1 maps to -1.
26402 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26404 * docs/pwg/advanced-types.xml:
26405 Well done to Michael for catching my deliberate introduction
26406 of this spelling mistake.
26407 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26408 * gst/gstelement.h:
26409 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26410 unlink pads before removing the element from the bin.
26412 2005-08-24 Andy Wingo <wingo@pobox.com>
26414 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26415 the same thing as GST_DEBUG=*:4.
26416 (parse_debug_level, parse_debug_category): New helper parsers.
26418 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26420 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26421 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26422 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26423 (gst_base_transform_buffer_alloc),
26424 (gst_base_transform_handle_buffer):
26425 use gboolean return values and pointers to size so we can use the
26426 full GST_BUFFER_SIZE range (guint) for buffer sizes
26427 use GstPadDirection for transform_caps
26428 * gst/base/gstbasetransform.h:
26429 rename get_size to get_unit_size since that's what it is
26430 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26431 use GstPadDirection for transform_caps
26432 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26434 cleanup and debugging
26436 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26438 * gst/gstelement.c: (gst_element_class_init),
26439 (gst_element_set_state), (activate_pads),
26440 (gst_element_save_thyself):
26441 * tools/gst-compprep.c: (main):
26442 * tools/gst-inspect.c: (print_element_properties_info):
26443 * tools/gst-xmlinspect.c: (print_element_properties):
26444 Fixed long standing mem-leak
26446 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26448 * check/gst/gstbin.c: (GST_START_TEST):
26449 * gst/gstbin.c: (bin_bus_handler):
26450 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26451 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26452 (gst_message_new_warning), (gst_message_new_tag),
26453 (gst_message_new_state_changed), (gst_message_new_segment_start),
26454 (gst_message_new_segment_done), (gst_message_new_custom):
26455 * gst/gstmessage.h:
26456 * tools/gst-launch.c: (event_loop):
26457 * tools/gst-md5sum.c: (event_loop):
26458 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26459 that applications can sensibly post custom messages with references
26460 to their own objects.
26462 2005-08-24 Andy Wingo <wingo@pobox.com>
26464 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26467 2005-08-24 Wim Taymans <wim@fluendo.com>
26469 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26470 (gst_base_transform_transform_caps),
26471 (gst_base_transform_transform_size),
26472 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26473 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26474 (gst_base_transform_handle_buffer):
26475 * gst/base/gstbasetransform.h:
26476 Many fixes and new features added by Thomas. Can now also do
26477 transforms with variable sizes and a custom fixate_caps function.
26479 2005-08-24 Wim Taymans <wim@fluendo.com>
26481 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26485 Cast to ClockTime before formatting to time.
26490 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26492 * check/gst-libs/controller.c: (GST_START_TEST),
26493 (gst_controller_suite):
26494 * docs/gst/tmpl/gstcaps.sgml:
26495 * docs/gst/tmpl/gstghostpad.sgml:
26496 * docs/gst/tmpl/gstquery.sgml:
26497 * docs/gst/tmpl/gstutils.sgml:
26498 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26499 (gst_object_sink_values), (gst_object_get_value_arrays),
26500 (gst_object_get_value_array):
26501 gracefully handle helper method calls to objects that are not beeing
26502 controlled, added test case for that
26504 2005-08-23 Wim Taymans <wim@fluendo.com>
26506 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26507 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26508 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26509 (gst_event_parse_qos), (gst_event_new_seek),
26510 (gst_event_parse_seek):
26512 Some more debugging output and doc cleanups.
26514 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26515 Fix possible deadlock.
26517 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26519 * docs/gst/gstreamer-docs.sgml:
26520 * docs/gst/gstreamer-sections.txt:
26521 * docs/gst/gstreamer.types:
26522 * docs/gst/tmpl/.cvsignore:
26525 * gst/gstelement.c:
26527 added 100 symbols from gstreamer-unused.txt to the right sections
26528 fixed more broken comments
26529 added GstBus to docs
26531 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26533 * docs/gst/gstreamer-sections.txt:
26534 * docs/gst/tmpl/.cvsignore:
26535 * docs/gst/tmpl/gstbin.sgml:
26536 * docs/gst/tmpl/gstbuffer.sgml:
26537 * gst/base/gstbasesrc.c:
26538 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26541 * tools/gst-launch.1.in:
26542 inlined more doc comments, added missing comments and fixed comments
26545 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26547 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26551 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26553 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26554 * gst/gststructure.h:
26555 add a fixate function for booleans; add a FIXME that these func
26556 names should probably be gst_structure_fixate_*
26558 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26560 * docs/gst/gstreamer-docs.sgml:
26561 * docs/gst/gstreamer-sections.txt:
26563 * gst/gstbin.c: (gst_bin_get_type),
26564 (gst_bin_child_proxy_get_child_by_index),
26565 (gst_bin_child_proxy_get_children_count),
26566 (gst_bin_child_proxy_init):
26567 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26568 (gst_child_proxy_get_child_by_index),
26569 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26570 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26571 (gst_child_proxy_get), (gst_child_proxy_set_property),
26572 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26573 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26574 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26575 * gst/gstchildproxy.h:
26576 * gst/parse/grammar.y:
26577 * tools/gst-inspect.c: (print_interfaces),
26578 (print_element_properties_info), (print_element_info):
26579 ported gstchildproxy over from 0.8
26580 ported gst-inspect fixes and enhancements over from 0.8
26582 2005-08-22 Wim Taymans <wim@fluendo.com>
26584 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26585 (gst_base_transform_handle_buffer):
26586 Also call the transform function if we have ANY caps.
26588 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26591 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26593 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26594 Don't pretend to handle seek events if the source is not seekable
26596 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26598 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26599 Remove extra parameter to debug output
26601 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26602 (gst_base_src_do_seek), (gst_base_src_activate_push):
26603 Fix seek event handling.
26605 * gst/gstpipeline.c: (gst_pipeline_change_state):
26606 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26607 (gst_queue_src_activate_push):
26608 Don't start the src pad task on FLUSH_STOP if the pad
26612 2005-08-22 Wim Taymans <wim@fluendo.com>
26614 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26615 Added check for gst_static_caps_get() refcounting.
26617 2005-08-22 Wim Taymans <wim@fluendo.com>
26619 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26620 Make _static_caps_get() refcounting sane.
26622 * gst/gstelement.c: (gst_element_set_state):
26623 Add g_return_val_if_fail() to protect against segfaults.
26625 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26627 * docs/gst/tmpl/gstevent.sgml:
26630 inlined remaining docs, added missing doc comments
26632 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26634 * check/gst/gstbin.c: (GST_START_TEST):
26635 since we don't know when preroll is done, use refcount range
26637 * gst/check/gstcheck.h:
26638 add macro for checking refcount range
26640 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26642 * check/Makefile.am:
26643 clean up environment for when registry gets built versus
26644 when actual tests are run; valgrind seems to not report
26645 leaks if GST_PLUGIN_PATH is set to some specific values
26646 * check/gst/gstbin.c: (GST_START_TEST):
26647 add more refcounting checks; maybe this exposes a
26649 * common/check.mak:
26650 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26651 * gst/check/gstcheck.h:
26652 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26653 (gst_bin_change_state):
26654 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26655 add/fix debugging/whitespace
26657 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26659 * check/gst/gstevent.c: (event_probe), (test_event),
26661 Er, don't call gst_bin_watch_for_state_change you idiot.
26663 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26665 * check/Makefile.am:
26666 Use CHECK_CFLAGS and CHECK_LIBS
26667 * check/gst/gstevent.c: (event_probe), (test_event),
26670 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26671 (gst_base_src_start), (gst_base_src_stop),
26672 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26673 (gst_base_src_change_state):
26674 Sprinkle gst_base_src_stop liberally around error paths to fix
26675 problems reusing a source after failed state changes.
26676 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26677 (helper_find_suggest), (gst_type_find_helper):
26678 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26680 * docs/gst/tmpl/gstevent.sgml:
26681 Migrate part of the docs from the SGML file. Wait for ensonic to
26682 tell me how I did it wrong ;)
26683 * tools/gst-typefind.c: (main):
26684 Extra robustness to state changes between files.
26686 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26688 * check/Makefile.am:
26689 don't valgrind the controller test - it's leaking - Stefan, HELP
26690 * gst/check/gstcheck.c: (gst_check_message_error),
26691 (gst_check_chain_func), (gst_check_setup_element),
26692 (gst_check_teardown_element), (gst_check_setup_src_pad),
26693 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26694 (gst_check_teardown_sink_pad):
26695 * gst/check/gstcheck.h:
26696 add a bunch of methods to set up elements, and src and sink pads
26697 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26698 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26701 * gst/gstmessage.c:
26703 whitespace/doc fixes
26705 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26707 * gst/gstelement.h:
26708 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26709 be handled by the application and not always printed as well
26711 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26713 * check/Makefile.am:
26715 * gst/check/gstcheck.c: (gst_check_message_error):
26716 * gst/check/gstcheck.h:
26717 add a fail_unless_equals_int
26718 add fail_unless for error messages
26720 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26722 * check/Makefile.am:
26724 * common/Makefile.am:
26725 * common/check.mak:
26727 factor out some of the common stuff so we can use it
26729 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26731 * check/Makefile.am:
26732 * check/gst/gstiterator.c: (GST_START_TEST):
26733 * check/gst/gstsystemclock.c: (GST_START_TEST),
26734 (gst_systemclock_suite):
26735 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26737 valgrind more tests
26739 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26741 * check/elements/.cvsignore:
26742 * check/elements/gstfakesrc.c:
26743 rename to name of element
26744 * check/elements/identity.c: (chain_func), (event_func),
26745 (setup_identity), (cleanup_identity), (GST_START_TEST),
26746 (identity_suite), (main):
26747 add a test for identity
26748 * check/Makefile.am:
26749 * pkgconfig/Makefile.am:
26750 * pkgconfig/gstreamer-check.pc.in:
26751 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26755 move the check stuff to a library that gets installed
26756 * check/gst-libs/controller.c: (GST_START_TEST):
26757 * check/gst-libs/gdp.c:
26758 * check/gst/gst.c: (GST_START_TEST):
26759 * check/gst/gstbin.c:
26760 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26761 * check/gst/gstbus.c:
26762 * check/gst/gstcaps.c: (GST_START_TEST):
26763 * check/gst/gstelement.c:
26764 * check/gst/gstghostpad.c:
26765 * check/gst/gstiterator.c:
26766 * check/gst/gstmessage.c:
26767 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26768 * check/gst/gstobject.c:
26769 * check/gst/gstpad.c: (GST_START_TEST):
26770 * check/gst/gststructure.c: (GST_START_TEST):
26771 * check/gst/gstsystemclock.c: (GST_START_TEST),
26772 (gst_systemclock_suite):
26773 * check/gst/gsttag.c: (gst_tag_suite):
26774 * check/gst/gstvalue.c:
26775 * check/pipelines/cleanup.c:
26776 * check/pipelines/simple_launch_lines.c:
26777 * check/states/sinks.c:
26778 change include statement
26780 * docs/gst/gstreamer-sections.txt:
26781 * docs/gst/tmpl/gstpad.sgml:
26782 document more pad stuff
26783 * gst/gstminiobject.c: (gst_mini_object_ref),
26784 (gst_mini_object_unref):
26787 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26789 * docs/gst/tmpl/gst.sgml:
26791 eliminate another tmpl file, fix spelling in the long-description
26793 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26795 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26796 (test_event), (timediff), (gstevents_suite):
26797 Should fix build on 64-bit arch's
26799 2005-08-18 Andy Wingo <wingo@pobox.com>
26801 Make sure that when a pipeline goes to PLAYING, that data has
26802 actually hit the sink.
26804 * check/states/sinks.c (test_sink): A sink that doesn't get any
26805 data shouldn't return SUCCESS for going to either PLAYING or
26806 PAUSED. Test also the return values on the way back down.
26808 * gst/gstelement.c (gst_element_set_state): When changing the
26809 state of an element currently changing state asynchronously, go to
26810 lost-state after commiting the pending state. Makes future calls
26811 to get_state continue to return ASYNC.
26813 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26814 ASYNC when going to PLAYING if we still don't have preroll, as can
26815 happen with live sources.
26817 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26819 * docs/pwg/advanced-types.xml:
26820 Hack long paragraph into 2 chunks as a workaround for buggy
26821 jadetex version in sid and breezy that loops infinitely and
26824 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26826 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26827 (test_event), (timediff), (gstevents_suite):
26828 Provide more error margin in clock measurements to allow for
26829 g_get_current_time inaccuracies.
26831 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26833 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26834 (test_event), (timediff), (gstevents_suite):
26835 Fix error message output so I might be able to tell why the
26836 test works here but fails on the build farm.
26838 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26840 * check/Makefile.am:
26841 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26842 (test_event), (timediff), (gstevents_suite), (main):
26845 * docs/design/part-seeking.txt:
26846 Spelling correction
26848 * docs/gst/tmpl/gstevent.sgml:
26849 * docs/gst/tmpl/gstfakesrc.sgml:
26852 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26853 Treat a buffer-without-newsegment the same as a receiving
26854 a newsegment not in time format, and disable syncing to the clock
26857 * gst/gstbus.c: (gst_bus_set_sync_handler):
26858 Assert if anyone tries to replace the existing sync_handler for bus,
26859 as only the owner should be setting it.
26862 Have a fixed set of custom event enums with events identified by
26863 their structure name (as in 0.8), rather than a free-for-all
26864 allowing collisions between enum values from different plugins.
26866 * gst/gstpad.c: (gst_pad_class_init):
26869 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26870 Handle out-of-band downstream events from the sending thread.
26872 2005-08-17 Andy Wingo <wingo@pobox.com>
26874 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26875 play-timeout==0 to mean no timeout at all. In that case, don't
26876 bother with a get_state or a warning, just return directly, even
26879 * gst/base/gstbasetransform.c: Debug changes.
26882 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26883 ensure bins post state change messages. A bit of a hack but I can't
26884 think of a way to avoid it.
26886 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26888 2005-08-16 Andy Wingo <wingo@pobox.com>
26890 * gst/base/gstadapter.h:
26891 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26892 peek() but you own the data. Not terribly efficient atm.
26894 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26896 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26897 (gst_element_found_tags):
26899 Add two utility functions for tag handling.
26901 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26903 * docs/manual/advanced-dataaccess.xml:
26904 * docs/manual/basics-helloworld.xml:
26905 Fix docs to use _bin_add() before _link(), which fixes the examples
26906 with recent core versions (reported by Madhan Raj M
26907 <raj_madan@rediffmail.com>, #313199).
26909 2005-08-16 Wim Taymans <wim@fluendo.com>
26911 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26912 Added subtract checks.
26914 * docs/design/part-events.txt:
26915 Some more docs about newsegment
26917 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26920 * gst/gstcaps.c: (gst_caps_to_string):
26921 Add comments, cleanups.
26923 * gst/gstelement.c: (gst_element_save_thyself):
26926 * gst/gstvalue.c: (gst_value_collect_int_range),
26927 (gst_string_unwrap), (gst_value_union_int_int_range),
26928 (gst_value_union_int_range_int_range),
26929 (gst_value_intersect_int_int_range),
26930 (gst_value_intersect_int_range_int_range),
26931 (gst_value_intersect_double_double_range),
26932 (gst_value_intersect_double_range_double_range),
26933 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26934 (gst_value_subtract_int_range_int),
26935 (gst_value_subtract_double_range_double),
26936 (gst_value_subtract_double_range_double_range),
26937 (gst_value_subtract_from_list), (gst_value_subtract_list),
26938 (gst_value_can_compare), (gst_value_compare_fraction):
26939 Cleanups, add comments, remove unneeded asserts.
26941 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26943 * tools/gst-launch.c: (event_loop):
26944 don't convert NULL structures to strings
26946 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26948 * docs/gst/gstreamer-sections.txt:
26949 made some defines private
26950 * docs/gst/tmpl/gstconfig.sgml:
26951 * docs/gst/tmpl/gstqueue.sgml:
26952 * docs/gst/tmpl/gsttaglist.sgml:
26953 * docs/gst/tmpl/gsttypes.sgml:
26954 * docs/gst/tmpl/gstutils.sgml:
26955 * docs/pwg/appendix-porting.xml:
26956 * gst/base/gstbasesink.h:
26957 * gst/base/gstbasesrc.c:
26958 * gst/base/gstbasesrc.h:
26959 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26960 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26961 * gst/gstelement.c: (gst_element_class_init):
26962 * gst/gstpad.c: (gst_pad_class_init):
26963 * gst/gstqueue.c: (gst_queue_class_init):
26964 * gst/gstxml.c: (gst_xml_class_init):
26965 documented all undocumented signal inline
26966 * libs/gst/controller/gst-controller.h:
26969 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26971 * docs/pwg/appendix-porting.xml:
26972 Document _set_link_function -> _set_setcaps_function.
26974 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26976 * check/Makefile.am:
26977 add a .check target for running the check
26978 * check/gst-libs/controller.c: (GST_START_TEST):
26980 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26981 complete checks for gstbuffer; would be nice if I could get the
26982 gcov stuff to work so I can see if I actually completed gstbuffer.c
26983 * check/gstcheck.h:
26984 add ASSERT_BUFFER_REFCOUNT
26986 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26988 * docs/gst/gstreamer-sections.txt:
26989 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26991 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26992 spew out a warning if a tag that is already registered
26993 is re-registered, unless it is re-registered with a
26994 different type (#308438).
26996 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26998 * docs/pwg/appendix-porting.xml:
26999 * docs/pwg/building-state.xml:
27000 Add some paragraphs about state changes in 0.9 to the PWG
27001 and the porting guide, in particular about the new meaning
27002 of GST_STATE_PAUSED and how to write state change functions
27003 with concurrent access by multiple threads in mind.
27005 2005-08-11 Stefan Kost <ensonic@users.sf.net>
27007 * docs/gst/gstreamer-docs.sgml:
27008 * docs/libs/gstreamer-libs-docs.sgml:
27009 added deprecation and since indexes
27010 * libs/gst/controller/gst-controller.c:
27011 * libs/gst/controller/gst-helper.c:
27015 2005-08-11 Wim Taymans <wim@fluendo.com>
27017 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27018 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27019 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27020 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27021 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27022 (gst_ghost_pad_set_target):
27023 Actually implement (re)setting the target on a ghostpad
27024 as described in the docs.
27026 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
27028 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27029 Check whether GST_DEBUG_NO_COLOR environment variable is
27030 set and disable coloured debug output if that is the case.
27032 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
27034 * gst/base/gsttypefindhelper.c: (helper_find_peek),
27035 (gst_type_find_helper):
27036 The memory returned by gst_type_find_peek() needs to
27037 stay valid until the end of a typefind function, and
27038 typefind functions may keep results from different
27039 offsets around, so we can't just unref the buffer from
27040 the previous _peek(), but have to save all buffers
27041 returned by _peek() until typefinding is done and only
27044 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
27046 * docs/gst/gstreamer-sections.txt:
27048 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27050 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27052 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27053 Fix a pretty good memleak.
27055 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
27057 * gst/gstiterator.h:
27058 Fix wrong include and 'make distcheck'.
27060 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27062 * gst/gstbin.c: (bin_bus_handler):
27063 Use gst_element_post_message() instead.
27065 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
27067 * gst/base/gstadapter.h:
27068 * gst/base/gstbasesink.h:
27069 * gst/base/gstbasesrc.h:
27070 * gst/base/gstbasetransform.h:
27071 * gst/base/gstcollectpads.h:
27072 * gst/base/gstpushsrc.h:
27073 * gst/gstiterator.h:
27074 Add padding to our base elements' class and instance structs and
27075 to GstIterator (you will need to rebuild all plugins and apps!)
27077 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27079 * gst/gstbin.c: (bin_bus_handler):
27080 Make default message forwarding from child->bus to bin->bus
27081 threadsafe and make it not emit warnings if the parent has no bus.
27083 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27085 * gst/gstelement.c: (activate_pads):
27086 On paused->ready, set pad->caps to NULL, as is the documented
27087 behaviour in this state change. Fixes playback of series of
27088 media files when visualization is enabled in Totem.
27090 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27092 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27093 Allow NULL as filter-caps (which means "any").
27095 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27097 * docs/libs/gstreamer-libs-sections.txt:
27098 * libs/gst/controller/gst-controller.c:
27099 * libs/gst/controller/gst-controller.h:
27100 * libs/gst/controller/gst-helper.c:
27101 adding more entries to the docs and fix small doc-bugs
27103 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27105 * docs/gst/gstreamer-docs.sgml:
27106 * docs/gst/gstreamer-sections.txt:
27107 * docs/gst/gstreamer.types:
27108 * docs/gst/tmpl/gstbasesink.sgml:
27109 * docs/gst/tmpl/gstbasesrc.sgml:
27110 * docs/gst/tmpl/gstbasetransform.sgml:
27111 * docs/gst/tmpl/gstfakesrc.sgml:
27112 * gst/base/gstcollectpads.c:
27113 * gst/base/gstcollectpads.h:
27114 * libs/gst/controller/gst-controller.c:
27115 * libs/gst/controller/gst-controller.h:
27116 * libs/gst/controller/gst-helper.c:
27117 * libs/gst/controller/gst-interpolation.c:
27118 * libs/gst/controller/lib.c:
27119 added long/short desc for controller docs
27120 added collectpads base class docs
27121 added correct includes to base-class docs
27123 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27125 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27126 (gst_test_mono_source_set_property),
27127 (gst_test_mono_source_class_init), (GST_START_TEST),
27128 (gst_controller_suite):
27129 * docs/gst/gstreamer-docs.sgml:
27130 * docs/gst/gstreamer-sections.txt:
27131 * docs/gst/gstreamer.types:
27132 * docs/libs/gstreamer-libs-docs.sgml:
27133 * docs/libs/gstreamer-libs-sections.txt:
27134 * gst/base/gstadapter.c:
27135 * libs/gst/controller/gst-controller.c:
27136 (gst_controlled_property_new), (gst_controlled_property_free),
27137 (gst_controller_new_valist),
27138 (gst_controller_remove_properties_valist),
27139 (gst_controller_sink_values), (_gst_controller_finalize):
27140 * libs/gst/controller/gst-controller.h:
27141 * libs/gst/controller/gst-helper.c:
27142 (gst_object_control_properties), (gst_object_uncontrol_properties),
27143 (gst_object_get_controller), (gst_object_set_controller),
27144 (gst_object_sink_values), (gst_object_get_value_arrays),
27145 (gst_object_get_value_array):
27146 more tests (and fixes) for the controller
27147 more docs for the controller
27148 integrated companies docs for the adapter
27150 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27152 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27153 (GST_START_TEST), (fakesrc_suite):
27154 add tests for sizetype
27156 2005-08-04 Andy Wingo <wingo@pobox.com>
27158 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27159 fixes buffer_alloc proxying among other things.
27161 * gst/base/gstbasetransform.c:
27162 * gst/base/gstbasetransform.h:
27163 Revert patch to gstbasetransform from 7-28 removing
27166 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27167 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27168 Semantics changed, should return not the size of the output buffer
27169 but the byte size of a buffer with a given caps.
27171 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27173 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27174 out) are not the pad caps until setcaps finishes.
27175 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27176 not-in-place case as well. Deal with changing from in-place to
27177 not-in-place within calling pad_alloc_buffer. Still a bit
27178 concerned about the overhead here...
27180 2005-08-03 Andy Wingo <wingo@pobox.com>
27182 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27183 fixating is an error.
27185 2005-08-04 Edward Hervey <edward@fluendo.com>
27187 * gst/base/gstadapter.h:
27188 Added gst_adapter_get_type() to the header
27190 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27192 * check/Makefile.am:
27193 * check/gst-libs/controller.c:
27194 * libs/gst/controller/gst-controller.c:
27195 (gst_controller_new_valist):
27196 added check test suite for the controller
27197 * gst/base/gstpushsrc.c:
27200 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27202 * docs/gst/Makefile.am:
27203 * docs/gst/gstreamer-docs.sgml:
27204 * docs/gst/gstreamer-sections.txt:
27205 * docs/gst/gstreamer.types:
27206 * docs/gst/tmpl/gstfakesrc.sgml:
27208 * gst/base/gstbasesink.c:
27209 * gst/base/gstbasesink.h:
27210 * gst/base/gstbasesrc.c:
27211 * gst/base/gstbasesrc.h:
27212 * gst/base/gstbasetransform.c:
27213 * gst/base/gstpushsrc.c:
27214 * gst/base/gstpushsrc.h:
27215 add short/long description docs to base classes
27216 add pushsrc to the docs
27217 remove consolidated doc fragments
27219 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27222 * docs/libs/Makefile.am:
27223 * docs/libs/gstreamer-libs-docs.sgml:
27224 * docs/libs/gstreamer-libs-sections.txt:
27225 * docs/libs/gstreamer-libs.types:
27226 * examples/Makefile.am:
27227 * examples/controller/.cvsignore:
27228 * examples/controller/Makefile.am:
27229 * examples/controller/audio-example.c: (main):
27230 * libs/gst/Makefile.am:
27231 * libs/gst/controller/.cvsignore:
27232 * libs/gst/controller/Makefile.am:
27233 * libs/gst/controller/gst-controller.c:
27234 (on_object_controlled_property_changed), (gst_timed_value_compare),
27235 (gst_timed_value_find),
27236 (gst_controlled_property_set_interpolation_mode),
27237 (gst_controlled_property_new), (gst_controlled_property_free),
27238 (gst_controller_find_controlled_property),
27239 (gst_controller_new_valist), (gst_controller_new),
27240 (gst_controller_remove_properties_valist),
27241 (gst_controller_remove_properties), (gst_controller_set),
27242 (gst_controller_set_from_list), (gst_controller_unset),
27243 (gst_controller_get), (gst_controller_get_all),
27244 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27245 (gst_controller_get_value_array),
27246 (gst_controller_set_interpolation_mode),
27247 (_gst_controller_finalize), (_gst_controller_init),
27248 (_gst_controller_class_init), (gst_controller_get_type):
27249 * libs/gst/controller/gst-controller.h:
27250 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27251 (g_object_uncontrol_properties), (g_object_get_controller),
27252 (g_object_set_controller), (g_object_sink_values),
27253 (g_object_get_value_arrays), (g_object_get_value_array):
27254 * libs/gst/controller/gst-interpolation.c:
27255 (gst_controlled_property_find_timed_value_node),
27256 (interpolate_none_get), (interpolate_trigger_get),
27257 (interpolate_trigger_get_value_array):
27258 * libs/gst/controller/lib.c: (gst_controller_init):
27259 * pkgconfig/Makefile.am:
27260 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27261 * pkgconfig/gstreamer-control.pc.in:
27262 * testsuite/Makefile.am:
27263 * testsuite/controller/.cvsignore:
27264 * testsuite/controller/Makefile.am:
27265 * testsuite/controller/interpolator.c: (main):
27266 added controller code
27267 removed dparam pc files
27269 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27270 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27271 (gst_collectpads_stop):
27272 Broadcast the condition when shutting down, to make sure we wake all
27273 threads up. Shut down pads on finalize, for safety.
27275 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27276 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27277 (gst_base_transform_handle_buffer),
27278 (gst_base_transform_change_state):
27279 Handle PAUSED->READY->PAUSED transition after negotiation
27281 * gst/gstmessage.c: (gst_message_init):
27282 Extra piece of debug for new messages.
27284 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27287 * docs/gst/tmpl/gstbasesrc.sgml:
27288 * docs/gst/tmpl/gstelement.sgml:
27289 * docs/gst/tmpl/gstevent.sgml:
27290 * docs/gst/tmpl/gstfakesrc.sgml:
27291 * docs/gst/tmpl/gstformat.sgml:
27292 * docs/gst/tmpl/gstghostpad.sgml:
27293 * docs/gst/tmpl/gstpad.sgml:
27294 * docs/gst/tmpl/gstquery.sgml:
27295 * docs/gst/tmpl/gststructure.sgml:
27296 * docs/gst/tmpl/gsttaglist.sgml:
27297 * docs/gst/tmpl/gstvalue.sgml:
27298 * docs/libs/gstreamer-libs-docs.sgml:
27299 * docs/libs/gstreamer-libs-sections.txt:
27300 * docs/libs/gstreamer-libs.types:
27301 * libs/gst/Makefile.am:
27302 * libs/gst/control/.cvsignore:
27303 * libs/gst/control/Makefile.am:
27304 * libs/gst/control/control.c:
27305 * libs/gst/control/control.h:
27306 * libs/gst/control/dparam.c:
27307 * libs/gst/control/dparam.h:
27308 * libs/gst/control/dparam_smooth.c:
27309 * libs/gst/control/dparam_smooth.h:
27310 * libs/gst/control/dparamcommon.h:
27311 * libs/gst/control/dparammanager.c:
27312 * libs/gst/control/dparammanager.h:
27313 * libs/gst/control/dplinearinterp.c:
27314 * libs/gst/control/dplinearinterp.h:
27315 * libs/gst/control/unitconvert.c:
27316 * libs/gst/control/unitconvert.h:
27317 * testsuite/Makefile.am:
27318 * testsuite/dynparams/.cvsignore:
27319 * testsuite/dynparams/Makefile.am:
27320 * testsuite/dynparams/dparamstest.c:
27321 * tools/Makefile.am:
27322 * tools/gst-inspect.c: (print_element_info), (main):
27323 * tools/gst-xmlinspect.c: (print_element_info), (main):
27324 deactivate and remove dparams (libgstcontrol)
27326 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27328 * gst/elements/gsttypefindelement.c:
27329 (gst_type_find_element_have_type), (gst_type_find_element_init),
27330 (stop_typefinding), (gst_type_find_element_handle_event),
27331 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27332 * gst/elements/gsttypefindelement.h:
27333 Set caps on all outgoing buffers, not just the first one.
27335 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27337 * gst/elements/gsttypefindelement.c:
27338 (gst_type_find_element_have_type),
27339 (gst_type_find_element_check_set_buffer_caps),
27340 (gst_type_find_element_init), (stop_typefinding),
27341 (gst_type_find_element_handle_event),
27342 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27343 * gst/elements/gsttypefindelement.h:
27344 Set caps on first outgoing buffer when we've found the type.
27346 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27348 * docs/gst/gstreamer-docs.sgml:
27349 * docs/gst/gstreamer-sections.txt:
27350 * docs/gst/tmpl/gstscheduler.sgml:
27351 * docs/gst/tmpl/gstschedulerfactory.sgml:
27352 Remove some old cruft from docs.
27354 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27357 Fix inline docs for GstPadLinkReturn.
27359 * gst/gststructure.c: (gst_structure_has_name):
27360 * gst/gststructure.h:
27361 * docs/gst/gstreamer-sections.txt:
27362 New API: gst_structure_has_name().
27364 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27367 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27368 and _LARGEFILE_SOURCE in config.h as required. Do not
27369 export those flags in our .pc files any longer (#142209).
27371 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27373 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27374 (gst_file_sink_do_seek), (gst_file_sink_event),
27375 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27376 Redo seek/tell calls with large file support in mind; add some
27377 debugging messages; add log message that tells us when large
27378 file support is unavailable or not enabled for some reason.
27380 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27381 Add log message that tells us when large file support
27382 is unavailable or not enabled for some reason.
27384 2005-07-29 Wim Taymans <wim@fluendo.com>
27386 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27387 Added test for removing an element with ghostpad from a bin.
27388 Fixed test as current implementation does the right thing.
27390 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27391 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27392 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27393 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27394 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27395 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27396 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27397 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27398 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27399 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27400 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27401 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27402 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27403 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27404 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27405 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27406 * gst/gstghostpad.h:
27407 Clean up ghostpads, remove properties for internal stuff.
27410 Prepare for switching targets, not all use cases work yet.
27412 2005-07-29 Wim Taymans <wim@fluendo.com>
27414 * docs/design/part-gstghostpad.txt:
27417 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27418 (gst_bin_remove_func):
27419 Unlinking pads while holding the bin LOCK is not a good
27422 * gst/gstpad.c: (gst_pad_class_init),
27423 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27424 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27425 No prob setting template after creating the pad.
27427 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27429 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27430 (gst_bus_peek), (gst_bus_source_dispatch),
27431 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27432 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27433 gst_bus_poll may be called from other threads. Handle
27434 this nicely by not making poll_data disappear off the
27435 stack once gst_bus_poll returns.
27436 gst_bus_peek now increments the refcount on the returned
27439 2005-07-29 Wim Taymans <wim@fluendo.com>
27441 * docs/design/part-gstghostpad.txt:
27442 Overview of current GhostPad datastructures and use
27443 cases for changing the target.
27445 2005-07-28 Wim Taymans <wim@fluendo.com>
27447 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27448 Added checks for hierarchy consistency whan adding linked
27451 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27452 Added check to test element scheduling without bin/pipeline.
27454 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27455 First add elements to bin, then link.
27457 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27458 (gst_bin_remove_func):
27459 Unlink pads from elements added/removed from bin to maintain
27460 hierarchy consistency.
27462 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27464 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27465 (gst_base_transform_handle_buffer):
27466 * gst/base/gstbasetransform.h:
27467 Remove broken delay_configure (fixes renegotiation of software
27468 scaling pipelines); remove some leftover printf()s.
27470 2005-07-28 Wim Taymans <wim@fluendo.com>
27472 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27473 Added some more tests for wrong hierarchy
27475 * docs/design/part-overview.txt:
27478 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27481 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27482 (gst_element_dispose):
27483 Some more cleanups.
27485 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27486 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27487 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27488 (gst_pad_set_caps), (gst_pad_send_event):
27489 Check for correct hierarchy when linking pads. Moving to
27490 strict requirement for ghostpads when linking elements in
27494 Clean ups. Added WRONG_HIERARCHY return value.
27496 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27498 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27499 Better debug if no transform is possible.
27501 2005-07-27 Wim Taymans <wim@fluendo.com>
27503 * docs/random/wtay/network-transp:
27504 Some old doc I had.
27506 2005-07-27 Wim Taymans <wim@fluendo.com>
27508 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27509 (gst_dp_event_from_packet):
27510 Fix serialization of seek events.
27512 2005-07-27 Wim Taymans <wim@fluendo.com>
27514 * check/gst-libs/gdp.c: (GST_START_TEST):
27515 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27516 Fix compilation and fix event serialization.
27518 2005-07-27 Wim Taymans <wim@fluendo.com>
27521 * docs/design/part-TODO.txt:
27522 * docs/design/part-events.txt:
27525 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27526 (gst_base_sink_event), (gst_base_sink_do_sync),
27527 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27528 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27529 (gst_base_src_do_seek), (gst_base_src_event_handler),
27530 (gst_base_src_loop):
27531 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27532 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27533 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27534 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27535 (gst_base_transform_set_passthrough),
27536 (gst_base_transform_is_passthrough):
27537 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27538 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27544 * gst/gstelement.c: (gst_element_seek):
27545 * gst/gstelement.h:
27546 Update gst_element_seek.
27548 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27549 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27550 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27551 (gst_event_new_eos), (gst_event_new_newsegment),
27552 (gst_event_parse_newsegment), (gst_event_new_tag),
27553 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27554 (gst_event_parse_qos), (gst_event_new_seek),
27555 (gst_event_parse_seek), (gst_event_new_navigation):
27557 Make GstEvent use GstStructure. Add parsing code, make sure the
27558 API is sufficiently generic.
27559 Mark possible directions of events and serialization.
27561 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27562 (_gst_message_copy), (gst_message_new_segment_start),
27563 (gst_message_new_segment_done), (gst_message_new_custom),
27564 (gst_message_parse_segment_start),
27565 (gst_message_parse_segment_done):
27568 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27569 (gst_pad_set_caps), (gst_pad_send_event):
27570 Update for new events.
27571 Catch events sent in wrong directions.
27573 * gst/gstqueue.c: (gst_queue_link_src),
27574 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27575 (gst_queue_handle_src_query):
27580 Remove event code from this file.
27582 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27583 (gst_dp_event_from_packet):
27586 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27588 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27589 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27590 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27591 Make debugging actually useful.
27593 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27595 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27596 (gst_pad_fixate_caps):
27597 Implement default fixation once again, so that gst_pad_fixate()
27598 actually does anything at all. This probably needs to be some
27599 sort of a last resort, and use profile-based fixation first, but
27600 since that doesn't exist yet, this is the best we have. Fixes
27601 visualization in Totem.
27603 2005-07-22 Wim Taymans <wim@fluendo.com>
27605 * docs/design/part-events.txt:
27608 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27609 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27610 (gst_base_sink_activate_pull):
27611 Some more comments.
27613 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27614 (gst_fake_src_create):
27615 Fix handoff marshall.
27617 * gst/elements/gstidentity.c: (gst_identity_class_init),
27618 (gst_identity_transform_ip):
27619 We're a real inplace element.
27621 * gst/gstbus.c: (gst_bus_post):
27622 Added some comments.
27624 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27625 * tests/muxing/case1.c: (main):
27626 * tests/sched/dynamic-pipeline.c: (main):
27627 * tests/sched/interrupt1.c: (main):
27628 * tests/sched/interrupt2.c: (main):
27629 * tests/sched/interrupt3.c: (main):
27630 * tests/sched/runxml.c: (main):
27631 * tests/sched/sched-stress.c: (main):
27632 * tests/seeking/seeking1.c: (event_received), (main):
27633 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27635 * tests/threadstate/threadstate3.c: (main):
27636 * tests/threadstate/threadstate4.c: (main):
27637 * tests/threadstate/threadstate5.c: (main):
27640 2005-07-21 Wim Taymans <wim@fluendo.com>
27642 * docs/design/part-seeking.txt:
27643 Some small additions.
27645 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27646 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27647 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27648 * gst/base/gstbasesink.h:
27649 discont values are gint64, handle the math correctly.
27651 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27652 Make the basesrc report error if the source pad is not linked.
27654 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27655 (gst_queue_loop), (gst_queue_handle_src_query),
27656 (gst_queue_src_activate_push):
27657 Make queue collect data even if the srcpad is not linked.
27658 Start pushing out data as soon as it is linked.
27660 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27662 Added gst_flow_get_name() to ease error reporting.
27664 2005-07-20 Wim Taymans <wim@fluendo.com>
27666 * gst/gstmessage.c: (gst_message_new_segment_start),
27667 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27668 (gst_message_parse_segment_done):
27669 * gst/gstmessage.h:
27670 Added a bunch of messages for advanced seeking.
27672 * gst/parse/grammar.y:
27673 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27674 (gst_dpman_state_changed):
27675 Fix some new-pad -> pad-added signals
27677 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27679 * docs/manual/appendix-porting.xml:
27680 * docs/pwg/appendix-porting.xml:
27681 Document new-pad/state-change signal renames and the FixedList
27684 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27686 * docs/manual/advanced-autoplugging.xml:
27687 * docs/manual/basics-helloworld.xml:
27688 * docs/manual/basics-pads.xml:
27689 * docs/random/ds/0.9-suggested-changes:
27690 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27691 * gst/gstelement.h:
27695 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27696 (gst_structure_parse_array), (gst_structure_parse_value):
27697 * gst/gstvalue.c: (gst_type_is_fixed),
27698 (gst_value_list_prepend_value), (gst_value_list_append_value),
27699 (gst_value_list_get_size), (gst_value_list_get_value),
27700 (gst_value_transform_array_string), (gst_value_serialize_array),
27701 (gst_value_deserialize_array), (gst_value_intersect_array),
27702 (gst_value_is_fixed), (_gst_value_initialize):
27704 GstElement::new-pad -> pad-added, GstElement::state-change ->
27705 state-changed, GstValueFixedList -> GstValueArray, add format and
27706 flags as their own arguments in gst_element_seek() (should improve
27707 "bindeability"), remove function generators since they don't work
27708 under a whole bunch of compilers (they were deprecated already
27711 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27713 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27714 (_gst_debug_register_funcptr):
27716 Fix illegal cast on some platforms (#309253).
27718 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27720 * gst/gstmessage.c: (gst_message_new_custom):
27721 * gst/gstmessage.h:
27722 Add _new_custom, make _new_application a macro to _new_custom.
27724 2005-07-20 Wim Taymans <wim@fluendo.com>
27726 * gst/base/gstbasesrc.c: (gst_base_src_init),
27727 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27728 * gst/base/gstbasesrc.h:
27729 Add a gboolean to decide when to push out a discont.
27731 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27732 (gst_queue_loop), (gst_queue_handle_src_query),
27733 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27734 (gst_queue_set_property), (gst_queue_get_property):
27737 * tests/threadstate/threadstate1.c: (main):
27738 Make a thread test compile and run... very silly..
27741 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27743 * docs/manual/appendix-porting.xml:
27744 Mention removal of libgstgconf-0.9.la and existence of gconf
27747 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27749 * docs/pwg/advanced-clock.xml:
27750 * docs/pwg/appendix-porting.xml:
27751 * docs/pwg/intro-preface.xml:
27752 * docs/pwg/other-base.xml:
27753 * docs/pwg/other-manager.xml:
27754 * docs/pwg/other-nton.xml:
27755 * docs/pwg/other-ntoone.xml:
27756 * docs/pwg/other-oneton.xml:
27757 * docs/pwg/pwg.xml:
27758 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27759 demuxer), remove n-to-n (was never written), fix some code examples
27760 and links and update the porting section to include all this.
27762 2005-07-19 Wim Taymans <wim@fluendo.com>
27764 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27765 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27766 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27767 (gst_queue_src_activate_push), (gst_queue_change_state),
27768 (gst_queue_get_property):
27770 Propagate GstFlowReturn more intelligently upstream and output
27771 an ERROR/EOS when streaming stopped due to fatal error.
27773 2005-07-19 Wim Taymans <wim@fluendo.com>
27775 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27776 Don't block forever for the state change to complete, the
27777 pipeline already did with a sensible timeout.
27779 2005-07-19 Wim Taymans <wim@fluendo.com>
27781 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27782 Make sure we never call the create function is we
27785 2005-07-19 Andy Wingo <wingo@pobox.com>
27787 * gst/parse/parse.l: Attempt to solve bug #172815.
27789 2005-07-19 Wim Taymans <wim@fluendo.com>
27791 * docs/design/part-clocks.txt:
27792 * docs/design/part-events.txt:
27793 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27794 Small docs updates.
27795 Only update the seeking values when we are not
27798 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27800 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27801 Oops, ignore the result of gst_pad_push_event here.
27803 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27805 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27806 (gst_base_src_activate_push):
27807 Send discont event from the loop function, as pads
27808 aren't activated yet in the activate_push handler.
27810 * gst/gstbin.c: (bin_bus_handler):
27811 Don't leak element name.
27813 2005-07-18 Andy Wingo <wingo@pobox.com>
27815 * configure.ac: Use AS_LIBTOOL_TAGS.
27817 2005-07-18 Wim Taymans <wim@fluendo.com>
27819 * docs/gst/gstreamer.types:
27820 Remove deleted types.
27822 2005-07-18 Wim Taymans <wim@fluendo.com>
27824 * check/elements/gstfakesrc.c: (GST_START_TEST):
27827 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27828 (init_popt_callback):
27830 * gst/gst_private.h:
27831 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27832 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27835 * gst/gstconfig.h.in:
27836 * gst/gstelement.c: (gst_element_class_init),
27837 (gst_element_set_base_time), (gst_element_get_base_time),
27838 (iterator_fold_with_resync), (gst_element_change_state),
27839 (gst_element_dispose), (gst_element_get_bus):
27840 * gst/gstelement.h:
27841 * gst/gstelementfactory.h:
27842 * gst/gsterror.c: (_gst_core_errors_init):
27845 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27847 * gst/gstinfo.c: (_gst_debug_init):
27848 * gst/gstmessage.c: (_gst_message_copy):
27849 * gst/gstmessage.h:
27850 * gst/gstminiobject.h:
27853 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27854 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27857 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27858 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27859 (gst_pipeline_get_last_stream_time):
27860 * gst/gstpipeline.h:
27861 * gst/gstpluginfeature.h:
27863 * gst/gstscheduler.c:
27864 * gst/gstscheduler.h:
27865 * gst/gststructure.h:
27866 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27867 (gst_task_finalize), (gst_task_func), (gst_task_create),
27868 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27869 (gst_task_stop), (gst_task_pause):
27871 * gst/gsttypefind.h:
27873 * gst/registries/gstlibxmlregistry.c: (load_feature),
27874 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27875 * gst/registries/gstxmlregistry.c:
27876 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27877 * gst/schedulers/threadscheduler.c:
27878 * libs/gst/control/dparammanager.h:
27879 * tools/gst-inspect.c: (print_element_list),
27880 (print_plugin_features), (print_element_features):
27881 * tools/gst-xmlinspect.c: (print_element_list),
27882 (print_plugin_info), (main):
27883 Removed plugable schedulers.
27884 Removed Scheduler/Manager from elements.
27885 Removed gsttypes.h, rearranged includes.
27886 Removed dependency pad<->element, element<>pipeline, and
27887 various others, fix includes.
27888 implement gst_pad_get_parent() with gst_object_get_parent()
27889 Make GstTask sefcontained.
27890 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27892 Fix endless loop in iterator_fold_with_resync.
27895 2005-07-18 Wim Taymans <wim@fluendo.com>
27901 2005-07-18 Wim Taymans <wim@fluendo.com>
27904 No more cothreads.h
27906 2005-07-18 Wim Taymans <wim@fluendo.com>
27910 Let's remove these.
27912 2005-07-18 Wim Taymans <wim@fluendo.com>
27914 * docs/design/part-dynamic.txt:
27915 * docs/design/part-events.txt:
27916 * docs/design/part-seeking.txt:
27917 Some more docs in the works.
27919 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27920 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27921 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27922 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27923 (gst_base_transform_handle_buffer),
27924 (gst_base_transform_sink_activate_push),
27925 (gst_base_transform_src_activate_pull),
27926 (gst_base_transform_set_passthrough),
27927 (gst_base_transform_is_passthrough):
27930 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27933 * gst/gstevent.c: (gst_event_finalize):
27936 * gst/gstutils.c: (gst_element_unlink),
27937 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27938 (gst_pad_proxy_setcaps):
27940 Add _get_parent_element() to get a pads parent as an element.
27942 2005-07-18 Wim Taymans <wim@fluendo.com>
27944 * check/gst/gstbin.c: (GST_START_TEST):
27947 2005-07-18 Wim Taymans <wim@fluendo.com>
27949 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27950 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27951 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27952 (gst_base_sink_event), (gst_base_sink_do_sync),
27953 (gst_base_sink_chain), (gst_base_sink_loop),
27954 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27955 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27957 Fix logic for returning ASYNC when not prerolled.
27959 2005-07-18 Wim Taymans <wim@fluendo.com>
27961 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27962 Fix nasty refcount bug.
27964 2005-07-16 Philippe Khalaf <burger@speedy.org>
27966 * gst/elements/gstfdsrc.c:
27967 * gst/elements/gstfdsrc.h:
27968 * gst/elements/gstelements.c:
27969 * gst/elements/Makefile.am:
27970 Ported fdsrc to 0.9.
27972 2005-07-16 Wim Taymans <wim@fluendo.com>
27974 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27975 (gst_base_sink_do_sync):
27978 2005-07-16 Wim Taymans <wim@fluendo.com>
27980 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27981 (gst_base_sink_event), (gst_base_sink_get_times),
27982 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27983 * gst/base/gstbasesink.h:
27984 Store and use discont values when syncing buffers as described
27987 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27988 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27989 (gst_base_src_activate_push):
27990 Push discont event when starting.
27992 * gst/elements/gstidentity.c: (gst_identity_transform):
27995 * gst/gstbin.c: (gst_bin_change_state):
27996 Small cleanups in base_time distribution.
27998 * gst/gstelement.c: (gst_element_set_base_time),
27999 (gst_element_get_base_time), (gst_element_change_state):
28000 * gst/gstelement.h:
28001 Added methods for the base_time of the element.
28004 * gst/gstpipeline.c: (gst_pipeline_send_event),
28005 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28006 (gst_pipeline_get_last_stream_time):
28007 * gst/gstpipeline.h:
28009 Handle seeking as described in design doc, remove stream_time
28011 Cleanups clock and stream_time selection code. Added accessors
28012 for the stream_time.
28015 2005-07-16 Andy Wingo <wingo@pobox.com>
28017 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28020 2005-07-16 Wim Taymans <wim@fluendo.com>
28022 * check/gst/gstbin.c: (GST_START_TEST):
28023 Make elements silent as the deep_notify refs the
28024 parent, which might make the test fail.
28026 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28027 Don't hold the lock for too long.
28029 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
28031 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28032 Don't unref the caps we passed to gst_caps_make_writable() after
28033 passing them. gst_caps_make_writable() will do that for us.
28035 2005-07-15 Andy Wingo <wingo@pobox.com>
28037 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28040 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28041 own marshalling function for the handoff signal. Properly type the
28042 buffer as a buffer. Fixes some warnings. Should do a more general
28044 (gst_identity_class_init): Plug into the right marshaller.
28046 2005-07-15 Wim Taymans <wim@fluendo.com>
28048 * docs/design/part-TODO.txt:
28049 * docs/design/part-clocks.txt:
28050 * docs/design/part-element-sink.txt:
28051 * docs/design/part-events.txt:
28052 * docs/design/part-gstpipeline.txt:
28053 Updated docs, mostly DISCONT related.
28055 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
28057 * docs/pwg/building-pads.xml:
28058 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28060 2005-07-15 Andy Wingo <wingo@pobox.com>
28062 * tools/gst-typefind.c: Update, add copyright block.
28064 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28065 Normalize and truncate caps before fixation.
28068 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28069 discards all but the first structure from its argument.
28071 2005-07-15 Wim Taymans <wim@fluendo.com>
28073 * gst/base/gstbasetransform.c: (gst_base_transform_init),
28074 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28075 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28076 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28077 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28078 (gst_base_transform_chain), (gst_base_transform_change_state),
28079 (gst_base_transform_set_passthrough),
28080 (gst_base_transform_is_passthrough):
28081 * gst/base/gstbasetransform.h:
28082 Make passthrough work using the bufferpools.
28083 Changed API a bit, subclasses have to write into a buffer
28084 provided by the base class.
28085 More debug info in nego functions.
28087 * gst/elements/gstidentity.c: (gst_identity_init),
28088 (gst_identity_transform):
28089 Port to new base class.
28091 2005-07-15 Wim Taymans <wim@fluendo.com>
28093 * gst/gstmessage.c: (gst_message_new_state_changed):
28094 * tools/gst-launch.c: (event_loop), (main):
28095 Totally dump messages in -launch with the -m option.
28096 Fix message name for State messages,
28098 2005-07-14 Wim Taymans <wim@fluendo.com>
28100 * gst/base/gstbasesrc.c: (gst_base_src_loop):
28101 Post error messages on errors.
28103 2005-07-14 Wim Taymans <wim@fluendo.com>
28105 * gst/gstcaps.c: (gst_caps_do_simplify):
28109 Define error for stream stopped.
28111 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28112 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28113 Do proper return values.
28115 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28116 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28117 (gst_pad_get_range):
28118 Better return values.
28121 Reorganise return values, add macro to check for fatal errors.
28123 * gst/gstqueue.c: (gst_queue_chain):
28124 Return proper GstFlowReturn values,
28126 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
28128 * docs/gst/gstreamer-sections.txt:
28129 * docs/gst/gstreamer.types:
28130 * docs/gst/tmpl/gst.sgml:
28131 * docs/gst/tmpl/gstbasesink.sgml:
28132 * docs/gst/tmpl/gstbasesrc.sgml:
28133 * docs/gst/tmpl/gstbasetransform.sgml:
28134 * docs/gst/tmpl/gstbin.sgml:
28135 * docs/gst/tmpl/gstbuffer.sgml:
28136 * docs/gst/tmpl/gstcaps.sgml:
28137 * docs/gst/tmpl/gstclock.sgml:
28138 * docs/gst/tmpl/gstcompat.sgml:
28139 * docs/gst/tmpl/gstconfig.sgml:
28140 * docs/gst/tmpl/gstelement.sgml:
28141 * docs/gst/tmpl/gstelementdetails.sgml:
28142 * docs/gst/tmpl/gstelementfactory.sgml:
28143 * docs/gst/tmpl/gstenumtypes.sgml:
28144 * docs/gst/tmpl/gsterror.sgml:
28145 * docs/gst/tmpl/gstevent.sgml:
28146 * docs/gst/tmpl/gstfakesink.sgml:
28147 * docs/gst/tmpl/gstfakesrc.sgml:
28148 * docs/gst/tmpl/gstfilesink.sgml:
28149 * docs/gst/tmpl/gstfilesrc.sgml:
28150 * docs/gst/tmpl/gstfilter.sgml:
28151 * docs/gst/tmpl/gstformat.sgml:
28152 * docs/gst/tmpl/gstghostpad.sgml:
28153 * docs/gst/tmpl/gstimplementsinterface.sgml:
28154 * docs/gst/tmpl/gstindex.sgml:
28155 * docs/gst/tmpl/gstindexfactory.sgml:
28156 * docs/gst/tmpl/gstinfo.sgml:
28157 * docs/gst/tmpl/gstiterator.sgml:
28158 * docs/gst/tmpl/gstmacros.sgml:
28159 * docs/gst/tmpl/gstmemchunk.sgml:
28160 * docs/gst/tmpl/gstminiobject.sgml:
28161 * docs/gst/tmpl/gstobject.sgml:
28162 * docs/gst/tmpl/gstpad.sgml:
28163 * docs/gst/tmpl/gstpadtemplate.sgml:
28164 * docs/gst/tmpl/gstparse.sgml:
28165 * docs/gst/tmpl/gstpipeline.sgml:
28166 * docs/gst/tmpl/gstplugin.sgml:
28167 * docs/gst/tmpl/gstpluginfeature.sgml:
28168 * docs/gst/tmpl/gstquery.sgml:
28169 * docs/gst/tmpl/gstqueue.sgml:
28170 * docs/gst/tmpl/gstregistry.sgml:
28171 * docs/gst/tmpl/gstregistrypool.sgml:
28172 * docs/gst/tmpl/gstscheduler.sgml:
28173 * docs/gst/tmpl/gstschedulerfactory.sgml:
28174 * docs/gst/tmpl/gststructure.sgml:
28175 * docs/gst/tmpl/gstsystemclock.sgml:
28176 * docs/gst/tmpl/gsttaglist.sgml:
28177 * docs/gst/tmpl/gsttagsetter.sgml:
28178 * docs/gst/tmpl/gsttrace.sgml:
28179 * docs/gst/tmpl/gsttrashstack.sgml:
28180 * docs/gst/tmpl/gsttypefind.sgml:
28181 * docs/gst/tmpl/gsttypefindfactory.sgml:
28182 * docs/gst/tmpl/gsttypes.sgml:
28183 * docs/gst/tmpl/gsturihandler.sgml:
28184 * docs/gst/tmpl/gsturitype.sgml:
28185 * docs/gst/tmpl/gstutils.sgml:
28186 * docs/gst/tmpl/gstvalue.sgml:
28187 * docs/gst/tmpl/gstversion.sgml:
28188 * docs/gst/tmpl/gstxml.sgml:
28189 * docs/libs/tmpl/gstcontrol.sgml:
28190 * docs/libs/tmpl/gstdataprotocol.sgml:
28191 * docs/libs/tmpl/gstdparam.sgml:
28192 * docs/libs/tmpl/gstdplinint.sgml:
28193 * docs/libs/tmpl/gstdpman.sgml:
28194 * docs/libs/tmpl/gstdpsmooth.sgml:
28195 * docs/libs/tmpl/gstgetbits.sgml:
28196 * docs/libs/tmpl/gstunitconvert.sgml:
28197 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28198 (gst_push_src_base_init), (gst_push_src_class_init),
28199 (gst_push_src_init), (gst_push_src_create):
28200 * gst/base/gstpushsrc.h:
28201 * gst/elements/gstelements.c:
28202 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28203 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28204 (gst_fake_sink_init), (gst_fake_sink_set_property),
28205 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28206 (gst_fake_sink_event), (gst_fake_sink_preroll),
28207 (gst_fake_sink_render), (gst_fake_sink_change_state):
28208 * gst/elements/gstfakesink.h:
28209 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28210 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28211 (gst_fake_src_base_init), (gst_fake_src_class_init),
28212 (gst_fake_src_init), (gst_fake_src_event_handler),
28213 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28214 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28215 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28216 (gst_fake_src_create_buffer), (gst_fake_src_create),
28217 (gst_fake_src_start), (gst_fake_src_stop):
28218 * gst/elements/gstfakesrc.h:
28219 * gst/elements/gstfilesink.c: (_do_init),
28220 (gst_file_sink_base_init), (gst_file_sink_class_init),
28221 (gst_file_sink_init), (gst_file_sink_dispose),
28222 (gst_file_sink_set_location), (gst_file_sink_set_property),
28223 (gst_file_sink_get_property), (gst_file_sink_open_file),
28224 (gst_file_sink_close_file), (gst_file_sink_query),
28225 (gst_file_sink_event), (gst_file_sink_render),
28226 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28227 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28228 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28229 * gst/elements/gstfilesink.h:
28230 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28231 (gst_file_src_class_init), (gst_file_src_init),
28232 (gst_file_src_finalize), (gst_file_src_set_location),
28233 (gst_file_src_set_property), (gst_file_src_get_property),
28234 (gst_file_src_map_region), (gst_file_src_map_small_region),
28235 (gst_file_src_create_mmap), (gst_file_src_create_read),
28236 (gst_file_src_create), (gst_file_src_is_seekable),
28237 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28238 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28239 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28240 (gst_file_src_uri_handler_init):
28241 * gst/elements/gstfilesrc.h:
28242 more autistic cleanliness in functions/names/defines
28244 2005-07-13 Andy Wingo <wingo@pobox.com>
28246 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28247 source couldn't negotiate.
28249 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28253 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28254 function. I am channeling Hades. Put your boots on suckers!!!
28256 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28258 * testsuite/caps/Makefile.am:
28259 * testsuite/caps/value_compare.c:
28260 * testsuite/caps/value_intersect.c:
28261 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28262 move two testsuite apps over to the check dir
28264 2005-07-12 Wim Taymans <wim@fluendo.com>
28266 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28267 Added more debug info in the negotiate process.
28269 * gst/gstmessage.h:
28270 Prepare for segment playback.
28272 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28278 * tools/gst-launch.c: (main):
28279 NULL pipeline on errors.
28281 2005-07-12 Andy Wingo <wingo@pobox.com>
28283 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28284 not it comes from a malloc region. Make sure our copy gets freed.
28286 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28288 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28289 * check/gst/gstmessage.c: (GST_START_TEST):
28290 * check/gst/gststructure.c: (GST_START_TEST),
28291 (gst_structure_suite), (main):
28293 * gst/gstelement.c: (gst_element_message_full):
28294 clean up GError and debug string now that they get copied
28295 * gst/gstmessage.c: (gst_message_new_error),
28296 (gst_message_new_warning), (gst_message_parse_error),
28297 (gst_message_parse_warning):
28298 use GST_TYPE_G_ERROR for structure_new, and take copies of
28299 arguments, so that we don't mess up refcounting
28301 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28303 * check/Makefile.am:
28304 add per-test valgrind targets
28305 * check/gst-libs/gdp.c: (GST_START_TEST),
28306 (gst_data_protocol_suite), (main):
28309 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28311 * check/Makefile.am:
28312 instate more valgrindable tests
28313 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28314 (GST_START_TEST), (fakesrc_suite):
28315 * check/gst/gstpad.c: (GST_START_TEST):
28316 * check/gst/gststructure.c: (GST_START_TEST):
28318 * docs/gst/tmpl/gstminiobject.sgml:
28319 * gst/gstpad.c: (gst_pad_finalize):
28320 fix the static mutex leak
28322 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28324 * check/Makefile.am:
28325 add two more tests for valgrinding
28326 * check/gst/gstvalue.c: (GST_START_TEST):
28327 test refcount of deserialized buffer, found a leak
28328 * docs/gst/gstreamer-docs.sgml:
28329 * docs/gst/gstreamer-sections.txt:
28330 * docs/gst/gstreamer.types:
28331 * docs/gst/tmpl/gstminiobject.sgml:
28332 add miniobject to docs
28333 * gst/gstminiobject.c:
28335 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28336 (gst_string_unwrap):
28337 fix a hard-to-find invalid write for one of the tests
28338 fix a leak for deserialized buffers
28340 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28342 * docs/pwg/advanced-events.xml:
28343 * docs/pwg/advanced-request.xml:
28344 * docs/pwg/advanced-scheduling.xml:
28345 * docs/pwg/appendix-porting.xml:
28346 * docs/pwg/building-boiler.xml:
28347 * docs/pwg/intro-preface.xml:
28348 * docs/pwg/other-ntoone.xml:
28349 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28350 of example code and explanation for pad activation, loop() and
28351 getrange() functions and a bit more. Remove old comments pointing
28353 * examples/pwg/Makefile.am:
28354 Add loop/getrange examples.
28356 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28359 check for valgrind binary + some fixes
28361 valgrind suppressions for the tests
28362 * check/Makefile.am:
28363 add a valgrind: target that valgrinds the unit tests
28364 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28365 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28366 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28367 * check/gst/gstghostpad.c:
28369 * check/gst/gstdata.c:
28371 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28372 (thread_unref), (gst_mini_object_suite), (main):
28374 * gst/gst.c: (gst_deinit):
28376 add a method to clean up.
28377 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28378 (gst_system_clock_obtain):
28379 allow for disposing the system clock.
28380 * tools/gst-launch.c: (main):
28383 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28385 * docs/gst/tmpl/gstbasesrc.sgml:
28386 * docs/gst/tmpl/gstfakesrc.sgml:
28387 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28388 (gst_base_src_init), (gst_base_src_set_property),
28389 (gst_base_src_get_property), (gst_base_src_get_range),
28390 (gst_base_src_start):
28391 * gst/base/gstbasesrc.h:
28392 add num-buffers property
28393 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28394 (gst_fakesrc_init), (gst_fakesrc_set_property),
28395 (gst_fakesrc_get_property), (gst_fakesrc_create),
28396 (gst_fakesrc_start):
28397 remove num-buffers property
28399 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28401 * docs/gst/gstreamer-sections.txt:
28402 * docs/gst/tmpl/gstbasesink.sgml:
28403 * docs/gst/tmpl/gstbasesrc.sgml:
28404 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28405 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28406 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28407 (gst_base_sink_set_property), (gst_base_sink_get_property),
28408 (gst_base_sink_handle_object), (gst_base_sink_event),
28409 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28410 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28411 (gst_base_sink_loop), (gst_base_sink_deactivate),
28412 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28413 (gst_base_sink_change_state):
28414 * gst/base/gstbasesink.h:
28415 * gst/base/gstbasesrc.h:
28416 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28417 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28418 (gst_filesink_init):
28419 more macro splitting
28421 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28423 * gst/gstelement.c: (gst_element_get_bus):
28425 * tools/gst-launch.c: (check_intr), (event_loop):
28428 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28430 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28433 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28435 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28436 (gst_base_src_finalize):
28437 add finalize method and clean up properly
28438 * gst/gstpipeline.c: (gst_pipeline_dispose):
28441 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28443 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28445 add more things to check
28446 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28447 * gst/gstelement.c:
28450 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28452 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28453 (GST_START_TEST), (fakesrc_suite):
28454 * check/gst-libs/gdp.c: (GST_START_TEST):
28455 * check/gst/gst.c: (GST_START_TEST):
28456 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28457 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28458 * check/gst/gstbus.c: (GST_START_TEST):
28459 * check/gst/gstcaps.c: (GST_START_TEST):
28460 * check/gst/gstdata.c: (GST_START_TEST):
28461 * check/gst/gstelement.c: (GST_START_TEST):
28462 * check/gst/gstghostpad.c: (GST_START_TEST):
28463 * check/gst/gstiterator.c: (GST_START_TEST):
28464 * check/gst/gstmessage.c: (GST_START_TEST):
28465 * check/gst/gstobject.c: (GST_START_TEST):
28466 * check/gst/gstpad.c: (GST_START_TEST):
28467 * check/gst/gststructure.c: (GST_START_TEST):
28468 * check/gst/gstsystemclock.c: (GST_START_TEST),
28469 (gst_systemclock_suite):
28470 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28471 * check/gst/gstvalue.c: (GST_START_TEST):
28472 * check/pipelines/cleanup.c: (GST_START_TEST):
28473 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28474 * check/states/sinks.c: (GST_START_TEST):
28475 * check/gstcheck.c: (gst_check_init):
28476 * check/gstcheck.h:
28477 add debugging category
28478 use GST_START_TEST now, so we add a debug line
28480 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28482 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28483 add test for state change message on a bin
28484 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28486 * gst/gstbin.c: (gst_bin_init):
28487 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28488 * gst/gstelement.c: (gst_element_post_message),
28489 (gst_element_set_state):
28490 * gst/gstelementfactory.c: (gst_element_factory_create):
28491 * gst/gstmessage.c: (gst_message_new):
28492 * gst/gstscheduler.c:
28493 various debugging additions and cleanups
28495 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28497 * check/Makefile.am:
28498 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28500 adding tests for elements
28501 * gst/gstelement.c: (gst_element_dispose):
28503 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28505 * gst/registries/gstlibxmlregistry.c: (load_feature):
28506 plug more leaks. A simple gst_init() now is leakfree, yay.
28508 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28510 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28511 (gst_xml_registry_load):
28512 plug another memleak
28514 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28517 use GST_SET_ERROR_CFLAGS
28518 * docs/faq/cvs.xml:
28519 change to ERROR_CFLAGS
28521 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28524 make GST_ERROR_CFLAGS overridable and re-enable Werror
28525 * docs/faq/cvs.xml:
28526 add a note about error CFLAGS
28527 * docs/gst/tmpl/gstfakesrc.sgml:
28528 * gst/elements/gstfakesrc.c:
28529 comment out some unused code
28530 * gst/gst.c: (split_and_iterate):
28531 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28535 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28537 * common/Makefile.am:
28538 * common/gtk-doc.mak:
28539 * docs/gst/Makefile.am:
28540 factor out gtk-doc.mak
28542 2005-07-07 Wim Taymans <wim@fluendo.com>
28544 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28545 (gst_thread_scheduler_dispose):
28546 Unlock the STREAM_LOCK completely.
28548 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28550 * check/Makefile.am:
28551 * check/elements/.cvsignore:
28552 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28553 (START_TEST), (fakesrc_suite), (main):
28554 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28555 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28556 (gst_fakesrc_create), (gst_fakesrc_start):
28557 * gst/elements/gstfakesrc.h:
28558 adding a first element test
28560 2005-07-07 Andy Wingo <wingo@pobox.com>
28562 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28565 2005-07-07 Wim Taymans <wim@fluendo.com>
28571 2005-07-07 Wim Taymans <wim@fluendo.com>
28573 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28574 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28575 Allow subclasses to implement their own negotiation.
28577 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28579 * docs/design/part-gstbin.txt:
28580 * docs/design/part-gstpipeline.txt:
28581 Update design notes to reflect the movement of
28582 responsibility for bus handling from GstPipeline to
28585 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28588 Remove unnecessary queue2/3/4 examples.
28590 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28592 * examples/Makefile.am:
28593 * examples/helloworld/helloworld.c: (event_loop), (main):
28594 * examples/queue/queue.c: (event_loop), (main):
28595 * examples/queue2/queue2.c: (main):
28596 Update a couple of the examples to work again.
28598 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28599 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28600 Spelling corrections and extra debug.
28602 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28603 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28604 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28606 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28607 (gst_pipeline_change_state):
28608 * gst/gstpipeline.h:
28609 Move the bus handler for children to the GstBin, and create a
28610 separate bus for receiving messages from children to the one the
28611 bus sends 'upwards' on.
28613 2005-07-06 Wim Taymans <wim@fluendo.com>
28616 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28617 (gst_base_sink_handle_object), (gst_base_sink_loop),
28618 (gst_base_sink_change_state):
28619 * gst/base/gstbasesink.h:
28620 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28621 (gst_base_src_init), (gst_base_src_setcaps),
28622 (gst_base_src_getcaps), (gst_base_src_loop),
28623 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28624 (gst_base_src_start), (gst_base_src_change_state):
28625 * gst/base/gstbasesrc.h:
28626 Make basesrc negotiate.
28627 Handle the case where preroll fails in basesink.
28630 2005-07-06 Wim Taymans <wim@fluendo.com>
28632 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28633 Implement the fixate function.
28634 Clean up acceptcaps.
28636 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28638 * docs/pwg/building-filterfactory.xml:
28639 * docs/pwg/pwg.xml:
28640 Remove never-written filter-factory chapter; I'll add the various
28641 base classes to part 4 ("other element types") later on.
28643 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28645 * docs/pwg/advanced-negotiation.xml:
28646 * docs/pwg/building-boiler.xml:
28647 * docs/pwg/building-pads.xml:
28648 * docs/pwg/pwg.xml:
28649 * examples/pwg/Makefile.am:
28650 Add a chapter on caps negotiation, simplify the original code
28651 samples a bit w.r.t. caps negotiation, add link to the advanced
28652 section. Add a bunch of examples showing different use cases of
28653 different types of caps negotiation. Upstream renegotiation isn't
28654 fully documented yet since nobody knows how that works.
28656 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28658 * check/gst/gstpad.c:
28659 * check/gstcheck.c:
28660 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28661 if pad has no parent, return NULL as list of internal links
28663 2005-07-05 Andy Wingo <wingo@pobox.com>
28665 * gst/elements/gstfilesrc.c:
28666 * gst/elements/gstfakesrc.c:
28667 * gst/base/gstpushsrc.c:
28668 * gst/base/gstbasesrc.h:
28669 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28671 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28674 better report generation target (lcov needs a patch)
28676 2005-07-05 Andy Wingo <wingo@pobox.com>
28678 * gst/elements, testsuite: Null if we got it...
28680 2005-07-05 Wim Taymans <wim@fluendo.com>
28683 * libs/gst/dataprotocol/Makefile.am:
28684 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28685 * libs/gst/dataprotocol/dataprotocol.h:
28686 * pkgconfig/Makefile.am:
28687 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28688 * pkgconfig/gstreamer-dataprotocol.pc.in:
28689 Ported dataprotol to 0.9.
28690 Added pkgconfig files.
28692 2005-07-05 Andy Wingo <wingo@pobox.com>
28694 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28695 Default to returning TRUE for the case when tranform_caps returns
28696 a fixed caps, like for identity or volume.
28698 * check/gst/gstbus.c (pound_bus_with_messages):
28699 * check/gst/gstmessage.c (START_TEST):
28700 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28701 message API change.
28703 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28704 logic weaks here: always run transform_caps, trying passthrough
28705 operation only if the original caps intersects with the transform.
28707 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28708 source and sink caps.
28710 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28711 Intersect the peer caps with the pad template before going into
28713 (gst_base_transform_transform_caps): More debugging.
28715 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28718 2005-07-04 Edward Hervey <edward@fluendo.com>
28722 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28725 2005-07-04 Andy Wingo <wingo@pobox.com>
28727 * check/gst/gstpad.c: Only set explicit caps on pads.
28729 2005-07-01 Andy Wingo <wingo@pobox.com>
28731 * tests/network-clock.scm: Commentary update.
28733 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28734 Didn't really make sense, not implementable with basetransform,
28736 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28737 attempt at implementing the sync property, needs an unlock method.
28739 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28740 New func, by default returns the same caps (the identity
28742 (gst_base_transform_getcaps): Uses transform_caps to return
28743 something sensible.
28744 (gst_base_transform_setcaps): Complicated logic to get caps on
28745 both pads, even if they are different, and to call set_caps once
28746 for every time both pads get their caps set.
28747 (gst_base_transform_handle_buffer): Give the ref to the transform
28748 function. Allows in-place modification of the buffer.
28750 * gst/base/gstbasetransform.h (transform_caps): New class method.
28751 Given caps on one side, what can I do on the other.
28752 (set_caps): Take two caps, one for each side of the element.
28755 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28756 caps in place. This is safe because we can check the mutability of
28757 the caps, and a good idea because fixate functions are just called
28758 as a matter of last resort. (Not actually implemented.)
28759 (gst_pad_set_caps): If the caps we're setting is actually the same
28760 as the existing pad caps, just update the pointer without calling
28761 setcaps. Assert that caps is either NULL or fixed, as per the
28764 * gst/gstghostpad.c: Update for fixate changes.
28766 2005-07-02 Andy Wingo <wingo@pobox.com>
28769 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28770 two refcounts makes it immutable, which is enough. Doc more.
28772 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28774 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28775 Put the mini_object into GValue as a mini_object,
28776 not a gpointer, since that's how we declared
28779 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28781 * examples/pwg/Makefile.am:
28782 Fix buildbot again.
28784 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28786 * docs/pwg/building-testapp.xml:
28788 * examples/pwg/Makefile.am:
28791 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28794 * examples/Makefile.am:
28795 * examples/pwg/Makefile.am:
28796 * examples/pwg/extract.pl:
28797 Enable building the PWG examples.
28798 * docs/pwg/advanced-interfaces.xml:
28799 Add URI interface stub.
28800 * docs/pwg/advanced-types.xml:
28801 * docs/pwg/other-autoplugger.xml:
28802 * docs/pwg/appendix-porting.xml:
28803 * docs/pwg/pwg.xml:
28804 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28805 * docs/pwg/building-boiler.xml:
28806 * docs/pwg/building-chainfn.xml:
28807 * docs/pwg/building-pads.xml:
28808 * docs/pwg/building-props.xml:
28809 * docs/pwg/building-state.xml:
28810 * docs/pwg/building-testapp.xml:
28811 Update the building-*.xml parts for 0.9 changes. All examples
28812 code blocks compile in examples/pwg/*.
28814 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28816 * docs/manual/advanced-autoplugging.xml:
28817 * docs/manual/appendix-checklist.xml:
28818 * docs/manual/appendix-integration.xml:
28819 * docs/manual/highlevel-components.xml:
28820 Fix playbin/decodebin examples, update docs a bit, mention bus
28821 instead of signals in various places, mention kmplayer and
28822 kaffeine since they have a working GStreamer backend in the KDE
28825 2005-06-30 Wim Taymans <wim@fluendo.com>
28828 * docs/design/draft-ghostpads.txt:
28829 * docs/design/draft-push-pull.txt:
28830 * docs/design/draft-query.txt:
28831 * docs/design/part-TODO.txt:
28832 * docs/design/part-query.txt:
28833 Added CHANGES-0.9 doc, updated status of other docs.
28838 2005-06-30 Wim Taymans <wim@fluendo.com>
28840 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28841 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28842 (gst_base_sink_change_state):
28843 * gst/base/gstbasesink.h:
28844 Some tweaks, only EOS and a buffer complete a preroll.
28846 2005-06-30 Andy Wingo <wingo@pobox.com>
28848 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28849 activate_push down to the internal pad as well.
28851 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28853 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28855 * gst/gsttaginterface.c:
28856 Some documentation fixes (#307394 and #307397).
28858 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28860 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28862 * gst/gstvalue.c: (gst_value_intersect_list):
28863 Fix memleak (#309125).
28865 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28867 * docs/manual/advanced-dataaccess.xml:
28868 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28869 * docs/manual/basics-pads.xml:
28870 Add reference for filtered caps to above chapter.
28872 2005-06-30 Wim Taymans <wim@fluendo.com>
28874 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28875 (gst_bin_change_state):
28877 Lame attempt at making the state change function a bit
28880 2005-06-30 Wim Taymans <wim@fluendo.com>
28882 * docs/design/part-clocks.txt:
28883 * docs/design/part-element-sink.txt:
28884 * docs/design/part-events.txt:
28885 * docs/design/part-preroll.txt:
28886 * docs/design/part-states.txt:
28887 Some more tweeks and additions to the docs.
28889 2005-06-30 Wim Taymans <wim@fluendo.com>
28891 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28892 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28893 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28894 (gst_pad_check_pull_range), (gst_pad_get_range),
28895 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28897 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28898 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28899 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28900 (gst_pad_remove_buffer_probe):
28901 Removed atomic operations, use existing LOCK.
28902 Move exception handling out of main code path.
28904 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28906 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28907 (silly_return_true_function), (gst_pad_class_init),
28908 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28909 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28910 (gst_pad_send_event):
28911 Fix accumulator, add default value by using _emitv() instead
28912 of _emit() for signal emission.
28914 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28916 * docs/manual/advanced-dataaccess.xml:
28917 * examples/manual/Makefile.am:
28919 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28922 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28924 * gst/elements/gstfilesink.c: (gst_filesink_render):
28925 Simplify code so that we don't have to handle short
28926 writes and return GST_FLOW_ERROR if an error occured.
28928 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28930 * docs/gst/gstreamer-docs.sgml:
28931 Remove probes more.
28933 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28935 * docs/gst/gstreamer-sections.txt:
28936 * docs/gst/tmpl/gstpad.sgml:
28937 * docs/gst/tmpl/gstprobe.sgml:
28939 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28940 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28941 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28942 (gst_pad_push_event), (gst_pad_send_event):
28944 * gst/gstutils.c: (gst_pad_add_data_probe),
28945 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28946 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28947 (gst_pad_remove_buffer_probe):
28949 Remove old probes, add new g-signal-based probes and some utility
28952 2005-06-29 Edward Hervey <edward@fluendo.com>
28954 * gst/gstelementfactory.c:
28957 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28958 the definition to the header file.
28960 2005-06-29 Andy Wingo <wingo@pobox.com>
28962 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28963 plugins from the source directory.
28965 2005-06-29 Wim Taymans <wim@fluendo.com>
28967 * docs/gst/tmpl/gstbuffer.sgml:
28968 * docs/gst/tmpl/gstclock.sgml:
28969 Some fixings for blantently wrong text.
28971 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28973 * check/Makefile.am:
28974 * gst/gst.c: (add_path_func), (init_pre):
28975 * gst/gstregistry.c: (gst_registry_add_path):
28976 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28977 only scan the GST_PLUGIN_PATH locations, and not add
28980 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28982 * docs/gst/gstreamer-sections.txt:
28983 * docs/gst/tmpl/gstbasesrc.sgml:
28984 * gst/gstelement.c:
28985 * gst/gstelement.h:
28990 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28992 * docs/manual/advanced-autoplugging.xml:
28993 Fix autoplugging example.
28995 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28997 * docs/manual/advanced-autoplugging.xml:
28998 * docs/manual/mime-world.fig:
28999 Try to get autoplugging working, fix type detection. Fix text
29000 in hello-world image.
29002 2005-06-29 Wim Taymans <wim@fluendo.com>
29004 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29005 (gst_base_sink_change_state):
29009 map SIGNAL and BROADCAST to the right function.
29012 Remove redundant braces.
29014 * gst/gstpad.c: (gst_pad_set_caps):
29015 Don't call setcaps function when reseting caps to NULL.
29017 * gst/gstsystemclock.c: (gst_system_clock_dispose),
29018 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29019 (gst_system_clock_id_unschedule):
29020 Use BROADCAST as this is what we do.
29022 2005-06-29 Wim Taymans <wim@fluendo.com>
29024 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29025 We are actually prerolling before commiting the state
29028 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29030 * docs/manual/advanced-clocks.xml:
29031 * docs/manual/advanced-interfaces.xml:
29032 * docs/manual/advanced-metadata.xml:
29033 * docs/manual/advanced-position.xml:
29034 * docs/manual/advanced-schedulers.xml:
29035 * docs/manual/advanced-threads.xml:
29036 * docs/manual/appendix-porting.xml:
29037 * docs/manual/basics-bins.xml:
29038 * docs/manual/basics-bus.xml:
29039 * docs/manual/basics-elements.xml:
29040 * docs/manual/basics-helloworld.xml:
29041 * docs/manual/basics-pads.xml:
29042 * docs/manual/highlevel-components.xml:
29043 * docs/manual/manual.xml:
29044 * docs/manual/thread.fig:
29045 Update (until threads/scheduling) Application Development Manual;
29046 remove GstThread, add GstBus, add simple porting checklist, add
29047 documentation for tag writing, clocks, make all examples until this
29048 part compile and run.
29049 * examples/manual/Makefile.am:
29050 Update from changes to Application Development Manual; add bus
29051 example, remove thread example.
29053 2005-06-28 Wim Taymans <wim@fluendo.com>
29055 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29056 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29057 (gst_bus_source_dispatch):
29058 Add debugging messages.
29059 Make internal methods static.
29060 Handle the case where the bus is flushed in the handler.
29062 * gst/gstelement.c: (gst_element_get_bus):
29063 Fix refcount in _get_bus();
29065 * gst/gstpipeline.c: (gst_pipeline_change_state),
29066 (gst_pipeline_get_clock_func):
29067 Clock refcounting fixes.
29068 Handle the case where preroll timed out more gracefully.
29070 * gst/gstsystemclock.c: (gst_system_clock_dispose):
29071 Clean up the internal thread in dispose. This is needed
29072 for subclasses that actually get disposed.
29074 * gst/schedulers/threadscheduler.c:
29075 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29076 (gst_thread_scheduler_dispose):
29077 Free thread pool in dispose.
29079 2005-06-28 Andy Wingo <wingo@pobox.com>
29081 * tests/network-clock-utils.scm (debug, print-event): New utils.
29083 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29084 (*packet-loss*): Unified loss probability.
29085 (network-time): Report out-of-band events.
29087 * tests/plot-data: Add support for out-of-band events. Hack it
29088 into this script instead of passing it down the pipe; should fix
29091 2005-06-28 Wim Taymans <wim@fluendo.com>
29093 * docs/gst/gstreamer.types:
29094 * docs/gst/tmpl/gstbasesrc.sgml:
29095 * docs/gst/tmpl/gstpad.sgml:
29098 2005-06-28 Wim Taymans <wim@fluendo.com>
29100 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29101 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29102 (gst_proxy_pad_do_fixatecaps):
29103 Correctly proxy the check_pull_range function.
29105 2005-06-28 Andy Wingo <wingo@pobox.com>
29107 * tests/network-clock.scm: Removed need for slib.
29109 2005-06-28 Wim Taymans <wim@fluendo.com>
29111 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29112 (gst_basesink_preroll_queue_flush):
29113 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29114 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29115 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29116 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29117 (gst_proxy_pad_set_property):
29120 * gst/gstqueue.c: (gst_queue_init):
29121 The deprecated pad loop function is removed now.
29123 2005-06-28 Andy Wingo <wingo@pobox.com>
29125 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29126 New parameters, simulate network packet loss.
29128 * tests/network-clock-utils.scm: Initialize the RNG.
29130 2005-06-28 Wim Taymans <wim@fluendo.com>
29132 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29133 (gst_basesink_event), (gst_basesink_deactivate):
29134 Flushing the preroll queue always needs to unlock the waiters.
29136 2005-06-28 Edward Hervey <edward@fluendo.com>
29138 * gst/gstpipeline.c: (gst_pipeline_send_event):
29139 Wheen a seek was successful on a pipeline, set the stream_time to the
29140 seek offset in order to have a synchronized stream_time.
29142 2005-06-28 Wim Taymans <wim@fluendo.com>
29144 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29145 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29146 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29147 (gst_proxy_pad_do_fixatecaps):
29148 Call wrapper function instead of just calling the function
29149 pointers. This takes care of any locking and whatmore.
29151 2005-06-28 Wim Taymans <wim@fluendo.com>
29153 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29154 (gst_pad_pull_range):
29156 CONNECTED -> LINKED.
29158 2005-06-28 Andy Wingo <wingo@pobox.com>
29160 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29161 source-munging commit!!!
29163 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29164 (gst_object_sink): Take gpointer arguments, not GstObject --
29165 avoids casts. Like GLib.
29167 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29170 2005-06-27 Andy Wingo <wingo@pobox.com>
29172 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29175 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29176 returns a sorted copy of the trace list.
29177 (gst_alloc_trace_print_live): New API, only prints traces with
29178 live objects. Sort the list.
29179 (gst_alloc_trace_print_all): Sort the list.
29180 (gst_alloc_trace_print): Align columns.
29182 * gst/elements/gstttypefindelement.c:
29183 * gst/elements/gsttee.c:
29184 * gst/base/gstbasesrc.c:
29185 * gst/base/gstbasesink.c:
29186 * gst/base/gstbasetransform.c:
29187 * gst/gstqueue.c: Adapt for pad activation changes.
29189 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29191 (gst_pipeline_dispose): Drop ref on sched.
29193 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29194 (gst_pad_activate_default): Push mode by default.
29195 (pre_activate_switch, post_activate_switch): New stubs, things to
29196 do before and after switching activation modes on pads.
29197 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29198 the pad's activate function to choose which mode to activate.
29199 Shortcut on deactivation and call the right function directly.
29200 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29202 (gst_pad_activate_push): New API, same for push mode.
29203 (gst_pad_set_activate_function)
29204 (gst_pad_set_activatepull_function)
29205 (gst_pad_set_activatepush_function): Setters for new API.
29207 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29208 Trace all miniobjects.
29209 (gst_mini_object_make_writable): Unref the arg if we copy, like
29210 gst_caps_make_writable.
29212 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29214 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29215 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29216 Adapt for new pad API.
29218 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29220 * gst/gstelement.h:
29221 * gst/gstelement.c (gst_element_iterate_src_pads)
29222 (gst_element_iterate_sink_pads): New API functions.
29224 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29225 should fold into gstiterator.c in some form.
29226 (gst_element_pads_activate): Simplified via use of fold and
29227 delegation of decisions to gstpad->activate.
29229 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29232 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29233 class once in init, like gstmessage. Didn't run into this issue
29234 but it seems correct. Don't initialize a trace, gstminiobject does
29237 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29238 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29240 (assert_live_count): New util function, uses alloc traces to check
29243 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29244 To be modified when unlink drops the internal pad.
29246 2005-06-27 Wim Taymans <wim@fluendo.com>
29248 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29249 (gst_bin_change_state):
29250 Cleanup the get_state() function a little, make sure it
29251 iterates the same set of elements.
29252 Added stub iterate_state_order().
29254 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29256 * docs/gst/gstreamer-docs.sgml:
29257 * docs/gst/gstreamer-sections.txt:
29258 * docs/gst/gstreamer.types:
29259 * docs/gst/tmpl/gstbasesink.sgml:
29260 * docs/gst/tmpl/gstbasesrc.sgml:
29261 * docs/gst/tmpl/gstbasetransform.sgml:
29262 * docs/gst/tmpl/gstelement.sgml:
29263 * docs/gst/tmpl/gstiterator.sgml:
29264 * gst/base/gstbasesrc.c:
29265 * gst/base/gstbasesrc.h:
29266 * gst/base/gstbasetransform.h:
29267 * gst/gstelement.c:
29268 * gst/gstiterator.h:
29269 adding basetransform and iterator docs
29271 2005-06-27 Andy Wingo <wingo@pobox.com>
29273 * docs/design/part-activation.txt: Notes on how activation should
29274 work -- not quite implemented yet.
29276 2005-06-25 Wim Taymans <wim@fluendo.com>
29278 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29279 At least get the chain function correct, needs more
29282 2005-06-25 Wim Taymans <wim@fluendo.com>
29284 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29285 (gst_basesink_handle_object), (gst_basesink_event),
29286 (gst_basesink_do_sync), (gst_basesink_handle_event),
29287 (gst_basesink_change_state):
29289 Right, two problems here: ghostpads don't take locks and
29290 glib _rec_mutex_lock_full() with depth==0 still locks.
29291 Catch illegal locking and g_warn them.
29293 2005-06-25 Wim Taymans <wim@fluendo.com>
29295 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29296 Have to check for completion now...
29298 2005-06-25 Wim Taymans <wim@fluendo.com>
29300 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29301 (gst_basesink_handle_object), (gst_basesink_event),
29302 (gst_basesink_do_sync), (gst_basesink_handle_event),
29303 (gst_basesink_change_state):
29305 Unlock STREAM_LOCK whatever the recursion was.
29307 2005-06-25 Wim Taymans <wim@fluendo.com>
29309 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29310 (gst_basesink_preroll_queue_empty),
29311 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29312 (gst_basesink_event), (gst_basesink_do_sync),
29313 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29314 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29315 (gst_basesink_change_state):
29316 Reworked the base sink, handle event and buffer serialisation
29317 correctly and removed possible deadlock.
29318 Handle EOS correctly.
29320 2005-06-25 Wim Taymans <wim@fluendo.com>
29322 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29323 (gst_pipeline_change_state):
29324 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29325 Allow elements to post EOS in the state change function.
29326 Fix up -launch, make it exit the poll loop when the
29327 pipeline actually changed state.
29328 Fix up warning parsing in -launch.
29330 2005-06-25 Wim Taymans <wim@fluendo.com>
29332 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29333 (gst_tee_sink_activate):
29334 Core takes STREAM_LOCK for us now.
29336 2005-06-25 Wim Taymans <wim@fluendo.com>
29338 * gst/gstelement.c: (gst_element_get_state_func),
29339 (gst_element_set_state):
29340 * gst/gstelement.h:
29341 * gst/gstmessage.c: (gst_message_parse_error),
29342 (gst_message_parse_warning):
29343 Keep track of current target state while performing a state
29344 change so that subclasses can do something interesting.
29345 Fix parsing of warning/error messages when GError is NULL.
29347 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29349 * docs/gst/Makefile.am:
29350 * docs/gst/gstreamer-docs.sgml:
29351 * docs/gst/gstreamer-sections.txt:
29352 * docs/gst/gstreamer.types:
29353 * docs/gst/tmpl/gstbasesink.sgml:
29354 * docs/gst/tmpl/gstbasesrc.sgml:
29355 * docs/gst/tmpl/gstbin.sgml:
29356 * docs/gst/tmpl/gstcompat.sgml:
29357 * docs/gst/tmpl/gstfakesink.sgml:
29358 * docs/gst/tmpl/gstfakesrc.sgml:
29359 * docs/gst/tmpl/gstfilesink.sgml:
29360 * docs/gst/tmpl/gstfilesrc.sgml:
29361 * docs/gst/tmpl/gstindex.sgml:
29362 * docs/manual/appendix-quotes.xml:
29363 * gst/base/gstbasesrc.h:
29364 * gst/elements/gstfakesrc.h:
29365 * gst/gstmessage.h:
29366 start pulling in base classes and elements in our docs
29368 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29370 * docs/gst/Makefile.am:
29371 * docs/libs/Makefile.am:
29372 fixed make distcheck with gtk-doc 1.3
29374 2005-06-23 Wim Taymans <wim@fluendo.com>
29376 * gst/gstelement.c: (gst_element_get_state_func),
29377 (gst_element_set_state), (gst_element_change_state):
29378 When the state did not change, also report NO_PREROLL
29381 2005-06-23 Wim Taymans <wim@fluendo.com>
29383 * gst/gstpad.c: (gst_pad_event_default):
29384 * gst/gstqueue.c: (gst_queue_loop):
29385 No unsafe task pausing please.
29387 2005-06-23 Wim Taymans <wim@fluendo.com>
29389 * gst/schedulers/threadscheduler.c:
29390 (gst_thread_scheduler_task_start),
29391 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29392 Ref the task before pushing it on the threadpool. This
29393 makes sure that we have a ref when the threadfunction is
29396 2005-06-23 Andy Wingo <wingo@pobox.com>
29398 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29399 offset is greater than the file's size.
29401 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29402 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29403 * gst/gstobject.c (gst_object_class_init): Make the class lock
29404 recursive. Wim won't let me drop deep_notify. Decodebin works
29405 again, whoopdy doo.
29407 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29408 internal pad, and hacks accordingly. Doesn't do it on the target
29409 pad because we change its caps. Probably catches all cases of
29411 (gst_ghost_pad_set_property): Connect to notify::caps as
29414 * tests/network-clock.scm (plot-simulation): Pipe data to the
29415 elite python skript.
29417 * tests/network-clock-utils.scm (define-parameter): New macro,
29418 defines a parameter that can be set via the command line.
29419 (set-parameter!, parse-parameter-arguments): Command line args
29422 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29425 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29427 * gst/elements/gsttypefindelement.c:
29428 (gst_type_find_element_handle_event):
29429 Don't restart typefinding on a discont.
29430 * gst/gstelement.c: (gst_element_set_state):
29431 Debug spelling fix.
29432 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29433 Allow changing mode of an active pad.
29434 Debug output fixes.
29435 * gst/registries/gstlibxmlregistry.c: (load_feature):
29436 Don't cast a static pad template to a normal pad template.
29438 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29440 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29441 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29442 remove gst_strtoll completely, since it didn't actually do
29443 anything more than what g_ascii_strtoull already does.
29444 check for range errors when deserializing
29445 do a cast for the unsigned cases; but further fixing needs
29446 a decision on what the interpretation of "(int)" and
29447 deserialization should be for values that fall outside the
29448 type's boundaries (ie, refuse, or interpret as casting)
29450 2005-06-23 Wim Taymans <wim@fluendo.com>
29452 * check/Makefile.am:
29453 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29454 * docs/design/part-live-source.txt:
29455 * docs/design/part-states.txt:
29456 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29457 (gst_basesrc_set_live), (gst_basesrc_is_live),
29458 (gst_basesrc_get_range), (gst_basesrc_activate),
29459 (gst_basesrc_change_state):
29460 * gst/base/gstbasesrc.h:
29461 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29462 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29463 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29464 * gst/gstelement.c: (gst_element_get_state_func),
29465 (gst_element_set_state):
29466 * gst/gstelement.h:
29468 * tools/gst-launch.c: (event_loop), (main):
29469 Added support for live sources and other elements that
29471 Updated design docs, added live-source design doc.
29472 Implemented live source functionality in basesrc
29473 Fix error condition in _bin_get_state()
29474 Implement live source handling in -launch.
29475 Added check for live sources.
29476 Fixed case in GstBin where elements were changed state
29480 2005-06-23 Andy Wingo <wingo@pobox.com>
29482 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29483 borken refcounting.
29485 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29486 gst_caps_replace takes care of this for us.
29488 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29489 gst_pad_set_caps on the target, not just its setcaps() function.
29491 * tests/network-clock.scm:
29492 * tests/network-clock-utils.scm: A network clock simulator.
29493 Something of an algorithmic testbed before doing something in C.
29495 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29497 * check/Makefile.am:
29498 * check/gst/capslist.h:
29499 copy over from 0.8, and add two with bitmasks specified with
29501 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29502 add test to parse everything from capslist.h
29503 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29505 add test for structure deserialization
29506 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29507 add tests for deserialization of strings to int types
29508 * gst/gststructure.c: (gst_structure_nth_field_name):
29509 * gst/gststructure.h:
29510 add a way to get the name of a field referenced by index
29511 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29512 instead of checking if the resulting long long lies between
29513 min and max, we check if the long long would fit into
29514 a number of bytes for the final type.
29515 This fixes cases where a string represents 2^32 - 1, which
29516 when cast to int would be the (valid) -1, but is bigger than
29519 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29521 * gst/parse/grammar.y:
29522 add a log line for type deserialization
29524 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29526 * check/gst/gstvalue.c: (START_TEST):
29527 * gst/gstvalue.c: (gst_value_deserialize):
29528 return long long, not int, so gint64 deserialization actually
29529 works. Is there any flag that makes the compiler check this ?
29532 2005-06-22 Wim Taymans <wim@fluendo.com>
29535 Added convenience macros for setting buffers in GValue.
29537 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29539 * check/gst/.cvsignore:
29540 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29541 add a test deserializing int64, and comment part out because
29544 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29546 * check/Makefile.am:
29547 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29548 * testsuite/Makefile.am:
29549 * testsuite/caps/Makefile.am:
29550 * testsuite/caps/value_serialize.c:
29551 * testsuite/test_gst_init.c:
29552 move a value_serialize test over
29554 2005-06-20 Wim Taymans <wim@fluendo.com>
29559 * gst/gstvalue.c: (gst_value_compare_buffer),
29560 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29561 (gst_value_compare_flags), (gst_value_serialize_flags),
29562 (gst_value_deserialize_flags), (_gst_value_initialize):
29563 Fix serialisation of buffers, they are not boxed types anymore
29565 2005-06-20 Wim Taymans <wim@fluendo.com>
29567 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29568 Testcase to show error in buffer-on-caps serialisation.
29570 2005-06-20 Andy Wingo <wingo@pobox.com>
29572 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29573 will be adding to later.
29575 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29576 if its socks fill with rocks.
29577 (gst_system_clock_obtain): Set the name on object construction.
29578 Avoid double-checked locking.
29580 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29582 * gst/gsturi.c: (gst_element_make_from_uri):
29583 Fix potential endless loop.
29585 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29587 * check/Makefile.am:
29589 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29591 move over from testsuite dir and clean up
29594 * testsuite/Makefile.am:
29595 * testsuite/tags/.cvsignore:
29596 * testsuite/tags/Makefile.am:
29597 * testsuite/tags/merge.c:
29598 remove testsuite/tags
29600 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29602 * docs/gst/gstreamer-sections.txt:
29603 * docs/gst/tmpl/gstenumtypes.sgml:
29604 * win32/gstenumtypes.c:
29605 clean up documentation build a little
29607 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29609 * check/gstcheck.h:
29610 add macros for checking refcounts on objects and caps
29611 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29612 add some more unit tests
29613 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29614 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29615 fix leaked refcounts (I hope :)) so unittest works
29619 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29621 * configure.ac: back to HEAD
29623 === release 0.9.1 ===
29625 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29631 2005-06-17 Andy Wingo <wingo@pobox.com>
29633 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29634 assert; it's always possible that the pad gets deactivated in
29635 between the checks in gstpad.c and the implementation. Rely on
29636 finish_preroll() to return a FLUSHING or similar instead of on the
29639 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29640 clock and post an EOS message if we come out of finish_preroll in
29643 2005-06-16 David Schleef <ds@schleef.org>
29645 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29646 (gst_capsfilter_set_property): Allow NULL as possible value
29647 for filter_caps property, indicating GST_CAPS_ANY.
29649 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29651 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29653 * gst/schedulers/Makefile.am:
29655 * gstreamer.spec.in:
29658 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29660 * gstreamer.spec.in:
29663 2005-06-08 Andy Wingo <wingo@pobox.com>
29665 * gst/gstutils.c: RPAD fixes all around.
29666 (gst_element_link_pads): Refcounting fixes.
29668 * tools/gst-inspect.c:
29669 * tools/gst-xmlinspect.c:
29671 * gst/base/gsttypefindhelper.c:
29672 * gst/base/gstbasesink.c:
29673 * gst/gstqueue.c: RPAD fixes.
29675 * gst/gstghostpad.h:
29676 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29677 pads. The tricky thing is they provide both source and sink
29678 interfaces, since they proxy the internal pad for the external
29679 pad, and vice versa. Implement with lower-level ProxyPad objects,
29680 with the interior proxy pad as a child of the exterior ghost pad.
29681 Should write a doc on this.
29683 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29684 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29687 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29688 pads are real pads. No ghost pads in this file. Not documenting
29689 the myriad s/RPAD/PAD/ and REALIZE fixes.
29690 (gst_pad_class_init): Add properties for "direction" and
29691 "template". Both are construct-only, so they can't change during
29692 the life of the pad. Fixes properly deriving from GstPad.
29693 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29694 derived objects, just set properties when creating the objects via
29696 (gst_pad_get_parent): Implement as a function, return NULL if the
29697 parent is not an element.
29698 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29699 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29701 * gst/gstobject.c (gst_object_class_init): Make name a construct
29702 property. Don't set it in the object init.
29704 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29705 with UNKNOWN direction.
29706 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29707 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29708 (gst_element_remove_pad): Remove ghost-pad special cases.
29709 (gst_element_pads_activate): Remove rpad cruft.
29711 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29712 catch the pad's-parent-not-an-element case.
29714 * gst/gst.h: Include gstghostpad.h.
29716 * gst/gst.c (init_post): No more real, ghost pads.
29718 * gst/Makefile.am: Add gstghostpad.[ch].
29720 * check/Makefile.am:
29721 * check/gst/gstbin.c:
29722 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29723 into a bin creates ghost pads, and that the refcounts are right.
29724 Partly moved from gstbin.c.
29726 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29728 * check/gst-libs/.cvsignore:
29729 * check/gst/.cvsignore:
29730 * check/pipelines/.cvsignore:
29732 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29733 (START_TEST), (cleanup_suite), (main):
29734 add some tests related to cleanup after running pipelines
29736 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29738 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29739 add a testsuite for GstBuffer
29741 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29743 * gst/gstminiobject.h:
29744 add defines for accessing the refcount
29746 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29748 * Makefile.am: added support for html unit test coverage reports
29750 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29752 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29753 Free existing caps if the capsfilter changes. Add a FIXME about
29754 setting those caps on the pads.
29756 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29757 Before adding a ghost pad to a parent bin, check that there isn't
29758 already one for the element on the bin. Prevents infinite recursion
29759 when using decodebin in parse pipelines. Andy says he'll rewrite the
29760 way this works anyway, so ignore the hack.
29762 2005-06-02 Andy Wingo <wingo@pobox.com>
29764 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29765 file size, pass it on to the type find helper.
29767 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29768 segment_start and segment_end properly according to the seek
29769 method. Segment_end is still a bit flaky because offset can be
29770 negative for CUR and END cases, but it takes -1 as an "unset"
29773 2005-06-02 Wim Taymans <wim@fluendo.com>
29775 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29776 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29777 (gst_basesink_activate):
29778 * gst/base/gstbasesink.h:
29779 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29780 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29781 (gst_pad_query), (gst_pad_start_task):
29783 * gst/gstqueue.c: (gst_queue_bufferalloc),
29784 (gst_queue_handle_sink_event), (gst_queue_chain):
29785 Bufferalloc: return GstFlowReturn to more accuratly report
29786 why allocation failed.
29788 2005-06-02 Wim Taymans <wim@fluendo.com>
29790 * gst/gstpipeline.c: (gst_pipeline_send_event):
29791 Take snapshot of state without blocking.
29793 2005-06-02 Wim Taymans <wim@fluendo.com>
29795 * docs/design/part-TODO.txt:
29796 * docs/design/part-caps.txt:
29797 * docs/design/part-clocks.txt:
29798 * docs/design/part-negotiation.txt:
29799 * docs/design/part-preroll.txt:
29802 2005-05-30 Wim Taymans <wim@fluendo.com>
29804 * gst/elements/gstidentity.c: (gst_identity_event),
29805 (gst_identity_transform), (gst_identity_get_property):
29806 Protect last_message property as it is accessed from
29809 2005-05-30 Wim Taymans <wim@fluendo.com>
29811 * gst/gstelement.c: (gst_element_init),
29812 (gst_element_pads_activate), (gst_element_change_state):
29813 Slicker pad activation code.
29815 2005-05-30 Wim Taymans <wim@fluendo.com>
29818 * gst/gstelement.h:
29819 * gst/gstelementfactory.h:
29821 Move elementfactory methods to separate .h file.
29823 2005-05-30 Wim Taymans <wim@fluendo.com>
29825 * docs/design/part-overview.txt:
29826 * gst/gstsystemclock.h:
29827 Small typo fixes, doc updates.
29829 2005-05-30 Wim Taymans <wim@fluendo.com>
29831 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29832 (init_popt_callback):
29833 Remove cpu-opt flag.
29835 2005-05-30 Wim Taymans <wim@fluendo.com>
29837 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29838 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29840 Avoid typechecking in places where not needed.
29841 Added accessor for malloc_data.
29843 2005-05-30 Wim Taymans <wim@fluendo.com>
29845 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29846 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29847 (gst_pad_configure_sink), (gst_pad_configure_src),
29848 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29849 (gst_pad_start_task):
29850 Propagate errors from _set_caps() in configure_src/sink
29851 functions instead of returning TRUE.
29852 FLUSH events can travel up and downstream
29855 2005-05-30 Wim Taymans <wim@fluendo.com>
29857 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29858 (gst_basesink_activate):
29859 Handle EOS in preroll.
29861 2005-05-30 Wim Taymans <wim@fluendo.com>
29863 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29864 (gst_queue_loop), (gst_queue_handle_src_event):
29865 Remove old pieces of code
29866 Flushing the queue in an upstream event is a very bad idea.
29868 2005-05-26 Andy Wingo <wingo@pobox.com>
29870 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29871 gst_value_set_mini_object so as to add a ref on the object (which
29872 will be removed when the value is unset).
29874 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29875 arg type in ::handoff.
29877 * gst/gstelement.c (gst_element_change_state): Also deactivate
29878 pads in READY->NULL, just in case the element didn't make it to
29879 PAUSED. Wingo tested, Wim approved.
29881 2005-05-26 Wim Taymans <wim@fluendo.com>
29883 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29884 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29885 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29886 A flushing pad cannot be used to alloc_buffer from.
29888 2005-05-26 Wim Taymans <wim@fluendo.com>
29890 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29891 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29892 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29893 (gst_bus_create_watch), (gst_bus_add_watch_full):
29895 Implement a real GSource and use g_main_context_wakeup() to
29896 signal new messages instead of the socketpair.
29898 2005-05-25 Wim Taymans <wim@fluendo.com>
29900 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29901 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29902 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29903 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29904 (gst_pad_send_event), (gst_pad_start_task):
29905 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29906 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29907 (gst_queue_sink_activate), (gst_queue_src_activate),
29908 (gst_queue_change_state):
29910 Fix state changes for non sinks. We now change sinks, then elements
29911 with unconnected srcpads, then the rest.
29912 More efficient queue unlocking in flush and state changes.
29913 Set the pad activate mode even if it does not have an activate
29916 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29918 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29919 Don't go in pull mode for non-seekable sources.
29920 * gst/elements/gsttypefindelement.h:
29921 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29922 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29923 (free_entry), (stop_typefinding),
29924 (gst_type_find_element_handle_event), (find_peek),
29925 (gst_type_find_element_chain), (do_pull_typefind),
29926 (gst_type_find_element_change_state):
29927 Allow typefinding (w/o seeking) in push-mode, simplified version
29928 of what was in 0.8.
29929 * gst/gstutils.c: (gst_buffer_join):
29931 gst_buffer_join() from 0.8.
29933 2005-05-25 Wim Taymans <wim@fluendo.com>
29935 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29936 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29937 (gst_pad_send_event), (gst_pad_start_task):
29938 Disable attempt at mode switching until it is figured out.
29940 2005-05-25 Wim Taymans <wim@fluendo.com>
29942 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29943 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29944 (gst_basesink_finish_preroll), (gst_basesink_chain),
29945 (gst_basesink_loop), (gst_basesink_activate),
29946 (gst_basesink_change_state):
29947 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29948 (gst_basesrc_get_range), (gst_basesrc_loop),
29949 (gst_basesrc_activate):
29950 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29951 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29952 (gst_real_pad_init), (gst_real_pad_set_property),
29953 (gst_real_pad_get_property), (gst_pad_set_active),
29954 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29955 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29956 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29957 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29958 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29959 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29960 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29961 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29962 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29963 (gst_pad_stop_task):
29965 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29966 (gst_queue_loop), (gst_queue_src_activate):
29967 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29968 (gst_task_get_state):
29970 * gst/schedulers/threadscheduler.c:
29971 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29972 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29974 Remove ACTIVE pad flag, use FLUSHING everywhere
29975 Added _pad_chain(), _pad_get_range() to call chain/getrange
29977 Add locks around IS_FLUSHING when reading.
29978 Take STREAM lock in chain(), get_range() functions so plugins
29979 don't need to take it anymore.
29983 2005-05-25 Wim Taymans <wim@fluendo.com>
29985 * tools/gst-launch.c: (event_loop):
29986 Unref message after using its contents instead of
29989 2005-05-24 Wim Taymans <wim@fluendo.com>
29991 * docs/design/draft-ghostpads.txt:
29992 * docs/design/draft-push-pull.txt:
29993 * docs/design/draft-query.txt:
29994 * docs/design/part-overview.txt:
29995 Docs updates, added general overview doc.
29997 2005-05-21 David Schleef <ds@schleef.org>
29999 * docs/gst/tmpl/old/GstBin.sgml:
30000 * docs/gst/tmpl/old/GstBuffer.sgml:
30001 * docs/gst/tmpl/old/GstCaps.sgml:
30002 * docs/gst/tmpl/old/GstClock.sgml:
30003 * docs/gst/tmpl/old/GstCompat.sgml:
30004 * docs/gst/tmpl/old/GstData.sgml:
30005 * docs/gst/tmpl/old/GstElement.sgml:
30006 * docs/gst/tmpl/old/GstEvent.sgml:
30007 * docs/gst/tmpl/old/GstIndex.sgml:
30008 * docs/gst/tmpl/old/GstStructure.sgml:
30009 * docs/gst/tmpl/old/GstTag.sgml:
30010 * docs/gst/tmpl/old/cothreads.sgml:
30011 * docs/gst/tmpl/old/cothreads_compat.sgml:
30012 * docs/gst/tmpl/old/gettext.sgml:
30013 * docs/gst/tmpl/old/gobject2gtk.sgml:
30014 * docs/gst/tmpl/old/grammar.tab.sgml:
30015 * docs/gst/tmpl/old/gst-i18n-app.sgml:
30016 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30017 * docs/gst/tmpl/old/gst_private.sgml:
30018 * docs/gst/tmpl/old/gstaggregator.sgml:
30019 * docs/gst/tmpl/old/gstarch.sgml:
30020 * docs/gst/tmpl/old/gstatomic_impl.sgml:
30021 * docs/gst/tmpl/old/gstbufferstore.sgml:
30022 * docs/gst/tmpl/old/gstdata_private.sgml:
30023 * docs/gst/tmpl/old/gstdisksink.sgml:
30024 * docs/gst/tmpl/old/gstdisksrc.sgml:
30025 * docs/gst/tmpl/old/gstelementfactory.sgml:
30026 * docs/gst/tmpl/old/gstextratypes.sgml:
30027 * docs/gst/tmpl/old/gstfakesink.sgml:
30028 * docs/gst/tmpl/old/gstfakesrc.sgml:
30029 * docs/gst/tmpl/old/gstfdsink.sgml:
30030 * docs/gst/tmpl/old/gstfdsrc.sgml:
30031 * docs/gst/tmpl/old/gstfilesink.sgml:
30032 * docs/gst/tmpl/old/gstfilesrc.sgml:
30033 * docs/gst/tmpl/old/gsthttpsrc.sgml:
30034 * docs/gst/tmpl/old/gstidentity.sgml:
30035 * docs/gst/tmpl/old/gstindexfactory.sgml:
30036 * docs/gst/tmpl/old/gstmarshal.sgml:
30037 * docs/gst/tmpl/old/gstmd5sink.sgml:
30038 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30039 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30040 * docs/gst/tmpl/old/gstpadtemplate.sgml:
30041 * docs/gst/tmpl/old/gstpipefilter.sgml:
30042 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30043 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30044 * docs/gst/tmpl/old/gstshaper.sgml:
30045 * docs/gst/tmpl/old/gstspider.sgml:
30046 * docs/gst/tmpl/old/gstspideridentity.sgml:
30047 * docs/gst/tmpl/old/gststatistics.sgml:
30048 * docs/gst/tmpl/old/gsttee.sgml:
30049 * docs/gst/tmpl/old/gsttimecache.sgml:
30050 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30051 * docs/gst/tmpl/old/gstxmlregistry.sgml:
30052 * docs/gst/tmpl/old/gthread-cothreads.sgml:
30053 * docs/gst/tmpl/old/types.sgml:
30054 I didn't intend to add these or check them in.
30056 2005-05-19 David Schleef <ds@schleef.org>
30058 * configure.ac: Use -no-common everywhere. In a sane world, it
30059 would be the default in libtool, because without it, you can't
30060 build DLLs on Windows.
30061 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30062 * docs/gst/gstreamer-sections.txt:
30063 * docs/gst/tmpl/gstcpu.sgml:
30064 * docs/gst/tmpl/gstdata.sgml:
30065 * docs/gst/tmpl/gstthread.sgml:
30067 2005-05-19 David Schleef <ds@schleef.org>
30069 * gst/gstminiobject.c: (gst_value_set_mini_object),
30070 (gst_value_take_mini_object), (gst_value_get_mini_object):
30071 * gst/gstminiobject.h: Add GValue set/get functions.
30073 2005-05-19 Wim Taymans <wim@fluendo.com>
30075 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30076 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30077 (gst_subbuffer_init), (gst_buffer_is_span_fast):
30079 * gst/gstbus.c: (gst_bus_post):
30080 * gst/gstelement.c: (gst_element_get_random_pad):
30081 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30082 Make subbufer unref the parent in finalize.
30083 some more debugging info.
30086 2005-05-19 Wim Taymans <wim@fluendo.com>
30088 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30089 (gst_basesink_init), (gst_basesink_finalize),
30090 (gst_basesink_activate), (gst_basesink_change_state):
30091 Don't free preroll queue too early.
30093 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30097 Hi, I'm outdated. Please shoot me.
30099 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30101 * gst/gstpipeline.c: (gst_pipeline_send_event):
30102 Do not access variables after they have been deleted.
30104 2005-05-19 Wim Taymans <wim@fluendo.com>
30106 * tools/gst-inspect.c: (print_plugin_features):
30107 A plugin feature does unfortunatly not use the
30110 2005-05-18 Wim Taymans <wim@fluendo.com>
30112 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30113 Port _span() functions to new subbuffers.
30115 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30117 * gst/gstbin.c: (gst_bin_add_func):
30118 Fix clock settery in bins when adding kids after the clock has
30121 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30123 * gst/elements/gstidentity.c: (gst_identity_class_init):
30124 Workaround until signals support GstMiniObject.
30126 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30129 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30131 2005-05-18 Wim Taymans <wim@fluendo.com>
30133 * gst/base/Makefile.am:
30134 * gst/base/gstadapter.c: (gst_adapter_base_init),
30135 (gst_adapter_class_init), (gst_adapter_init),
30136 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30137 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30138 (gst_adapter_flush), (gst_adapter_available),
30139 (gst_adapter_available_fast):
30140 * gst/base/gstadapter.h:
30141 Ported and added adapter to the base classes.
30143 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30146 * gst/gstmessage.c:
30147 Make sure the class is reffed/unreffed once before threads can be
30148 used. Fixes #304551.
30150 2005-05-17 Wim Taymans <wim@fluendo.com>
30152 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30153 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30154 * gst/gstminiobject.c: (gst_mini_object_get_type),
30155 (gst_mini_object_free):
30156 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30157 (gst_pad_push), (gst_pad_push_event):
30158 * gst/gstqueue.c: (gst_queue_change_state):
30159 Don't queue buffers in basesink when we are flushing.
30160 Unref buffer when flushing in basesink.
30161 Flush queue when going to READY
30162 Unref buffer when _push() returns an error.
30163 Don't free MiniObject instance when refcount is incremented
30164 in _finalize() so that we can recover objects.
30166 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30168 * docs/manual/advanced-schedulers.xml:
30169 * docs/manual/appendix-checklist.xml:
30170 * docs/pwg/advanced-clock.xml:
30171 * docs/pwg/advanced-interfaces.xml:
30172 * docs/pwg/advanced-request.xml:
30173 * docs/pwg/advanced-types.xml:
30174 * docs/pwg/intro-preface.xml:
30175 * examples/plugins/example.c: (gst_example_get_type),
30176 (gst_example_class_init), (gst_example_chain),
30177 (gst_example_set_property), (gst_example_get_property),
30178 (gst_example_change_state), (plugin_init):
30179 * examples/plugins/example.h:
30182 2005-05-17 Wim Taymans <wim@fluendo.com>
30184 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30185 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30186 * gst/gstqueue.c: (gst_queue_change_state):
30187 Clear queue when going to READY.
30188 Remove IN_SETCAPS flag too.
30190 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30192 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30193 Remove implicit cast from gboolean to GstElementStateReturn;
30194 make sure we still return failure in paused => ready case if
30195 the parent class fails to change state and our own stop
30198 2005-05-17 Wim Taymans <wim@fluendo.com>
30200 * tools/gst-launch.c: (event_loop):
30201 Message was unreffed too soon.
30203 2005-05-16 Andy Wingo <wingo@pobox.com>
30205 * gst/gstbin.c (sink_iterator_filter): Err... um...
30207 * check/gst/gstbin.c (test_ghost_pads): New test for the
30208 ghosting-if-elements-not-in-same-bin behavior.
30210 2005-05-16 David Schleef <ds@schleef.org>
30212 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30213 accessing refcount directly.
30215 2005-05-15 David Schleef <ds@schleef.org>
30217 * check/Makefile.am: remove GstData checks
30218 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30219 * gst/Makefile.am: add miniobject, remove data
30220 * gst/gst.h: add miniobject, remove data
30221 * gst/gstdata.c: remove
30222 * gst/gstdata.h: remove
30223 * gst/gstdata_private.h: remove
30224 * gst/gsttypes.h: remove GstEvent and GstMessage
30225 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30226 * gst/gstmarshal.list: change BOXED -> OBJECT
30228 Implement GstMiniObject.
30229 * gst/gstminiobject.c:
30230 * gst/gstminiobject.h:
30232 Modify to be subclasses of GstMiniObject.
30233 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30234 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30235 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30236 (gst_subbuffer_get_type), (gst_subbuffer_init),
30237 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30240 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30241 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30242 (_gst_event_copy), (gst_event_new):
30244 * gst/gstmessage.c: (_gst_message_initialize),
30245 (gst_message_get_type), (gst_message_class_init),
30246 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30247 (gst_message_new), (gst_message_new_error),
30248 (gst_message_new_warning), (gst_message_new_tag),
30249 (gst_message_new_state_changed), (gst_message_new_application):
30250 * gst/gstmessage.h:
30251 * gst/gstprobe.c: (gst_probe_perform),
30252 (gst_probe_dispatcher_dispatch):
30254 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30255 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30256 (_gst_query_copy), (gst_query_new):
30258 Update elements for GstData -> GstMiniObject changes
30260 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30261 (gst_queue_chain), (gst_queue_loop):
30262 * gst/elements/gstbufferstore.c:
30263 (gst_buffer_store_add_buffer_func),
30264 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30265 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30266 (gst_fakesink_render):
30267 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30268 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30269 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30270 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30271 (gst_filesrc_create_read):
30272 * gst/elements/gstidentity.c: (gst_identity_class_init):
30273 * gst/elements/gsttypefindelement.c:
30274 (gst_type_find_element_src_event), (free_entry_buffers),
30275 (gst_type_find_element_handle_event):
30276 * libs/gst/dataprotocol/dataprotocol.c:
30277 (gst_dp_header_from_buffer):
30278 * libs/gst/dataprotocol/dataprotocol.h:
30279 * libs/gst/dataprotocol/dp-private.h:
30281 2005-05-15 David Schleef <ds@schleef.org>
30283 * gst/elements/gstelements.c: Don't include headers that were
30286 2005-05-15 David Schleef <ds@schleef.org>
30288 * gst/elements/Makefile.am: Remove some elements that don't
30289 need to be in the core (or even exist at all).
30290 * gst/elements/gstaggregator.c:
30291 * gst/elements/gstaggregator.h:
30292 * gst/elements/gstmd5sink.c:
30293 * gst/elements/gstmd5sink.h:
30294 * gst/elements/gstmultifilesrc.c:
30295 * gst/elements/gstmultifilesrc.h:
30296 * gst/elements/gstpipefilter.c:
30297 * gst/elements/gstpipefilter.h:
30298 * gst/elements/gstshaper.c:
30299 * gst/elements/gstshaper.h:
30300 * gst/elements/gststatistics.c:
30301 * gst/elements/gststatistics.h:
30302 * po/POTFILES.in: Remove above files.
30304 2005-05-14 Andy Wingo <wingo@pobox.com>
30306 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30307 so as to get the refs right.
30308 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30309 unreffing objects that don't pass the filter.
30311 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30312 gst_element_set_bus.
30313 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30314 normal cases, this will destroy the bus.
30316 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30319 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30322 2005-05-13 Andy Wingo <wingo@pobox.com>
30324 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30325 gst_pad_link, call pad_link_maybe_ghosting,
30326 (pad_link_maybe_ghosting): Links pads, making sure that the
30327 elements being linked are in the same bin.
30328 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30329 Helpers for pad_link_maybe_ghosting.
30331 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30334 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30336 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30338 * docs/design/part-element-source.txt:
30341 2005-05-12 Wim Taymans <wim@fluendo.com>
30343 * gst/base/gstbasesink.c: (gst_basesink_init),
30344 (gst_basesink_activate):
30345 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30346 (gst_basesrc_is_seekable):
30347 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30348 (bin_element_is_sink), (gst_bin_change_state):
30349 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30350 * gst/gstelement.h:
30351 Identify sinks by their flag to avoid overly complicated
30353 Do state changes even for elements not reachable from the
30355 BaseSink is a sink now :)
30356 Some more debugging info in the basesrc.
30359 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30361 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30362 Implement _query on a bin, similar to _send_event.
30364 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30366 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30367 Discont event offset format should be GST_FORMAT_BYTES,
30368 not GST_FORMAT_TIME.
30370 2005-05-12 Wim Taymans <wim@fluendo.com>
30372 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30373 Same fix as Ronald's but without the signal.
30375 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30377 * gst/gstutils.c: (gst_element_query_position):
30378 No, an element is not a pad.
30380 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30382 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30383 (gst_bin_get_state):
30384 If a child is removed from a bin while we remove the child from
30385 the bin and while we're retrieving its state, signal this to the
30386 get_state function so we abort the wait (instead of waiting for
30387 a timeout) and can immediately re-iterate over all other elements.
30389 2005-05-12 Wim Taymans <wim@fluendo.com>
30391 * gst/base/Makefile.am:
30392 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30393 (gst_basesrc_start):
30394 * gst/base/gstbasesrc.h:
30395 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30396 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30397 (gst_pushsrc_init), (gst_pushsrc_create):
30398 * gst/base/gstpushsrc.h:
30399 Added is_seekable to BaseSrc
30400 Added simple PushSrc.
30402 2005-05-11 Wim Taymans <wim@fluendo.com>
30404 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30405 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30406 (gst_element_link_pads), (gst_element_query_position),
30407 (gst_element_query_convert), (intersect_caps_func),
30408 (gst_pad_query_position), (gst_pad_query_convert):
30409 Fix refcounting in utils function.
30410 No point in trying to activate a pad when it's added, it could
30411 be added from the state change function and then we deadlock, the
30412 element has to decide what to do.
30414 2005-05-10 Andy Wingo <wingo@pobox.com>
30416 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30417 *all* the arguments.
30419 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30420 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30421 lock (according to the docs -- if this is wrong change the docs).
30423 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30424 flush messages in the NULL state.
30426 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30427 message immediately and return.
30428 (gst_bus_set_flushing): New function. If a bus is flushing, it
30429 flushes out any queued messages and immediately unrefs new
30430 messages. This is so when an element goes to NULL, all of the
30431 unhandled messages coming from it can be freed, and their
30432 references to the element dropped. In other words: message source
30433 ref considered harmful :P
30435 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30436 we're finished with it.
30438 * gst/gstmessage.c (gst_message_new_state_changed):
30440 2005-05-10 Wim Taymans <wim@fluendo.com>
30442 * gst/gstvalue.c: (gst_value_compare_flags),
30443 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30444 (_gst_value_initialize):
30445 Added flags serialize/deserialize/compare code.
30447 2005-05-09 Andy Wingo <wingo@pobox.com>
30449 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30450 Intersect the peer's caps with our caps.
30452 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30454 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30455 * gst/elements/gsttypefindelement.c: (find_peek):
30456 Handle negative offsets better. Fixes decodebin.
30458 2005-05-09 Wim Taymans <wim@fluendo.com>
30460 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30461 (gst_base_transform_event):
30462 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30463 Implement accept_caps.
30464 Fix silly lock/unlock mismatch in base class.
30466 2005-05-09 Wim Taymans <wim@fluendo.com>
30468 * docs/design/draft-push-pull.txt:
30469 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30470 * gst/elements/gstfilesink.c: (gst_filesink_init),
30471 (gst_filesink_query):
30472 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30473 (gst_type_find_handle_src_query), (find_element_get_length):
30474 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30475 * gst/gstelement.h:
30476 * gst/gstmessage.c:
30477 * gst/gstmessage.h:
30478 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30479 (gst_real_pad_get_caps_unlocked),
30480 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30481 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30482 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30483 (gst_real_pad_dispose), (gst_real_pad_finalize),
30484 (gst_pad_load_and_link), (gst_pad_save_thyself),
30485 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30486 (gst_pad_check_pull_range), (gst_pad_pull_range),
30487 (gst_pad_template_get_type), (gst_pad_template_class_init),
30488 (gst_pad_template_init), (gst_pad_template_dispose),
30489 (name_is_valid), (gst_static_pad_template_get),
30490 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30491 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30492 (gst_pad_get_element_private), (gst_pad_start_task),
30493 (gst_pad_pause_task), (gst_pad_stop_task),
30494 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30495 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30496 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30497 (gst_ghost_pad_new):
30499 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30500 (gst_query_new_position), (gst_query_set_position),
30501 (gst_query_parse_position), (gst_query_new_convert),
30502 (gst_query_set_convert), (gst_query_parse_convert):
30504 * gst/gstqueryutils.c:
30505 * gst/gstqueryutils.h:
30506 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30507 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30508 (gst_queue_handle_src_query):
30509 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30510 (gst_element_query_position), (gst_element_query_convert),
30511 (intersect_caps_func), (gst_pad_query_position),
30512 (gst_pad_query_convert):
30514 * tools/gst-inspect.c: (print_pad_info):
30515 * tools/gst-xmlinspect.c: (print_element_info):
30516 Remove old query functions. Ported old code.
30517 Added position/convert helper functions to gstutils.
30518 Reordered gstpad.c code, grouping relevant things.
30519 Remove gst_message_new(), always need to speficy a specific
30523 2005-05-09 Andy Wingo <wingo@pobox.com>
30525 * gst/gstiterator.h: Add some includes.
30527 * gst/gstqueryutils.h: Include more headers.
30530 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30531 some uses of gst_pad_query.
30533 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30534 NULL out parameters.
30535 (gst_query_new_position): New proc, allocates a new position
30538 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30539 gstqueryutils.c to the build.
30541 * gst/gststructure.c (gst_structure_set_valist): Implement with
30542 the generic G_VALUE_COLLECT.
30544 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30546 * gst/Makefile.am: (gst_headers):
30547 Added gstqueryutils.h to the list of headers to install, that was
30548 a 'nachty' move wingo :)
30550 2005-05-06 Andy Wingo <wingo@pobox.com>
30553 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30554 GstData, init a memchunk.
30555 (standard_definitions): Add a few query types, deprecate a few.
30556 (gst_query_get_type): New proc.
30557 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30559 (gst_query_new_application, gst_query_get_structure): New public
30562 * docs/design/draft-query.txt: Removed LINKS from the query types,
30563 because all the rest can be dispatched to other pads -- seemed
30564 ugly to have a query that couldn't be dispatched. internal_links
30565 is fine as a pad method.
30567 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30568 in gstpad.c, but maintain binary compatibility for the moment.
30569 Will fix before 0.9 is out.
30571 * gst/gstqueryutils.c:
30572 * gst/gstqueryutils.h: New files, implement 3 methods for each
30573 query type: parse_query, parse_response, and set. Probably need an
30576 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30578 * gst/elements/gstfilesink.c (gst_filesink_query2):
30579 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30580 query_types, and formats methods.
30582 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30583 (gst_pad_set_query2_function): New functions.
30584 (gst_real_pad_init): Set query2_default as the default query2
30585 function. Basically just dispatches to internally linked pads.
30589 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30590 without using the atomic operations. Only one thread can possibly
30591 be accessing the data at this point. Changed so as to avoid
30592 gst_atomic operations.
30594 2005-05-06 Wim Taymans <wim@fluendo.com>
30596 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30597 Also set caps if we use the fallback buffer alloc.
30599 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30601 * docs/gst/Makefile.am:
30602 * docs/gst/gstreamer-docs.sgml:
30603 * docs/gst/gstreamer-sections.txt:
30604 * docs/gst/tmpl/gstatomic.sgml:
30605 * docs/gst/tmpl/gstmemchunk.sgml:
30606 * testsuite/elements/struct_i386.h:
30607 * win32/GStreamer.vcproj:
30609 Purge GstAtomic stuff from docs and win32 makefiles as well
30611 2005-05-06 Wim Taymans <wim@fluendo.com>
30613 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30614 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30615 * gst/gstpad.c: (gst_pad_peer_get_caps):
30616 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30617 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30618 (gst_queue_src_activate), (gst_queue_change_state):
30620 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30621 (intersect_caps_func):
30622 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30623 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30624 Some fixes for the peer_get_caps() change.
30626 2005-05-06 Wim Taymans <wim@fluendo.com>
30628 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30629 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30630 (gst_basesink_activate):
30631 Actually do something with error codes returned from the push
30634 2005-05-06 Wim Taymans <wim@fluendo.com>
30636 * docs/design/part-element-sink.txt:
30637 * docs/design/part-element-source.txt:
30638 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30639 (gst_basesink_event), (gst_basesink_activate):
30640 * gst/base/gstbasesink.h:
30641 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30642 (gst_basesrc_activate):
30643 * gst/base/gstbasesrc.h:
30644 * gst/gstelement.c: (gst_element_pads_activate):
30645 Some more documentation.
30646 Fixed scheduling decision in _pads_activate().
30648 2005-05-05 Andy Wingo <wingo@pobox.com>
30650 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30653 2005-05-05 Wim Taymans <wim@fluendo.com>
30655 * gst/base/Makefile.am:
30656 * gst/base/gstbasesink.h:
30657 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30658 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30659 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30660 (gst_collectpads_class_init), (gst_collectpads_init),
30661 (gst_collectpads_finalize), (gst_collectpads_new),
30662 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30663 (find_pad), (gst_collectpads_remove_pad),
30664 (gst_collectpads_is_active), (gst_collectpads_collect),
30665 (gst_collectpads_collect_range), (gst_collectpads_start),
30666 (gst_collectpads_stop), (gst_collectpads_peek),
30667 (gst_collectpads_pop), (gst_collectpads_available),
30668 (gst_collectpads_read), (gst_collectpads_flush),
30669 (gst_collectpads_chain):
30670 * gst/base/gstcollectpads.h:
30671 * gst/elements/Makefile.am:
30672 * gst/elements/gstelements.c:
30673 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30674 (gst_fakesink_get_times), (gst_fakesink_event),
30675 (gst_fakesink_preroll), (gst_fakesink_render):
30676 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30677 (gst_filesink_init), (gst_filesink_set_location),
30678 (gst_filesink_open_file), (gst_filesink_close_file),
30679 (gst_filesink_pad_query), (gst_filesink_event),
30680 (gst_filesink_render), (gst_filesink_change_state):
30681 * gst/elements/gstfilesink.h:
30682 Added object to help in making collect pad based elements.
30684 Make event function in sink baseclass return gboolean.
30686 2005-05-05 Wim Taymans <wim@fluendo.com>
30688 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30689 (gst_bin_get_by_name):
30691 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30692 (gst_clock_finalize):
30693 * gst/gstdata.c: (gst_data_replace):
30695 * gst/gstelement.c: (gst_element_request_pad),
30696 (gst_element_pads_activate):
30697 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30698 (gst_object_unref):
30699 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30700 (gst_pad_set_checkgetrange_function),
30701 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30702 (gst_pad_check_pull_range), (gst_pad_pull_range),
30703 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30704 (gst_pad_pause_task), (gst_pad_stop_task):
30705 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30706 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30707 Fix name lookup in GstBin.
30708 Added _data_replace() function and _buffer_replace()
30709 Use finalize method to clean up clock.
30710 Fix refcounting on request pads.
30711 Fix pad schedule mode error.
30712 Some more object refcounting debug info,
30715 2005-05-04 Andy Wingo <wingo@pobox.com>
30717 * check/Makefile.am:
30718 * docs/gst/tmpl/gstatomic.sgml:
30719 * docs/gst/tmpl/gstplugin.sgml:
30720 * gst/base/gstbasesink.c: (gst_basesink_activate):
30721 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30722 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30723 (gst_basesrc_query), (gst_basesrc_set_property),
30724 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30725 (gst_basesrc_activate):
30726 * gst/base/gstbasesrc.h:
30727 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30728 (gst_base_transform_src_activate):
30729 * gst/elements/gstelements.c:
30730 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30731 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30732 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30733 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30734 (gst_type_find_element_checkgetrange),
30735 (gst_type_find_element_activate):
30736 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30737 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30738 (gst_caps_load_thyself):
30739 * gst/gstelement.c: (gst_element_pads_activate),
30740 (gst_element_save_thyself), (gst_element_restore_thyself):
30741 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30742 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30744 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30745 (gst_xml_parse_file), (gst_xml_parse_memory),
30746 (gst_xml_get_element), (gst_xml_make_element):
30747 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30748 (_file_index_id_save_xml), (gst_file_index_commit):
30749 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30750 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30752 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30753 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30754 * tools/gst-complete.c: (main):
30755 * tools/gst-compprep.c: (main):
30756 * tools/gst-inspect.c: (print_element_properties_info):
30757 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30758 * tools/gst-xmlinspect.c: (print_element_properties):
30761 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30763 * gst/gstplugin.c: (gst_plugin_check_module),
30764 (gst_plugin_check_file), (gst_plugin_load_file):
30765 apply patch from #172526 to make register work on MacOSX
30767 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30769 * docs/gst/tmpl/gstconfig.sgml:
30770 * gst/gstconfig.h.in:
30771 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30772 * testsuite/debug/printf_extension.c: (main):
30773 Do not use GST_PTR_FORMAT on pointers to types with
30774 sizeof < sizeof(gpointer). Fixes test on 64-bit
30775 * testsuite/elements/property.h:
30776 use correct printf format
30778 2005-05-02 Wim Taymans <wim@fluendo.com>
30780 * docs/design/draft-push-pull.txt:
30781 * docs/design/draft-query.txt:
30782 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30783 (gst_basesrc_start):
30784 Added draft for new query API.
30785 Added draft for better selecting scheduling methods.
30786 Make basesrc ignore length if the subclass does not support
30789 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30792 possible fixes for automake-1.5 - _LIBADD is reserved
30794 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30796 * docs/faq/Makefile.am:
30797 * docs/manual/Makefile.am:
30798 * docs/manuals.mak:
30799 * docs/pwg/Makefile.am:
30801 possible fixes for automake-1.5
30803 2005-04-28 Wim Taymans <wim@fluendo.com>
30805 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30806 (gst_basesink_pad_getcaps), (gst_basesink_init),
30807 (gst_basesink_do_sync):
30808 * gst/gstclock.c: (gst_clock_entry_new):
30809 * gst/gstevent.c: (gst_event_discont_get_value):
30810 * gst/gstpipeline.c: (pipeline_bus_handler),
30811 (gst_pipeline_change_state):
30812 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30813 Better debugging of clocking info.
30814 Allow NULL values when getting discont values.
30816 2005-04-27 Wim Taymans <wim@fluendo.com>
30818 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30819 * check/gst/gstpad.c: (gst_pad_suite):
30820 Increase timeout for checks.
30822 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30824 * check/Makefile.am:
30825 fix the broken rule for cleanup. Apparently this rule is
30826 only needed on FC2, so maybe this warrants further autotool
30829 2005-04-26 Wim Taymans <wim@fluendo.com>
30831 * gst/gsttrashstack.h:
30832 Ooohh. a nasty one! After having a failed pop() from the stack,
30833 it's possible that the stack is empty. In that case, don't
30834 follow the NULL pointer.
30836 2005-04-25 Wim Taymans <wim@fluendo.com>
30838 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30839 (gst_pad_set_checkgetrange_function),
30840 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30841 (gst_pad_check_pull_range), (gst_pad_pull_range),
30842 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30843 (gst_pad_pause_task), (gst_pad_stop_task):
30844 * gst/gstplugin.c: (gst_plugin_load):
30846 Remove gst_library_load as it does more harm than good with
30847 the new g_module flags.
30848 Revert bogus caps template check in pad linking, pad caps
30849 are important when linking not the template, which is more
30850 general than the current caps.
30852 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30854 * gst/autoplug/.cvsignore:
30855 * gst/autoplug/Makefile.am:
30856 * gst/autoplug/gstsearchfuncs.c:
30857 * gst/autoplug/gstsearchfuncs.h:
30858 * gst/autoplug/gstspider.c:
30859 * gst/autoplug/gstspider.h:
30860 * gst/autoplug/gstspideridentity.c:
30861 * gst/autoplug/gstspideridentity.h:
30862 * gst/autoplug/spidertest.c:
30865 2005-04-25 Wim Taymans <wim@fluendo.com>
30867 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30868 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30869 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30870 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30872 Added stubs for unimplemented functions.
30874 2005-04-24 David Schleef <ds@schleef.org>
30876 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30879 2005-04-24 David Schleef <ds@schleef.org>
30881 Convert everything from GstAtomicInt to g_atomic_int_*, and
30886 * gst/gstatomic_impl.h:
30894 * gst/gstdata_private.h:
30898 * gst/gstmessage.c:
30901 * gst/gststructure.c:
30902 * gst/gststructure.h:
30903 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30906 2005-04-24 David Schleef <ds@schleef.org>
30908 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30909 make the regressions tests work. Remove some code that is no
30911 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30912 Disable warning for pads without templates.
30914 2005-04-24 David Schleef <ds@schleef.org>
30916 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30917 functions that handle filtered links.
30918 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30920 * gst/gstutils.c: Fix/remove utility functions that handle
30923 * gst/gstvalue.c: Add serialization/deserialization of caps
30924 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30925 requires fixing so that the filter caps notation creates
30926 a capsfilter element and sets the filter_caps property. I
30927 think everyone probably wants to keep the shorthand notation.
30928 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30929 * docs/gst/tmpl/gstpad.sgml:
30931 * gst/elements/gstelements.c: Register capsfilter element.
30932 * gst/Makefile.am: fix spacing
30933 * docs/random/ds/0.9-suggested-changes: random
30935 2005-04-23 David Schleef <ds@schleef.org>
30937 * gst/elements/Makefile.am:
30938 * gst/elements/gstcapsfilter.c: New element that acts like an
30939 identity, but filters caps. Will eventually replace filtered
30940 caps in pad linking.
30941 * gst/gstutils.c: (gst_element_create_all_pads): New function
30942 to create all the ALWAYS pads that are registered with an
30943 element class. This functionality should eventually be
30944 merged in with GstElement initialization.
30946 * testsuite/trigger/README: part of trigger test code that should
30947 have been checked in a long time ago.
30949 2005-04-23 David Schleef <ds@schleef.org>
30951 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30952 needed with new versions of libtool (nobody will confirm this),
30953 and hard to carry around.
30954 * gst/autoplug/Makefile.am:
30955 * gst/base/Makefile.am:
30956 * gst/elements/Makefile.am:
30957 * gst/indexers/Makefile.am:
30958 * gst/schedulers/Makefile.am:
30959 * libs/gst/bytestream/Makefile.am:
30960 * libs/gst/control/Makefile.am:
30961 * libs/gst/dataprotocol/Makefile.am:
30962 * libs/gst/getbits/Makefile.am:
30964 2005-04-21 Wim Taymans <wim@fluendo.com>
30966 * docs/design/draft-push-pull.txt:
30967 * docs/design/part-MT-refcounting.txt:
30968 * docs/design/part-TODO.txt:
30969 * docs/design/part-caps.txt:
30970 * docs/design/part-events.txt:
30971 * docs/design/part-gstbus.txt:
30972 * docs/design/part-gstpipeline.txt:
30973 * docs/design/part-messages.txt:
30974 * docs/design/part-push-pull.txt:
30975 * docs/design/part-query.txt:
30978 2005-04-21 Wim Taymans <wim@fluendo.com>
30980 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30981 (gst_message_new), (gst_message_new_error),
30982 (gst_message_new_warning), (gst_message_new_tag),
30983 (gst_message_new_state_changed), (gst_message_new_application),
30984 (gst_message_get_structure):
30985 * gst/gstmessage.h:
30986 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30987 (gst_structure_copy_conditional):
30988 Use parent refcount in GstMessage to ensure GstStructure
30990 Cleaned up headers a bit.
30993 2005-04-20 Wim Taymans <wim@fluendo.com>
30995 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30996 (gst_basesink_pad_getcaps), (gst_basesink_init),
30997 (gst_basesink_chain_unlocked):
30998 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30999 (gst_type_find_helper):
31000 * gst/elements/gsttypefindelement.c:
31001 (gst_type_find_element_have_type), (gst_type_find_element_init),
31002 (stop_typefinding), (gst_type_find_element_handle_event),
31003 (find_suggest), (gst_type_find_element_chain),
31004 (gst_type_find_element_checkgetrange),
31005 (gst_type_find_element_getrange), (do_typefind),
31006 (gst_type_find_element_activate):
31007 * gst/gstbuffer.c: (_gst_buffer_sub_free),
31008 (gst_buffer_default_free), (gst_buffer_default_copy),
31009 (gst_buffer_set_caps):
31010 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31011 (gst_caps_replace):
31012 * gst/gstmessage.c: (gst_message_new),
31013 (gst_message_new_state_changed):
31014 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31015 (gst_pad_set_checkgetrange_function),
31016 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31017 (gst_pad_set_caps), (gst_pad_check_pull_range),
31018 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31020 * gst/gsttypefind.c: (gst_type_find_register):
31021 Make gst_caps_replace() work like other _replace() functions.
31022 Use _caps_replace() where possible.
31023 Make sure _message_new() initialises its field.
31024 Add gst_static_pad_template_get_caps()
31027 2005-04-18 Andy Wingo <wingo@pobox.com>
31029 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31030 on the peer, not the pad. I think that was a typo. Pass an extra
31031 arg to see if random access is possible. Activate the pads as
31032 PULL_RANGE if possible.
31034 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31036 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
31037 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31040 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31042 * docs/faq/using.xml:
31043 Add note on gstreamer-properties (#154996).
31045 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31047 * docs/random/bbb/optional-properties:
31048 Some analysis on optional properties.
31050 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31052 * docs/gst/tmpl/gstelementfactory.sgml:
31053 * gst/gstelement.h:
31054 * gst/gstelementfactory.c: (gst_element_factory_init),
31055 (gst_element_factory_cleanup), (gst_element_register),
31056 (__gst_element_factory_add_static_pad_template),
31057 (gst_element_factory_get_static_pad_templates),
31058 (gst_element_factory_can_src_caps),
31059 (gst_element_factory_can_sink_caps):
31060 * gst/registries/Makefile.am:
31061 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31062 (gst_xml_registry_class_init), (gst_xml_registry_init),
31063 (gst_xml_registry_new), (gst_xml_registry_set_property),
31064 (gst_xml_registry_get_property), (get_time), (make_dir),
31065 (gst_xml_registry_get_perms_func),
31066 (plugin_times_older_than_recurse), (plugin_times_older_than),
31067 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31068 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31069 (add_to_char_array), (read_string), (read_uint), (read_enum),
31070 (load_pad_template), (load_feature), (load_plugin), (load_paths),
31071 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31072 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31073 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31074 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31075 (gst_xml_registry_rebuild):
31076 * gst/registries/gstlibxmlregistry.h:
31077 * tools/gst-compprep.c: (main):
31078 * tools/gst-inspect.c: (print_pad_templates_info):
31079 * tools/gst-xmlinspect.c: (print_element_info):
31080 Use libxml2 for registry parsing, use staticpadtemplates in
31081 elementfactories. Makes gst_init() +/- 10x faster.
31083 2005-04-12 Wim Taymans <wim@fluendo.com>
31085 * gst/base/Makefile.am:
31086 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31087 (gst_basesink_pad_getcaps), (gst_basesink_init),
31088 (gst_basesink_event), (gst_basesink_change_state):
31089 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31090 (gst_basesrc_init), (gst_basesrc_query),
31091 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31092 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31093 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31094 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31095 (gst_basesrc_stop), (gst_basesrc_activate),
31096 (gst_basesrc_change_state):
31097 * gst/base/gsttypefindhelper.c: (helper_find_peek),
31098 (helper_find_suggest), (gst_type_find_helper):
31099 * gst/base/gsttypefindhelper.h:
31100 * gst/elements/Makefile.am:
31101 * gst/elements/gstelements.c:
31102 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31103 (gst_fakesink_get_times), (gst_fakesink_event),
31104 (gst_fakesink_preroll), (gst_fakesink_render):
31105 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31106 (gst_fakesrc_init), (gst_fakesrc_event_handler),
31107 (gst_fakesrc_get_property), (gst_fakesrc_create),
31108 (gst_fakesrc_start), (gst_fakesrc_stop):
31109 * gst/elements/gstfakesrc.h:
31110 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31111 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31112 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31113 (gst_filesrc_create_read), (gst_filesrc_create),
31114 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31115 (gst_filesrc_start):
31116 * gst/elements/gsttypefindelement.c:
31117 (gst_type_find_element_have_type), (gst_type_find_element_init),
31118 (start_typefinding), (stop_typefinding), (push_buffer_store),
31119 (gst_type_find_element_handle_event),
31120 (gst_type_find_element_chain),
31121 (gst_type_find_element_checkgetrange),
31122 (gst_type_find_element_getrange), (do_typefind),
31123 (gst_type_find_element_activate),
31124 (gst_type_find_element_change_state):
31125 * gst/elements/gsttypefindelement.h:
31126 * gst/gstpipeline.c: (pipeline_bus_handler):
31127 Added typefind helper.
31128 Small preroll fix in the base sink.
31129 Disable typefind code in basesrc.
31130 Crude port of typefindelement.
31134 2005-04-11 Wim Taymans <wim@fluendo.com>
31136 * check/gst/gstbus.c: (gstbus_suite):
31137 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31138 * check/gstcheck.h:
31139 Fix up the timeout so that the test does not fail.
31141 2005-04-06 Wim Taymans <wim@fluendo.com>
31144 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31145 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31146 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31147 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31148 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31149 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31150 (gst_basesrc_stop), (gst_basesrc_activate),
31151 (gst_basesrc_change_state), (basesrc_find_peek),
31152 (basesrc_find_suggest), (gst_basesrc_type_find):
31153 * gst/base/gstbasesrc.h:
31154 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31155 (gst_filesrc_class_init), (gst_filesrc_init),
31156 (gst_filesrc_finalize), (gst_filesrc_set_location),
31157 (gst_filesrc_set_property), (gst_filesrc_get_property),
31158 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31159 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31160 (gst_filesrc_create_read), (gst_filesrc_create),
31161 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31162 * gst/elements/gstfilesrc.h:
31163 * gst/gstelement.c: (gst_element_get_state_func),
31164 (gst_element_lost_state), (gst_element_pads_activate):
31165 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31166 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31167 (gst_pad_pull_range):
31169 More work on the generic source base class, implement seeking,
31171 Make filesrc extend the base source class.
31172 Added gst_pad_set_checkgetrange_function to GstPad.
31174 2005-04-06 Andy Wingo <wingo@pobox.com>
31176 * pkgconfig/gstreamer-base.pc.in:
31177 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31179 * pkgconfig/Makefile.am:
31180 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31182 2005-04-04 Wim Taymans <wim@fluendo.com>
31184 * gst/base/Makefile.am:
31186 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31187 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31188 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31189 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31190 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31191 (gst_basesrc_base_init), (gst_basesrc_class_init),
31192 (gst_basesrc_init), (gst_basesrc_get_formats),
31193 (gst_basesrc_get_query_types), (gst_basesrc_query),
31194 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31195 (gst_basesrc_set_property), (gst_basesrc_get_property),
31196 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31197 (gst_basesrc_loop), (gst_basesrc_activate),
31198 (gst_basesrc_change_state):
31199 * gst/base/gstbasesrc.h:
31200 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31201 (gst_fakesrc_class_init), (gst_fakesrc_init),
31202 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31203 (gst_fakesrc_get_property), (gst_fakesrc_create):
31204 * gst/elements/gstfakesrc.h:
31205 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31206 (gst_filesrc_open_file), (gst_filesrc_loop),
31207 (gst_filesrc_activate), (filesrc_find_peek),
31208 (gst_filesrc_type_find):
31209 Made base source class, make fakesrc extend it.
31210 Add comments to basesink class.
31211 Some filesrc cleanup.
31213 2005-03-31 David Schleef <ds@schleef.org>
31215 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31216 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31217 expected to link against libgstreamer.
31218 * gst/base/Makefile.am: link against libgstreamer
31219 * gst/elements/Makefile.am: same
31221 2005-03-31 Andy Wingo <wingo@pobox.com>
31223 * tests/instantiate/Makefile.am:
31224 * tests/instantiate/caps.c: Add test to test speed of caps copy
31227 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31228 GMemChunk to be fair.
31230 * gst/gsttrashstack.h: Remove warning about using the fallback
31231 trash stack implementation, it's still faster than malloc.
31233 2005-03-30 Andy Wingo <wingo@pobox.com>
31235 * tests/complexity.c: Add a copyright.
31237 2005-03-31 Wim Taymans <wim@fluendo.com>
31239 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31240 (gst_base_transform_class_init), (gst_base_transform_init),
31241 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31242 (gst_base_transform_get_property),
31243 (gst_base_transform_sink_activate),
31244 (gst_base_transform_src_activate),
31245 (gst_base_transform_change_state):
31246 * gst/base/gstbasetransform.h:
31247 * gst/elements/gstidentity.c: (gst_identity_class_init),
31248 (gst_identity_event), (gst_identity_check_perfect),
31249 (gst_identity_transform), (gst_identity_start),
31250 (gst_identity_stop):
31251 Added start/stop methods to transform base class so subclasses
31252 don't need to deal with state changes even.
31254 2005-03-31 Wim Taymans <wim@fluendo.com>
31256 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31257 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31259 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31260 (gst_pad_pull_range):
31261 Added rate to the discont event to prepare for variable speed
31262 and reverse playback.
31264 2005-03-29 David Schleef <ds@schleef.org>
31267 * testsuite/trigger/Makefile.am:
31268 * testsuite/trigger/trigger.c: A little example program to show
31269 how trigger-based elements can work.
31271 2005-03-29 Wim Taymans <wim@fluendo.com>
31273 * gst/base/Makefile.am:
31275 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31276 (gst_basesink_base_init), (gst_basesink_class_init),
31277 (gst_basesink_pad_getcaps), (gst_basesink_init),
31278 (gst_basesink_activate), (gst_basesink_change_state):
31279 * gst/base/gstbasesink.h:
31280 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31281 (gst_base_transform_base_init), (gst_base_transform_finalize),
31282 (gst_base_transform_class_init), (gst_base_transform_init),
31283 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31284 (gst_base_transform_event), (gst_base_transform_getrange),
31285 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31286 (gst_base_transform_set_property),
31287 (gst_base_transform_get_property),
31288 (gst_base_transform_sink_activate),
31289 (gst_base_transform_src_activate),
31290 (gst_base_transform_change_state):
31291 * gst/base/gstbasetransform.h:
31292 * gst/elements/gstidentity.c: (gst_identity_finalize),
31293 (gst_identity_class_init), (gst_identity_init),
31294 (gst_identity_event), (gst_identity_check_perfect),
31295 (gst_identity_transform), (gst_identity_set_property),
31296 (gst_identity_get_property), (gst_identity_change_state):
31297 * gst/elements/gstidentity.h:
31298 * gst/gstelement.c: (gst_element_get_state_func),
31299 (gst_element_lost_state), (gst_element_pads_activate):
31300 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31301 (gst_pad_check_pull_range), (gst_pad_pull_range):
31303 Simplify pad activation.
31304 Added function to check if pull_range can be performed.
31305 Error out when pulling inactive or flushing pads.
31306 Removed const from refcounted types as it does not make sense.
31307 Simplify pad templates in basesink
31308 Added base class for simple 1-to-1 transforms.
31309 Make identity subclass the base transform.
31311 2005-03-29 Andy Wingo <wingo@pobox.com>
31313 * docs/libs/gstreamer-libs-overrides.txt:
31314 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31315 really don't understand what's going on, but like whatever. I want
31318 * docs/gst/Makefile.am:
31319 * docs/libs/Makefile.am: Dist the overrides files.
31321 * check/Makefile.am (clean-local): Remove .libs directories.
31323 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31324 elements to EXTRA_DIST, so po/ files are happy.
31326 * po/POTFILES.in: Er, remove it here.
31328 * po/POTFILES: Remove gstspider.c.
31330 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31332 * docs/libs/gstreamer-libs-docs.sgml:
31333 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31336 * tests/complexity.c (main): Set the length of the preroll queue
31337 on the sinks to prevent a lockup.
31339 * libs/gst/dataprotocol/Makefile.am:
31340 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31341 the same as the one in check/gst-libs/gdp.c.
31343 * po/, docs/gst/: Commit automatic changes to docs and po files.
31345 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31346 the versioned libgstbase.
31348 * check/Makefile.am: Depend on an unversioned gst-register, seems
31349 to make autoconf happier.
31351 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31353 2005-03-28 Wim Taymans <wim@fluendo.com>
31356 * docs/design/part-gstelement.txt:
31357 * docs/design/part-negotiation.txt:
31358 * docs/design/part-preroll.txt:
31359 * docs/design/part-scheduling.txt:
31360 * docs/design/part-states.txt:
31362 * gst/base/Makefile.am:
31364 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31365 (gst_basesink_base_init), (gst_basesink_class_init),
31366 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31367 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31368 (gst_basesink_set_pad_functions),
31369 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31370 (gst_basesink_set_property), (gst_basesink_get_property),
31371 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31372 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31373 (gst_basesink_preroll_queue_push),
31374 (gst_basesink_preroll_queue_empty),
31375 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31376 (gst_basesink_event), (gst_basesink_get_times),
31377 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31378 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31379 (gst_basesink_loop), (gst_basesink_activate),
31380 (gst_basesink_change_state):
31381 * gst/base/gstbasesink.h:
31382 * gst/elements/Makefile.am:
31383 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31384 (gst_fakesink_class_init), (gst_fakesink_init),
31385 (gst_fakesink_set_property), (gst_fakesink_get_property),
31386 (gst_fakesink_get_times), (gst_fakesink_event),
31387 (gst_fakesink_preroll), (gst_fakesink_render),
31388 (gst_fakesink_change_state):
31389 * gst/elements/gstfakesink.h:
31390 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31391 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31392 * gst/gstelement.c: (gst_element_add_pad),
31393 (gst_element_get_state_func), (gst_element_abort_state),
31394 (gst_element_commit_state), (gst_element_lost_state),
31395 (gst_element_set_state), (gst_element_pads_activate):
31396 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31397 * gst/gstpipeline.c: (gst_pipeline_send_event),
31398 (gst_pipeline_change_state):
31399 Added state change code.
31400 Added/updated docs.
31401 Added sink base class, make fakesink extend the base class.
31402 Small cleanups in GstPipeline.
31404 2005-03-26 David Schleef <ds@schleef.org>
31406 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31407 is broken and should be implemented in a different library.
31408 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31409 * gst/gst.h: remove gstcpu.h
31410 * gst/gstcpu.c: remove
31411 * gst/gstcpu.h: remove
31412 * gst/Makefile.am.future: Remove this file. It's ancient.
31414 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31416 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31417 (gst_bin_send_event):
31418 Add default event/set_manager handlers. The set_manager handler
31419 takes care that the manager is distributed over kids that were
31420 already in the bin before the manager was set. The event handler
31421 is a utility virtual function that sends the event over all sinks,
31422 so that gst_element_send_event (bin, event); has the expected
31424 * gst/gstpad.c: (gst_pad_event_default):
31425 Re-install default event handling for discontinuities, so that
31426 seeking works without requiring hacks in applications or extra
31428 * gst/gstpipeline.c: (gst_pipeline_class_init),
31429 (gst_pipeline_send_event):
31430 Half hack, half utility: set a pipeline to PAUSED for seek events,
31431 since that is the only way we can guarantee a/v sync. Means that
31432 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31433 and it "just works".
31435 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31437 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31438 Lock/unlock mismatch.
31440 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31442 * docs/faq/gst-uninstalled:
31443 add gst-plugins-base
31444 * docs/gst/Makefile.am:
31445 don't error out until docs are fixed
31446 * docs/gst/gstreamer.types:
31449 2005-03-22 Wim Taymans <wim@fluendo.com>
31451 * check/Makefile.am:
31452 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31453 * gst/gststructure.c: (gst_structure_set_valist),
31454 (gst_structure_copy_conditional):
31455 Activated more tests.
31456 Added message test.
31457 Added G_TYPE_POINTER to GstStructure.
31460 2005-03-22 Wim Taymans <wim@fluendo.com>
31462 * docs/design/part-TODO.txt:
31463 * docs/design/part-events.txt:
31464 * docs/design/part-gstbin.txt:
31465 * docs/design/part-gstbus.txt:
31466 * docs/design/part-gstpipeline.txt:
31467 * docs/design/part-messages.txt:
31469 * gst/gstmessage.c:
31472 2005-03-21 Wim Taymans <wim@fluendo.com>
31474 * gst/gstbus.c: (gst_bus_post):
31475 Fix copy-and-paste error.
31477 2005-03-21 Wim Taymans <wim@fluendo.com>
31479 * check/Makefile.am:
31481 * gst/elements/Makefile.am:
31482 * gst/elements/gstelements.c:
31483 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31484 (gst_fakesink_event), (gst_fakesink_chain):
31485 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31486 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31487 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31488 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31489 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31490 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31491 (gst_fakesrc_loop), (gst_fakesrc_activate),
31492 (gst_fakesrc_change_state):
31493 * gst/elements/gstfakesrc.h:
31494 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31495 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31496 (gst_filesrc_open_file), (gst_filesrc_loop),
31497 (gst_filesrc_activate), (gst_filesrc_change_state),
31498 (filesrc_find_peek), (filesrc_find_suggest),
31499 (gst_filesrc_type_find):
31500 * gst/elements/gstidentity.c: (gst_identity_finalize),
31501 (gst_identity_class_init), (gst_identity_init),
31502 (gst_identity_proxy_getcaps), (identity_queue_push),
31503 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31504 (gst_identity_getrange), (gst_identity_chain),
31505 (gst_identity_sink_loop), (gst_identity_src_loop),
31506 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31507 (gst_identity_set_property), (gst_identity_get_property),
31508 (gst_identity_change_state):
31509 * gst/elements/gstidentity.h:
31510 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31511 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31512 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31513 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31514 (gst_tee_sink_activate):
31515 * gst/elements/gsttee.h:
31516 * gst/gst.c: (gst_register_core_elements), (init_post):
31518 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31519 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31520 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31521 (gst_bin_change_state):
31523 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31524 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31525 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31526 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31527 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31528 (bus_watch_callback), (bus_watch_destroy),
31529 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31530 (poll_timeout), (gst_bus_poll):
31534 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31535 (gst_element_post_message), (gst_element_message_full),
31536 (gst_element_get_state_func), (gst_element_get_state),
31537 (gst_element_abort_state), (gst_element_commit_state),
31538 (gst_element_lost_state), (gst_element_set_state),
31539 (gst_element_pads_activate), (gst_element_change_state),
31540 (gst_element_dispose), (gst_element_set_manager_func),
31541 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31542 (gst_element_set_manager), (gst_element_get_manager),
31543 (gst_element_set_bus), (gst_element_get_bus),
31544 (gst_element_set_scheduler), (gst_element_get_scheduler):
31545 * gst/gstelement.h:
31546 * gst/gstevent.c: (gst_event_new_segment_seek),
31547 (gst_event_new_flush):
31549 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31550 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31551 (gst_message_new_eos), (gst_message_new_error),
31552 (gst_message_new_warning), (gst_message_new_tag),
31553 (gst_message_new_state_changed), (gst_message_new_application),
31554 (gst_message_get_structure), (gst_message_parse_tag),
31555 (gst_message_parse_state_changed), (gst_message_parse_error),
31556 (gst_message_parse_warning):
31557 * gst/gstmessage.h:
31558 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31559 (gst_real_pad_set_property), (gst_pad_set_active),
31560 (gst_pad_is_active), (gst_pad_set_blocked_async),
31561 (gst_pad_set_blocked), (gst_pad_is_blocked),
31562 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31563 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31564 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31565 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31566 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31567 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31568 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31569 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31570 (gst_pad_set_caps), (gst_pad_configure_sink),
31571 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31572 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31573 (gst_real_pad_dispose), (gst_real_pad_finalize),
31574 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31575 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31576 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31578 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31579 (pipeline_bus_handler), (gst_pipeline_change_state),
31580 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31581 * gst/gstpipeline.h:
31583 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31584 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31585 (gst_queue_link_src), (gst_queue_bufferalloc),
31586 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31587 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31588 (gst_queue_loop), (gst_queue_handle_src_event),
31589 (gst_queue_handle_src_query), (gst_queue_src_activate),
31590 (gst_queue_change_state):
31592 * gst/gstscheduler.c: (gst_scheduler_init),
31593 (gst_scheduler_dispose), (gst_scheduler_create_task),
31594 (gst_scheduler_factory_create):
31595 * gst/gstscheduler.h:
31596 * gst/gststructure.c: (gst_structure_get_type),
31597 (gst_structure_copy_conditional):
31598 * gst/gststructure.h:
31599 * gst/gsttaginterface.h:
31600 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31601 (gst_task_init), (gst_task_dispose), (gst_task_create),
31602 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31608 * gst/schedulers/Makefile.am:
31609 * gst/schedulers/cothreads_compat.h:
31610 * gst/schedulers/entryscheduler.c:
31611 * gst/schedulers/faircothreads.c:
31612 * gst/schedulers/faircothreads.h:
31613 * gst/schedulers/fairscheduler.c:
31614 * gst/schedulers/gstbasicscheduler.c:
31615 * gst/schedulers/gstoptimalscheduler.c:
31616 * gst/schedulers/gthread-cothreads.h:
31617 * gst/schedulers/threadscheduler.c:
31618 (gst_thread_scheduler_task_get_type),
31619 (gst_thread_scheduler_task_class_init),
31620 (gst_thread_scheduler_task_init),
31621 (gst_thread_scheduler_task_start),
31622 (gst_thread_scheduler_task_stop),
31623 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31624 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31625 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31626 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31628 * libs/gst/Makefile.am:
31629 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31630 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31631 (gst_file_pad_parent_set):
31632 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31633 (gst_dp_event_from_packet):
31634 * tests/complexity.c: (main):
31635 * tests/mass_elements.c: (main):
31636 * testsuite/states/locked.c: (message_received), (main):
31637 * testsuite/states/parent.c: (main):
31638 * tools/gst-inspect.c: (print_element_flag_info),
31639 (print_implementation_info), (print_pad_info):
31640 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31642 * tools/gst-md5sum.c: (event_loop), (main):
31643 * tools/gst-typefind.c: (main):
31644 * tools/gst-xmlinspect.c: (print_element_info):
31646 Added GstBus for mainloop integration.
31647 Added GstMessage for sending notifications on the bus.
31648 Added GstTask as an abstraction for pipeline entry points.
31650 Removed Schedulers.
31651 Simplified GstQueue for multithreaded core.
31652 Made _link threadsafe, removed old capsnego.
31653 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31654 Added pad blocking functions.
31655 Reworked scheduling functions in GstPad to prepare for
31656 scheduling updates soon.
31657 Moved events out of data stream.
31658 Simplified GstEvent types.
31659 Added return values to push/pull.
31660 Removed clocking from GstElement.
31661 Added prototypes for state change function for next merge.
31662 Removed iterate from bins and state change management.
31663 Fixed some elements, disabled others for now.
31664 Fixed -inspect and -launch.
31665 Added check for GstBus.
31667 2005-03-10 Wim Taymans <wim@fluendo.com>
31669 * docs/design/part-MT-refcounting.txt:
31670 * docs/design/part-clocks.txt:
31671 * docs/design/part-gstelement.txt:
31672 * docs/design/part-gstobject.txt:
31673 * docs/design/part-standards.txt:
31674 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31675 (gst_bin_remove_func), (gst_bin_remove):
31679 * testsuite/clock/clock1.c: (main):
31680 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31682 * testsuite/dlopen/loadgst.c: (do_test):
31683 * testsuite/refcounting/bin.c: (add_remove_test1),
31684 (add_remove_test2), (main):
31685 * testsuite/refcounting/element.c: (main):
31686 * testsuite/refcounting/element_pad.c: (main):
31687 * testsuite/refcounting/pad.c: (main):
31688 * tools/gst-launch.c: (sigint_handler_sighandler):
31689 * tools/gst-typefind.c: (main):
31691 Added doc about clock.
31692 removed gst_bin_iterate_recurse_up(), marked methods
31694 Fix more testsuites.
31696 2005-03-09 Wim Taymans <wim@fluendo.com>
31698 * gst/gstpad.c: (gst_pad_get_direction),
31699 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31700 (gst_pad_collect_valist):
31701 * testsuite/bins/interface.c: (main):
31702 * testsuite/caps/audioscale.c: (test_caps):
31703 * testsuite/caps/caps.c: (test1), (test2), (test3):
31704 * testsuite/caps/deserialize.c: (main):
31705 * testsuite/caps/enumcaps.c: (main):
31706 * testsuite/caps/filtercaps.c: (main):
31707 * testsuite/caps/intersect2.c: (main):
31708 * testsuite/caps/random.c: (main):
31709 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31710 * testsuite/caps/sets.c: (check_caps):
31711 * testsuite/caps/simplify.c: (check_caps), (main):
31712 * testsuite/caps/subtract.c: (check_caps):
31713 Fix _pad_get_direction wrt ghostpads.
31714 Fix caps testsuite.
31716 2005-03-09 Wim Taymans <wim@fluendo.com>
31718 * check/Makefile.am:
31719 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31720 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31721 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31722 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31723 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31724 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31725 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31726 (bin_element_is_sink), (gst_bin_iterate_sinks),
31727 (gst_bin_iterate_all_by_interface):
31729 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31730 (gst_element_change_state), (gst_element_dispose),
31731 (gst_element_finalize), (gst_element_set_loop_function):
31732 * gst/gstelement.h:
31733 * gst/gstiterator.c: (find_custom_fold_func):
31734 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31735 (gst_pad_collectv), (gst_pad_collect_valist),
31736 (gst_pad_template_new):
31737 * gst/gstpipeline.c: (gst_pipeline_class_init),
31738 (gst_pipeline_dispose), (gst_pipeline_set_property),
31739 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31740 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31741 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31743 * gst/schedulers/entryscheduler.c:
31744 * gst/schedulers/gstbasicscheduler.c:
31745 (gst_basic_scheduler_cothreaded_chain),
31746 (gst_basic_scheduler_chain_add_element):
31747 * testsuite/bins/interface.c: (main):
31749 Added GstSystemClock test.
31750 Implemented clock distribution code in GstBin.
31751 Implemented iterate sinks method for future use.
31752 Rearranged gstelement.h
31753 Fix GstIterator comparison bug.
31754 Moved some code to GstPipeline, mostly clocking related.
31756 2005-03-09 Wim Taymans <wim@fluendo.com>
31759 * gst/gst_private.h:
31760 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31761 (gst_bin_remove_func), (gst_bin_remove),
31762 (gst_bin_get_by_name_recurse_up):
31763 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31764 (gst_clock_id_compare_func), (gst_clock_id_wait),
31765 (gst_clock_id_wait_async), (gst_clock_init),
31766 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31767 * gst/gstelement.h:
31768 * gst/gstinfo.c: (_gst_debug_init):
31770 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31771 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31773 Bump version number, we're now 0.9.0
31774 Add future debugging category.
31775 Fix NULL _unref() in _get_by_name_recurse_up
31776 Rearrange gstpad.h.
31779 2005-03-08 Wim Taymans <wim@fluendo.com>
31781 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31782 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31783 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31784 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31785 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31786 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31787 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31788 * gst/elements/gstidentity.c: (gst_identity_class_init):
31789 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31790 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31791 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31792 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31793 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31795 * gst/gstelement.c: (gst_element_class_init),
31796 (gst_element_base_class_init), (gst_element_init),
31797 (gst_element_get_random_pad), (gst_element_wait_state_change),
31798 (gst_element_change_state), (gst_element_dispose),
31799 (gst_element_finalize), (gst_element_set_loop_function):
31800 * gst/gstelement.h:
31801 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31802 * gst/gstthread.c: (gst_thread_class_init),
31803 (gst_thread_release_children_locks), (gst_thread_change_state):
31804 * gst/schedulers/gstbasicscheduler.c:
31805 (gst_basic_scheduler_loopfunc_wrapper),
31806 (gst_basic_scheduler_chain_wrapper),
31807 (gst_basic_scheduler_src_wrapper),
31808 (gst_basic_scheduler_remove_element):
31809 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31810 Remove threadsafe properties. Fix elements because GObject
31811 complains when installing a property before declaring a
31812 set/get_property handler.
31813 Rearrange gstelement.h file, use STATE macros for state locks.
31814 Free mutexes in the finalize method instead of dispose.
31816 2005-03-08 Wim Taymans <wim@fluendo.com>
31818 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31819 * gst/gstthread.c: (gst_thread_release_children_locks):
31820 Added parentage check.
31821 Fix build og GstThread again.
31823 2005-03-08 Wim Taymans <wim@fluendo.com>
31825 * docs/design/part-MT-refcounting.txt:
31826 * docs/design/part-conventions.txt:
31827 * docs/design/part-gstobject.txt:
31828 * docs/design/part-relations.txt:
31829 * docs/design/part-standards.txt:
31830 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31831 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31832 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31833 (gst_bin_iterate_all_by_interface):
31836 * gst/gstelement.c: (gst_element_class_init),
31837 (gst_element_change_state), (gst_element_set_loop_function):
31838 * gst/gstelement.h:
31839 * gst/gstiterator.c:
31840 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31841 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31842 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31843 (gst_object_set_parent), (gst_object_unparent),
31844 (gst_object_check_uniqueness):
31846 Docs updates, clean up some headers.
31848 2005-03-07 Wim Taymans <wim@fluendo.com>
31850 * check/.cvsignore:
31851 * check/Makefile.am:
31852 * check/gst-libs/.cvsignore:
31853 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31854 * check/gst/.cvsignore:
31855 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31856 (START_TEST), (gstbus_suite), (main):
31857 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31858 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31859 (gst_data_suite), (main):
31860 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31861 (add_fold_func), (gstiterator_suite), (main):
31862 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31863 (thread_name_object), (thread_name_object_default),
31864 (gst_object_name_compare), (gst_object_suite), (main):
31865 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31866 (gst_pad_suite), (main):
31867 * check/gstcheck.c: (gst_check_log_message_func),
31868 (gst_check_log_critical_func), (gst_check_init):
31869 * check/gstcheck.h:
31870 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31871 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31874 2005-03-07 Wim Taymans <wim@fluendo.com>
31876 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31877 (gst_list_iterator_next), (gst_list_iterator_resync),
31878 (gst_list_iterator_free), (gst_iterator_new_list),
31879 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31880 (gst_iterator_free), (gst_iterator_push), (filter_next),
31881 (filter_resync), (filter_uninit), (filter_free),
31882 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31883 (gst_iterator_foreach), (find_custom_fold_func),
31884 (gst_iterator_find_custom):
31885 * gst/gstiterator.h:
31886 Added missing files.
31888 2005-03-07 Wim Taymans <wim@fluendo.com>
31892 * docs/design/part-MT-refcounting.txt:
31893 * docs/design/part-conventions.txt:
31894 * docs/design/part-gstobject.txt:
31895 * docs/design/part-relations.txt:
31896 * examples/mixer/mixer.c: (main):
31897 * examples/thread/thread.c: (eos), (main):
31899 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31900 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31901 (gst_spider_plug_from_srcpad):
31902 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31903 (gst_spider_identity_change_state),
31904 (gst_spider_identity_sink_loop_type_finding):
31905 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31906 * gst/elements/gstidentity.c: (gst_identity_init):
31907 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31908 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31909 * gst/elements/gsttypefindelement.c: (free_entry):
31912 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31913 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31914 (gst_bin_set_index), (gst_bin_set_element_sched),
31915 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31916 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31917 (gst_bin_iterate_elements), (iterate_child_recurse),
31918 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31919 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31920 (compare_interface), (gst_bin_get_by_interface),
31921 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31923 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31924 (gst_buffer_default_free), (gst_buffer_default_copy),
31925 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31926 (gst_buffer_create_sub):
31928 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31929 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31930 (gst_caps_unref), (gst_static_caps_get),
31931 (gst_caps_remove_and_get_structure), (gst_caps_append),
31932 (gst_caps_append_structure), (gst_caps_remove_structure),
31933 (gst_caps_copy_nth), (gst_caps_set_simple),
31934 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31935 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31936 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31937 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31938 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31939 (gst_caps_structure_figure_out_union),
31940 (gst_caps_switch_structures), (gst_caps_do_simplify),
31941 (gst_caps_replace), (gst_caps_from_string),
31942 (gst_caps_copy_conditional):
31944 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31945 (_gst_clock_id_free), (gst_clock_id_unref),
31946 (gst_clock_id_compare_func), (gst_clock_id_wait),
31947 (gst_clock_id_wait_async), (gst_clock_class_init),
31948 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31949 (gst_clock_get_time), (gst_clock_set_time_adjust),
31950 (gst_clock_set_property), (gst_clock_get_property):
31953 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31954 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31956 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31957 (gst_element_requires_clock), (gst_element_provides_clock),
31958 (gst_element_set_clock), (gst_element_clock_wait),
31959 (gst_element_wait), (gst_element_set_time_delay),
31960 (gst_element_is_indexable), (gst_element_add_pad),
31961 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31962 (pad_compare_name), (gst_element_get_static_pad),
31963 (gst_element_request_pad), (gst_element_get_request_pad),
31964 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31965 (gst_element_class_get_pad_template_list),
31966 (gst_element_class_get_pad_template), (gst_element_error_func),
31967 (gst_element_get_random_pad), (gst_element_get_event_masks),
31968 (gst_element_send_event), (gst_element_seek),
31969 (gst_element_get_query_types), (gst_element_query),
31970 (gst_element_get_formats), (gst_element_convert),
31971 (gst_element_is_locked_state), (gst_element_set_locked_state),
31972 (gst_element_sync_state_with_parent), (gst_element_change_state),
31973 (gst_element_finalize), (gst_element_yield),
31974 (gst_element_interrupt), (gst_element_set_scheduler),
31975 (gst_element_get_scheduler), (gst_element_set_loop_function):
31976 * gst/gstelement.h:
31978 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31979 (gst_format_get_by_nick), (gst_format_get_details),
31980 (gst_format_iterate_definitions):
31982 * gst/gstindex.c: (gst_index_gtype_resolver):
31985 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31986 (gst_mem_chunk_free):
31987 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31988 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31989 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31990 (gst_object_dispatch_properties_changed),
31991 (gst_object_set_name_default), (gst_object_set_name),
31992 (gst_object_get_name), (gst_object_set_name_prefix),
31993 (gst_object_get_name_prefix), (gst_object_set_parent),
31994 (gst_object_get_parent), (gst_object_unparent),
31995 (gst_object_check_uniqueness), (gst_object_save_thyself),
31996 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31997 (gst_object_set_property), (gst_object_get_property),
31998 (gst_object_get_path_string):
32000 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32001 (gst_real_pad_init), (gst_real_pad_get_property),
32002 (gst_pad_custom_new), (gst_pad_get_direction),
32003 (gst_pad_set_active), (gst_pad_is_active),
32004 (gst_pad_set_event_function), (gst_pad_is_linked),
32005 (gst_pad_link_free), (gst_pad_link_intersect),
32006 (gst_pad_link_fixate), (gst_pad_set_caps),
32007 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32008 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32009 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32010 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32011 (gst_pad_get_caps), (gst_pad_peer_get_caps),
32012 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32013 (gst_pad_realize), (gst_pad_get_allowed_caps),
32014 (gst_real_pad_dispose), (gst_real_pad_finalize),
32015 (gst_pad_collectv), (gst_pad_collect_valist),
32016 (gst_pad_template_dispose), (gst_pad_template_new),
32017 (gst_pad_get_internal_links):
32019 * gst/gstpipeline.c: (gst_pipeline_dispose),
32020 (gst_pipeline_change_state):
32021 * gst/gstpipeline.h:
32023 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32024 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32025 * gst/gstpluginfeature.h:
32026 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32027 * gst/gstquery.c: (_gst_query_type_initialize),
32028 (gst_query_type_register), (gst_query_type_get_by_nick),
32029 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32031 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32032 * gst/gstscheduler.c: (gst_scheduler_add_element),
32033 (gst_scheduler_factory_create):
32034 * gst/gststructure.c: (gst_structure_set_parent_refcount),
32035 (gst_structure_free), (gst_structure_set_name),
32036 (gst_structure_id_set_value), (gst_structure_set_value),
32037 (gst_structure_set_valist), (gst_structure_remove_field),
32038 (gst_structure_remove_fields),
32039 (gst_structure_remove_fields_valist),
32040 (gst_structure_remove_all_fields), (gst_structure_foreach),
32041 (gst_structure_map_in_place),
32042 (gst_caps_structure_fixate_field_nearest_int),
32043 (gst_caps_structure_fixate_field_nearest_double):
32044 * gst/gststructure.h:
32045 * gst/gstsystemclock.c: (gst_system_clock_class_init),
32046 (gst_system_clock_init), (gst_system_clock_dispose),
32047 (gst_system_clock_async_thread),
32048 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32049 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32050 * gst/gstsystemclock.h:
32051 * gst/gsttag.c: (gst_tag_list_add_value_internal),
32052 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32053 * gst/gsttaginterface.c:
32054 * gst/gstthread.c: (gst_thread_dispose),
32055 (gst_thread_release_children_locks), (gst_thread_change_state),
32056 (gst_thread_main_loop):
32057 * gst/gsttrashstack.h:
32058 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32060 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32061 (gst_element_request_pad), (gst_element_get_pad_from_template),
32062 (gst_element_request_compatible_pad),
32063 (gst_element_get_compatible_pad_filtered),
32064 (gst_element_get_compatible_pad), (gst_element_state_get_name),
32065 (gst_element_link_pads_filtered), (gst_element_link_filtered),
32066 (gst_element_link_many), (gst_element_link),
32067 (gst_element_link_pads), (gst_element_unlink_pads),
32068 (gst_element_unlink_many), (gst_element_unlink),
32069 (gst_pad_can_link_filtered), (gst_pad_can_link),
32070 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32071 (gst_object_default_error), (gst_bin_add_many),
32072 (gst_bin_remove_many), (gst_element_populate_std_props),
32073 (gst_element_class_install_std_props), (gst_buffer_merge),
32074 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32075 (link_fold_func), (gst_pad_proxy_setcaps):
32077 * gst/gstvalue.c: (gst_value_deserialize_string):
32078 * gst/parse/grammar.y:
32079 * gst/schedulers/gstbasicscheduler.c:
32080 (gst_basic_scheduler_cothreaded_chain),
32081 (gst_basic_scheduler_chain_recursive_add),
32082 (gst_basic_scheduler_pad_link):
32083 * gst/schedulers/gstoptimalscheduler.c:
32084 (get_group_schedule_function),
32085 (gst_opt_scheduler_state_transition),
32086 (gst_opt_scheduler_add_element), (element_get_reachables_func):
32087 * libs/gst/bytestream/bytestream.c:
32088 * libs/gst/dataprotocol/dataprotocol.c:
32089 (gst_dp_header_from_buffer):
32092 * tests/threadstate/threadstate2.c: (eos):
32093 * tools/gst-compprep.c: (main):
32094 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32095 (print_pad_info), (print_children_info):
32096 * tools/gst-launch.c: (idle_func), (main):
32097 * tools/gst-md5sum.c: (idle_func), (main):
32098 * tools/gst-xmlinspect.c: (print_element_info):
32099 First THREADED backport attempt, focusing on adding locks and
32100 making sure the API is threadsafe. Needs more work. More docs
32103 2005-02-24 Andy Wingo <wingo@pobox.com>
32105 * tests/bench-complexity.scm:
32106 * tests/complexity.gnuplot: New files, good for running complexity
32109 * tests/Makefile.am:
32110 * tests/complexity.c: New test, sets up N elements, at each level
32111 teeing into M streams per element. Eeeenteresting.
32113 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32114 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32115 running bench-mass_elements.scm.
32117 * tests/bench-mass_elements.scm: New script, runs mass_elements
32118 for various numbers of identities, outputting the results to a
32119 file. Requires guile 1.6. Just for testing.
32121 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
32123 * gst/schedulers/fairscheduler.c:
32124 compile with debug disabled
32126 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32129 hunting season on 0.9 is now OPEN