1 2008-12-05 David Schleef <ds@schleef.org>
4 Search for plugins on win32 based on the location of the
5 gstreamer DLL. Fixes #548786
7 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
10 Apparently AC_CONFIG_MACRO_DIR breaks when using more
11 than one macro directory, reverting last change.
13 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
16 Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
19 2008-11-29 Sebastian Dröge <sebastian.droege@collabora.co.uk>
21 Patch by: Cygwin Ports maintainer
22 <yselkowitz at users dot sourceforge dot net>
26 Require gettext 0.17 because older versions don't mix with libtool
27 2.2. At build time an older gettext version will still work.
30 2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
32 Patch by: 이문형 <iwings at gmail dot com>
34 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
35 Adds support for FD_CONNECT event (win32). See #562258.
37 2008-11-24 Stefan Kost <ensonic@users.sf.net>
39 * libs/gst/base/gstbasesink.c:
40 Turn comment into gtk-doc comment.
42 2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
44 * libs/gst/base/gstbasetransform.c:
45 (gst_base_transform_acceptcaps):
46 Revert quick accepcaps attempt, it's not fully equivalent to the old
47 behaviour and thus causes regressions.
49 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
51 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
54 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
56 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
58 * gst/gstregistry.c: (gst_registry_scan_path_level):
59 Reduce the number of stat() calls for every file from three times
60 to one time. Fixes bug #560360.
62 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
64 * libs/gst/base/gstbasetransform.c:
65 (gst_base_transform_acceptcaps):
66 Rename a variable to make the code clearer.
68 2008-11-21 Stefan Kost <ensonic@users.sf.net>
70 * plugins/elements/gstidentity.c:
71 Don't warning on offset==-1. Taken from _check_imperfect_offset().
73 2008-11-21 Michael Smith <msmith@songbirdnest.com>
75 * plugins/elements/gstfilesrc.c:
76 Check for localhost in URI was backwards, fix it. Fixes unit test.
78 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
80 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
81 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
82 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
83 Add beginnings of a more optimized acceptcaps function than the default
86 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
88 * gst/gstpad.c: (gst_pad_accept_caps):
89 Avoid getting the acceptcaps function too early.
91 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
93 * tools/gst-launch.c: (event_loop):
94 Make gst-launch handle LATENCY messages and make it recalculate the
97 2008-11-20 Michael Smith <msmith@songbirdnest.com>
99 * plugins/elements/gstfilesrc.c:
100 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
101 out own slightly incorrect version. Fixes use of some paths on
104 2008-11-20 Michael Smith <msmith@songbirdnest.com>
106 * gst/gstregistrybinary.c:
107 In win32 codepath, if we fail to write the registry, create the
108 directory for it and try again, matching the behaviour in non-win32
111 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
113 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
114 Changing the render delay changes the latency and so we must post a
117 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
121 Add GstQueryType for custom queries instead of having to use the
122 not-so-very-convenient registration infrastructure to register new
125 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
127 Patch by: Andrew Feren <acferen at yahoo dot com>
129 * gst/gstobject.c: (gst_object_default_deep_notify):
130 Unref the GEnumClass after usage again. Fixes bug #561501.
132 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
134 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
135 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
136 (gst_bin_change_state_func):
138 Add do-latency signal with the old default fallback implementation. This
139 allows for custom latency calculations for when the default is not
141 API: GstBin::do-latency signal.
143 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
145 * win32/common/libgstreamer.def:
146 Add new symbols to .def file.
148 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
150 * docs/gst/gstreamer-sections.txt:
151 * gst/gstbin.c: (gst_bin_recalculate_latency),
152 (gst_bin_change_state_func):
154 Add method to recalculate and redistribute the latency on a bin.
155 API: gst_bin_recalculate_latency().
157 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
160 Document the free_func.
162 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
164 * libs/gst/controller/gstinterpolation.c:
165 * libs/gst/controller/gstlfocontrolsource.c:
166 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
167 as it is mapped to a cast on non-win32 platforms.
169 2008-11-17 Stefan Kost <ensonic@users.sf.net>
171 * libs/gst/controller/gstcontroller.c:
172 * libs/gst/controller/gstcontrollerprivate.h:
173 Keep last-value and only call set_property if value has changed. This
174 supresses all the g_object_notifies we would trigger otherwise. It
175 also allows the user to chage the value while there is no controller
178 2008-11-17 Stefan Kost <ensonic@users.sf.net>
181 Don't crash if either of the string GValues is empty.
183 2008-11-17 Andy Wingo <wingo@pobox.com>
185 * tools/gst-inspect.c (print_all_uri_handlers): New function,
186 prints a summary of what URI schemes are supported by what
188 (main): Plumb in support for --uri-handlers or -u, and fix the
189 argc check for -a and -u.
191 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
194 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
195 conversion functions.
197 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
199 * gst/gstbuffer.c: (gst_buffer_finalize):
200 Avoid costly typechecking for trivially correct pointers.
202 * gst/gstpoll.c: (gst_poll_wait):
203 Add some G_LIKELY here and there.
205 * libs/gst/base/gstadapter.c: (gst_adapter_push):
208 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
210 * docs/random/wtay/poll-timeout:
213 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
215 * tests/old/testsuite/caps/intersection.c: (main):
216 * tests/old/testsuite/plugin/loading.c: (main):
217 Remove references to deprecated API g_mem_chunk*.
220 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
222 * tools/gst-inspect.c: (main):
223 Add --plugin option. Fixes #560301.
225 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
227 * docs/random/wtay/poll-timeout:
228 Quick braindump for a possible (not totally verified) atomic case.
230 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
232 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
233 (gst_registry_binary_initialize_magic),
234 (gst_registry_binary_write_cache),
235 (gst_registry_binary_check_magic):
236 * gst/gstregistrybinary.h:
237 Don't write and check a CRC for the binary registry file. It's
238 guaranteed that the registry is completely written (it's first written
239 to a temporary file and then moved) and if the registry was corrupted
240 by some hardware failure we would have bigger problems.
242 Bump binary registry version to 0.10.21.1 for this as it's an
243 incompatible change and to ensure that the registry gets rebuild
246 This saves some milliseconds for reading/writing the registry.
249 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
251 * docs/random/wtay/poll-timeout:
252 Some pseudo code for how we could implement clock timeouts with GstPoll.
254 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
256 * plugins/elements/gstfilesink.c:
257 Update Author string to match others.
259 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
261 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
262 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
263 being fixed and inline the trivial check.
265 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
267 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
268 (gst_caps_merge_structure), (gst_caps_get_structure),
269 (gst_caps_copy_nth), (gst_caps_set_simple),
270 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
271 (gst_caps_is_equal_fixed), (gst_caps_intersect),
272 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
273 (gst_caps_to_string):
274 Callgrind micro optimisations.
275 Avoid array bounds checks and force inline of trivial function.
277 * gst/gstobject.c: (gst_object_set_name_default):
278 -1 is equivalent to letting glib to the strlen but then there is more
279 room for optimisations and it's not our fault.
281 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
282 no need to clear the array, we're cool.
284 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
285 The most common _is_fixed() check is done on fundamental glib base
286 types so we check this first instead of doing a huge amount of
287 useless GST_TYPE_ARRAY calls.
289 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
292 Add a SKIP seek flag for use with advanced trickmodes.
293 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
295 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
297 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
298 No need to memset, we can clear the value ourselves.
300 * gst/gstvalue.c: (gst_type_is_fixed),
301 (gst_value_get_compare_func):
302 Some optimisations from a few callgrind sessions:
303 When checking if a type is fixed, check for trivial fundamental types
304 first before checking types for which we need to get the type followed
305 by the heavy duty type checks, this reduces the amount of
306 g_type_fundamental() calls a lot.
307 When getting the compare function, first check for our registered types.
308 If that fails, do the heavy duty g_type_is_a() checks, reduces the
309 amount of g_type_is_a() considerably.
311 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
313 * docs/design/part-TODO.txt:
314 Mumble something about removing GstXML.
316 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
318 * gst/gstbin.c: (gst_bin_handle_message_func):
319 Get the seqnum before we dispose the message.
321 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
323 * docs/design/part-TODO.txt:
324 Refer to the framestepping document.
326 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
328 * gst/gstbin.c: (bin_handle_async_start),
329 (gst_bin_handle_message_func), (gst_bin_query):
330 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
331 (gst_base_sink_event), (gst_base_sink_change_state):
332 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
333 (gst_base_src_loop), (gst_base_src_change_state):
334 Copy seqnums from events to messages so that they can all be related
337 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
339 * tools/gst-launch.c: (event_loop):
340 Print the message seqnums.
342 2008-11-04 Andy Wingo <wingo@pobox.com>
344 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
346 2008-11-04 Andy Wingo <wingo@pobox.com>
348 Add sequence numbers to events and messages. See #559250.
350 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
354 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
355 events with a new sequence number, and copy it when copying.
356 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
357 an event's sequence number.
360 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
361 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
364 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
366 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
368 * docs/manual/advanced-position.xml:
369 * docs/manual/basics-bins.xml:
370 * docs/manual/basics-bus.xml:
371 * docs/manual/basics-pads.xml:
372 * docs/manual/intro-gstreamer.xml:
373 * docs/manual/intro-preface.xml:
374 Some Application Development Manual fixes thanks to
375 Andrew Feren. Fixes #558459.
377 2008-11-03 Stefan Kost <ensonic@users.sf.net>
379 * gst/gstregistrybinary.c:
380 Don't bother with the GTimer if we don't output the results.
382 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
384 Patch by: David Schleef <ds@schleef.org>
386 * libs/gst/net/Makefile.am:
387 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
389 2008-10-31 Stefan Kost <ensonic@users.sf.net>
391 * gst/gstregistrybinary.c:
392 Oh my, studip, stupid me. Remove double stat() call.
394 2008-10-31 Stefan Kost <ensonic@users.sf.net>
397 Use g_unlink instead of unlink.
399 * gst/gststructure.c:
408 Formatting & whitespaces.
410 2008-10-31 Stefan Kost <ensonic@users.sf.net>
412 * plugins/elements/gstidentity.c:
413 Doc typo. Use return value of parent_class->event.
415 * plugins/elements/gsttypefindelement.c:
416 Chain up at the end for consistency.
418 2008-10-30 Stefan Kost <ensonic@users.sf.net>
421 * docs/gst/gstreamer-docs.sgml:
422 * docs/gst/gstreamer-sections.txt:
423 * docs/gst/running.xml:
424 * docs/libs/gstreamer-libs-docs.sgml:
425 Change to xinclude based build - its faster and easier to maintain.
427 2008-10-30 Stefan Kost <ensonic@users.sf.net>
429 * gst/gstregistrybinary.c:
430 * gst/gstregistryxml.c:
431 Use g_unlink() as none of these are directories.
433 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
435 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
438 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
440 * libs/gst/base/gstbasetransform.c:
441 (gst_base_transform_find_transform), (gst_base_transform_getrange):
442 If we have a fixate function, call it even if we already have fixed caps
443 because the subclass might add some caps. Makes audioconvert add a
444 default channel layout.
446 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
448 * libs/gst/base/gstbasetransform.c:
449 (gst_base_transform_prepare_output_buffer),
450 (gst_base_transform_getrange):
451 Clear the output buffer variable.
452 Cleanups to the error path in the getrange function.
455 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
457 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
458 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
459 Use gst_buffer_try_new_and_alloc() and handle errors instead of
460 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
463 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
465 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
466 Set the last_stop to a more meaningful position when configuring the
467 segment. ie. the start/stop of the segment or clipped against the
468 updated segment boundaries.
470 * tests/check/gst/gstsegment.c: (GST_START_TEST):
471 Add some unit tests for the last_stop.
473 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
475 * libs/gst/base/gstbytereader.c:
476 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
479 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
481 * docs/gst/gstreamer-sections.txt:
483 API: Move float endianness conversion macros from libgstfloatcast
484 to core as it's useful in general, even in core. Fixes bug #555196.
485 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
486 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
487 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
489 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
490 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
491 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
492 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
494 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
496 * docs/libs/gstreamer-libs-sections.txt:
497 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
498 (gst_byte_reader_peek_data):
499 * libs/gst/base/gstbytereader.h:
500 * win32/common/libgstbase.def:
501 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
502 to get a pointer to the data at the current position and have
505 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
508 Fix a bug in the output of the configure script summary
509 when --gst-disable-registry is supplied
511 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
513 * libs/gst/base/gstbitreader.c:
514 * libs/gst/base/gstbytereader.c:
515 Fix the names of 2 functions in the docs strings.
517 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
519 * libs/gst/base/gstbasetransform.c:
520 (gst_base_transform_prepare_output_buffer),
521 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
522 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
523 refcount problems as seen in banshee and maybe also in farsight2.
524 Remove atomic int now that we need to take the lock anyways.
526 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
528 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
529 (gst_base_sink_default_prepare_seek_segment),
530 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
531 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
532 (gst_base_sink_query):
533 Implement more seeking in pull mode.
534 Use pad convert functions to convert position to the requested format.
535 Fix position/duration reporting in pull mode.
536 Implement position and duration reporting in other formats than time.
538 * libs/gst/base/gstbasesink.h:
539 Add member to keep track of when the segment is playing.
541 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
543 * gst/gstpad.c: (gst_pad_configure_src):
544 When we use gst_pad_alloc_buffer() without wanting to set the caps we
545 also don't need to check if the caps are compatible because the caller
546 presumably is going to perform its own custom checks. Fixes some cases
547 where basetransform elements would error out when it was not needed.
549 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
551 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
554 * libs/gst/base/gstbasetransform.c:
555 (gst_base_transform_handle_buffer),
556 (gst_base_transform_reconfigure):
559 * win32/common/libgstbase.def:
562 2008-10-19 Stefan Kost <ensonic@users.sf.net>
564 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
565 Remove duplicated assignment and log a message in failure case.
567 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
569 Patch by: Dig Ge <dig.ge.cn at gmail com>
571 * tests/examples/helloworld/helloworld.c: (main):
572 Fix copy'n'paste bug in hello world example (#556900).
574 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
576 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
577 (gst_base_sink_query):
578 Query the total number of bytes when activating the pad in pull mode.
579 Implement duration query in pull mode by using the installed pad convert
580 function to convert from bytes to the requested format.
582 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
584 * docs/libs/gstreamer-libs-sections.txt:
585 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
586 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
587 (gst_base_sink_event), (gst_base_sink_perform_seek),
588 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
589 (gst_base_sink_send_event), (gst_base_sink_change_state):
590 * libs/gst/base/gstbasesink.h:
591 Add method to commit the state in subclasses.
592 Refactor the flush_start and flush_stop code because we need it for
593 flushing while seeking too.
594 Implement the beginnings of seeking in pull mode.
595 Use the segment last_stop field for the pulling offset.
596 Fix the pause method in pull mode.
597 Configure the segment to BYTES for pull mode.
598 API: GstBaseSink::gst_base_sink_do_preroll()
600 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
602 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
605 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
607 * gst/gstquark.c: (_priv_gst_quarks_initialize):
608 Fix printf format warning.
610 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
612 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
613 Fix flow aggregation of tee. Error out immediately for all flow returns
614 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
615 and return OK if at least one pad is linked.
617 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
618 and otherwise returned the flow return of the last pad, which is wrong.
620 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
621 (GST_START_TEST), (tee_suite):
622 Add unit tests for the flow aggregation.
624 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
626 * docs/design/part-TODO.txt:
627 Remove item from the todo list because it was fixed with the latency
628 state change rewrites.
630 * docs/design/part-seeking.txt:
631 * docs/design/part-segments.txt:
634 * gst/gstevent.c: (gst_event_new_new_segment_full),
635 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
636 (gst_event_parse_buffer_size), (gst_event_new_qos),
637 (gst_event_parse_qos), (gst_event_new_seek),
638 (gst_event_parse_seek), (gst_event_new_latency),
639 (gst_event_parse_latency):
640 Use quarks to construct and parse events.
642 * gst/gstquark.c: (_priv_gst_quarks_initialize):
644 Add some more quarks to the table.
645 Emit a warning when the quark tables are not in sync.
647 * tests/check/gst/gstbus.c: (GST_START_TEST):
650 2008-10-13 Stefan Kost <ensonic@users.sf.net>
652 * plugins/elements/Makefile.am:
653 * plugins/indexers/Makefile.am:
654 Don't install static libs for plugins. Fixes #550851 for core.
656 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
658 * gst/gstbus.c: (gst_bus_source_finalize),
659 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
660 (gst_bus_enable_sync_message_emission),
661 (gst_bus_disable_sync_message_emission),
662 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
663 Fix deadlock, g_source_get_id() cannot be called in finalize.
664 Keep track of the watch source by keeping a pointer to the source object
666 Use the bus lock to protect access to the pointer to the current
669 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
671 Base on Patch by: Olivier Crete <tester at tester dot ca>
673 * gst/gstbus.c: (gst_bus_source_finalize),
674 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
675 Only allow one bus watch to be set at a time. This is necessary
676 because the dispatcher pops the message from the bus and the second
677 watcher will then get NULL or the next message (and the first won't
678 get this next message then, etc). If more than one "watcher" is
679 required signal watches should be used. Fixes bug #526044.
681 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
683 * tools/gst-launch.c:
684 Change the printing of the 'buffering...' output to avoid putting
685 a \r in a translateable string (flagged by the TP).
687 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
690 Clarify that the save_thyself() and restore_thyself() virtual
691 functions of GstObject need to be overriden, not
692 gst_object_(save|restore)_thyself() which is impossible.
695 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
697 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
698 Revert a patch from 21 months ago that broke caps negotiation in pull
699 mode. Basically, having a buffer pass over a pad will trigger the
700 setcaps function when caps change, just like in push mode.
702 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
704 * docs/design/part-negotiation.txt:
705 Update the docs some more.
707 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
708 If we pull a buffer with non-trivial caps, suggest those caps with the
711 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
713 * docs/design/part-TODO.txt:
714 Add another limitation of pad-blocking with segment seeks not pushing
717 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
719 * win32/common/libgstbase.def:
720 * win32/common/libgstreamer.def:
721 Add new symbols to the win32 defs files
723 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
725 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
726 (gst_bin_handle_message_func):
727 The message src can be NULL, don't try to print the object names in that
730 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
731 Add some more debug info.
733 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
736 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
739 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
741 * docs/design/part-negotiation.txt:
744 * docs/libs/gstreamer-libs-sections.txt:
745 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
746 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
747 (gst_base_sink_init), (gst_base_sink_set_blocksize),
748 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
749 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
750 (gst_base_sink_loop), (gst_base_sink_pad_activate),
751 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
752 (gst_base_sink_change_state):
753 * libs/gst/base/gstbasesink.h:
754 Add blocksize property and methods to control the amount of data
756 Negotiate first before activating upstream in pull mode so that they can
757 negotiate themselves.
758 When we operate in pull mode, we only accept the caps that we
760 Make the sink go ASYNC to PAUSED, like all other sinks.
761 API: GstBaseSink::gst_base_sink_set_blocksize()
762 API: GstBaseSink::gst_base_sink_get_blocksize()
763 API: GstBaseSink::blocksize
765 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
766 (gst_base_src_set_live), (gst_base_src_is_live),
767 (gst_base_src_set_format), (gst_base_src_query_latency),
768 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
769 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
770 (gst_base_src_set_property), (gst_base_src_get_property):
771 * libs/gst/base/gstbasesrc.h:
772 Add typechecking in public API functions.
773 Add methods to control the blocksize in subclasses.
774 API: GstBaseSrc::gst_base_src_set_blocksize()
775 API: GstBaseSrc::gst_base_src_get_blocksize()
777 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
779 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
780 (buffer_probe), (event_probe), (GST_START_TEST):
781 We now see 3 events go through our pad, since basesink now sends
782 upstream latency events.
784 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
786 * gst/gstpipeline.c: (gst_pipeline_change_state):
787 Release the object lock before trying to flush the bus.
789 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
791 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
792 Forward LATENCY events upstreams so that elements know about the total
793 pipeline latency. Fixes #555307.
795 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
797 * plugins/elements/gstqueue.c:
798 Allow through queries when we don't know how
799 to adjust them (not TIME or BYTES), as otherwise it's
800 not possible to query the current position in order
801 to seek in other formats at all.
803 2008-10-08 Andy Wingo <wingo@pobox.com>
805 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
807 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
811 Unbreak -good build, private is a reserved c++ keyword.
813 2008-10-08 Andy Wingo <wingo@pobox.com>
815 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
816 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
817 removal: re-add GST_GHOST_PAD_CAST to the header.
819 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
820 (GstGhostPadClass): Publically expose these structures so as to
821 allow easy subclassing from C. Hide the member data behind a
822 private opaque data pointer.
824 * gst/gstghostpad.c: Adapt to store instance data in the type
825 instance's private data region, not in the public struct.
827 2008-10-08 Andy Wingo <wingo@pobox.com>
829 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
830 template via g_object_get(), be sure to unref it.
832 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
834 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
836 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
837 If we can't get a cache file don't try to save something to it.
838 Dereferencing NULL pointers usually isn't a good idea.
840 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
842 * tests/check/Makefile.am:
843 * tests/check/gst/gstabi.c:
844 * tests/check/gst/struct_sparc.h:
845 * tests/check/libs/libsabi.c:
846 * tests/check/libs/struct_sparc.h:
849 * tests/check/gst/gstvalue.c: (GST_START_TEST):
850 Cast signed integer to unsigned to avoid a compiler warning.
852 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
854 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
855 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
856 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
857 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
858 (gst_byte_reader_peek_int24_be):
859 Use new GST_READ_UINT24_(LE|BE) macros.
861 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
863 * docs/gst/gstreamer-sections.txt:
865 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
866 as it's too easy to break the ISO C strict aliasing rules with simple
867 casts to the corresponding type and this would introduce hard to debug
868 bugs. Fixes bug #545714.
870 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
872 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
874 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
875 * gst/gstghostpad.c: (gst_ghost_pad_construct):
876 Add 'Since' bits to gtk-doc chunks for new API.
878 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
880 * docs/gst/gstreamer-sections.txt:
883 2008-10-06 Andy Wingo <wingo@pobox.com>
885 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
886 that will be called on the malloc_data to free it. Basically a way
887 to avoid subclassing when all you need is a different free
888 function, i.e. free() instead of g_free().
890 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
891 calling the free function.
892 (gst_buffer_init): Initialize the free function to g_free.
894 2008-10-06 Andy Wingo <wingo@pobox.com>
897 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
898 finishes the initialization of ghost pad. Useful for language
899 bindings and subclassers of GstGhostPad. Fixes #539108.
900 (gst_ghost_pad_new_full): Use the new constructor.
902 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
904 Base on Patch by: Olivier Crete <tester at tester dot ca>
906 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
907 (gst_bin_remove_func), (update_degree),
908 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
909 Keep track of pads that are being linked/unlinked and resync the state
912 * gst/gstpad.c: (gst_pad_get_direction),
913 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
914 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
915 (gst_pad_link_prepare), (gst_pad_link),
916 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
917 (gst_pad_check_pull_range), (gst_pad_get_range),
918 (gst_pad_pull_range):
919 Some code cleanups, use macros to check pad direction.
920 Don't need to take the lock on the pad direction.
921 Post structure change when pads are linked/unlinked.
922 Change some checks into _return_if_fail().
924 * tests/check/gst/gstbin.c:
925 (test_link_structure_change_state_changed_sync_cb),
926 (GST_START_TEST), (gst_bin_suite):
927 Add testcase for pad link/unlinke resync during a state change.
930 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
932 * docs/gst/gstreamer-sections.txt:
933 * gst/gstmessage.c: (gst_message_new_structure_change),
934 (gst_message_parse_structure_change):
936 Implement STRUCTURE_CHANGED messages. These messages will be used to
937 signal the parent bin of link/unlink operations that could require a
938 resync when doing a state change. See ##510354.
939 API: gst_message_new_structure_change()
940 API: gst_message_parse_structure_change()
942 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
946 Add some more quarks for new message. See #510354.
948 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
950 * docs/libs/gstreamer-libs-docs.sgml:
951 * docs/libs/gstreamer-libs-sections.txt:
952 * libs/gst/base/Makefile.am:
953 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
954 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
955 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
956 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
957 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
958 (gst_bit_reader_skip_to_byte):
959 * libs/gst/base/gstbitreader.h:
960 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
961 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
962 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
963 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
964 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
965 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
966 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
967 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
968 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
969 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
970 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
971 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
972 * libs/gst/base/gstbytereader.h:
973 * tests/check/Makefile.am:
974 * tests/check/libs/bitreader.c: (GST_START_TEST),
975 (gst_bit_reader_suite):
976 * tests/check/libs/bytereader.c: (GST_START_TEST),
977 (gst_byte_reader_suite):
978 API: Add bit reader and byte reader classes, including documentation
979 and an extensive unit test suite. Fixes bug #553554.
981 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
983 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
984 (gst_base_sink_query):
985 Improve position reporting while flushing and other intermediate state
986 changes. Fixes #553874.
988 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
990 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
992 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
993 Original patch by : Simon Descaries
994 Fix small refount leak in caps compatibility check.
997 2008-10-06 Stefan Kost <ensonic@users.sf.net>
999 * docs/pwg/advanced-request.xml:
1000 Fix 0.8 api usage in example. Fixes #554561
1002 * docs/pwg/appendix-porting.xml:
1003 Change 0.9 to 0.10 here.
1005 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1007 * docs/manual/basics-data.xml:
1008 Change "event-event interaction" to "element-element interaction".
1009 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1012 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
1015 Back to development -> 0.10.21.1
1017 === release 0.10.21 ===
1019 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
1022 releasing 0.10.21, "Take These Things From Me"
1024 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1027 0.10.20.4 pre-release
1029 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1031 * libs/gst/base/gstbasetransform.c:
1032 * plugins/elements/gstcapsfilter.c:
1033 * tests/check/Makefile.am:
1034 * tests/check/elements/.cvsignore:
1035 * tests/check/elements/capsfilter.c:
1036 Fix assertion in basetransform when the subclass chooses not to
1037 allocate a buffer in prepare_buffer(), and make capsfilter error out
1038 cleanly if requested to apply caps that don't completely specify the
1039 buffer. Fixes #551509
1041 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
1043 * libs/gst/base/gstbasetransform.c:
1044 (gst_base_transform_prepare_output_buffer):
1045 Take new caps ref because our old one might have been gone when the
1046 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1048 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1051 Do not probe availability of check unit test library when cross
1052 compiling, as test would not work anyway. Also cleanup verbose output
1053 of the check test. Fixes #551952.
1055 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1057 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1059 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1060 Avoid leaking the parent ref when we fail changing the state of the
1061 element using gst_element_sync_state_with_parent(). Fixes #551978.
1063 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1065 * docs/manual/intro-motivation.xml::
1066 Remove some bits that no longer apply, update others (#551642).
1068 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1071 0.10.20.2 pre-release
1079 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1081 * win32/common/config.h.in:
1082 Add GST_DATADIR, hard-code cpu to x86.
1084 * win32/common/libgstreamer.def:
1087 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1090 Fix Since: markers for new geo tags.
1092 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1095 Fix actual tag name define after renaming from altitude to elevation.
1097 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1099 * gst/gstpad.c: (add_unref_pad_to_list),
1100 (gst_pad_get_internal_links_default):
1101 Add fallback when calling the deprecated function on an element that
1102 implements the new internal_link handler.
1104 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1106 * docs/gst/gstreamer-sections.txt:
1109 Add new tags for geo location and clarify purpose of existing location
1112 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1114 Patch by: Olivier Crete <tester at tester dot ca>
1116 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1117 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1118 Use thread-safe internal links iterator. Fixes #549504.
1120 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1122 Based on patch by: Olivier Crete <tester at tester dot ca>
1124 * docs/gst/gstreamer-sections.txt:
1125 * win32/common/libgstreamer.def:
1126 * gst/gstpad.c: (gst_pad_init),
1127 (gst_pad_set_iterate_internal_links_function),
1128 (int_link_iter_data_free), (iterate_pad),
1129 (gst_pad_iterate_internal_links_default),
1130 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1132 Add threadsafe replacement functions for getting internal links of an
1133 element. Deprecate the old internal links functions.
1134 API:GstPad::gst_pad_set_iterate_internal_links_function()
1135 API:GstPad::GstPadIterIntLinkFunction
1136 API:GstPad::gst_pad_iterate_internal_links()
1137 API:GstPad::gst_pad_iterate_internal_links_default()
1139 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1140 (gst_proxy_pad_init):
1141 Implement threadsafe internal links.
1143 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1144 Unit test for internal links on tee. See #549504.
1146 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1148 * tests/check/Makefile.am:
1149 libs/transform1 test requires libs/test_transform.c
1151 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1153 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1154 Die evil deadlock, die !
1156 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1158 * gst/gstutils.c: (gst_element_get_compatible_pad):
1159 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1160 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1161 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1162 not steal the refcount of the given caps as stated.
1164 REVERT THIS COMMIT ONCE FIXED !
1165 REVERT THIS COMMIT ONCE FIXED !
1166 REVERT THIS COMMIT ONCE FIXED !
1167 REVERT THIS COMMIT ONCE FIXED !
1168 REVERT THIS COMMIT ONCE FIXED !
1169 REVERT THIS COMMIT ONCE FIXED !
1171 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1173 * gst/gstiterator.c:
1174 * gst/gstiterator.h:
1175 After 3 years it's about time to revise the documentation of the
1178 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1180 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1181 Make the internal links function less thread-unsafe and add some
1182 comments, dunno why.
1184 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1186 * gst/gst_private.h:
1187 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1188 build with --disable-gst-debug.
1190 2008-08-28 David Schleef <ds@schleef.org>
1192 * gst/gstpadtemplate.c: Revert last change, since it breaks
1193 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1194 but shouldn't be enabled until we've released fixed versions
1195 of -good and -ffmpeg.
1197 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1200 Put the gst_object_get_name() back in.
1202 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1204 * gst/gstpadtemplate.c:
1205 The old behaviour was that gst_pad_template_new() takes ownership of
1206 the caps. As we now call g_object_new() which calls g_object_set() and
1207 which copies the caps, we have to unref them to not leak them. Fixes
1208 make valgrid for me.
1210 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1213 Don't segfault on input like "tel:+1-123-555-1234".
1215 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1218 Due to popular request also include ObjectType in
1219 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1221 2008-08-26 David Schleef <ds@schleef.org>
1223 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1224 src_val must be positive, because that's not a requirement.
1225 This causes problems with converting negative granulepos
1227 * gst/gstquery.c: Same, gst_query_new_convert().
1229 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1231 * gst/gstclock.c: (gst_clock_add_observation):
1232 Add some more debugging to the clock slaving code.
1234 * win32/common/libgstbase.def:
1235 Add new basetransform method.
1237 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1239 * gst/gstbin.c: (gst_bin_element_set_state):
1240 Take the (recursive) state lock between getting the locked state of an
1241 element and changing the element state. This allows the application to
1242 lock an element's state and then change its state without races.
1244 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1246 * gst/gstbin.c: (gst_bin_element_set_state):
1247 When an element is in the locked state we still want to update the
1248 base_time of the element.
1250 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1252 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1253 Use the result from gst_pad_set_caps() instead of assuming the element
1254 always accepted the caps computed by the default negotiate function.
1256 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1258 * docs/libs/gstreamer-libs-sections.txt:
1259 * libs/gst/base/gstbasetransform.c:
1260 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1261 (gst_base_transform_chain), (gst_base_transform_suggest),
1262 (gst_base_transform_reconfigure):
1263 * libs/gst/base/gstbasetransform.h:
1264 Implement method for reconfiguring basetransform.
1265 API: GstBaseTransform::gst_base_transform_reconfigure()
1267 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1269 patch by: Murray Cumming <murrayc@murrayc.com>
1272 Mention that this is just like gst_buffer_merge() but with extra
1273 unreffing for C coders. Advise language bindings not to wrap it.
1276 Also fix file comment.
1278 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1280 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1282 * plugins/elements/gstfakesink.c:
1283 * plugins/elements/gstfakesrc.c:
1284 Call super::event() when not handling it. Fixes #544855.
1286 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1288 Patch by: Alessandro Decina <alessandro@nnva.org>
1289 * plugins/elements/gstfilesrc.c:
1290 Use 64 bit variants of stat functions on win32, to enable support
1291 of large files there.
1294 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1296 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1297 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1298 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1299 (gst_base_sink_get_position), (gst_base_sink_change_state):
1300 Improve position reporting in the flushing state.
1301 Also report the position when we are not yet prerolled but we
1302 have a newsegment event. Fixes #543444.
1303 Improve the pull-based negotiation code.
1305 * tests/check/elements/fakesink.c: (GST_START_TEST),
1307 Add testcase for position reporting while flushing in PAUSED and
1310 * tests/check/generic/sinks.c: (GST_START_TEST):
1311 Update unit-test, we can now query the position as soon as we receive a
1314 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1316 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1318 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1319 When the subclass event handler releases the PREROLL_LOCK, we could be
1320 in the flushing state and we have to ignore the event. Fixes #548394.
1322 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1324 * tools/gst-launch.1.in:
1325 Document GST_REGISTRY_UPDATE environment variable.
1327 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1329 * libs/gst/base/gstbasetransform.c:
1330 (gst_base_transform_prepare_output_buffer):
1331 If the element is configured in passthrough mode but the
1332 prepare_output_buffer gave us a new output buffer, discard that buffer
1333 and reuse the input buffer.
1335 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1337 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1339 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1340 (gst_tee_request_new_pad), (gst_tee_release_pad),
1341 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1342 * plugins/elements/gsttee.h:
1343 Protect pad_alloc with a new lock so that we can be sure that nothing is
1344 performing a pad_alloc when removing the pad. Fixes #547835.
1346 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1347 (buffer_alloc_harness_teardown), (app_thread_func),
1348 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1349 Added testcase for shutdown race.
1351 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1356 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1358 * libs/gst/base/gstbasetransform.c:
1359 (gst_base_transform_prepare_output_buffer),
1360 (gst_base_transform_buffer_alloc):
1361 Go over the buffer_alloc function again and make sure we always end up
1362 allocating a buffer.
1364 Avoid doing pad alloc when we have a pending suggestion because we
1365 cannot yet deal with changing caps in that case. Fixes #547728
1367 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1369 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1371 * docs/manual/advanced-clocks.xml:
1372 * docs/manual/clocks.png:
1373 * docs/manual/diagrams-clocks.svg:
1374 Add one more image showing different times together with a describing
1375 paragraph. Fixes #547729.
1377 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1379 * win32/common/libgstbase.def:
1382 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1384 * libs/gst/base/gstbasetransform.c:
1385 (gst_base_transform_transform_caps),
1386 (gst_base_transform_prepare_output_buffer),
1387 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1388 Don't overwrite the outsize when calculating the expected size of a new
1389 buffer because we still need it in case we cannot process the new
1391 When converting the size of the new buffer to an upstream size, actually
1392 use the expected size of the buffer, not some other random value.
1393 Use an atomic int to signal that a new upstream caps suggestion is
1395 When we can convert the current buffer to a new format, check if the
1396 buffer size is of the expected size and allocate a new buffer of the
1397 expected size when this is not the case. Fixes #546883.
1399 * tests/check/libs/transform1.c: (GST_START_TEST):
1400 remove ifdeffed code from the unit test.
1402 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1404 * pkgconfig/gstreamer-uninstalled.pc.in:
1405 * pkgconfig/gstreamer.pc.in:
1406 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1407 called gstcontroller-0.10.
1409 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1411 * gst/gstchildproxy.h:
1413 Remove double interface from doc-string.
1415 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1417 * libs/gst/base/gstbasesrc.c:
1418 * libs/gst/base/gstbasetransform.c:
1419 Fix headings in docs and gtk-doc warnings.
1421 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1423 * gst/gstregistrybinary.c:
1424 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1428 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1430 * libs/gst/base/gstbasetransform.c:
1431 (gst_base_transform_buffer_alloc):
1432 Fix a "may be used unitialized" warning.
1434 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1436 * docs/gst/gstreamer-sections.txt:
1438 Document preset-iface vmethods.
1440 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1442 * docs/manual/advanced-interfaces.xml:
1443 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1444 only used to discover devices.
1446 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1448 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1450 * gst/gst.c: (init_pre):
1451 Make sure gettext returns translations in UTF-8 encoding rather
1452 than in the current locale encoding (#546822).
1454 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1456 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1459 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1460 Improve unit test subset tests and add a testcase for the subset failure
1463 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1464 Improve subtraction unit test.
1466 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1468 * plugins/elements/gsttee.c:
1469 Unlock, instead of locking again.
1471 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1474 Clarify the docs a bit more.
1476 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1478 * tests/examples/metadata/read-metadata.c:
1479 Don't leak old taglist.
1481 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1483 Patch by: Olivier Crete <tester at tester dot ca>
1485 * gst/gststructure.c:
1486 (gst_structure_fixate_field_nearest_fraction):
1487 Avoid overflows in fixation code when dealing with MAXINT values, which
1488 v4l2src seems to do.
1491 * tests/check/gst/gststructure.c: (GST_START_TEST):
1492 Make a unit test to check the fix.
1494 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1496 * plugins/elements/gstcapsfilter.c: (copy_func),
1497 (gst_capsfilter_set_property):
1498 Use new caps suggestion feature of basetransform to request a caps
1499 negotiation upstream.
1501 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1503 * docs/libs/gstreamer-libs-sections.txt:
1505 API: GstBaseTransform::gst_base_transform_suggest()
1507 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1508 (gst_base_transform_init), (gst_base_transform_transform_caps),
1509 (gst_base_transform_transform_size),
1510 (gst_base_transform_configure_caps),
1511 (gst_base_transform_can_transform),
1512 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1513 (gst_base_transform_prepare_output_buffer),
1514 (gst_base_transform_buffer_alloc),
1515 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1516 (gst_base_transform_chain), (gst_base_transform_activate),
1517 (gst_base_transform_set_passthrough),
1518 (gst_base_transform_is_passthrough),
1519 (gst_base_transform_set_in_place),
1520 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1521 (gst_base_transform_set_qos_enabled),
1522 (gst_base_transform_is_qos_enabled),
1523 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1524 (gst_base_transform_reconfigure):
1525 * libs/gst/base/gstbasetransform.h:
1526 Rewrite of basetransform to perform negotiation outside of the
1527 buffer_alloc functions. Fixes #545853.
1529 * tests/check/libs/transform1.c: (GST_START_TEST),
1533 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1535 * tests/check/gst/gstpreset.c:
1536 Only run preset tests when $HOME is writable. Preliminary fix for
1539 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1541 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1542 (gst_bin_change_state_func), (bin_handle_async_done),
1543 (gst_bin_handle_message_func):
1544 Fix race for bins that simulate ASYNC state changes by inserting
1545 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1546 pending ASYNC messages even when the bin does not have ASYNC children.
1547 We note detect this behaviour because we will receive an ASYNC message
1548 that is originating from the bin itself.
1549 Fixes races with decodebin2 state changes.
1551 * tests/check/gst/gstbin.c: (GST_START_TEST):
1552 Add some more debug.
1554 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1556 * gst/gsttaglist.c: (_gst_tag_initialize):
1559 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1562 Argh. actually save the text before committing. Now adds
1563 gst_tag_merge_strings_with_comma() to gst_tag_register().
1565 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1569 Do as tim pointed out and actually register the new tag. Also improve
1570 te docs and use gst_tag_merge_strings_with_comma() method to allow
1571 retriving all keywords merged in one list.
1573 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1576 * docs/gst/gstreamer.types:
1577 Revert 'accidential' change of the configure option removal. We still
1578 need to generate the types file in configure --disable-load-save.
1580 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1582 * docs/gst/gstreamer-sections.txt:
1584 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1586 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1588 * gst/gstpadtemplate.c:
1589 (gst_pad_template_class_init), (gst_static_pad_template_get),
1590 (gst_pad_template_new), (gst_pad_template_pad_created),
1591 (gst_pad_template_set_property), (gst_pad_template_get_property):
1592 Add "name-template", "direction", "presence" and "caps" properties,
1593 so that gst_pad_template_new() is just a thin wrapper around
1594 g_object_new(), which is better for bindings. (Fixes: #539772)
1596 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1599 Be more liberal in what URIs we accept.
1600 Do not unescape bits of the URI for no apparent reason before passing to
1601 the element. Fixes #545352.
1603 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1605 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1608 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1610 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1613 * docs/gst/gstreamer-sections.txt:
1614 * docs/gst/gstreamer.types:
1615 * docs/gst/gstreamer.types.in:
1618 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1619 * gst/gstconfig.h.in:
1620 * gst/gstelement.c: (gst_element_get_index):
1621 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1622 (gst_registry_binary_load_feature),
1623 (gst_registry_binary_read_cache):
1624 * gst/gstregistryxml.c: (load_feature),
1625 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1626 * plugins/Makefile.am:
1628 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1629 (print_plugin_features), (print_element_features):
1630 * tools/gst-xmlinspect.c: (print_event_masks),
1631 (print_element_info):
1632 * win32/common/gstconfig.h:
1633 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1635 Disabling the indexers and URI handler code will only reduce the
1636 required amount of memory by a very small amount but on the other hand
1637 requires much more maintaince work. Apart from that many places of
1638 code are broken when disabling them.
1640 Disabling the enum types doesn't reduce the required amount of memory
1641 by more than a few bytes and makes it hard to fix bugs like #539772,
1642 i.e. use the enums as GObject properties.
1644 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1646 * docs/design/part-TODO.txt:
1647 Add some thoughts and problems with upstream renegotiation.
1649 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1651 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1652 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1653 Remove silly redundant debug.
1654 Add some more debug info.
1655 Clarify the docs regarding new caps received from pad_alloc.
1657 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1659 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1660 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1661 Make setting the caps more threadsafe.
1663 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1665 * docs/design/part-element-transform.txt:
1668 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1670 * plugins/elements/gstqueue.c: (gst_queue_init),
1671 (gst_queue_acceptcaps):
1672 Add and use a custom acceptcaps function instead of falling back to the
1673 potentially less optimized default implementation.
1675 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1677 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1678 Only sanity-check the buffer size if requested_caps == buffer_caps
1679 (ie. don't take pad caps into account, they're not relevant here)
1681 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1683 * plugins/elements/gsttee.c:
1684 * plugins/elements/gsttee.h:
1685 Reverting as not everything is clear yet. Needs some general design
1688 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1691 ChangeLog surgery for tee commit.
1693 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1695 * docs/gst/gstreamer-sections.txt:
1696 Cleanup section-file.
1698 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1700 * plugins/elements/gsttee.c:
1701 * plugins/elements/gsttee.h:
1702 Relay tag events in tee. Fixes parts of #474016.
1703 Downgrades 3 reoccurring debugs to log.
1705 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1708 * libs/gst/Makefile.am:
1709 Build the net library if we have winsock2.
1711 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1713 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1715 * docs/manual/advanced-threads.xml:
1716 * docs/manual/diagrams-pipelines.svg:
1717 * docs/manual/hello-world.png:
1718 * docs/manual/linked-elements.png:
1719 * docs/manual/mime-world.png:
1720 * docs/manual/queue.png:
1721 * docs/manual/thread-buffering.png:
1722 * docs/manual/thread-synchronizing.png:
1723 Replace one diagram with two separate ones and updates others.
1726 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1729 Fix link in documentation.
1731 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1734 Fix confusing documentation.
1736 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1738 * libs/gst/base/gstbasesrc.h:
1739 revert the changes to the header file for the ABI.
1741 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1743 * libs/gst/base/gstbasesrc.c:
1744 * libs/gst/base/gstbasesrc.h:
1745 Don't cache the seekable status.
1748 2008-07-24 Rene Stadler <mail@renestadler.de>
1750 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1751 code to close the pipeline graph. This prevents the program from
1752 printing internal data flow errors.
1754 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1756 * docs/manual/basics-bus.xml:
1757 Correct typo. Fixes bug #544320.
1759 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1762 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1763 Add check (taken from -base) for winsock, adds WIN32_LIBS
1765 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1767 Define GST_EXPORTS when building libgstreamer (only used on win32)
1768 * gst/gst_private.h:
1770 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1771 for symbols that we need to export in both these files.
1773 Include gst_private.h higher up to avoid some compile problems on win32.
1775 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1780 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1783 Previous commit was wrong NULL caps does not exist
1784 and indicate an error, so also add a FIXME to
1785 gst_caps_is_equal where NULL caps are accepted.
1787 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1790 Allow passing of NULL to gst_caps_union
1792 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1794 * gst/gstghostpad.c:
1795 Add in doc that gst_ghost_pad_set_target can accept
1796 NULL to clear target
1798 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1801 * gst/gstregistry.c:
1802 GstRegistryPool doesn't exist; don't refer to it in docs.
1803 Don't refer to functions that don't exist in docs, it's
1806 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1809 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1811 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1813 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1815 * docs/pwg/building-testapp.xml:
1816 Don't use an undeclared variable in the example program.
1819 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1821 * gst/gstdebugutils.c:
1822 Squeeze ghost-pad links and remove <> from classname labels to save
1823 more horizontal space.
1825 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1827 * gst/gstdebugutils.c:
1828 Give request and sometimes pads a different shpe style. Condense the
1829 graphs a little more.
1831 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1834 Don't require flex and bison if the parser is disabled.
1836 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1838 * libs/gst/controller/gstinterpolationcontrolsource.c:
1839 (_list_find_sorted_custom):
1840 Don't use declarations after statements.
1842 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1844 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1845 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1846 of the the child-added / -removed signals as GstChildProxy
1847 only supports GstObjects.
1849 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1851 * gst/gstdebugutils.c:
1854 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1856 Patch by: Alessandro Decina <alessandro at nnva dot org>
1859 Fix "ignored return value" compiler warning with newer glibc.
1861 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1863 * gst/gstchildproxy.c:
1864 Fix copy&paste error in gst_child_proxy_removed() documentation.
1866 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1868 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1869 Print error debug message if plugin description fields that should
1872 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1873 Don't crash if the string to serialise is NULL (it really should
1874 not be, but apparently this used to work with the xml registry ...).
1876 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1878 * tools/gst-plot-timeline.py:
1879 Fix parsing of log messages
1881 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1883 * win32/common/libgstbase.def::
1884 Sort alphabetically so make check-exports doesn't barf.
1886 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1889 Use gst_format_get_name() to improve debug output.
1892 Remove #ifdef'ed code. Add TODO comment.
1895 Add debug output to ease spotting format != segment.format assertions.
1897 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1899 * tests/check/libs/gdp.c: (gst_dp_suite):
1900 Also enable the GDP unit test again on PPC now that the bug
1903 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1905 * libs/gst/dataprotocol/dataprotocol.c:
1906 Don't write to the same region of memory as a uint64 and uint16
1907 as this breaks strict aliasing rules and apparantly breaks on PPC
1908 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1910 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1912 * libs/gst/controller/gstinterpolationcontrolsource.c:
1913 Optimize list handling. Use own find function. Exploit that fact that
1914 the list is sorted. Also pass back the node before, so that we can
1915 insert quickly. Have a fast path for append.
1917 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1919 * docs/design/draft-framestep.txt:
1920 * docs/design/part-negotiation.txt:
1923 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1926 Show configuration sumary after configure run. Based on patch by
1927 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1929 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1931 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1933 * docs/manual/advanced-autoplugging.xml:
1934 * docs/manual/advanced-threads.xml:
1935 * docs/manual/basics-bins.xml:
1936 * docs/manual/basics-elements.xml:
1937 * docs/manual/basics-helloworld.xml:
1938 * docs/manual/basics-pads.xml:
1939 Add scale factor for pdf output.
1941 * docs/manual/intro-basics.xml:
1942 Switched sections "pads" and "bins" and added a pipeline diagram.
1944 * docs/manual/intro-gstreamer.xml:
1945 Added more info on gstreamer.
1947 * docs/manual/intro-motivation.xml:
1948 Commented out the whole section "current problem", which sounds
1949 historical and somehow osolete; it could be turned in a positive
1950 way and reused to improve the design principles.
1952 * docs/manual/intro-preface.xml:
1953 - Update URLs to library.gnome.org.
1954 - Do not mention GTK+ in preliminary reading (irrelevant).
1955 - Mention Plugin Writer's Manual and further reading only in the
1957 - Added a list of most relevant GObject/glib topics.
1959 * docs/manual/Makefile.am:
1960 * docs/manual/bin-element-ghost.fig:
1961 * docs/manual/bin-element-ghost.png:
1962 * docs/manual/bin-element-noghost.fig:
1963 * docs/manual/bin-element-noghost.png:
1964 * docs/manual/bin-element.fig:
1965 * docs/manual/bin-element.png:
1966 * docs/manual/filter-element-multi.fig:
1967 * docs/manual/filter-element-multi.png:
1968 * docs/manual/filter-element.fig:
1969 * docs/manual/filter-element.png:
1970 * docs/manual/gstreamer-overview.png:
1971 * docs/manual/hello-world.fig:
1972 * docs/manual/hello-world.png:
1973 * docs/manual/linked-elements.fig:
1974 * docs/manual/linked-elements.png:
1975 * docs/manual/mime-world.fig:
1976 * docs/manual/mime-world.png:
1977 * docs/manual/queue.fig:
1978 * docs/manual/queue.png:
1979 * docs/manual/simple-player.png:
1980 * docs/manual/sink-element.fig:
1981 * docs/manual/sink-element.png:
1982 * docs/manual/src-element.fig:
1983 * docs/manual/src-element.png:
1984 * docs/manual/diagrams-general.svg:
1985 * docs/manual/diagrams-pipelines.svg:
1986 Removed .fig, added .png counterpart.
1990 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1992 * plugins/elements/gstmultiqueue.c:
1993 * plugins/elements/gstmultiqueue.h:
1994 revert extra-size-buffers stuff, caused some race conditions
1995 and extra-size-buffers is not used anymore. Docs needs some updates
1997 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1999 * win32/common/config.h:
2000 * win32/common/gstenumtypes.c:
2001 * win32/common/gstenumtypes.h:
2002 * win32/common/gstversion.h:
2005 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2007 * gst/gstdebugutils.h: (GstDebugGraphDetails),
2008 (GST_DEBUG_BIN_TO_DOT_FILE):
2009 Add missing Since' markers to gtk-doc blurbs.
2011 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
2013 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2014 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2015 (set_caps_1), (set_caps_ct1), (transform_ct1),
2016 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2017 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2018 (transform_size_ct2), (buffer_alloc_ct2):
2019 Add some more tests with switching caps in buffer_alloc.
2021 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2023 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2024 (gst_test_trans_class_init), (result_sink_chain),
2025 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2026 (gst_test_trans_push), (gst_test_trans_pop):
2027 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2028 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2029 (set_caps_1), (set_caps_ct1), (transform_ct1),
2030 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2031 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2032 (transform_size_ct2), (buffer_alloc_ct2),
2033 (gst_basetransform_suite):
2034 More tests, prepare for tests with switching caps in buffer_alloc.
2036 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
2038 * plugins/elements/gstmultiqueue.c:
2039 * plugins/elements/gstmultiqueue.h:
2040 Fix dead-lock in underrun_cb
2042 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2044 * docs/design/part-states.txt:
2045 Fix device open/close docs.
2047 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2050 Mention bugnumber for last commit.
2052 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2054 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2056 * docs/manual/manual.xml:
2057 - Reorganised the previous "introduction" bundle into Foreword,
2058 Introduction, and About GStreamer. The two first are <preface>
2059 docbook elements. The later is the first part of the book.
2060 - added intro-gstreamer.xml (content partially from
2062 - moved appendix-win32.xml into appendix-integration.xml
2064 * docs/manual/intro-preface.xml: gstreamer section moved...
2065 * docs/manual/intro-gstreamer.xml: ...here. new file.
2067 * docs/manual/appendix-win32.xml: removed file. Content moved...
2068 * docs/manual/appendix-integration.xml: ...here.
2070 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2071 * docs/manual/appendix-checklist.xml: ...here.
2075 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2077 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2079 * docs/manual/basics-helloworld.xml:
2080 * docs/manual/hello-world.fig:
2081 - Explicitely include glib.h.
2082 - Do not use global variables.
2083 - Use g_printerr() instead of g_print().
2084 - Minor formating/renaming to increase readibility.
2085 - Renamed new_pad() to on_pad_added()
2086 - Improved explenatory comments.
2087 - renamed ogg parser to ogg demuxer
2088 - Use "autoaudiosink" instead of "alsasink".
2091 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2094 Remove cvs conflict marker.
2096 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2099 Document that for plgin-docs we extraxt he short-desc from the element
2102 * docs/design/part-states.txt:
2103 Tell that devices should be closed in PAUSED -> READY.
2105 * docs/manual/README:
2106 Document how tests in the manual are handled.
2111 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2113 * gst/gstbin.c: (bin_query_latency_fold):
2114 Only care about latency min and max when the sink is actually a live
2117 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2119 * docs/design/part-block.txt:
2122 * docs/design/part-element-transform.txt:
2123 Add notes about why transform needs to know input/output sizes.
2124 Add some issues that need to be solved.
2125 Add some more use cases.
2127 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2128 (gst_test_trans_class_init), (result_sink_chain),
2129 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2130 (gst_test_trans_push), (gst_test_trans_pop):
2131 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2132 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2133 (set_caps_1), (set_caps_ct1), (transform_ct1),
2134 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2135 (gst_basetransform_suite):
2136 Add suport for different pad templates and buffer-alloc.
2137 Add more checks for caps and buffer-alloc.
2138 Add checks for proxy buffer alloc.
2139 Add unit test for copy transform.
2141 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2143 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2145 * docs/manual/appendix-integration.xml:
2146 * docs/manual/appendix-licensing.xml:
2147 * docs/manual/basics-elements.xml:
2148 * docs/manual/basics-helloworld.xml:
2149 * docs/manual/basics-pads.xml:
2150 * docs/manual/highlevel-components.xml:
2151 * docs/manual/highlevel-xml.xml:
2152 * docs/manual/intro-basics.xml:
2153 * docs/manual/intro-preface.xml:
2154 Typo and formatting fixes (#538594).
2156 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2158 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2159 Fix some memory leaks and uses of object instances that we don't
2162 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2164 * plugins/elements/gstmultiqueue.c:
2165 Add functionality to extra-size-buffers property.
2167 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2169 * plugins/elements/gstmultiqueue.c:
2170 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2171 activate the pads if they are added in STATE_NULL.
2173 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2175 * docs/libs/gstreamer-libs-sections.txt:
2177 * libs/gst/check/gstcheck.c:
2178 * libs/gst/check/gstcheck.h:
2179 API: gst_check_teardown_pad_by_name
2181 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2183 * libs/gst/check/gstcheck.c:
2184 * libs/gst/check/gstcheck.h:
2185 Also setup request pads and allow setup pads by name (#537812)
2186 API: gst_check_setup_src_pad_by_name
2187 API: gst_check_setup_sink_pad_by_name
2189 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2191 * tests/check/gst/gstbuffer.c:
2192 * tests/check/pipelines/parse-launch.c:
2193 Use HAVE_VALGRIND_H some more.
2195 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2197 * scripts/cvs-update.sh:
2198 Pass arguments to make.
2199 Run autoregen.sh if Makefile is not there.
2201 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2205 Don't assume that <valgrind/valgrind.h> exists just because
2206 the binary is there.
2208 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2210 * tests/check/Makefile.am:
2211 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2212 (gst_test_trans_class_init), (gst_test_trans_init),
2213 (gst_test_trans_set_data), (result_sink_chain),
2214 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2215 (gst_test_trans_pop):
2216 * tests/check/libs/transform1.c: (GST_START_TEST),
2217 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2218 Add some test basetransform element and the beginnings of various
2221 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2223 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2224 Increase code readability.
2225 Don't try to compare buffer offsets when ther are invalid.
2227 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2229 * docs/design/Makefile.am:
2230 Dist some more design docs.
2232 * docs/random/moving-plugins:
2233 Small addition: good plugins mustn't have functional code
2234 within assertion macros.
2236 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2238 * docs/design/draft-framestep.txt:
2239 Some ideas about a framestep API
2241 * docs/design/part-element-transform.txt:
2242 Start design and use cases for basetransform in order to get it
2245 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2248 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2249 be in UTF-8 encoding.
2251 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2254 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2256 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2258 * plugins/elements/gstcapsfilter.c:
2259 * plugins/elements/gstfakesink.c:
2260 * plugins/elements/gstfakesrc.c:
2261 * plugins/elements/gstfdsink.c:
2262 * plugins/elements/gstfdsrc.c:
2263 * plugins/elements/gstfilesink.c:
2264 * plugins/elements/gstfilesrc.c:
2265 * plugins/elements/gstidentity.c:
2266 * plugins/elements/gstmultiqueue.c:
2267 * plugins/elements/gstqueue.c:
2268 * plugins/elements/gsttee.c:
2269 * plugins/elements/gsttypefindelement.c:
2270 Remove short_description. Add basic docs for gsttypefindelement.
2271 Simplify markup for fakesrc/fdsrc.
2273 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2275 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2278 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2280 Patch by: Joel Larsson <tilljoel at gmail dot com>
2282 * docs/plugins/gstreamer-plugins.args:
2283 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2284 (gst_fd_src_init), (gst_fd_src_update_fd),
2285 (gst_fd_src_set_property), (gst_fd_src_get_property),
2286 (gst_fd_src_create):
2287 * plugins/elements/gstfdsrc.h:
2288 Add timeout property like udpsrc. Fixes #538628.
2289 Add some more docs and example pipelines.
2291 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2293 * docs/libs/gstreamer-libs-sections.txt:
2294 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2295 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2296 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2297 (gst_base_sink_do_sync):
2298 * libs/gst/base/gstbasesink.h:
2299 * win32/common/libgstbase.def:
2300 Add method to allow sinks to specify additional delay between the sync
2301 times and the actual rendering of the data.
2302 API: gst_base_sink_set_render_delay()
2303 API: gst_base_sink_get_render_delay()
2305 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2308 Bump version number back to dev -> 0.10.20.1
2310 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2312 * docs/gst/gstreamer-sections.txt:
2313 * gst/gsttaglist.c: (_gst_tag_initialize):
2315 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2318 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2320 * libs/gst/controller/gstcontroller.c:
2321 Revert one change, that make ret value possible uninitialized.
2323 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2325 * libs/gst/controller/gstcontroller.c:
2326 Use freeze/thaw notify to sync notify emission a bit (its also more
2327 efficient). Move debug output to LOG (is called a lot in a loop).
2328 Always unset g_values if the have been initialized.
2330 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2332 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2333 (gst_base_sink_wait_eos), (gst_base_sink_event):
2334 If we have not seen a buffer before EOS, use the segment values to
2335 report the current position instead of invalid positions.
2337 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2339 * docs/plugins/tmpl/.cvsignore:
2340 * tests/check/gst/.cvsignore:
2343 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2345 * libs/gst/controller/gstinterpolation.c:
2346 * libs/gst/controller/gstinterpolationcontrolsource.c:
2347 * tests/check/libs/controller.c:
2348 Rewrite handling of default values. Fix overflow with unsigned types
2349 in linear interpolation. Remove now obsolete _first_value() function.
2350 Add more tests. Fixes #538201.
2352 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2354 * libs/gst/base/gstbasetransform.c:
2355 (gst_base_transform_class_init), (gst_base_transform_init),
2356 (gst_base_transform_transform_caps),
2357 (gst_base_transform_prepare_output_buffer):
2359 When a buffer is writable, its metadata is also writable so we don't
2360 need to subbuffer (which then makes the buffer not-writable anymore).
2362 === release 0.10.20 ===
2364 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2367 releasing 0.10.20, "You Crazy Diamond"
2369 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2372 0.10.19.3 pre-release
2374 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2378 Rename DATADIR to GST_DATADIR to avoid build problems
2379 on win32. Patch By: David Schleef <ds@schleef.org>
2382 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2385 Explicitely link with -ldl if dladdr() is found there. Before it was
2386 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2387 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2389 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2391 * gst/gsterror.c: (_gst_stream_errors_init):
2392 Fix typo (spotted by Fabricio Godoy, #536723).
2394 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2397 0.10.19.2 pre-release
2399 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2401 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2402 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2404 Make sure we don't generate invalid QoS messages.
2406 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2408 * gst/gstevent.c: (gst_event_new_qos):
2409 Add some assert and docs for invalid input to the qos function.
2411 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2413 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2414 (gst_base_sink_get_position):
2415 The reported position must always be smaller than the last seen
2416 timestamps (or timestamp + duration for reverse).
2418 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2420 Patch by: Rob Bradford <rob at robster dot org dot uk>
2422 * gst/gstregistry.c: (gst_registry_scan_path_level):
2423 Don't recurse into .debug directories as some distros install
2424 the debugging symbols next to the plugins in .debug directories
2425 and dlopen() crashes on them sometimes. Fixes bug #508070.
2427 Add FIXME for 0.11 to not recurse into directories at all because
2428 it's very inconsistent to the behaviour of other PATH environment
2431 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2433 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2434 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2435 Fix position query range checks in reverse playback.
2437 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2441 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2442 clear of the reference to the resulting pad must be released later
2443 or not, resulting in possible leaks. Fixes bug #533865.
2445 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2447 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2449 * gst/gstelementfactory.c:
2450 Small doc fix. Fixes #535285.
2452 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2454 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2456 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2457 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2458 (gst_base_src_loop), (gst_base_src_set_flushing),
2459 (gst_base_src_change_state):
2460 Make sending an EOS event to the basesrc non-blocking even if the
2461 implementation does blocking waits in the create function. This is done
2462 by unlocking the create function when EOS is sent.
2465 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2467 * tools/gst-inspect.c: (print_element_properties_info):
2468 If possible print the element type of GValueArray properties.
2470 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2472 * gst/gstiterator.c:
2473 Remove an unused field from the private GstListIterator struct.
2475 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2477 * libs/gst/controller/gstcontroller.c:
2478 Add parameter guards.
2480 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2482 * tests/check/gst/gstpipeline.c:
2483 Revert test change and add comment why it should not work.
2485 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2487 * tests/check/gst/gstpipeline.c:
2488 Extending the test a little to verify that we also get the NULL state-
2491 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2493 * gst/gstpreset.c: (gst_preset_default_get_meta),
2494 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2495 (gst_preset_load_preset), (gst_preset_save_preset),
2496 (gst_preset_rename_preset), (gst_preset_delete_preset),
2497 (gst_preset_set_meta):
2498 Add Since: markers to docs blurbs.
2500 * win32/common/libgstreamer.def:
2501 Add recently-added API.
2503 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2505 Patch by: Stefan Kost <ensonic@users.sf.net>
2508 Add DATADIR for storing presets.
2510 * docs/gst/gstreamer-docs.sgml:
2511 * docs/gst/gstreamer-sections.txt:
2512 * docs/gst/gstreamer.types.in:
2513 Add GstPreset to docs.
2517 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2518 (preset_open_and_parse_header), (preset_parse_version),
2519 (preset_merge), (preset_get_keyfile),
2520 (gst_preset_default_get_preset_names),
2521 (gst_preset_default_get_property_names),
2522 (gst_preset_default_load_preset),
2523 (gst_preset_default_save_presets_file),
2524 (gst_preset_default_save_preset),
2525 (gst_preset_default_rename_preset),
2526 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2527 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2528 (gst_preset_default_reset), (gst_preset_get_preset_names),
2529 (gst_preset_get_property_names), (gst_preset_load_preset),
2530 (gst_preset_save_preset), (gst_preset_rename_preset),
2531 (gst_preset_delete_preset), (gst_preset_set_meta),
2532 (gst_preset_get_meta), (gst_preset_class_init),
2533 (gst_preset_base_init), (gst_preset_get_type):
2535 Add GstPreset to core. Fixes #396779
2537 * tests/check/Makefile.am:
2538 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2539 (gst_preset_test_set_property), (gst_preset_test_class_init),
2540 (gst_preset_test_base_init), (gst_preset_test_get_type),
2541 (gst_preset_test_plugin_init), (GST_START_TEST),
2542 (remove_preset_file), (test_setup), (test_teardown),
2544 Add GstPreset unit tests.
2546 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2548 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2549 The default event function on a sinkpad should return TRUE when
2550 there are no internal links but should collect the return values from
2551 the internal links otherwise.
2553 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2555 * plugins/elements/gsttypefindelement.c:
2556 (gst_type_find_element_src_event),
2557 (gst_type_find_element_handle_event):
2558 Use faster and safer _pad_push_event().
2560 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2562 * docs/gst/gstreamer-sections.txt:
2563 * gst/gstutils.c: (element_find_unlinked_pad),
2564 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2566 API: add gst_bin_find_unlinked_pad()
2567 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2569 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2575 Fixed a bunch of typos.
2577 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2580 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2581 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2582 (gst_parse_bin_from_description_full):
2584 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2586 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2588 * docs/pwg/advanced-tagging.xml:
2589 Small docs update, can't be bothered to rewrite the nonsensical
2592 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2595 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2597 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2599 * gst/parse/grammar.y:
2600 Remove unneeded casts.
2602 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2604 * gst/parse/grammar.y:
2605 * tests/check/pipelines/parse-launch.c:
2606 Get all missing elements from a parse launch string if possible
2607 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2609 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2611 * tests/check/Makefile.am:
2612 * tests/check/pipelines/parse-launch.c:
2613 Add some unit tests for the new gst_parse_launch*_full() API.
2614 (Exposes a previously-existing memory leak in the error code
2615 path, so adding to VALGRIND_TO_FIX for now).
2617 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2619 * docs/gst/gstreamer-sections.txt:
2620 * gst/gst.c: (init_post):
2621 * gst/gst_private.h: (_GstParseContext):
2622 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2623 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2624 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2625 (gst_parse_launch_full):
2626 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2627 (GstParseFlags), (GstParseContext):
2628 * gst/gstutils.c: (gst_parse_bin_from_description),
2629 (gst_parse_bin_from_description_full):
2631 * gst/parse/grammar.y:
2632 * gst/parse/types.h:
2633 * win32/common/libgstreamer.def:
2634 Add new gst_parse_*_full API (#528178):
2635 API: gst_parse_launch_full()
2636 API: gst_parse_launchv_full()
2637 API: gst_parse_bin_from_description_full()
2638 API: gst_parse_context_new()
2639 API: gst_parse_context_free()
2640 API: gst_parse_context_get_missing_elements()
2642 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2644 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2646 * docs/faq/gst-uninstalled:
2647 Also support ffmpeg in gst-uninstalled.
2649 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2652 After discussion on IRC use the binary registry as default
2653 but allow to disable it with --disable-binary-registry.
2655 * win32/common/libgstreamer.def:
2656 Add the two new symbols for the binary registry.
2658 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2660 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2661 * gst/gstutils.c: (gst_parse_bin_from_description):
2662 * gst/parse/grammar.y: (graph):
2663 More guards against bad input; typo fix; some minor clean-ups.
2665 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2667 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2669 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2670 If nothing else can be used, use the last buffer's start time as
2671 the segment's last stop. Fixes bug #534258.
2673 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2675 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2676 Move size sanity check to the right place: downstream may return
2677 a buffer with a smaller size if the buffer caps are different than
2678 the requested ones, as may happen when doing reverse negotiation.
2680 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2682 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2683 (gst_file_sink_render):
2684 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2685 (gst_file_src_start):
2686 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2689 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2691 * gst/gstpad.c: (gst_pad_load_and_link):
2692 * gst/gstutils.c: (gst_element_link_pads),
2693 (gst_element_unlink_pads):
2694 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2695 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2696 (gst_check_teardown_sink_pad),
2697 (gst_check_element_push_buffer_list):
2698 * tests/check/elements/fakesink.c: (GST_START_TEST):
2699 * tests/check/elements/filesink.c:
2700 * tests/check/elements/filesrc.c: (GST_START_TEST):
2701 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2702 (mq_sinkpad_to_srcpad):
2703 * tests/check/elements/tee.c: (GST_START_TEST):
2704 * tests/check/generic/sinks.c: (GST_START_TEST):
2705 * tests/check/gst/gstbin.c: (GST_START_TEST):
2706 * tests/check/gst/gstevent.c: (GST_START_TEST):
2707 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2708 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2709 * tests/check/gst/gstquery.c: (GST_START_TEST):
2710 * tests/check/gst/gstutils.c: (GST_START_TEST):
2711 * tests/check/libs/basesrc.c: (GST_START_TEST):
2712 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2713 (gst_parse_test_element_change_state):
2714 Don't use gst_element_get_pad().
2716 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2719 Fix installing plugin documentation when gtk-doc is disabled.
2721 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2723 * docs/manual/advanced-autoplugging.xml:
2724 * docs/manual/basics-helloworld.xml:
2725 * docs/manual/basics-pads.xml:
2726 * docs/manual/highlevel-components.xml:
2727 Avoid using a bad function in the example code.
2729 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2731 * gst/gstclock.c: (gst_clock_set_calibration):
2732 Fix debug of the new clock rate.
2734 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2736 * win32/common/libgstbase.def:
2737 Add gst_base_sink_wait_clock() to the exported symbols.
2739 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2741 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2743 * libs/gst/base/gstbasetransform.c:
2744 (gst_base_transform_sink_event):
2745 Unref events that the GstBaseTransform::event vfunc didn't want to
2746 have forwarded by the base class. Closes a leak in identity.
2749 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2751 * docs/libs/gstreamer-libs-sections.txt:
2752 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2753 * libs/gst/base/gstbasesink.h:
2754 Expose a method that was previously used internally to synchronize
2755 against the clock because it can be useful for subclasses too.
2756 API: GstBaseSink::gst_base_sink_wait_clock()
2758 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2760 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2761 Add sanity check to make sure we don't get smaller buffers
2762 than requested (and fallback to normal buffer alloc if we do).
2764 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2766 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2767 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2768 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2769 Refactor adjusting the running_time with latency and offset into a
2771 When doing clipping, we still want to use the subclass get_times method,
2772 just in case the DURATION or TIMESTAMP are not set.
2774 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2776 * docs/gst/gstreamer-sections.txt:
2777 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2778 * gst/gsttypefind.h:
2779 * win32/common/libgstreamer.def:
2780 API: add gst_type_find_suggest_simple(), #533740.
2782 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2784 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2785 Use right error code when typefinding fails, so we can use
2786 the default (translated) error messages.
2788 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2790 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2791 (gst_base_src_start):
2792 When the subclass did not set caps on outgoing buffers, configure the
2793 caps we negotiated on the source pad.
2794 When the typefind helper does not find caps, error out properly instead
2795 of doing things with NULL caps.
2797 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2799 * gst/gsttypefind.h:
2800 Tabs to spaces, oh yes!
2802 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2804 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2805 Add David's and Benjamin's tests for array intersection to the
2806 unit test suite (#147931).
2808 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2811 Document that gst_event_new_tag() and gst_event_new_navigation()
2812 take ownership of the taglist/structure passed to them. (#533635).
2814 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2817 Don't descend into the plugins dir if plugin docs building
2821 Add a note about the new type:GTypeName syntax for the plugin
2822 documentation .types file.
2824 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2826 * gst/gstmessage.c: (gst_message_new_error),
2827 (gst_message_new_warning), (gst_message_new_info):
2829 Mark the debug string parameters as const. Fixes bug #533490.
2831 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2833 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2834 Sort buffer cache list by end offsets. This makes sure that we don't
2835 stop to search for a cached buffer that contains the requested data
2837 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2838 more efficient. Fixes bug #459862.
2840 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2843 Explain why we copy the list.
2845 * gst/gstpipeline.c:
2849 Add one debug-log statement to help tracing probelms with linking pads.
2851 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2853 * tests/check/gst/gstinfo.c:
2854 Add a test for removing the default log handler. Seems to fail under
2857 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2859 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2860 Release pad lock before calling out to avoid a possible deadlock.
2862 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2864 * gst/parse/grammar.y:
2865 Remove unneeded value unset.
2867 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2868 Add unit test for de/serialization of caps.
2870 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2872 * plugins/elements/gstfakesink.c:
2873 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2874 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2875 (gst_fake_src_class_init):
2876 Use custom marshalers that take GstMiniObject as first parameter.
2877 Using OBJECT as parameter while a GstMiniObject is given will lead
2878 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2880 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2882 * plugins/elements/gsttypefindelement.c:
2883 (gst_type_find_element_handle_event),
2884 (gst_type_find_element_send_cached_events),
2885 (gst_type_find_element_change_state):
2886 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2889 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2891 * plugins/elements/gsttypefindelement.c:
2892 (gst_type_find_handle_src_query), (stop_typefinding),
2893 (gst_type_find_element_handle_event),
2894 (gst_type_find_element_send_cached_events),
2895 (gst_type_find_element_change_state):
2896 Forward FLUSH_START events immediately and clean up instead of
2899 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2901 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2903 * libs/gst/base/gstbasetransform.c:
2904 (gst_base_transform_buffer_alloc):
2905 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2906 fall back to default negotiation in the chain function if the caps
2907 are different from what was requested. Fixes bug #526768.
2909 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2912 * tests/check/gst/gstsegment.c:
2913 No, let's not use g_slice_{dup|copy} here, since they only exist
2914 since GLib 2.14 and we still depend only on >= 2.12. Also add
2915 unit test for gst_segment_copy().
2917 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2919 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2920 Try to fix 'dereferencing type-punned pointer will break strict
2921 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2922 changed the default GType typedef from gulong to gsize at some point,
2923 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2924 g_once_* functions all take a gsize * though, so work around the type
2925 mismatch for C++ by doing everything in gsize and casting to GType
2928 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2930 * plugins/elements/gstmultiqueue.c:
2931 Add documentation for the signals to push our core plugin docs
2932 coverage back up to 100%.
2934 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2936 * gst/gstinfo.h (GST_FUNCTION):
2937 Reverted GST_FUNCTION to the old version as we don't want the
2938 full signature in C++ code. Also added support for MSVC.
2940 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2943 Intern the type name string, similar to what G_DEFINE_TYPE does.
2945 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2948 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2950 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2952 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2954 * libs/gst/base/gstbasetransform.c:
2955 (gst_base_transform_buffer_alloc):
2956 Don't passthrough buffer allocation too easily if the caps change.
2957 This breaks when working in passthrough mode and upstream changes
2958 it's caps. Fixes bug #526768.
2960 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2962 * gst/gstinfo.c (gst_debug_log_valist):
2963 Improved the __FILE__ part of debug output for MSVC.
2965 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2967 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2968 Declaration after statement fix for compilers like MSVC.
2970 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2972 * win32/common/config.h.in:
2973 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2974 use the real thing than having "???" unconditionally.
2976 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2978 * gst/gstinfo.h (GST_FUNCTION):
2979 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2981 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2983 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2986 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2987 (gst_base_sink_set_flushing):
2988 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2991 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2993 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2994 (gst_fake_src_init), (gst_fake_src_set_property),
2995 (gst_fake_src_get_property), (gst_fake_src_start):
2996 * plugins/elements/gstfakesrc.h:
2997 Added format property to control the format of the newsegment events.
2998 API: GstFakeSrc:format
3000 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3002 * win32/common/libgstreamer.def:
3003 Add gst_pad_has_name() to the exported symbols.
3005 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3007 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3008 * libs/gst/base/gstbasetransform.c:
3009 (gst_base_transform_prepare_output_buffer):
3010 Don't allow negative sizes when allocating new buffers.
3013 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3015 Patch by: Sjoerd Simons <sjoerd at luon net>
3017 * gst/gstbus.c: (gst_bus_source_dispatch):
3018 Don't print a warning if the queue is empty when we try to pop
3019 here. That could happen if another thread or callback set the
3020 bus to flushing between the source's check/prepare and the
3021 dispatch being called (#531538).
3023 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3025 * plugins/elements/gstmultiqueue.c:
3028 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
3030 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3031 Add unit test for deserializing uint64s and check some really large
3032 numbers in the int64 test.
3034 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3036 * tools/gst-inspect.c: (n_print), (print_hierarchy),
3037 (print_interfaces), (print_element_properties_info),
3038 (print_signal_info):
3039 Use "%s" as format string instead of printing strings directly.
3041 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3043 * gst/gstclock.c: (gst_clock_set_calibration):
3044 Make some checks actually useful.
3046 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3047 Remove some unused code. Unsigned integers tend to be >= 0.
3049 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3051 * gst/gstminiobject.c: (gst_value_get_mini_object):
3052 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3053 function was not in the unscheduled 0.10.19 release.
3055 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3057 * gst/gstregistry.c: (gst_registry_scan_path_level):
3058 Only print one log message per non-plugin file.
3060 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3062 * gst/gstinfo.c: (gst_debug_log_default):
3063 Fix alignment of debug log columns on 64-bit.
3065 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3067 * docs/libs/Makefile.am:
3068 * docs/libs/gstreamer-libs-sections.txt:
3069 Ignore private controller headers for docs.
3071 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3073 * libs/gst/controller/gstcontrollerprivate.h:
3074 * libs/gst/controller/gsthelper.c:
3075 * libs/gst/controller/gstinterpolation.c:
3076 * libs/gst/controller/gstinterpolationcontrolsource.c:
3077 (gst_interpolation_control_source_set_interpolation_mode):
3078 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3079 * libs/gst/controller/lib.c:
3080 Move some private declarations into private headers.
3082 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3084 * gst/gstdebugutils.c: (debug_dump_element_pad):
3085 Remove some code that is unused after Stefan's refactoring and uses
3086 uninitialized variables now, resulting in a compiler warning.
3088 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3090 * gst/gstregistry.c: (gst_registry_scan_path_level):
3091 Run g_str_has_suffix() only on the file name, not the
3094 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3096 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3097 Since we're not called only from the chain function any longer,
3098 we can't assume that there's always data in the queue, so move
3099 the is_full check to the beginning of the loop (otherwise we'd
3100 hit the assert when changing the limit properties while the
3101 queue is empty or not running yet).
3102 Also, only set a discont if items were actually removed from
3105 * tests/check/elements/queue.c: (test_leaky_downstream):
3106 Test case for the above.
3108 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3110 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3112 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3113 (gst_queue_chain), (queue_capacity_change),
3114 (gst_queue_set_property):
3115 When changing thr max capacity of a leaky queue, immediatly drop buffers
3116 instead of waiting for a push on the sinkpad. Fixes #530637.
3118 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3120 * gst/gstdebugutils.c:
3121 Refactor code and fix handling of ghostpads and their proxypads.
3123 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3125 * docs/gst/gstreamer-sections.txt:
3126 * gst/gstevent.c: (gst_event_has_name):
3128 * tests/check/gst/gstevent.c: (GST_START_TEST):
3129 Add method to conveniently check the name of a custom event with
3130 gst_event_has_name().
3131 Reformat the event docs so that related methods are put together instead
3132 of the default alphabetical sort.
3133 Update unit test with new method.
3134 API: GstEvent::gst_event_has_name()
3136 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3138 * libs/gst/check/Makefile.am:
3139 Don't add an explicit link to libgstreamer-0.10.la; it's already
3140 included in GST_OBJ_LIBS.
3142 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3145 Register GstClock type from a type-safe context. Fixes bug #530317.
3147 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3149 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3151 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3153 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3155 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3157 Use the GLib stuff to create a private structure.
3158 Add some locking around some dispose methods to make them a little
3159 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3161 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3163 * libs/gst/base/gstbasesink.h:
3164 * libs/gst/base/gstbasesrc.h:
3165 * libs/gst/base/gstbasetransform.h:
3166 * libs/gst/base/gstcollectpads.h:
3167 Fix doc typos and unify caps a bit.
3169 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3171 * tools/gst-launch.1.in:
3172 Forgot to also add the envvar docs here.
3174 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3176 * gst/gst.c: (init_post), (gst_deinit):
3177 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3178 (test_concurrent_create), (gst_pipeline_suite):
3179 Ref some more classes in gst_init() to work around thread-safety
3180 issues in pre-2.16 GLibs, and add basic unit test.
3182 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3184 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3185 (gst_base_sink_send_event):
3186 Rearrange the latency query code. We always want to do the upstream
3187 query, even if we are not live so that the upstream elements can get the
3188 latency results too. If we fail doing the query and we are live, we
3189 return TRUE afterwards.
3191 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3193 patch by: Jason Zhao <e3423c@motorola.com>
3195 * docs/gst/running.xml:
3197 Enable/disable scan_and_update_registry() based on commandline switch
3198 or environment variable. Fixes #520468.
3201 Fix typo in my previous commit.
3203 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3205 * gst/gstregistrybinary.c:
3206 Add a warning if we hit unhandled factories when saving.
3207 More debug logging detail, but move to LOG category.
3209 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3211 * gst/gstregistry.c:
3212 Tell the *truth* when improving the documentation.
3214 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3216 * gst/gstelementfactory.c: (gst_element_factory_make):
3217 Unref the factory after it was used the last time, not before.
3219 * gst/gstindexfactory.c: (gst_index_factory_make):
3220 Improve debugging a bit and don't leak a ref to the index factory with
3223 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3225 * gst/gstregistry.c:
3226 Improve the documentation.
3228 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3231 The glib macro seems to be borked. Use g_slice_copy directly and cast
3232 in the hope that this fixes the warning on 64bit.
3234 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3237 Document the new function. Use g_slice_dup() (no need for
3238 gst_segment_init()).
3240 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3242 * docs/gst/gstreamer-sections.txt:
3243 Move GParamSepc macros to standart section.
3246 Dn't document _get_type - its in private section in docs anyway and
3247 this doc-blob was incomplete.
3250 Fix wrong symbol names in docs.
3253 Add once doc sentence.
3255 * tests/check/gst/.cvsignore:
3258 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3260 * docs/gst/Makefile.am:
3261 And remove those libs here.
3263 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3265 * docs/libs/Makefile.am:
3266 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3268 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3270 Patch by: Olivier Crete <tester at tester dot ca>
3272 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3273 Add the min-threshold to the min latency if possible. Fixes #529148.
3275 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3277 * docs/gst/gstreamer.types.in:
3278 Stupid editor, I removed that line as it should go in yet.
3280 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3282 * docs/gst/gstreamer.types.in:
3283 * docs/libs/gstreamer-libs.types:
3284 Remove library types fro core docs and have them in libs docs.
3285 Reformat and cleanup. Add comment for miniobject types.
3287 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3289 * gst/gsturi.c: (gst_uri_get_protocol):
3290 Fix leak: g_strdown operates on the string in place, while
3291 g_ascii_strdown() returns a newly-allocated string.
3293 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3295 * tools/gst-inspect.c: (print_uri_handler_info),
3296 (print_element_info):
3297 Print the URI protocols and the URI type supported by the element.
3299 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3301 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3302 Use g_value_take_string() instead of the deprecated
3303 g_value_set_string_take_ownership().
3305 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3307 * gst/gstregistrybinary.c: (_gst_crc32):
3308 Return the old CRC instead of 0 if we give a NULL buffer
3309 or a buffer with a length of 0.
3311 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3313 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3314 (gst_uri_get_protocol), (gst_uri_has_protocol),
3315 (gst_uri_construct), (gst_uri_handler_set_uri):
3316 A valid URI scheme can also include '+', '-' and '.' additional
3317 to alphanumeric characters as per RFC 3986 Section 3.1.
3319 Handle URI schemes case insensitive in all places and convert
3320 to lower-case when constructing an URI or setting an URI with
3321 the GstURIHandler interface. Fixes bug #528868.
3322 All elements can still assume (as before) that they will
3323 get passed URIs with a lower-case URI scheme by the GstURIHandler
3326 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3328 * gst/gstcaps.c: (gst_static_caps_get):
3329 * gst/gstclock.c: (gst_clock_entry_new):
3330 Don't use g_atomic_set_int where it's not needed.
3332 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3334 * gst/gstvalue.c: (gst_value_deserialize_caps):
3335 * gst/parse/grammar.y:
3338 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3340 * gst/gstutils.c: (gst_atomic_int_set):
3341 Use g_atomic_int_set() here too instead of assignment +
3344 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3348 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3349 now that we depend on new enough GLib.
3351 * gst/gstcaps.c: (gst_static_caps_get):
3352 * gst/gstclock.c: (gst_clock_entry_new):
3353 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3354 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3355 (gst_debug_category_set_threshold):
3356 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3357 (gst_base_sink_set_qos_enabled):
3358 * libs/gst/net/gstnettimeprovider.c:
3359 (gst_net_time_provider_set_property):
3360 Use g_atomic_int_set() instead of gst_atomic_int_set().
3362 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3365 Also use G_GINT64_CONSTANT for the queries.
3367 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3370 Use G_GINT64_CONSTANT in varargs function.
3372 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3374 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3375 Initialize the registry magic with zeroes.
3377 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3379 * gst/gstregistrybinary.c: (_gst_crc32),
3380 (gst_registry_binary_write),
3381 (gst_registry_binary_initialize_magic),
3382 (gst_registry_binary_write_cache),
3383 (gst_registry_binary_check_magic),
3384 (gst_registry_binary_read_cache):
3385 * gst/gstregistrybinary.h:
3386 Add crc32 checksum to the binary registry file and check this before
3387 accepting a registry file.
3389 Also free the data list when writing to the registry file fails.
3391 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3393 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3394 (gst_registry_binary_load_feature),
3395 (gst_registry_binary_load_plugin):
3396 If an element supports the Uri interface, returns a valid pointer
3397 to the supported URI protocols but this pointer contains nothing
3398 don't try to save that as it will corrupt the registry.
3400 Don't unref the plugin if we added it to the registry already but
3401 fail to load a feature as gst_registry_add_plugin() takes ownership
3404 Improve debugging a bit.
3406 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3409 Clarify some tag item docs after discussion on irc.
3411 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3413 * docs/gst/gstreamer-docs.sgml:
3414 Remove commented out plugins (they have their own docs). Update
3417 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3419 * docs/gst/gstreamer-docs.sgml:
3420 * docs/gst/gstreamer-sections.txt:
3421 * gst/gstparamspecs.c:
3422 * gst/gstparamspecs.h:
3423 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3424 docs to own section.
3427 This now only documents GValue.
3429 * docs/libs/gstreamer-libs-sections.txt:
3430 * libs/gst/controller/gstcontroller.h:
3431 Remove GST_PARAM_CONTROLLABLE.
3433 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3436 Correct file path. Tell about how to use -overrides.txt.
3437 * docs/design/draft-tagreading.txt:
3438 Small design update.
3440 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3442 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3443 (gst_registry_binary_load_plugin):
3444 Fix a typo in a debug message and revert change from yesterday as
3445 gst_registry_add_plugin() will only fail if something is really wrong
3446 already and we can't survive it anyway.
3448 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3450 * gst/gst.c: (init_post), (gst_deinit):
3451 Pre-register GstGError GType from a thread-safe context
3452 (fixes #527967); unref enum type classes in deinit.
3454 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3456 Patch by: Rene Stadler <mail at renestadler de>
3458 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3459 Merging an empty list with another list in KEEP_ALL mode should
3460 yield an empty list as result and not the second list (#512578).
3462 * tests/check/gst/gsttagsetter.c:
3463 Add unit test for tag merge modes and the aforementioned bug.
3465 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3467 Patch by: Rene Stadler <mail at renestadler de>
3470 Fix description to match the order in the table (#512577).
3472 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3474 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3476 * libs/gst/net/gstnettimepacket.h:
3477 * docs/libs/gstreamer-libs-sections.txt:
3478 Define socklen_t as int if it's not defined yet. Fixes compilation
3479 with MSVC6 and other versions where socklen_t is not defined in
3480 the windows headers (#518022).
3482 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3484 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3485 If gst_registry_add_plugin() fails our reference to the plugin is
3486 invalid so don't try to use it anymore and instead error out.
3488 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3490 * tools/gst-xmlinspect.c: (print_element_info), (main):
3491 De-cruft a bit. If no argument is specified, print all elements in
3492 XML syntax rather than a freestyle list of elements like gst-inspect.
3493 Also, don't print XML header chunk unless we actually have something
3494 to print (ie. don't print it before an error message); print error
3495 message to stderr not stdout. Remove support for printing plugin
3496 info (it would just output something freestyle along the lines of
3497 gst-inspect so far), which fixes #514507. Also add license header.
3499 2008-04-11 Julien Moutte <julien@fluendo.com>
3502 * configure.ac: Merge platform specific defines, introduce a new
3503 define on OS X to remember that forking when updating registry is
3505 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3507 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3509 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3510 condition that leads to absolutely no plugins being registered on
3513 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3515 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3517 * gst/gstutils.c: (gst_pad_add_data_probe),
3518 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3519 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3520 (gst_pad_add_buffer_probe_full):
3522 * docs/gst/gstreamer-sections.txt:
3523 * win32/common/libgstreamer.def:
3524 Add gst_pad_add_*_probe_full() functions with a notify callback that
3525 lets the caller free the data it passes to the probe functions. This
3526 is useful for bindings such as gst-python or gstreamermm (#526814).
3527 API: gst_pad_add_data_probe_full
3528 API: gst_pad_add_buffer_probe_full
3529 API: gst_pad_add_event_probe_full
3531 * tests/check/gst/gstutils.c:
3532 Add minimal unit test to make sure freeing the data actually works
3535 * tests/benchmarks/.cvsignore:
3536 Random cvsignore addendum.
3538 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3540 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3541 (GST_DEBUG_BIN_TO_DOT_FILE):
3542 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3543 to it in the docs (since these are macros the types of the arguments
3544 won't be shown in the docs otherwise).
3546 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3549 Do not abort on out of memory for pad_alloc_buffer.
3551 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3553 * libs/gst/check/gstcheck.c:
3554 Remove blank line between symbol name ad parameters to fix gtkdoc
3557 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3559 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3561 * docs/gst/gstreamer-sections.txt:
3564 * win32/common/libgstreamer.def:
3565 Expose gst_segment_copy() to make things easier for the c++ bindings.
3567 API: gst_segment_copy()
3569 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3571 * gst/gst.c: (gst_init_get_option_group), (init_post):
3572 Fix const position; ref GType classes for enum types to work
3573 around thread-safety issues in GLib versions < 2.16.
3575 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3577 * docs/design/part-buffering.txt:
3578 Fix some typos and set the estimated total for push mode to -1.
3580 * gst/gstquery.c: (gst_query_new_buffering):
3581 Set buffering-left to 0 as we're not buffering by default.
3583 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3584 Implement BUFFERING query.
3586 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3588 Based on patch by: Milosz Derezynski <internalerror gmail com>
3590 * gst/gsterror.c: (_gst_stream_errors_init):
3592 Add two new error codes for encrypted content. Fixes #524659.
3593 API: GST_STREAM_ERROR_DECRYPT
3594 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3596 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3601 * win32/common/libgstreamer.def:
3604 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3606 * plugins/elements/gstidentity.c: (gst_identity_event),
3607 (gst_identity_start):
3608 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3609 event after processing some data. Fixes bug #526042.
3611 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3613 * docs/gst/gstreamer-sections.txt:
3614 * gst/gstquery.c: (gst_query_parse_latency),
3615 (gst_query_set_buffering_percent),
3616 (gst_query_parse_buffering_percent),
3617 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3619 Rename _avail -> _range
3620 API: gst_query_set_buffering_range
3621 API: gst_query_parse_buffering_range
3623 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3625 * docs/design/part-buffering.txt:
3628 * gst/gstquery.c: (gst_query_parse_latency),
3629 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3630 (gst_query_parse_buffering_percent):
3632 Add busy field and quark for the buffering query so that the app can
3633 only use the query to see if buffering is in progress.
3635 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3637 * docs/gst/gstreamer-sections.txt:
3638 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3639 (gst_message_parse_buffering_stats):
3641 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3642 (gst_query_parse_latency), (gst_query_new_buffering),
3643 (gst_query_set_buffering_percent),
3644 (gst_query_parse_buffering_percent),
3645 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3646 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3648 Reorder the message docs and headers for clarity.
3649 Add aditional buffering stats API for messages.
3650 Add buffering query.
3651 Convert some leftover queries to use GstQuark.
3652 API: gst_message_set_buffering_stats
3653 API: gst_message_parse_buffering_stats
3654 API: GST_QUERY_BUFFERING
3655 API: GstBufferingMode
3656 API: gst_query_new_buffering
3657 API: gst_query_set_buffering_percent
3658 API: gst_query_parse_buffering_percent
3659 API: gst_query_set_buffering_stats
3660 API: gst_query_parse_buffering_stats
3662 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3664 * gst/gstmessage.c: (gst_message_new_error),
3665 (gst_message_new_warning), (gst_message_new_info),
3666 (gst_message_new_buffering), (gst_message_new_state_changed),
3667 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3668 (gst_message_new_new_clock), (gst_message_new_segment_start),
3669 (gst_message_new_segment_done), (gst_message_new_duration),
3670 (gst_message_new_async_start), (gst_message_parse_buffering),
3671 (gst_message_parse_state_changed),
3672 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3673 (gst_message_parse_new_clock), (gst_message_parse_error),
3674 (gst_message_parse_warning), (gst_message_parse_info),
3675 (gst_message_parse_segment_start),
3676 (gst_message_parse_segment_done), (gst_message_parse_duration),
3677 (gst_message_parse_async_start):
3678 Use GstQuark for messages.
3680 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3682 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3684 Add some more quarks needed for messages and queries.
3686 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3688 * docs/design/part-buffering.txt:
3689 Remove the "none" buffering mode, STREAM is a good default.
3690 Move estimated-time to the avail query, that's when it will be needed.
3691 Other small typo fixes and updates.
3693 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3695 * gst/gstindex.c: (gst_index_resolver_get_type):
3696 Don't put descriptions into the nick field of a GEnumValue: it's not
3697 meant for that and some language bindings rely on the nick field to
3698 construct constants and the like. Fixes #526705.
3700 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3705 Merge other changes from 0.10.19 release branch.
3707 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3709 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3712 Actually build dlls when cross-compiling with mingw32.
3715 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3717 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3720 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3722 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3724 * docs/design/draft-latency.txt:
3727 * docs/design/part-buffering.txt:
3728 Update design docs with more buffering ideas.
3730 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3733 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3735 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3738 Revert part that belongs to the preset patch.
3740 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3743 Add qoutes to the define. Fixes # 525961.
3745 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3747 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3748 (gst_file_index_load), (gst_file_index_add_id),
3749 (gst_file_index_get_assoc_entry):
3750 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3751 (gst_mem_index_free_id), (gst_mem_index_add_id),
3752 (gst_mem_index_index_format):
3753 Use GSlice when possible.
3755 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3757 * libs/gst/controller/gstinterpolationcontrolsource.c:
3758 (gst_control_point_free),
3759 (gst_interpolation_control_source_set_internal):
3760 Use GSlice for allocating the control points.
3762 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3764 * plugins/elements/gsttypefindelement.c:
3765 (gst_type_find_element_class_init),
3766 (gst_type_find_element_set_property),
3767 (gst_type_find_element_get_property),
3768 (gst_type_find_element_activate):
3769 * plugins/elements/gsttypefindelement.h:
3771 Fix pad leak when peer query fails.
3772 We can still typefind when the peer returns -1.
3773 Add property to force caps and bypass typefinding. This will be used in
3777 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3782 * gst/glib-compat-private.h:
3783 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3784 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3785 Unconditionally use GSlice for allocation.
3787 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3788 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3789 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3790 (gst_structure_free):
3791 Use GSlice for allocation.
3793 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3795 * gst/parse/Makefile.am:
3796 * gst/parse/grammar.tab.pre.c:
3797 * gst/parse/grammar.tab.pre.h:
3798 * gst/parse/lex._gst_parse_yy.pre.c:
3799 Require a new enough flex and bison and remove the parser hacks to use
3800 a pre-regenerated version.
3802 2008-04-01 Julien Moutte <julien@fluendo.com>
3804 patch by: Jason Zhao <E3423C@motorola.com>
3806 * configure.ac: Add a configure switch to disable option parsing
3810 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3813 * gst/gstregistry.c:
3814 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3815 and handle this case.
3818 Add a comment here describing, why we stat each plugin and not try to
3821 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3823 * libs/gst/base/gstbasetransform.c:
3824 (gst_base_transform_prepare_output_buffer):
3825 Also unset the GAP flag on buffers if we're working inplace but
3826 the element is not GAP-aware.
3828 Mark a comment as FIXME 0.11.
3830 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3833 Fix type in log message and add one to ease seeing how long registry
3834 cache verification takes.
3836 * gst/gstregistry.c:
3837 Only test plugin filenames against G_MODULE_SUFFIX.
3839 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3841 * gst/gstdebugutils.c:
3842 Improve handling ghost/proxy pads.
3844 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3846 * docs/gst/gstreamer-sections.txt:
3849 Expose macro to docs and fix link to it.
3851 2008-03-27 Michael Smith <msmith@fluendo.com>
3853 * libs/gst/dataprotocol/dataprotocol.c:
3854 (gst_dp_packet_from_event_1_0):
3855 When calculating GDP body CRC, use the correct pointer.
3856 Fixes part of #522401.
3858 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3860 Patch by: Mark Nauwelaerts <manauw at skynet be>
3862 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3863 (gst_identity_init), (gst_identity_prepare_output_buffer):
3864 Identity is not always a passthrough element, it can modify the buffer
3865 timestamps when it has a datarate and operates in single-segment mode.
3866 We therefore make it an in_place filter with a custom buffer prepare
3867 function that conditionally makes the input buffer metadata writable
3868 when needed. Fixes #523985.
3870 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3872 Patch by: Mark Nauwelaerts <manauw at skynet be>
3875 * libs/gst/base/gstbasesrc.h:
3876 * libs/gst/base/gstbasetransform.c:
3877 * libs/gst/check/gstcheck.c:
3878 Small documentation fixes. Fixes #523978.
3880 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3882 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3883 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3884 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3886 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3888 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3889 (single_queue_underrun_cb):
3890 When trying to make room in the queue, bump the max allowed buffers
3891 bigger than the current amount of buffers in the queue. this fixes some
3892 nasty deadlocks in multiqueue when dynamically changing the limits of
3895 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3897 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3899 * gst/gstcaps.c: (gst_caps_set_simple),
3900 (gst_caps_set_simple_valist), (gst_caps_intersect):
3902 Constify the field gchar * params in set_simple and friends.
3905 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3907 * gst/gstvalue.c: (gst_value_transform_object_string):
3908 Transform a GstObject to a more meaningfull string that includes the
3909 object type in addition to its name.
3911 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3914 ChangeLog surgery to add bugnumber to commit.
3916 2008-03-23 Rene Stadler <mail@renestadler.de>
3918 * libs/gst/base/gstbasetransform.c:
3919 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3921 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3923 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3924 Rename constant everywhere and don't forget one occurence.
3926 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3928 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3929 Align memory to the pointer size even if the architecture allows
3930 unaligned memory access. Unaligned memory access usually comes with
3931 performance penality.
3933 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3935 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3936 (gst_registry_binary_check_magic),
3937 (gst_registry_binary_load_pad_template),
3938 (gst_registry_binary_load_feature),
3939 (gst_registry_binary_load_plugin):
3940 Align memory to the pointer size instead of always 32 bit. Fixes
3941 unaligned memory accesses on ia64 and friends.
3943 * gst/gstregistrybinary.h:
3944 Bump binary registry format version for this as it changes the
3945 format on those architectures that don't have unaligned access
3946 and 64 bit pointers.
3948 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3950 * docs/pwg/advanced-dparams.xml:
3951 * docs/pwg/building-props.xml:
3952 * docs/pwg/other-source.xml:
3953 * gst/glib-compat.h:
3954 * gst/gstbin.c: (gst_bin_class_init):
3955 * gst/gstclock.c: (gst_clock_class_init):
3956 * gst/gstindex.c: (gst_index_class_init):
3957 * gst/gstobject.c: (gst_object_class_init):
3958 * gst/gstpad.c: (gst_pad_class_init):
3959 * gst/gstpipeline.c: (gst_pipeline_class_init):
3960 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3961 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3962 * libs/gst/base/gstbasetransform.c:
3963 (gst_base_transform_class_init):
3964 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3965 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3966 (_gst_check_fault_handler_sighandler),
3967 (_gst_check_fault_handler_setup), (gst_check_init):
3968 * libs/gst/controller/gstcontroller.c:
3969 (_gst_controller_class_init):
3970 * libs/gst/controller/gstlfocontrolsource.c:
3971 (gst_lfo_control_source_class_init):
3972 * libs/gst/net/gstnetclientclock.c:
3973 (gst_net_client_clock_class_init):
3974 * libs/gst/net/gstnettimeprovider.c:
3975 (gst_net_time_provider_class_init):
3976 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3977 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3978 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3979 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3980 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3981 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3982 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3983 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3984 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3985 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3986 * plugins/elements/gsttee.c: (gst_tee_class_init):
3987 * plugins/elements/gsttypefindelement.c:
3988 (gst_type_find_element_class_init):
3989 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3990 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3991 use it everywhere for GParamSpecs that use static strings (i.e. all).
3992 This gives us less memory usage, fewer allocations and thus less
3993 memory defragmentation. Fixes bug #523806.
3995 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3997 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3998 (gst_param_spec_mini_object):
3999 * gst/gstminiobject.h:
4000 * win32/common/libgstreamer.def:
4001 * docs/gst/gstreamer-sections.txt:
4002 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4003 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4004 GstParamSpecMiniObject into a public header for this.
4006 This make GstMiniObject a bit more consistent with GObject and makes
4007 it possible to extend the param specs.
4009 gst_value_dup_mini_object is mainly useful for set_property methods.
4013 * tools/gst-inspect.c: (print_element_properties_info):
4014 Print something useful for GstMiniObject properties and not just
4017 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4019 * docs/gst/gstreamer-sections.txt:
4020 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4021 (gst_registry_binary_check_magic):
4022 * gst/gstregistrybinary.h:
4023 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4024 and add it to the (private part) of the docs to fix the build.
4026 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4028 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4029 (gst_registry_binary_check_magic),
4030 (gst_registry_binary_read_cache):
4031 * gst/gstregistrybinary.h:
4032 Don't use GST_MAJORMINOR for the binary registry version. Instead
4033 hardcode a value that must be changed whenever the format changes
4034 in an incompatible way.
4035 Also don't GST_ERROR when there is a version mismatch, just
4036 regenerate the registry silently.
4038 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
4041 Back to development - 0.10.18.1
4043 === release 0.10.18 ===
4045 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4048 releasing 0.10.18, "So far away"
4050 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4053 * win32/common/config.h:
4054 0.10.17.4 pre-release
4056 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4058 Patch by: Ole André Vadla Ravnås
4059 <ole dot andre dot ravnas at tandberg dot com>
4061 * docs/gst/gstreamer-sections.txt:
4062 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4063 (gst_poll_update_winsock_event_mask),
4064 (gst_poll_prepare_winsock_active_sets),
4065 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4066 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4067 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4068 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4069 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4071 * win32/common/libgstreamer.def:
4072 Add new function gst_poll_fd_ignored() for improved Windows
4074 Various minor fixes and cleanups. See #520808.
4076 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4078 * gst/gstindex.c: (gst_index_entry_free):
4080 Don't free key strings which we don't own. Fixes crash in
4081 gst_index_entry_free() (#522741).
4083 * tests/check/Makefile.am:
4084 * tests/check/gst/.cvsignore:
4085 * tests/check/gst/gstindex.c: (test_index_entries),
4086 (gst_index_suite), (gst_index):
4087 Add unit test for the above.
4089 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4091 * win32/common/libgstreamer.def:
4092 Remove symbols that were removed recently. Fixes bug #521740.
4094 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4097 * win32/common/config.h:
4098 0.10.17.3 pre-release
4100 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4102 Patch by: Ole André Vadla Ravnås
4103 <ole dot andre dot ravnas at tandberg dot com>
4105 * docs/gst/gstreamer-sections.txt:
4106 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4107 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4108 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4109 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4110 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4111 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4112 (gst_poll_fd_can_write), (gst_poll_wait),
4113 (gst_poll_set_controllable), (gst_poll_restart),
4114 (gst_poll_set_flushing):
4116 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4117 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4118 (gst_net_time_provider_new):
4119 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4120 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4121 * tests/benchmarks/gstpollstress.c: (main):
4122 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4123 Remove GstPollMode from the API, it does not make sense to let the
4124 application control this.
4125 Add support for Win32.
4126 Fix the testsuite. Fixes #520671.
4128 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4130 Patch by: Ole André Vadla Ravnås
4131 <ole dot andre dot ravnas at tandberg dot com>
4133 * gst/gstregistrybinary.c:
4134 Include io.h for write() and close() when building with MSVC. Fixes
4137 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4140 * gst/gst_private.h:
4141 * gst/gstconfig.h.in:
4142 * gst/gstregistry.h:
4143 * gst/gstregistrybinary.c:
4144 * win32/common/gstconfig.h:
4145 Move registry backend API to private headers where we can. Add
4146 fixme-0.11 comments for the others. Add stubs for the xml backend when
4147 using the binary to ensure they functions exists (they should not be
4148 used though). Fixes #520756.
4150 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4153 * win32/common/config.h:
4156 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4158 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4159 (gst_registry_binary_read_cache):
4160 * gst/gstregistryxml.c: (gst_registry_save):
4161 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4162 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4163 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4164 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4165 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4168 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4170 * gst/gstminiobject.c:
4171 Import gst_private.h before any other header that might include other
4172 glib headers. This fixes the build on windows using native compilers.
4174 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4176 * win32/common/gstconfig.h:
4177 Add here too, just for completeness.
4179 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4182 * gst/gstconfig.h.in:
4183 * gst/gstregistry.h:
4184 Fix broken use of config.h-defined preprocessor directive in a public
4185 header file. Add a corresponding define to gstconfig.h, since we can't
4186 really remove those function declarations from the header file now
4187 (or can we? and why are they there in the first place?).
4189 2008-03-03 Andy Wingo <wingo@pobox.com>
4191 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4194 * gst/gststructure.c (gst_structure_from_string): Warn if
4195 structure_from_string didn't consume the whole string, but the
4196 caller did not provide an end pointer.
4198 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4200 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4202 * gst/gstregistryxml.c: (read_string), (load_feature):
4203 Strings allocated by libxml2 should be freed with xmlFree(), not
4204 with g_free(). Fixes issues on windows in certain contexts (#519698).
4206 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4208 * gst/gstinterface.c: (gst_element_implements_interface):
4209 Don't crash if the element supports the interface queried, but does
4210 not implement GstImplementsInterface. Fixes #519584.
4212 * tests/check/Makefile.am:
4213 * tests/check/gst/.cvsignore:
4214 * tests/check/gst/gstinterface.c:
4215 Add unit test for the above.
4217 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4219 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4222 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4224 * gst/gstsegment.c: (gst_segment_set_seek),
4225 (gst_segment_to_stream_time):
4226 Improve some comment.
4227 Update variables where it makes more sense.
4229 2008-02-29 Rene Stadler <mail@renestadler.de>
4231 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4232 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4233 URIHandlers implemented using language bindings.
4235 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4237 * gst/gstelementfactory.h:
4238 * tests/check/elements/fakesink.c:
4239 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4240 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4241 * tests/check/elements/filesink.c: (setup_filesink):
4242 * tests/check/elements/filesrc.c: (setup_filesrc):
4243 * tests/check/elements/identity.c: (setup_identity):
4244 * tests/check/elements/tee.c:
4245 * tests/check/generic/sinks.c:
4246 * tests/check/generic/states.c: (setup), (teardown):
4247 * tests/check/gst/gst.c:
4248 * tests/check/gst/gstabi.c:
4249 * tests/check/gst/gstbin.c:
4250 * tests/check/gst/gstbus.c: (pull_messages):
4251 * tests/check/gst/gstcaps.c:
4252 * tests/check/gst/gstelement.c:
4253 * tests/check/gst/gstevent.c:
4254 * tests/check/gst/gstghostpad.c:
4255 * tests/check/gst/gstiterator.c:
4256 * tests/check/gst/gstmessage.c:
4257 * tests/check/gst/gstminiobject.c: (my_foo_init):
4258 * tests/check/gst/gstobject.c: (thread_name_object),
4260 * tests/check/gst/gstpad.c:
4261 * tests/check/gst/gstplugin.c:
4262 * tests/check/gst/gstpoll.c:
4263 * tests/check/gst/gstquery.c:
4264 * tests/check/gst/gstsegment.c:
4265 * tests/check/gst/gststructure.c:
4266 * tests/check/gst/gstsystemclock.c:
4267 * tests/check/gst/gsttask.c:
4268 * tests/check/gst/gstutils.c:
4269 * tests/check/gst/gstvalue.c:
4270 * tests/check/gst/struct_hppa.h:
4271 * tests/check/gst/struct_i386.h:
4272 * tests/check/gst/struct_ppc32.h:
4273 * tests/check/gst/struct_ppc64.h:
4274 * tests/check/gst/struct_x86_64.h:
4275 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4276 * tests/check/libs/basesrc.c:
4277 * tests/check/libs/controller.c: (GST_START_TEST):
4278 * tests/check/libs/gdp.c:
4279 * tests/check/libs/gstnetclientclock.c:
4280 * tests/check/libs/gstnettimeprovider.c:
4281 * tests/check/libs/libsabi.c:
4282 * tests/check/libs/struct_hppa.h:
4283 * tests/check/libs/struct_i386.h:
4284 * tests/check/libs/struct_ppc32.h:
4285 * tests/check/libs/struct_ppc64.h:
4286 * tests/check/libs/struct_x86_64.h:
4287 * tests/check/pipelines/cleanup.c:
4288 * tests/check/pipelines/simple-launch-lines.c:
4289 * tests/check/pipelines/stress.c:
4290 And correct even more valid sparse warnings.
4292 * win32/common/libgstreamer.def:
4293 Add gst_poll_fd_init to the list of symbols.
4295 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4297 * gst/gstconfig.h.in:
4298 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4299 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4300 (gst_check_log_critical_func), (gst_check_drop_buffers),
4301 (gst_check_element_push_buffer_list):
4302 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4303 (gst_controller_get_type):
4304 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4305 (gst_object_get_controller), (gst_object_get_control_source):
4306 * libs/gst/controller/gstinterpolationcontrolsource.c:
4307 (gst_interpolation_control_source_new):
4308 * libs/gst/controller/gstlfocontrolsource.c:
4309 (gst_lfo_control_source_new):
4310 * libs/gst/dataprotocol/dataprotocol.c:
4311 (gst_dp_event_from_packet_0_2):
4312 * plugins/elements/gstfdsrc.c:
4313 * plugins/elements/gstmultiqueue.c:
4314 * plugins/elements/gsttee.c:
4315 * plugins/elements/gsttypefindelement.c:
4316 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4317 (gst_file_index_add_association):
4318 * plugins/indexers/gstmemindex.c:
4319 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4320 * tests/check/elements/queue.c: (setup_queue):
4321 * tests/check/gst/gstpipeline.c:
4322 * tests/check/libs/collectpads.c: (setup), (teardown),
4323 (gst_collect_pads_suite):
4324 * tests/examples/adapter/adapter_test.c:
4325 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4326 * tests/examples/xml/createxml.c:
4327 * tests/examples/xml/runxml.c:
4328 * tools/gst-inspect.c:
4330 Correct all relevant warnings found by the sparse semantic code
4331 analyzer. This include marking several symbols static, using
4332 NULL instead of 0 for pointers, not using variable sized arrays
4333 on the stack, moving variable declarations to the beginning of
4334 a block and using "foo (void)" instead of "foo ()" for declarations.
4336 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4338 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4339 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4340 Don't reset GstPollFDs, this is not necessary at all.
4342 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4343 (delayed_restart), (delayed_control):
4344 Use GST_POLL_FD_INIT.
4346 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4348 * gst/gstpoll.c: (gst_poll_fd_init):
4352 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4353 Use some more init macros.
4355 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4357 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4358 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4359 Use init macros and functions.
4361 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4363 * docs/gst/gstreamer-sections.txt:
4364 * gst/gstpoll.c: (gst_poll_fd_init):
4366 Add INIT macro and _init method for initializing the GstPollFD.
4368 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4370 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4371 (gst_fd_sink_update_fd):
4372 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4373 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4374 (delayed_restart), (delayed_control):
4375 Initialize some uninitialized variables as spotted by valgrind.
4377 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4379 * tests/benchmarks/Makefile.am:
4380 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4382 Add poll stress test.
4384 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4386 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4388 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4389 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4390 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4391 * plugins/elements/gstfdsink.h:
4392 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4393 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4394 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4395 (gst_fd_src_uri_set_uri):
4396 * plugins/elements/gstfdsrc.h:
4397 Port to GstPoll. See #505417.
4399 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4401 * win32/common/libgstreamer.def:
4402 Add new gst_poll_ symbols to win32 defs.
4404 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4406 * docs/libs/gstreamer-libs-sections.txt:
4407 * libs/gst/net/gstnetclientclock.c:
4408 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4409 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4410 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4411 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4412 * libs/gst/net/gstnetclientclock.h:
4413 * libs/gst/net/gstnettimeprovider.c:
4414 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4415 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4416 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4417 (gst_net_time_provider_new):
4418 * libs/gst/net/gstnettimeprovider.h:
4419 Use a private stuct to not break ABI.
4421 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4423 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4425 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4426 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4427 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4428 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4429 * libs/gst/net/gstnetclientclock.h:
4430 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4431 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4432 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4433 (gst_net_time_provider_new):
4434 * libs/gst/net/gstnettimeprovider.h:
4435 Massive code removal and cleanups because of GstPoll.
4438 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4441 Add checks for poll, ppoll and pselect.
4443 * docs/gst/gstreamer-docs.sgml:
4444 * docs/gst/gstreamer-sections.txt:
4445 Add docs for GstPoll.
4449 * gst/gstpoll.c: (find_index), (selectable_fds),
4450 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4451 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4452 (gst_poll_set_mode), (gst_poll_get_mode),
4453 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4454 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4455 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4456 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4457 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4458 (gst_poll_fd_can_write), (gst_poll_wait),
4459 (gst_poll_set_controllable), (gst_poll_restart),
4460 (gst_poll_set_flushing):
4462 Add generic poll abstraction. We ideally don't want to have this in core
4463 here but in glib intead...
4464 This code will be used in various network elements and ultimately for
4465 the nanosecond precision monotonic clock (that's why it's here in core).
4466 It'll allow us to implement cancelable socket operations for windows too.
4468 * tests/check/Makefile.am:
4469 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4470 (delayed_stop), (delayed_restart), (delayed_flush),
4471 (delayed_control), (gst_poll_suite):
4472 Add GstPoll unit test.
4474 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4477 Improve documentation of gst_filter_run(). Fixes #518627.
4479 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4482 Add a few lines about the new 'check-inspected-versions' target.
4484 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4486 * tests/check/gst/gstevent.c:
4487 Add qos to the event test. Rename tcase/tsuite; is not only about
4490 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4492 * plugins/elements/gstqueue.c:
4493 Ensure that buffer metadata is writeable, before modifying. Spotted by
4496 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4498 * plugins/elements/gstqueue.c:
4499 * plugins/elements/gstqueue.h:
4500 When dropping buffers in leaky modes, mark next buffers we sent as
4503 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4505 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4506 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4508 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4510 * plugins/elements/Makefile.am:
4511 * plugins/elements/gstbufferstore.c:
4512 * plugins/elements/gstbufferstore.h:
4513 * plugins/elements/gsttypefindelement.h:
4514 Remove GstBufferStore, no idea why we were still building it.
4515 It's not used anywhere and superseded by GstAdapter.
4517 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4518 (gst_file_src_create_mmap):
4519 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4520 Printf format fixes for 64-bit integers.
4522 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4525 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4526 We're not in 0.8 times anymore.
4528 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4530 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4531 (gst_check_element_push_buffer_list):
4532 * libs/gst/check/gstcheck.h:
4533 Make the declaration in the header for
4534 gst_check_element_push_buffer_list match the implementation.
4536 Fix up spelling, grammar and wording of the documentation in a few
4537 places, and add the Since keyword to new API functions.
4538 Use g_list_delete_link instead of g_list_remove in
4539 gst_check_drop_buffers, since it's immeasurably more efficient.
4541 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4542 Use new gst_check_drop_buffers function where appropriate.
4544 * win32/common/libgstbase.def:
4545 * win32/common/libgstreamer.def:
4546 Add new symbols gst_collect_pads_take_buffer,
4547 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4550 Changelog surgery to add API keyword to new gst_check API.
4552 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4554 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4555 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4556 Update pre-generated flex files with flex 2.3.34.
4558 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4560 * gst/gstminiobject.c:
4561 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4562 friendly to subclasses and not require them to know all internals
4563 of their parent class.
4565 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4567 * docs/libs/gstreamer-libs-sections.txt:
4568 * libs/gst/base/gstcollectpads.c:
4569 * libs/gst/base/gstcollectpads.h:
4570 Add sub-buffer functions to collectpads. Fixes #516187.
4571 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4573 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4576 Copy selected buffer-flags when creating subbuffers.
4579 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4581 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4582 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4583 * gst/gstmessage.c: (gst_message_class_init),
4584 (gst_message_finalize):
4585 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4586 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4587 (gst_mmap_buffer_finalize):
4588 Properly chain up finalize functions to the parent class.
4590 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4592 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4594 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4595 (gst_index_set_resolver_full):
4597 Add new function with option to dispose of user_data in resolver.
4598 Actually call the dispose function when finalizing the object and not
4599 just when changing the resolver/filter.
4600 API: GstIndex::gst_index_set_resolver_full()
4602 * docs/gst/gstreamer-sections.txt:
4603 Add new function to docs. Fixes #515469.
4605 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4607 * gst/gstindex.c: (gst_index_finalize):
4608 Chain up finalize to the parent class. Fixes leaking the GstObject
4609 name and other things.
4611 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4614 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4615 pre-releases or releases.
4617 * docs/faq/gst-uninstalled:
4620 * docs/random/release:
4621 Change one of the steps - we only upload core & base to Gnome FTP
4623 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4625 * gst/gstconfig.h.in:
4626 Add 'id' for example.
4630 * plugins/elements/gstfdsink.c:
4631 Link to signals. Doc and comment fixes.
4633 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4635 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4636 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4637 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4638 unused and unimplemented; finally, it is plugin features, not
4639 plugins, that have ranks.
4641 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4643 * gst/gstpluginfeature.h:
4644 Clarify GstRank range docs.
4646 2008-02-05 David Schleef <ds@schleef.org>
4648 * gst/gst.c: Add a separate gst_deinitialized that prevents
4649 gst_init() from being called after gst_deinit(). Fixes #509559
4651 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4653 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4654 (gst_bin_class_init):
4655 * gst/gstelement.c: (gst_element_base_class_init),
4656 (gst_element_class_add_pad_template):
4657 * gst/gstpadtemplate.c: (gst_pad_template_init):
4658 * gst/gstpipeline.c: (gst_pipeline_get_type),
4659 (gst_pipeline_base_init), (gst_pipeline_class_init):
4660 * libs/gst/base/gstbasesink.c:
4661 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4662 (gst_base_src_base_init), (gst_base_src_class_init):
4663 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4664 (gst_capsfilter_class_init):
4665 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4666 (gst_fake_sink_class_init):
4667 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4668 (gst_fake_src_class_init):
4669 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4670 (gst_fd_sink_class_init):
4671 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4672 (gst_fd_src_class_init):
4673 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4674 (gst_file_sink_class_init):
4675 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4676 (gst_file_src_class_init):
4677 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4678 (gst_identity_class_init):
4679 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4680 (gst_multi_queue_class_init):
4681 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4682 (gst_queue_class_init):
4683 * plugins/elements/gsttee.c: (gst_tee_base_init),
4684 (gst_tee_class_init):
4685 * plugins/elements/gsttypefindelement.c:
4686 (gst_type_find_element_base_init),
4687 (gst_type_find_element_class_init):
4688 * tests/check/gst/gstelement.c: (gst_element_suite):
4689 Revert previous changes to the behaviour of GstPadTemplates, etc
4690 and the possiblity to call them in class_init as it breaks too
4691 many elements. Reopens bug #491501.
4693 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4696 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4698 * tools/gst-launch.c:
4699 Dump one graph per pipeline state-change and state change name
4700 (if GST_DEBUG_DUMP_DOT_DIR is set).
4702 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4705 * tests/check/gst/gstpad.c:
4706 Be sure that we have a new copy of the caps and not
4707 reffed caps from a template
4709 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4711 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4712 * gst/gstpipeline.c: (gst_pipeline_get_type),
4713 (gst_pipeline_class_init):
4714 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4715 (gst_base_sink_class_init):
4716 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4717 (gst_base_src_class_init):
4718 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4719 (gst_base_transform_class_init):
4720 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4721 (gst_collect_pads_class_init):
4722 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4723 * libs/gst/net/gstnettimeprovider.c:
4724 (gst_net_time_provider_base_init),
4725 (gst_net_time_provider_class_init):
4726 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4727 (gst_capsfilter_class_init):
4728 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4729 (gst_fake_sink_class_init):
4730 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4731 (gst_fake_src_class_init):
4732 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4733 (gst_fd_sink_class_init):
4734 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4735 (gst_fd_src_class_init):
4736 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4737 (gst_file_sink_class_init):
4738 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4739 (gst_file_src_class_init):
4740 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4741 (gst_identity_class_init):
4742 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4743 (gst_multi_queue_class_init):
4744 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4745 (gst_queue_class_init):
4746 * plugins/elements/gsttee.c: (gst_tee_base_init),
4747 (gst_tee_class_init):
4748 * plugins/elements/gsttypefindelement.c:
4749 (gst_type_find_element_base_init),
4750 (gst_type_find_element_class_init):
4751 Don't use base_init where not absolutely necessary. For example it's
4752 not necessary anymore for adding pad templates or setting element
4755 Leave empty base_init functions in several places as GST_BOILERPLATE
4756 still defines and uses them.
4758 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4760 * gst/gstelement.c: (gst_element_base_class_init),
4761 (gst_element_class_add_pad_template):
4762 * gst/gstpadtemplate.c:
4763 Make it possible (and recommended) to set element details and add
4764 pad templates in the class_init functions by copying the details/pad
4765 templates in GstElement's base_init.
4767 Also make it possible to replace existing pad templates by adding
4768 a new one with the same name. This was done in a hackish fashion
4769 in same elements before already.
4771 Don't reference pad templates that are added a second time. A
4772 new pad template has a refcount of one and is not floating anymore
4773 and to be owned by the element's class. Make this more explicit by
4774 mentioning it in the docs of gst_element_class_add_pad_template().
4776 These changes are backwards compatible. Fixes bug #491501.
4778 * tests/check/gst/gstelement.c:
4779 Add unit test for setting element details, adding pad templates and
4780 replacing them in a subclass.
4782 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4784 * tools/gst-inspect.c: (print_interfaces),
4785 (print_element_properties_info), (print_pad_info),
4786 (print_signal_info), (print_element_info):
4787 Fix a few memory leaks.
4789 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4791 * docs/libs/gstreamer-libs-sections.txt:
4792 * libs/gst/check/gstcheck.c:
4793 * libs/gst/check/gstcheck.h:
4794 Add more functions for unit testing: gst_check_drop_buffers,
4795 gst_check_caps_equal, gst_check_element_push_buffer_list,
4796 gst_check_element_push_buffer
4797 API: gst_check_drop_buffers
4798 API: gst_check_caps_equal
4799 API: gst_check_element_push_buffer_list
4800 API: gst_check_element_push_buffer
4802 2008-02-01 Julien Moutte <julien@fluendo.com>
4804 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4805 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4806 (gst_index_finalize), (gst_index_entry_free),
4807 (gst_index_add_association): Fix memory leaks.
4808 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4809 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4810 (gst_mem_index_free_format), (gst_mem_index_free_id),
4811 (gst_mem_index_finalize): Fix memory leaks.
4812 * win32/common/config.h: Updated to CVS HEAD.
4814 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4817 Some more details about how the plugin docs works.
4819 * docs/plugins/gstreamer-plugins-sections.txt:
4822 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4824 * gst/parse/grammar.tab.pre.c:
4825 * gst/parse/grammar.tab.pre.h:
4826 * gst/parse/grammar.y:
4827 * gst/parse/lex._gst_parse_yy.pre.c:
4828 Add delayed set-property. This allows to set properties on dynamicaly
4829 created objects (pads in videomxer). Fixes #509391.
4831 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4834 Check if caps are not NULL (fix bug #510194)
4836 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4838 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4839 (gst_base_sink_get_position_paused):
4840 Add fixme regarding EOS in pull mode.
4841 Fix position reporting in PAUSED for negative rates.
4843 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4845 * gst/gstminiobject.c: (gst_mini_object_replace):
4846 When replacing a miniobject, do a quick equality check first so that we
4847 can avoid a ref/unref pair.
4849 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4851 * docs/design/part-synchronisation.txt:
4854 * docs/plugins/Makefile.am:
4855 * docs/plugins/gstreamer-plugins-docs.sgml:
4856 * docs/plugins/gstreamer-plugins-sections.txt:
4857 * plugins/elements/gstmultiqueue.c:
4858 Add multiqueue to the docs.
4860 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4865 === release 0.10.17 ===
4867 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4870 releasing 0.10.17, "Due Negligence"
4872 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4875 Revert caps != NULL check temporarily for 0.10.17 release.
4877 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4880 Check if caps are not NULL (fix bug #510194)
4882 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4885 Fix compilation on systems that have posix timers but no
4888 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4891 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4893 * tools/gst-inspect.c:
4894 Revert previous commit in preparation for an impromptu 0.10.17 release
4896 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4898 * tools/gst-inspect.c: (print_interfaces),
4899 (print_element_properties_info), (print_pad_info),
4900 (print_signal_info), (print_element_info):
4901 Fix a few memory leaks.
4903 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4908 === release 0.10.16 ===
4910 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4913 releasing 0.10.16, "Special Dispensation"
4915 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4918 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4919 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4920 not fail when trying to crosscompile on OpenEmbedded (#511750).
4922 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4925 Use $(MAKE) instead of make to fix the build if GNU make is
4926 called different. Fixes bug #510747.
4928 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4930 * gst/gstplugin.c: (_gst_plugin_initialize):
4931 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4932 again, which I broke two commits ago when changing the API
4933 of gst_plugin_register_static(): the g_list_foreach() in
4934 _gst_plugin_register_static still assumed the old function
4935 signature and would therefore fail (re-fixes #510187).
4937 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4938 (_gst_plugin_register_static), (gst_plugin_register_static):
4939 Revert the (technically correct) change to call g_thread_init() from
4940 the pre-main() constructor. This will break programs which call
4941 g_thread_init() without an if (!g_thread_supported()) guard in their
4942 main function. We could just blame it on GLib or the application, but
4943 it's probably best to just avoid this altogether and simply not use
4944 any GLib functions here and use plain old malloc() with a simple
4945 array to store the plugins to register later when gst_init() is
4946 finally called (re-fixes #510187).
4948 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4949 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4950 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4951 (GST_START_TEST), (gst_plugin_suite):
4952 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4955 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4957 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4958 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4959 This makes gtk-doc complain, but results in slightly better
4960 compiler errors. The old _gst_plugin_register_static() is
4961 still guarded, so there'll be a compiler warning about that
4962 instead. Fixes #510187 too.
4964 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4966 * gst/gst.c: (init_post):
4967 * gst/gstplugin.c: (_gst_plugin_register_static),
4968 (gst_plugin_register_static), (_gst_plugin_initialize):
4969 * gst/gstplugin.h: (GstPluginFilter):
4970 Change API of gst_plugin_register_static() to not take
4971 a GstPluginDesc, but rather just take all the arguments
4972 in a GstPluginDesc directly. This is more intuitive and
4973 avoids certain mistakes when porting code from
4974 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4977 * tests/check/gst/gstplugin.c:
4978 Fix up for changed API.
4980 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4982 * docs/faq/legal.xml:
4983 Update FAQ, Totem actually has an exception these days.
4985 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4987 * win32/common/libgstreamer.def:
4988 Add new API declarations
4990 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4992 * gst/gstminiobject.c:
4993 Spelling fixes for the API docs.
4995 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4997 * libs/gst/base/gstbasetransform.c:
4998 Fix long property description for QoS.
5000 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
5003 _gst_trace_on is already provided by gsttrace.h, no need to declare
5006 * docs/libs/gstreamer-libs-sections.txt:
5007 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5008 and remove strange tcase_add_test which is outputting a warning.
5010 * libs/gst/check/gstcheck.c:
5011 * libs/gst/check/gstcheck.h:
5012 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5013 and define them in gstcheck.c instead of having every .c file whcih
5014 includes gstcheck.h be defining its own copy and relying on symbol
5015 interposing to marry them all, which doesn't work on Solaris.
5017 * tests/check/elements/identity.c: (GST_START_TEST):
5018 Don't define 'buffers' locally, it comes from libgstcheck.
5020 * tests/check/generic/sinks.c: (send_buffer):
5021 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5023 * tests/check/gst/gststructure.c: (GST_START_TEST):
5024 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5025 * tests/check/gst/gstutils.c: (GST_START_TEST):
5026 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5027 Add a bunch of casts to make various constants fit the types
5028 they're being assigned to.
5030 2008-01-10 Stefan Kost <ensonic@users.sf.net>
5032 * gst/gstchildproxy.c:
5033 Improve docs and add some ideas for making this more general-purpose.
5035 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
5037 * gst/gst_private.h: (GST_CAT_TYPES):
5038 Add GST_CAT_TYPES, for consistency, and so that the other
5039 debug categories don't make fun of it. Spotted by Saur on IRC.
5041 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5043 * gst/parse/Makefile.am:
5044 Move types.h from EXTRA_DIST to noinst_HEADERS.
5046 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5049 Add -Wno-portability to the automake parameters to stop warnings
5050 about GNU make extensions being used. We require GNU make in almost
5051 every Makefile anyway.
5054 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5055 at the same time is required for per target flags.
5057 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5060 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5061 __GNUC__ is defined before using it.
5063 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5065 * docs/gst/gstreamer-sections.txt:
5066 * gst/gst.c: (init_post):
5067 * gst/gstplugin.c: (_gst_plugin_register_static),
5068 (gst_plugin_register_static), (_gst_plugin_initialize),
5069 (gst_plugin_register_func):
5070 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5071 API: add gst_plugin_register_static() and deprecate
5072 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5074 Also, in _gst_plugin_register_static(), make sure to call
5075 g_thread_init() before calling GLib functions such as
5076 g_list_append() if we're not initialised yet, since that
5077 may lead to random crashes with older GSlice/GLib versions.
5079 * tests/check/gst/gstplugin.c:
5080 Adapt unit test to above changes.
5082 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5084 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5085 * gst/gstcaps.c: (gst_caps_to_string):
5086 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5087 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5088 Yet another gratuitous GString micro-optimisation: add a (private)
5089 function that serialises a structure appending to an existing
5090 GString, so that when we serialise caps we don't need to alloc+free
5091 a throwaway GString for each structure (each of which also entailing
5092 multiple reallocs on the way); also use g_string_sized_new() in
5093 various places with an approximate string length to avoid reallocs
5094 within GString. See #500143.
5096 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5098 * gst/gststructure.c: (gst_structure_id_set_value):
5099 Always check UTF-8 conformance of structure strings and not only
5100 if the debugging system is enabled; reasoning: the behaviour of
5101 the actual code shouldn't really change depending on whether the
5102 debugging system is enabled or not (#508291).
5104 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5107 Remove old coverage target in favour of "make lcov".
5109 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5111 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5112 (gst_base_src_loop):
5113 The start segment for reverse playback goes from start to last_stop.
5115 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5117 Patch by: Peter Kjellerstedt <pkj axis com>
5120 Cast the results from the timeval/spec_to_time macros to what the
5121 docs say it casts to, a GstClockTime. fixes #508175.
5123 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5126 Update some comments.
5128 * tools/gst-inspect.c: (print_element_properties_info):
5129 Improve printing of flags.
5131 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5133 * libs/gst/base/gstbasetransform.c:
5134 (gst_base_transform_transform_size):
5135 Print element name with g_warning() if there's a problem
5138 2008-01-07 David Schleef <ds@schleef.org>
5140 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5142 * libs/gst/controller/gstcontroller.h:
5143 * libs/gst/controller/gstcontrolsource.h:
5144 * libs/gst/controller/gstinterpolationcontrolsource.h:
5145 * libs/gst/controller/gstlfocontrolsource.h:
5146 * libs/gst/dataprotocol/dataprotocol.h:
5147 Fix empty prototypes. Fixes bug #507957.
5149 2008-01-07 David Schleef <ds@schleef.org>
5151 * docs/faq/dependencies.xml: Fix typo.
5153 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5155 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5156 (gst_base_src_loop):
5157 Don't update the last_stop position in do_seek, that's the position we
5159 Read backwards when we have a negative rate.
5161 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5162 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5164 Add check for reverse reading.
5166 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5168 Patch by: Alexis Ballier <aballier at gentoo org>
5170 * tests/check/gst/gstabi.c:
5171 * tests/check/gst/struct_ppc64.h:
5172 * tests/check/libs/libsabi.c:
5173 * tests/check/libs/struct_ppc64.h:
5174 Decide which header to include based on the userland ABI target
5175 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5176 for 64-bit userland (#503590). Might need something similar for
5179 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5181 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5182 Log the reason why fopen fails in addition to the fact that it failed.
5184 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5186 * gst/parse/parse.l:
5187 Use "%option never-interactive" to prevent useless calls to isatty()
5188 on every input when parsing. Also use "%option noinput" to not define
5189 the static input/yyinput functions which we don't use anyway. This
5190 removes a compiler warning with gcc 4.3 and saves some bytes in the
5193 * gst/parse/lex._gst_parse_yy.pre.c:
5194 Regenerated for the above change.
5196 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5198 * gst/gstpad.c: (fixate_value):
5199 Don't crash when trying to fixate and empty list.
5202 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5204 * docs/faq/gst-uninstalled:
5205 Clarify the comments to make the usage of this script and what it
5206 does easier to understand.
5208 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5210 * tools/gst-plot-timeline.py:
5211 Add more options to gst-plot-timeline
5213 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5215 * docs/design/part-synchronisation.txt:
5216 Some more info on how the stream_time in GstBaseSink is done.
5218 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5220 * tests/check/generic/sinks.c: (gst_sinks_suite):
5221 Put back the tcase_set_timeout(), apparently it's needed after
5222 all; fix it up in a way that makes things work with valgrind too.
5224 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5226 * gst/gstdebugutils.c:
5227 Add warning when failed to open file for writing.
5229 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5231 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5233 * gst/gstvalue.c: (gst_value_is_fixed):
5234 Optimisation: bail out of the loop as early as possible (#500143).
5236 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5238 * gst/gstcaps.c: (gst_caps_to_string):
5239 * gst/gstinfo.c: (gst_debug_construct_term_color):
5240 * gst/gstparse.c: (gst_parse_launchv):
5241 * gst/gstutils.c: (gst_util_dump_mem):
5242 * gst/gstvalue.c: (gst_value_serialize_any_list),
5243 (gst_value_transform_any_list_string):
5244 Bunch of gratuitous nano-optimisations.
5246 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5248 * tests/check/generic/sinks.c: (async_done_func),
5249 (async_done_eos_func):
5250 Fix leak in unit test (bus sync handler must unref the message
5251 if it returns GST_BUS_DROP). Don't fiddle with the default test
5252 timeout, this is smaller than the current preconfigured value
5253 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5254 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5256 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5258 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5261 Check for stdio_ext.h for the filesink changes.
5263 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5264 (gst_file_sink_class_init), (gst_file_sink_init),
5265 (gst_file_sink_dispose), (gst_file_sink_set_property),
5266 (gst_file_sink_get_property), (gst_file_sink_open_file),
5267 (gst_file_sink_close_file):
5268 * plugins/elements/gstfilesink.h:
5269 Add two properties to control the buffering mode and size.
5270 API: GstFileSink::buffer-mode
5271 API: GstFileSink::buffer-size
5274 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5276 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5277 Add some more docs to explain why a FIXME was wrongly added.
5279 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5282 Fix typo in the gst_object_{ref,unref} documentation.
5284 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5286 * tests/check/libs/controller.c:
5287 * tests/check/libs/typefindhelper.c:
5288 * tests/check/pipelines/parse-launch.c:
5289 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5290 going to be deprecated (see #498924).
5292 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5294 * gst/gsttypefind.c: (gst_type_find_register):
5295 Make gst_type_find_register work for static typefind functions,
5296 ie. allow passing plugin == NULL (prerequisite for #498924).
5298 * gst/gstelementfactory.c: (gst_element_register):
5299 Small docs addition.
5301 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5303 * gst/gstpad.c: (gst_pad_dispose):
5304 Really unlink the peer pad instead of setting the peer pointer to NULL
5305 when we dispose the pad.
5306 This correctly calls the unlink functions and makes sure that the peer
5307 does not have a handle to invalid memory. See #504671.
5309 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5310 Add testsuite for above case.
5312 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5314 Patch by: Peter Kjellerstedt <pkj axis com>
5316 * libs/gst/check/gstcheck.h:
5317 Fix detection of the check version we're compiling against (would
5318 otherwise break if check goes v0.10.0); correctly report the
5319 name of the failed test again in case of failure, instead of
5320 just 'tf' (fixes #504499).
5322 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5324 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5325 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5326 (gst_base_src_loop), (gst_base_src_set_flushing),
5327 (gst_base_src_change_state):
5328 Allow sending EOS to the source to make it send out an EOS event from
5329 the streaming thread.
5330 Update docs and deprecate the old NULL/READY shutdown method.
5332 * tests/check/libs/basesrc.c: (GST_START_TEST),
5333 (gst_basesrc_suite):
5334 Add unit test for controlled shutdown.
5336 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5338 * docs/design/part-synchronisation.txt:
5341 * gst/gstsegment.c: (gst_segment_set_seek),
5342 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5343 (gst_segment_to_running_time):
5344 The seek format can be different from the segment format when the start
5345 and stop values are not to be updated, when we only do a rate change for
5348 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5349 (gst_segment_suite):
5350 Add a testcase for the rate-only seeks, checking that the format is
5351 correctly ignored when start and stop are not updated.
5353 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5355 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5357 * win32/vs8/grammar.vcproj:
5358 * win32/vs8/libgstcontroller.vcproj:
5359 * win32/vs8/libgstreamer.vcproj:
5360 Fix compilation with VS8 and include some missing files.
5362 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5365 Small docs addition: mention that the strings returned by
5366 gst_tag_list_get_string*() are in UTF-8 encoding.
5368 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5371 The check-exports stuff moved to common/win32.mak, so include that.
5373 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5375 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5376 (gst_base_src_perform_seek), (gst_base_src_get_range),
5377 (gst_base_src_set_playing), (gst_base_src_change_state):
5378 Make _wait_playing() not check any variables so that we can call this
5379 function from subclasses. Move the checks elsewhere similar to
5380 _wait_preroll() in basesink.
5382 Only signal the LIVE cond when we are going back to PLAYING.
5384 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5386 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5387 Use g_remove() and g_rename(). Check result of g_rename(), and
5388 don't leak the open file descriptor if we error out when writing.
5390 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5391 Must check the return value of close() after writing out the new
5392 registry file. Sometimes write problems such as out-of-diskspace
5393 are only reported when the file is closed and not already during
5394 the write. This may have caused partial/broken registry files in
5395 some rare circumstances. Should fix #503675.
5397 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5399 * docs/gst/.cvsignore:
5400 * docs/libs/.cvsignore:
5401 * docs/plugins/.cvsignore:
5402 Ignore files generated by new common/* modifications
5404 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5406 * win32/common/libgstbase.def:
5407 Yes, you can also have a <TAB> if you want.
5409 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5411 * win32/common/libgstbase.def:
5412 Add new basetransform API to win export file.
5414 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5416 * tests/check/gst/gstbin.c:
5417 Adjust the test to the refcount change two days ago.
5419 2007-12-14 David Schleef <ds@schleef.org>
5421 * docs/faq/getting.xml: Fix typo.
5423 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5425 * docs/libs/gstreamer-libs-sections.txt:
5426 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5427 (gst_base_transform_prepare_output_buffer),
5428 (gst_base_transform_set_gap_aware):
5429 * libs/gst/base/gstbasetransform.h:
5430 API: Add gst_base_transform_set_gap_aware() to control whether
5431 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5432 get buffers with this flag at all. Fixes #503231.
5434 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5436 * libs/gst/base/gstbasesink.c:
5437 * libs/gst/base/gstbasesrc.c:
5438 * libs/gst/base/gstbasetransform.c:
5439 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5440 thread. Correct log message in gstbasesrc.c.
5442 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5444 * gst/gstutils.c: (element_find_unconnected_pad):
5445 Fix possible compiler warning (#503417).
5447 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5449 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5450 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5452 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5454 * tools/gst-inspect.c: (print_element_properties_info):
5455 Add support for GstFraction properties.
5457 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5460 Add check-exports target and run it as part of 'make check'
5461 (see #499140 and #493983).
5463 * gst/gst_private.h:
5464 * gst/gstelementfactory.h:
5465 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5466 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5467 (_priv_gst_in_valgrind):
5468 * gst/gstinfo.h: (GstLogFunction):
5469 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5470 (gst_type_find_register):
5471 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5472 (gst_type_find_factory_get_type):
5473 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5474 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5475 (gst_controller_new_valist), (gst_controller_new_list),
5476 (_gst_controller_dispose), (_gst_controller_class_init):
5477 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5478 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5479 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5480 (gst_object_get_controller), (gst_object_set_controller),
5481 (gst_object_suggest_next_sync), (gst_object_sync_values),
5482 (gst_object_set_control_source), (gst_object_get_control_source),
5483 (gst_object_get_value_arrays), (gst_object_get_value_array),
5484 (gst_object_get_control_rate), (gst_object_set_control_rate):
5485 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5486 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5487 Make some functions that should be static static; rename some
5488 private symbols so that they don't get exported; add some FIXME
5489 comments so we can move accidentally exported functions into
5490 our private section in 0.11.
5492 * win32/common/libgstreamer.def:
5493 Add gst_utils_get_timestamp().
5495 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5499 Add more missing "Since:" tags to docs.
5501 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5504 Add mising "Since:" to docs.
5506 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5509 Include "glib-compat-private.h" to fix the build on system with
5510 glib < 2.10. Fixes #503131.
5512 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5516 Actually its not PURE as it gets the time from elsewhere.
5518 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5520 * docs/gst/gstreamer-sections.txt:
5522 * gst/gstdebugutils.c:
5526 * libs/gst/base/gstbasesink.c:
5527 * tools/gst-launch.c:
5528 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5529 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5530 Thanks Tim for spotting.
5531 API: gst_util_get_timestamp
5533 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5536 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5538 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5540 * gst/gststructure.c: (gst_structure_validate_name),
5541 (gst_structure_new_valist), (gst_structure_parse_value),
5542 (gst_structure_from_string):
5543 Don't crash in _from_string() if the structure name is not valid
5544 (fixes #501560). Allow structure names to start with a number
5545 again (this apparently broke the ubuntu codec installer).
5547 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5549 Add unit test for the crash; update unit tests for new behaviour.
5551 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5554 Clarify gst_element_get_compatible_pad() documentation.
5557 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5559 * tests/check/Makefile.am:
5560 Don't forget to dist {gst,libs}/struct_hppa.h.
5562 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5564 * libs/gst/base/gstbasesink.c:
5565 Use new API to get elapsed time.
5567 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5569 * gst/gstdebugutils.c:
5571 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5573 * tools/gst-launch.c:
5574 Use new API to get elapsed time.
5576 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5578 * docs/gst/gstreamer-sections.txt:
5580 * gst/gstdebugutils.c:
5582 Rename new API + ChangeLog surgery to remove old name from last entry..
5584 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5586 * docs/gst/gstreamer-sections.txt:
5588 * gst/gstdebugutils.c:
5590 Now hide the different clock stuff behind a macro.
5592 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5595 * gst/gstdebugutils.c:
5597 Apply the posix-timer check from #361155. Conditionally use the posix
5598 timer for logging. This gives better timestamp precission, less
5599 overhead and no ntp jitter.
5601 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5603 * gst/gstminiobject.c: (gst_mini_object_get_type),
5604 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5605 (gst_mini_object_finalize), (gst_mini_object_copy),
5606 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5607 (gst_mini_object_replace), (param_mini_object_validate),
5608 (gst_param_spec_mini_object_get_type):
5609 Some cleanup and checking against invalid function parameters.
5611 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5613 * docs/gst/gstreamer-sections.txt:
5615 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5616 (gst_systemclock_suite):
5617 Start merging in the easy bits of #361155, the monotonic clock patch.
5618 This one adds a few handy macros with docs and a testsuite.
5620 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5622 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5623 Be a bit smarter when seeking, like, don't try to do a seek when it's
5624 not needed. This avoids errors when the file is not seekable.
5627 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5629 * docs/gst/gstreamer-docs.sgml:
5630 * docs/gst/gstreamer-sections.txt:
5631 * docs/gst/gstreamer.types.in:
5636 * plugins/elements/gstqueue.c:
5637 Due to popular request remove preset interface again. :-(.
5639 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5641 * tools/gst-inspect.c:
5642 Print 'default value' for enums and flags too.
5644 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5646 * docs/random/ensonic/profiling.txt:
5650 Fix typo and give better log output.
5652 * gst/gstdebugutils.c:
5653 * gst/gstdebugutils.h:
5654 More ideas, make graphs a bit smaller and fix param name in macro.
5656 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5659 Try harder to use the return value from fgets().
5661 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5664 For theses two fgets we handle the error below.
5666 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5668 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5669 Only send upstream events upstream. Fixes #498746.
5671 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5673 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5675 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5676 (gst_identity_init), (gst_identity_transform_ip),
5677 (gst_identity_set_property), (gst_identity_get_property):
5678 * plugins/elements/gstidentity.h:
5679 Add property to disable handoff signal emission. Fixes #498694.
5680 API: GstIdentity::signal-handoffs
5682 2007-11-21 Julien Moutte <julien@fluendo.com>
5684 * docs/faq/gst-uninstalled: Yet another missing library for the
5685 uninstalled script (fft)
5687 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5689 * docs/faq/developing.xml:
5690 Add a question about how to submit new translations.
5692 * docs/random/release:
5693 Update the contact email address for the Translation Project
5695 * plugins/elements/gstfdsrc.c:
5696 The parent_class for fdsrc is pushsrc, not GstElement.
5698 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5701 Plug a leak and fix saving.
5703 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5705 * docs/gst/gstreamer-sections.txt:
5706 Add new gst_preset__get_property_names() function to the docs
5709 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5713 Change _get_preset_names API to return a strv with copies. Add
5714 _get_property_names to allow implementations to filter and provide
5715 good default implementation.
5717 2007-11-20 Julien MOUTTE <julien@moutte.net>
5719 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5722 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5725 More cleanups, docs, and TODOs from comments that now slowly come in.
5727 2007-11-19 Julien MOUTTE <julien@moutte.net>
5729 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5732 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5735 Fix bogus warning and make the property type specific code more
5738 2007-11-19 Julien MOUTTE <julien@moutte.net>
5740 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5743 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5745 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5746 (gst_bin_add_func), (gst_bin_remove_func),
5747 (gst_bin_change_state_func), (gst_bin_continue_func):
5748 Change email, cleanups add some more debug and comments.
5749 Also set bus and clock on new elements when the pipeline was in error.
5751 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5754 * gst/gstdebugutils.c:
5755 Fix build with --disable-gst-debug. Fixes #497859.
5756 Spotted by Sameer Naik.
5758 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5761 Little documentation improvment.
5764 More TODO cleanups. Remove c++ comments.
5766 * libs/gst/controller/gstcontroller.c:
5767 Add TODO and use quark from static string.
5769 * tests/check/gst/gstmessage.c:
5770 * tests/check/gst/gststructure.c:
5771 Use quark from static string.
5773 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5776 Add some comments and TODOs.
5779 Add padding for future changes.
5781 * plugins/elements/gstqueue.c:
5782 Implement the iface.
5784 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5786 * docs/gst/gstreamer-docs.sgml:
5787 * docs/gst/gstreamer-sections.txt:
5788 * docs/gst/gstreamer.types.in:
5793 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5795 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5801 === release 0.10.15 ===
5803 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5806 releasing 0.10.15, "October"
5808 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5810 * win32/vs6/libgstreamer.dsp:
5811 Convert line endings back to DOS.
5813 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5815 * docs/design/draft-tagreading.txt:
5816 * docs/random/ensonic/profiling.txt:
5817 Update fast tagreading draft and performance profiling ideas.
5819 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5821 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5822 Don't hold the object lock when unreffing a buffer because it could
5823 cause a deadlock when the finalize function wants to grab the object
5824 lock too. Fixes #495133.
5826 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5828 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5829 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5830 Also accumulate time correctly when doing reverse playback. Fixes
5832 When converting to running and stream time, use default values for
5833 start/stop/time/accum when comparing different formats. Fixes #494245.
5835 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5836 Do running/stream time in TIME format.
5838 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5839 (gst_segment_suite):
5840 2 new unit tests for segment accumulation.
5842 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5844 * gst/gst.c: (init_pre):
5845 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5846 (_gst_debug_bin_to_dot_file):
5847 Move getenv() back into gst_init, so everyone can live happily
5848 ever after. Make sure the symbol isn't exported though.
5850 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5852 Patch by: Sebastien Moutte <sebastien moutte net>
5854 * win32/common/gstenumtypes.c:
5855 * win32/common/gstenumtypes.h:
5858 * win32/vs6/libgstreamer.dsp:
5859 Update vs6 project files (#494343).
5861 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5863 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5864 (gst_base_src_perform_seek), (gst_base_src_default_event),
5865 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5866 (gst_base_src_activate_pull):
5867 Unify flushing code, remove some old unlock code that is no longer used.
5868 Take the streaming lock when seeking to avoid races. Fixes #492729.
5869 Added some more comments.
5871 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5873 * gst/gst.c: (_gst_disable_segtrap):
5874 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5875 we can use gst_segtrap_is_enabled() there now that we have that API.
5876 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5877 to do the getenv here (and export the variable).
5879 * gst/gstdebugutils.c: (debug_dump_element),
5880 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5881 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5883 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5884 (gst_debug_log_default):
5885 Rename _gst_info_start_time to priv_gst_info_start_time so it
5886 doesn't get exported (was never in any header).
5888 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5889 (gst_plugin_loading_mutex):
5890 Make static mutex gst_plugin_loading_mutex really static (was never
5891 in any header), and use gst_segtrap_is_enabled() instead of
5892 _gst_disable_segtrap.
5894 * gst/gsttrace.c: (_gst_trace_default):
5895 Make local _gst_trace_default static (was never in any header).
5897 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5899 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5901 * win32/common/libgstbase.def:
5902 * win32/common/libgstcontroller.def:
5903 * win32/common/libgstdataprotocol.def:
5904 * win32/common/libgstnet.def:
5905 * win32/common/libgstreamer.def:
5906 Add more missing symbols, remove some duplicates, and sort
5907 as the 'sort' command sorts it (partially fixes #493983).
5909 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5911 * gst/gstelement.c: (gst_element_set_state_func):
5912 Only change the state cookie if a different state was set on the
5913 element. See #492729.
5915 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5918 Remove unused and uninitialised type variables that were still
5919 exported for some reason (they were never in any header files
5922 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5924 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5925 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5926 (gst_base_sink_event), (gst_base_sink_get_position_last),
5927 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5928 (gst_base_sink_change_state):
5929 Don't try to report a 0 position when we don't know, return -1 and FALSE
5930 instead. This mostly happens when we are prerolling.
5931 Make sure we can report the right position before we post the ASYNC_DONE
5932 message so that a message handler can query position without races.
5934 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5935 (async_done_handoff), (async_done_func), (send_buffer),
5936 (async_done_eos_func), (gst_sinks_suite):
5937 Add two tests for the above.
5939 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5942 Update with new email address.
5944 * docs/design/part-TODO.txt:
5945 Add some more info about future pad-block and negotiation changes.
5947 * docs/design/part-buffering.txt:
5948 Add some ideas about buffering reporting.
5950 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5952 * tests/check/gst/gstobject.c:
5953 Disable silly racy test that always fails on this combination of CPU
5956 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5958 Patch by: Murray Cumming <murrayc@murrayc.com>
5961 Corrected the registration of the parent-set and parent-unset
5962 signals: The parameter is a GstObject, not a GObject (#493134).
5964 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5966 * gst/gst_private.h:
5975 Move declaration of private _gst_foo_initialize() functions into
5976 our private header file where they should have been all along.
5978 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5980 * docs/plugins/gstreamer-plugins-sections.txt:
5981 * gst/gstdebugutils.h:
5983 * plugins/elements/gstqueue.c:
5984 gtk-doc fixes; trailing-comma-in-enum fix.
5986 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5988 * gst/gst.c: (gst_deinit):
5989 Clean up on deinit (not the external ones though, doesn't seem to be
5990 needed for some reason).
5992 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5994 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5995 Remove __declspec(dllimport) for MSVC that was copied over into core
5996 from a plugin, obviously without ever having been tested (note the
5997 single underscore in _declspec in the initial commit), and that doesn't
5998 really make sense. See #492077.
6000 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6002 * gst/gst.c: (init_post):
6003 * gst/gstevent.c: (_gst_event_initialize):
6004 * gst/gstquery.c: (_gst_query_initialize):
6005 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6006 g_type_class_ref() other types as well, see #349410 and #64764.
6008 * gst/gstbuffer.c: (_gst_buffer_initialize):
6009 * gst/gstmessage.c: (_gst_message_initialize):
6010 Simplify existing g_type_class_ref().
6012 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6014 * gst/gstformat.c: (_gst_format_initialize):
6015 g_type_class_ref() our GstFormat type to make sure we avoid the
6016 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6017 bug #64764. Should fix intermittent tee unit test failures (#474823).
6019 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6021 * tests/check/elements/tee.c: (test_num_buffers):
6022 Simplify, simplify, simplify - or not. Rewrite unit test
6023 not to use gst_parse_launch(); allow N sub-streams. Increasing
6024 the number of sub-streams seems to reproduce #474823 more easily.
6026 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6028 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6031 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6032 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6033 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6034 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6035 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6036 so use _pipe() directly (#492077).
6038 * win32/common/dirent.c: (_treaddir):
6039 Add a couple of casts to make it build without warnings with MSVC.
6041 * win32/common/libgstreamer.def:
6042 Add some more symbols that need to be exported.
6044 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6046 * tests/examples/metadata/read-metadata.c: (message_loop):
6047 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6048 arriving in a second or third tag message are added to
6049 the tag list as well.
6051 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6053 * libs/gst/base/gstbasesrc.c:
6054 Its "Since:" and not "@Since:". And remove an superflous cast.
6056 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6058 * docs/libs/gstreamer-libs-sections.txt:
6059 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6060 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6061 (gst_base_sink_get_property), (gst_base_sink_render_object),
6062 (gst_base_sink_preroll_object),
6063 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6064 (gst_base_sink_change_state):
6065 * libs/gst/base/gstbasesink.h:
6066 Add a new last-buffer property that contains the last buffer used in
6067 basesink for preroll or rendering. useful for making snapshots.
6068 API: gst_base_sink_get_last_buffer()
6069 API: GstBaseSink::last-buffer
6071 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6073 * docs/gst/running.xml:
6075 * gst/gstdebugutils.c:
6076 * gst/gstdebugutils.h:
6077 * tools/gst-launch.c:
6078 Improve bin graph dumping, by using the envvar to specify a path.
6079 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6081 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6083 * plugins/elements/gsttypefindelement.c:
6084 (gst_type_find_element_handle_event),
6085 (gst_type_find_element_activate):
6086 Post special error message if we can't determine the type of a stream
6089 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6091 * docs/gst/running.xml:
6092 * gst/gstdebugutils.c:
6093 Document new env-var. Add one log-line after dumpng a graph.
6095 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6098 Ugly hack to put the (recently removed and non-portable, apparently)
6099 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6100 GNU ld, because without that 'make check' fails miserably on my debian
6101 stable box. Someone with more knowledge of linker intricacies and
6102 portability issues than me fix this properly please.
6104 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6106 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6107 Reset last seen position after flushing so that we don't report the old
6110 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6112 * gst/gstelementfactory.c: (gst_element_register):
6114 Patch from Alessandro Decina adding get_type_full and
6115 get_protocols_full private vfuncs to the URIHandler interface
6116 to allow bindings to support creating URI handlers.
6117 Partially fixes: #339279
6118 API: GstURIHandlerInterface::get_type_full
6119 API: GstURIHandlerInterface::get_protocols_full
6121 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6123 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6124 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6125 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6126 Make it so that pads are considered linked until a buffer is pushed
6127 and discovered otherwise. This avoids problems with decodebin2 hanging
6128 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6131 Make sure we lock the multiqueue when updating the max-size properties.
6133 Fix a crash on Solaris in a debug statement in get_request_pad that
6134 passes a NULL string to GST_DEBUG.
6136 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6137 (run_output_order_test):
6138 Fix the test to allow the first buffer on not-linked pads to come out
6139 of sequence while multiqueue discovers that they are not-linked.
6141 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6144 * libs/gst/check/Makefile.am:
6145 Use a custom export symbol regex for libgstcheck, as it needs
6146 to export symbols that don't match the standard GStreamer gst_*
6147 pattern, and --export-dynamic is not portable (only works on
6150 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6151 (gst_check_setup_sink_pad):
6152 Make sure to pass a message parameter to the fail_* macros.
6154 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6155 Fix some compiler warnings.
6157 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6159 * tests/check/gst/gststructure.c: (test_to_string):
6160 Disable test that checks that white spaces are not allowed
6161 in structure names or field names, since we need to
6162 support that for now for backwards compatibility reasons.
6164 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6166 * docs/gst/gstreamer-sections.txt:
6169 API: add GST_TAG_ARTIST_SORTNAME
6170 API: add GST_TAG_ALBUM_SORTNAME
6171 API: add GST_TAG_TITLE_SORTNAME
6172 Add tag variants for sorting (#414539).
6174 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6176 * gst/gststructure.c:
6177 Also allow white space for names so we don't break
6178 backwards compatibility.
6180 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6182 * docs/design/part-TODO.txt:
6183 * docs/design/part-segments.txt:
6184 * docs/design/part-streams.txt:
6187 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6189 * docs/gst/gstreamer-sections.txt:
6190 Fixed documentation from my previous commit (added new API add
6191 gst_value_set_structure(), add gst_value_get_structure() and
6192 GST_VALUE_HOLDS_STRUCTURE).
6194 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6196 * gst/gstdebugutils.c:
6197 Reflow code to fix uninitialized variable warning.
6199 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6201 * gst/gstcaps.c: (gst_caps_to_string),
6202 (gst_caps_from_string_inplace):
6203 * gst/gststructure.c: (gst_structure_get_abbrs),
6204 (gst_structure_to_string), (gst_structure_from_string):
6205 * gst/gstvalue.c: (gst_value_set_structure),
6206 (gst_value_get_structure), (gst_value_serialize_structure),
6207 (gst_value_deserialize_structure), (_gst_value_initialize):
6209 * tests/check/gst/gststructure.c: (GST_START_TEST),
6210 (gst_structure_suite):
6211 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6212 Added GstStructure to gst_value_table and its related functions.
6213 Changed gst_structure_to_string to print ';' in the end.
6214 Changed gst_caps_to_string to not print ';' beteween its
6215 fields (structures) anymore and remove the lastes ';' from latest
6216 structure. Now it is possible to have nested structures.
6217 In addition, backward compatibilty is assured by accepting '\0' as
6218 end delimiter. Fixes: #487969.
6219 API: add gst_value_set_structure()
6220 API: add gst_value_get_structure()
6221 API: add GST_VALUE_HOLDS_STRUCTURE
6223 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6226 When no GSource callback has been set up, tell developer
6227 to use a function that actually exists.
6229 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6231 * docs/gst/gstreamer-sections.txt:
6235 * gst/gstdebugutils.c:
6236 * gst/gstdebugutils.h:
6239 * tools/gst-launch.c:
6240 Allow dumping pipelines as dot graphs. Fixes #456573.
6242 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6244 * gst/gststructure.c:
6245 Allow '+' as well, it can be part of media or mime types
6246 such as image/svg+xml.
6248 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6250 * docs/gst/gstreamer-sections.txt:
6253 API: add gst_bus_pop_filtered
6254 API: add gst_bus_timed_pop_filtered
6255 Two new functions for waiting for specific message types on the
6256 bus for a specified amount of time without iterating any main
6257 loops or main contexts.
6259 * tests/check/gst/gstbus.c:
6260 Some tests for the new functions.
6262 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6264 * docs/libs/gstreamer-libs-sections.txt:
6265 Make gtk-doc ignore stuff it should ignore.
6267 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6269 * libs/gst/check/gstcheck.c:
6270 * libs/gst/check/gstcheck.h:
6271 Allow runtime selection of unit tests to run via the GST_CHECKS
6272 environment variable (test case function names, comma-separated).
6274 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6276 * gst/gststructure.c:
6277 * tests/check/gst/gststructure.c:
6278 Revert serialisation change and constrain structure-names after
6279 consensus on irc. Update api documentation to reflect the change.
6281 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6283 * gst/gststructure.c:
6284 Improve serialization and fix tests.
6286 * tests/check/gst/gststructure.c:
6287 Add another test that covers why I actually did the previous structure
6290 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6292 * tools/gst-inspect.c: (print_element_info):
6293 Don't crash when inspecting an element.
6295 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6297 * tests/check/gst/gststructure.c:
6298 Add unit test for escaping of structure name when serialising
6299 and deserialising to/from strings.
6301 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6303 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6304 (gst_single_queue_new):
6305 * plugins/elements/gstqueue.c: (gst_queue_init),
6306 (gst_queue_push_one):
6307 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6308 upstream is tricked into thinking it can suggest a format downstream
6309 while downstream does not support that format. The real problem is that
6310 core calls acceptcaps when pushing a buffer with new caps, for which we
6311 do a little workaround by setting the caps on the srcpad ourselves
6312 before pushing the buffer (until this is figured out). Fixes #486758.
6314 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6316 * gst/gststructure.c:
6318 Add some more comments and debug output. Quote structure name to fix
6319 deserialisation of some strings.
6321 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6324 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6325 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6327 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6329 * tools/gst-inspect.c:
6330 Save approx. 400 1 byte allocs when printing. Use API to acces element
6336 * tools/gst-xmlinspect.c:
6337 Use API to acces element details.
6339 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6342 Fix some spelling errors.
6344 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6346 * gst/gstbin.c: (bin_handle_async_done):
6347 Correctly set the next state if all of our async children commited their
6348 state. This makes sure we can actually cancel the state change in
6349 progress. Fixes a regression in Rhythmbox when seeking.
6351 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6354 Don't shadow local variable.
6357 Don't shadow global function name.
6359 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6361 * gst/gstelementfactory.c:
6362 * gst/gstpluginfeature.c:
6363 * gst/gstpluginfeature.h:
6364 * gst/gstregistrybinary.c:
6365 * gst/gstregistryxml.c:
6366 * gst/gsttypefind.c:
6367 Use already-interned string for the private GstPluginFeature
6370 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6372 * docs/libs/gstreamer-libs-sections.txt:
6373 Add new API to docs; fixes the build.
6375 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6377 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6379 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6380 (gst_base_sink_event):
6381 * libs/gst/base/gstbasesink.h:
6382 Add function to wait for EOS, subclasses can use this to correctly wait
6383 for devices to drain before performing the EOS logic. Fixes #485343.
6384 API: gst_base_sink_wait_eos()
6386 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6389 Cast description string constants in GST_PLUGIN_DEFINE macros
6390 to a (gchar*) to make C++ code using these macros compile
6391 without warning with g++-4.2 (see #462737). Even if slightly
6392 ugly, this seems preferable to putting the description strings
6393 into the GLib quark table or making the structure member a
6394 const gchar * and doing casts in core code that allocs and
6395 frees these strings, or requiring a cast in the C++ code.
6397 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6400 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6401 to print the entire class/function signature into the log
6402 file for C++ code. This only affects C++ code, for C code
6403 everything remains the same.
6405 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6407 * gst/gstbin.c: (remove_from_queue):
6408 Work around a problem with pipelines containing (semi)loops until a
6409 proper, more complicated solution is ready. See #475455.
6411 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6415 * gst/gstregistrybinary.c:
6416 * gst/gstregistryxml.c:
6417 Put more strings into the GLib quark table. No need to keep
6418 a hundred-something copies of identical version strings,
6419 license strings, package name strings and package origin
6422 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6424 * docs/manual/advanced-dataaccess.xml:
6425 Don't imply that it's okay to unconditionally change
6426 buffer data or buffer metadata in a pad probe callback,
6427 and a bunch of other comments. Fixes #430031.
6429 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6431 * win32/common/gstenumtypes.c:
6432 * win32/common/gstenumtypes.h:
6433 * win32/common/gstversion.h:
6434 Update generated files.
6436 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6438 * docs/manual/advanced-autoplugging.xml:
6439 Prefix section with broken code with a warning (see #342432).
6441 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6443 * docs/manual/appendix-integration.xml:
6444 * docs/manual/basics-init.xml:
6445 Call g_thread_init() before g_option_context_new() to
6446 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6448 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6450 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6451 (gst_base_sink_queue_object_unlocked),
6452 (gst_base_sink_queue_object), (gst_base_sink_event),
6453 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6454 When we received EOS and are waiting for when to post the EOS message,
6455 our state is prerolled and we should not return ASYNC.
6456 Reorganize some code paths to implement this behavior.
6458 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6460 Add unit test to verify above EOS fix.
6462 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6464 * plugins/elements/gsttypefindelement.c:
6465 (gst_type_find_element_have_type), (gst_type_find_element_init),
6466 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6467 Move detecting the input caps of the sinkpad to the setcaps function.
6468 This allows us to update the output caps when we receive new input caps
6469 instead of always using the first detected caps.
6471 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6473 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6474 (gst_base_sink_get_position):
6475 Don't try to preroll non-async elements after a flush.
6476 Subtract latency form clock times when reporting position.
6478 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6480 * gst/gstpad.c: (gst_pad_pause_task):
6482 Small comment and documentation update.
6484 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6486 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6487 (gst_base_src_set_live), (gst_base_src_is_live),
6488 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6489 (gst_base_src_default_event), (gst_base_src_wait),
6490 (gst_base_src_do_sync), (gst_base_src_get_range),
6491 (gst_base_src_pad_get_range), (gst_base_src_loop),
6492 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6493 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6494 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6495 (gst_base_src_change_state):
6496 Rework the locking of basesrc in a similar fashion to basesink. We
6497 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6498 us to handle live sources and semi live ones much better.
6500 Fix unlocking when seeking, shutting down and pausing in live sources.
6502 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6504 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6505 Fix compilation again.
6507 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6510 Use meaningful categories for the logs to clean the default one.
6512 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6514 * tests/check/pipelines/cleanup.c:
6515 Print message name and not just number.
6517 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6519 * docs/design/draft-tagreading.txt:
6520 Add some more thoughts.
6522 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6524 * tests/check/pipelines/simple-launch-lines.c:
6525 Print message name and not just number.
6527 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6529 * libs/gst/base/gsttypefindhelper.c:
6530 Speedup typefinding. This is work in progress (see #459862).
6532 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6535 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6536 Spotted by Josep Torra Valles <josep@fluendo.com>.
6538 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6541 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6542 field has moved to GstObject.
6544 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6546 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6547 (gst_base_src_get_range), (gst_base_src_change_state):
6548 Call unlock for live sources so that they can't get stuck in _create and
6549 produce a buffer before they are set back to PLAYING.
6551 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6553 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6554 (gst_queue_locked_dequeue):
6555 Comment the segment-related code... in the PROPER function.
6556 See #482147 and my commit from yesterday.
6558 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6560 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6561 Also initialize the counter that calculates the first timestamp on a
6562 buffer correctly for non-live sources.
6564 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6566 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6567 Disable code that's breaking the current-time-level reporting.
6570 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6572 * docs/gst/gstreamer-sections.txt:
6573 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6574 as they shouldn't show up. Fixes the docs build.
6576 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6579 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6580 Define M_PI which is used in files which are including gstinfo.h.
6581 VS6 includes doesn't define it.
6582 * win32/common/libgstbase.def:
6583 * win32/common/libgstcontroller.def:
6584 * win32/common/libgstreamer.def:
6585 Add new exported functions and variables.
6586 * win32/vs6/libgstcontroller.dsp:
6587 * win32/vs6/libgstreamer.dsp:
6588 Update the list of files to build.
6590 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6592 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6594 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6595 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6596 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6597 Improve debugging. Fixes #480858.
6599 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6601 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6603 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6604 First patch of code cleanups, use the macros and right arguments in the
6605 macros to signal and lock the queue. See #480858.
6607 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6609 * gst/gstbus.c: (poll_func):
6610 Improve debugging when dealing with _poll().
6612 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6614 * gst/gstregistryxml.c:
6615 Fix memory leak I introduced a few days ago.
6617 2007-09-26 Michael Smith <msmith@fluendo.com>
6619 * gst/gstbuffer.c: (gst_buffer_finalize):
6620 Make it once again possible to free GstBuffers in the default
6622 The poisoning scribbles on parts of the miniobject we need in
6626 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6628 * docs/gst/gstreamer-sections.txt:
6631 API: add GST_TAG_COMPOSER, fixes #459809.
6633 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6637 Add the 3-clause BSD license and the MIT/X11 license to the license
6638 list. Fixes #479784.
6640 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6642 * docs/faq/getting.xml:
6643 Add Q+A about different GStreamer versions (#364056).
6645 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6647 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6648 (gst_base_sink_event), (gst_base_sink_change_state):
6649 Return correct gboolean from query function.
6651 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6653 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6654 (gst_base_sink_event), (gst_base_sink_query),
6655 (gst_base_sink_change_state):
6656 Simplify latency query.
6657 When not synchronizing, we can report latency without querying the peer
6660 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6664 Fix small typos in the docs.
6666 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6668 * docs/design/draft-latency.txt:
6669 * docs/design/draft-push-pull.txt:
6670 * docs/design/draft-tagreading.txt:
6671 * docs/design/part-MT-refcounting.txt:
6672 * docs/design/part-activation.txt:
6673 * docs/design/part-block.txt:
6674 * docs/design/part-element-source.txt:
6675 * docs/design/part-events.txt:
6676 * docs/design/part-gstbin.txt:
6677 * docs/design/part-gstelement.txt:
6678 * docs/design/part-gstobject.txt:
6679 * docs/design/part-gstpipeline.txt:
6680 * docs/design/part-messages.txt:
6681 * docs/design/part-preroll.txt:
6682 * docs/design/part-push-pull.txt:
6683 * docs/design/part-qos.txt:
6684 * docs/design/part-query.txt:
6685 * docs/design/part-scheduling.txt:
6686 * docs/design/part-seeking.txt:
6687 * docs/design/part-segments.txt:
6688 * docs/design/part-states.txt:
6689 Documentation updates and typo fixes.
6691 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6693 * plugins/elements/gstfakesink.c:
6694 Add some debug text to error message to indicate that
6695 we errored out on request.
6697 * tools/gst-launch.c:
6698 When the state change to PLAYING fails, check for an
6699 error message on the bus and print it.
6701 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6703 translated by: Jorge González González <aloriel@gmail.com>
6707 Added Spanish translation.
6709 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6711 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6712 Fix printf arguments.
6714 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6716 * tests/check/generic/states.c:
6717 Improved state change unit test.
6719 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6722 Move priv to the right place.
6724 * gst/gstsystemclock.c:
6725 Add FIXME: and improve log.
6727 * tests/check/Makefile.am:
6728 * tests/examples/manual/Makefile.am:
6729 Work with all types of registries.
6731 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6733 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6734 Don't unref the event after pushing it. Fixes #478401.
6736 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6739 * tests/examples/manual/.cvsignore:
6740 Ignore registries in any format.
6742 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6744 * gst/glib-compat-private.h:
6745 Add compatibility macro for g_intern_string() for
6746 GLib-2.8 (any reason we can't just bump the
6747 requirement to at least 2.10?)
6749 * gst/gstpadtemplate.h:
6750 * gst/gstelementfactory.c:
6751 * gst/gstregistryxml.c:
6752 * gst/gstregistrybinary.c:
6753 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6754 up the internal code accordingly. This shouldn't be a problem, since
6755 there is no reason external code could ever assume the string in such
6756 a structure is dynamically allocated unless it did that itself; the
6757 use of g_strdup() is private to element factories. The new code also
6758 saves some memory by putting pad template name strings into the GLib
6759 quark table instead of allocating them dynamically.
6760 Declaring this field constant fixes warnings with g++-4.2 when using
6761 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6763 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6765 * gst/gstelementfactory.c:
6766 Release static caps. Fixes #475723.
6768 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6772 Make some internal API take const gchar * instead of just
6773 gchar * to avoid compiler warnings with g++-4.2.2 when
6774 passing string constants (partially fixes #478092).
6776 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6778 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6779 A latency query fails when one of the sinks fail.
6781 * gst/gstelement.c: (gst_element_set_base_time):
6784 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6786 * gst/gstbin.c: (gst_bin_continue_func):
6787 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6788 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6789 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6791 Fix minor compilation warnings shown with Forte.
6793 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6795 * plugins/elements/gstqueue.c: (apply_buffer),
6796 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6797 Measure queue level based on the diff between head and tail timestamps
6798 even when pushing the first buffer.
6800 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6802 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6803 (gst_base_sink_event), (gst_base_sink_change_state):
6804 Sinks that don't preroll can always be queried for the latency.
6805 Don't post ASYNC start when we are not async.
6807 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6809 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6810 (gst_queue_handle_sink_event), (gst_queue_chain),
6811 (gst_queue_push_one), (gst_queue_handle_src_query),
6812 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6813 * plugins/elements/gstqueue.h:
6814 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6815 push more buffers but allow pushing of EOS and NEWSEGMENT.
6816 Add some more debug info here and there. Fixes #476514.
6818 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6820 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6821 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6822 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6823 (gst_base_sink_set_flushing), (gst_base_sink_query),
6824 (gst_base_sink_change_state):
6825 Latency query is allowed after we are prerolled. Introduce a new flag
6826 for this and stop abusing other variables.
6828 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6830 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6831 Push OOB events downstream when we get them in send_event. This allows
6832 the application to insert events in the pipeline.
6833 Add some more comments.
6835 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6837 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6838 (do_bin_latency), (gst_bin_change_state_func):
6839 * gst/gstpipeline.c: (gst_pipeline_change_state):
6840 Move latency query from GstPipeline to GstBin so that we can also
6841 use it when async-handling is enabled on bins.
6843 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6845 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6846 (gst_base_src_do_sync), (gst_base_src_change_state):
6848 Clean up the timestamping and syncing code for pseudo live sources.
6850 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6852 Patch by: Steve Fink <sphink gmail com>
6854 * docs/manual/appendix-checklist.xml:
6855 Mention less -R switch in the section about debug output (#474055).
6857 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6859 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6860 Queue can latency to the pipeline up to the configured max size in time.
6861 Report this fact in the latency query.
6863 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6865 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6867 * libs/gst/controller/gstinterpolation.c:
6868 * libs/gst/controller/gstlfocontrolsource.c:
6869 Use gst_guint64_to_gdouble() when converting from a uint64 or
6870 GstClockTime to double to fix the build on win32. Fixes #474371.
6872 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6874 * gst/gstbuffer.c: (gst_buffer_finalize):
6875 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6876 When finalizing a buffer the complete struct is filled with 0xff,
6877 thus making a use of the buffer after the final unref impossible.
6879 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6881 * tests/check/libs/controller.c: (GST_START_TEST):
6882 Use fail_unless_equals_int(a, b) instead of
6883 fail_unless_equals (a == b) to get better output on failures.
6885 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6887 * tests/check/gst/gsturi.c:
6888 Also check for the other file URI variant on win32.
6890 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6892 * gst/gsturi.c: (gst_uri_get_location):
6893 If there's no hostname, we want to return 'c:/foo/bar.txt'
6894 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6896 * tests/check/gst/gsturi.c:
6897 Unit test for the above and a few more things.
6899 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6901 * docs/design/part-live-source.txt:
6902 Add docs on how live sources should timestamp.
6904 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6905 Add some more debug info.
6906 For subclasses that are live and like to sync, add aditional startup
6907 latency to sync time and timestamps so that we timstamp according to the
6910 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6913 Also do a g_type_class_ref() for the subbuffer type in
6916 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6918 * docs/gst/gstreamer-sections.txt:
6919 * gst/gstpad.c: (gst_pad_peer_query):
6921 Add function to perform a query on the peer of a pad.
6922 API: gst_pad_peer_query()
6924 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6926 * tests/check/gst/gstsystemclock.c:
6927 Cleanup the test a little (use gst-logging and not g_message). Improve
6928 test to check if a wait reached the target.
6930 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6932 * docs/libs/gstreamer-libs-sections.txt:
6933 Add new API to docs and fix the build.
6935 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6937 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6938 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6939 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6940 (gst_base_src_get_property), (gst_base_src_do_sync):
6941 * libs/gst/base/gstbasesrc.h:
6942 Add property to make the basesrc timestamp buffers based on the current
6944 API: GstBaseSrc::do-timestamp
6945 API: gst_base_src_set_do_timestamp()
6946 API: gst_base_src_get_do_timestamp()
6948 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6950 * docs/random/release:
6951 Really make sure translations are up-to-date before
6952 a release (#465010).
6954 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6956 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6957 Always destroy the timer, also in error cases.
6959 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6961 * docs/manual/highlevel-xml.xml:
6962 Fix XML example code. Fixes #472714.
6964 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6966 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6967 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6968 (gst_base_sink_query):
6969 Protect eos and have_preroll with the OBJECT lock so we don't need to
6970 take the PREROLL lock when querying the latency. Fixes #473846.
6972 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6975 Give some log-messages a category.
6977 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6979 * gst/gststructure.c:
6980 (gst_structure_fixate_field_nearest_fraction):
6981 Fix fraction list fixation code. Take the fraction with the smallest
6982 difference with the target instead of the first one in the list.
6984 * tests/check/gst/gststructure.c: (GST_START_TEST),
6985 (gst_structure_suite):
6986 Added test to verify correct fraction list fixation behaviour.
6988 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6990 * win32/common/libgstreamer.def:
6991 Export gst_bus_add_signal_watch too.
6993 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6995 * docs/libs/gstreamer-libs-sections.txt:
6996 Add new methods to docs.
6998 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6999 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7000 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7001 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7002 * libs/gst/base/gstbasesink.h:
7003 Add ts-offset property to fine-tune the synchronisation.
7004 API: GstBaseSink::ts-offset property
7005 API: gst_base_sink_set_ts_offset()
7006 API: gst_base_sink_get_ts_offset()
7008 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
7010 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7011 (gst_base_sink_init), (gst_base_sink_set_sync),
7012 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7013 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7014 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7015 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7016 (gst_base_sink_get_property), (gst_base_sink_change_state):
7017 * libs/gst/base/gstbasesink.h:
7018 Add async property to instruct the sink never to inform the parent about
7019 ASYNC state changes, update docs.
7020 Check argument with g_return_* for the public functions.
7021 API: GstBaseSink::async property
7022 API: gst_base_sink_set_async_enabled()
7023 API: gst_base_sink_is_async_enabled()
7025 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
7027 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7030 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7031 (gst_base_src_default_query), (gst_base_src_wait),
7032 (gst_base_src_do_sync), (gst_base_src_change_state):
7033 Rearrange some code so that we can add support for measuring the
7036 2007-08-27 Stefan Kost <ensonic@users.sf.net>
7038 * docs/random/ensonic/dynlink.txt:
7039 More thoughs on this.
7041 * plugins/elements/gstcapsfilter.c:
7042 Add bugzilla ticket number to FIXME comment.
7044 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
7046 * docs/design/part-TODO.txt:
7047 * docs/design/part-block.txt:
7050 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7053 Revert patch which uses $(gst_headers) instead of $^ because it
7056 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7058 * tests/check/gst/gstbin.c: (GST_START_TEST):
7059 Fix leaks in the new unit test.
7061 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7064 Don't use GST_INFO before the debug system is actually initialised
7065 (shouldn't do any harm, but won't print anything either, so we can
7066 just as well remove it).
7069 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7070 compilers that don't support variadic macros (such as MSVC), should
7071 check for debug_level <= __gst_debug_min as well, since that's the
7072 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7073 inline helper functions. Should improve performance a bit, but also
7074 makes sure uses of GST_INFO et.al are ignored if the debugging
7075 system isn't initialised yet (instead of printing an assertion
7078 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7080 patch by: David Nečas <yeti@physics.muni.cz>
7083 Replace some non portable makefile constructs.
7085 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7087 * common/gtk-doc-plugins.mak:
7088 Grrrrr. Don't remove the types file on make clean.
7090 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7092 * tools/gst-launch.1.in:
7093 Add colorspace to example pipeline. Fixes #458274.
7095 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7097 * docs/random/release:
7098 The release manager should run 'make download-po' before making a
7099 release to make sure translations are up-to-date.
7105 Add some new translations.
7107 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7109 * tools/gst-launch.c: (event_loop), (main):
7110 Don´t try to do any state management when a live pipeline posts
7112 Also make the buffering string translatable.
7114 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7116 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7117 (bin_handle_async_start), (gst_bin_handle_message_func):
7119 When adding elements, insert messages into the bus of the newly added
7120 element and make sure the element is the source of the message. This
7121 allows the parent bin to intercept the message and do the
7122 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7123 messages to the app (which is not allowed).
7126 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7127 Fix testsuite so that is does not work around messages that should not
7128 have been posted in the first place.
7130 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7132 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7133 (update_degree), (gst_bin_sort_iterator_next):
7134 Fix annoying bug in the sorted iterator where a sink that is not really
7135 a sink (when it has downstream links) screwed up the iterator.
7137 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7138 Unit test to verify the fix.
7140 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7143 Add some more docs for the messages.
7145 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7146 (gst_base_sink_query):
7147 Add some more debugging.
7149 * tools/gst-launch.c: (event_loop):
7150 When interrupting, don't try to set pipeline to PAUSED twice.
7152 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7155 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7156 (bin_handle_async_start), (gst_bin_handle_message_func):
7157 Move ASYNC_START message posting to where it belongs, similar to
7159 Don't post ASYNC_START when we are in error.
7160 Post ASYNC_START when we added an async element to a bin.
7162 2007-08-14 Julien MOUTTE <julien@moutte.net>
7164 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7165 generation from vargs. Fixes #466595.
7167 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7169 * gst/gstbin.c: (gst_bin_element_set_state):
7170 Always change the state of a NO_PREROLL element even if it has ASYNC
7171 elements inside (in case of a bin).
7173 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7174 Unit test for this case.
7176 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7178 * libs/gst/check/gstbufferstraw.c:
7179 * libs/gst/check/gstcheck.h:
7180 * libs/gst/controller/gstcontroller.c:
7181 * libs/gst/controller/gstcontrolsource.h:
7182 * libs/gst/controller/gstlfocontrolsource.h:
7183 * plugins/elements/gstcapsfilter.h:
7184 * plugins/elements/gstfdsink.h:
7185 * plugins/elements/gstfdsrc.h:
7186 Add more missing docs.
7188 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7190 * gst/gststructure.c:
7191 Add Since tag to docs.
7193 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7195 * docs/gst/gstreamer-sections.txt:
7196 * gst/gststructure.c: (gst_structure_get_uint):
7197 * gst/gststructure.h:
7198 Add function to get uint from a structure.
7199 API: gst_structure_get_uint()
7201 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7203 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7204 (gst_caps_intersect):
7205 Fix proper check for simple caps.
7207 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7209 * docs/gst/Makefile.am:
7210 * docs/libs/Makefile.am:
7211 Remove cruft and do some cleanups.
7213 * docs/gst/gstreamer-docs.sgml:
7214 * docs/libs/gstreamer-libs-docs.sgml:
7215 Prepare for comming gtkdoc features (rebase against online docs).
7217 2007-08-10 Michael Smith <msmith@fluendo.com>
7219 * docs/gst/gstreamer-sections.txt:
7220 Add gst_registry_add_path to docs.
7222 2007-08-10 Michael Smith <msmith@fluendo.com>
7224 * gst/gstregistry.h:
7225 Add gst_registry_add_path, which was missing from this header.
7227 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7229 * libs/gst/controller/gstlfocontrolsource.c:
7232 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7234 * libs/gst/base/gstbasesink.c:
7235 Don't send an async_start message during downwards state change if
7236 target state is less than READY
7238 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7240 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7244 Added Hungarian translation.
7246 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7253 Updated translations.
7255 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7257 * libs/gst/controller/Makefile.am:
7258 Dist gstlfocontrolsourceprivate.h
7260 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7262 * docs/libs/gstreamer-libs.types:
7263 Don't register the enum type gst_lfo_waveform_get_type() in the
7264 .types file - only GObject derived types belong.
7266 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7268 Patch by: <arenevier at fdn dot fr>
7271 Remove comma from last element in enum to avoid compile errors when
7272 using -pendantic. Fixes #464366.
7274 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7276 * docs/design/part-TODO.txt:
7277 Add some more TODO items
7279 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7282 * gst/gstcaps.c: (gst_caps_intersect):
7283 Optimize trivial intersection case between identical caps pointers.
7285 * gst/gstelement.c: (gst_element_continue_state),
7286 (gst_element_set_state_func):
7288 Fix spelling and grammar mistakes.
7290 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7294 Update POTFILES. Fixes #461599.
7296 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7299 Fix confusing typo in debug output.
7301 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7303 reviewed by: Stefan Kost <ensonic@users.sf.net>
7305 * libs/gst/controller/Makefile.am:
7306 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7307 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7308 (gst_lfo_control_source_new),
7309 (gst_lfo_control_source_set_waveform),
7310 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7311 (gst_lfo_control_source_finalize),
7312 (gst_lfo_control_source_dispose),
7313 (gst_lfo_control_source_set_property),
7314 (gst_lfo_control_source_get_property),
7315 (gst_lfo_control_source_class_init):
7316 * libs/gst/controller/gstlfocontrolsource.h:
7317 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7318 API: Add GstLFOControlSource, a control source that gives values
7319 for specific timestamps based on several periodic waveforms.
7322 * tests/check/libs/controller.c: (GST_START_TEST),
7323 (gst_controller_suite):
7324 * docs/libs/gstreamer-libs-docs.sgml:
7325 * docs/libs/gstreamer-libs-sections.txt:
7326 * docs/libs/gstreamer-libs.types:
7327 Add documentation and unit tests for GstLFOControlSource.
7329 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7334 === release 0.10.14 ===
7336 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7339 releasing 0.10.14, "Breathing Vacuum"
7341 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7343 * gst/gstelement.c: (gst_element_class_set_details_simple):
7345 Make strings passed to gst_element_class_set_details_simple()
7346 constant, as they should be (#462752).
7348 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7350 * gst/gstbin.c: (gst_bin_change_state_func),
7351 (bin_handle_async_done), (gst_bin_handle_message_func):
7352 Don't forget about the fact that some element went ASYNC even after a
7353 resync. This makes us post the ASYNC_DONE message correctly.
7356 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7358 * gst/gstregistry.c: (gst_registry_add_feature):
7359 When replacing an existing feature in the registry, make sure to
7360 continue holding a reference until we've replaced the name string
7361 within our feature hash table. Make sure to use g_hash_table_replace
7362 instead of g_hash_table_insert to ensure the new name string is used
7363 as a key instead of the old one that we're about to free.
7366 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7368 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7369 (gst_plugin_feature_set_name):
7370 Revert patch from #459466 until after the release and we can work
7371 out exactly what the problem is (if any).
7373 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7375 * docs/gst/gstreamer-sections.txt:
7378 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7380 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7382 * docs/libs/Makefile.am:
7383 Include our build-prefix libs and includes before the generic ones to
7384 avoid linking against the installed libs when we want the build-tree
7387 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7389 Patch by: Steve Fink <sphink gmail com>
7391 * docs/pwg/building-testapp.xml:
7392 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7393 if people try to build or install the example from the plugin
7394 template against a GStreamer from package using the configure
7397 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7399 Patch by: Steve Fink <sphink gmail com>
7401 * tools/gst-inspect.1.in:
7402 Document --print-all and --print-plugin-auto-install-info command
7403 line options in man page.
7405 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7407 * docs/gst/gstreamer-sections.txt:
7408 Add docs for new api function.
7410 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7412 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7413 * gst/gstelementfactory.h:
7414 API: gst_element_factory_has_interface()
7415 Added method to check if an element factory implements a named
7418 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7421 * docs/gst/gstreamer.types.in:
7422 Another conditional doc check.
7425 * gst/gstparamspecs.h:
7426 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7431 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7433 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7434 (gst_registry_binary_load_feature),
7435 (gst_registry_binary_load_plugin),
7436 (gst_registry_binary_read_cache):
7437 Print error just once and with additional info.
7439 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7441 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7442 (helper_find_suggest), (helper_find_get_length),
7443 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7444 (gst_type_find_helper_for_buffer):
7445 Cleanup the typefindhelper code and add private doc comments.
7447 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7449 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7450 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7451 Fix capsfilter for cases where the caps set on capsfilter will provide
7452 additional information.
7455 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7457 * gst/gsttypefindfactory.c:
7458 Fix docs that recommened wrong function to use.
7460 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7462 * tools/gst-inspect.c: (print_plugin_features):
7463 Also give media-type for typefinders in element output.
7465 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7467 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7468 (gst_registry_remove_features_for_plugin_unlocked),
7469 (gst_registry_add_feature), (gst_registry_remove_feature),
7470 (gst_registry_lookup_feature_locked):
7471 * gst/gstregistry.h:
7472 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7475 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7477 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7478 (gst_plugin_feature_set_name):
7479 Avoid double memory usage for pluginfeature names. Fixes #459466.
7481 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7484 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7485 driving the pipeline may need to explicitly check for NOT_LINKED as
7486 well, since IS_FATAL doesn't cover that.
7488 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7490 * docs/pwg/advanced-types.xml:
7491 Fix typo and duplicate entry in video formats list.
7493 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7495 * libs/gst/controller/gstinterpolation.c:
7496 Also round to the nearest int when using cubic interpolation.
7498 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7500 * libs/gst/controller/gstinterpolation.c:
7501 When linearly interpolating integer types, round to the nearest int
7502 by adding 0.5. Don't do it for float/double types.
7503 Fixes the failing controller test on my machine, which is somehow
7504 rounding differently than on the buildbots.
7506 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7508 * tools/gst-plot-timeline.py:
7509 Better log parsing (categories can have -). Adjust text vs. lines, so
7510 that they span the same y-range.
7512 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7514 * docs/random/ensonic/audiobaseclasses.txt:
7515 * docs/random/ensonic/dynlink.txt:
7516 * docs/random/ensonic/profiling.txt:
7519 * docs/random/moving-plugins:
7520 Add note to use g_assert type macros.
7522 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7525 * libs/gst/check/Makefile.am:
7526 Add libm check as we use in for plugins.
7528 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7530 * gst/gstbin.c: (gst_bin_continue_func):
7531 Check that the state_cookie hasn't changed since the continue_func
7532 was scheduled. Avoids problems where the state changes back to
7533 something it shouldn't be because it was changed in the meantime.
7535 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7537 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7538 (gst_registry_binary_save_string),
7539 (gst_registry_binary_save_pad_template),
7540 (gst_registry_binary_save_feature),
7541 (gst_registry_binary_save_plugin),
7542 (gst_registry_binary_load_feature),
7543 (gst_registry_binary_load_plugin),
7544 (gst_registry_binary_read_cache):
7545 Fix memory leak. Be less verbose in the log.
7547 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7549 * tests/check/elements/.cvsignore:
7550 Add file to cvsignore as commanded.
7552 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7554 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7555 (mq_dummypad_event), (run_output_order_test):
7556 Use a GStaticMutex to protect all cases where libcheck
7557 fail_if/fail_unless macros might be called from multiple threads
7558 simultaneously to avoid errors like:
7559 "check_pack.c:107: :-1081725400:Bad message type arg"
7561 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7563 * tests/check/pipelines/stress.c: (GST_START_TEST):
7564 Make sure we set the pipeline back to the NULL state before
7565 dropping our final reference.
7567 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7569 * tests/check/elements/tee.c: (GST_START_TEST):
7570 Make the tee stress-test a little less stressful so it doesn't just
7571 time out on slow-machines, and remove a small race when it's starting
7572 up by adding a get_state() call.
7574 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7577 Avoid reading registry twice on startup. Fixes #457322.
7579 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7581 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7582 * pkgconfig/gstreamer-check.pc.in:
7583 Substitute the CFLAGS for libcheck into our .pc file too so that
7584 dependent modules will pick it up properly if libcheck is installed
7585 into some other prefix.
7587 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7590 Revert the pkg-config check for libcheck, since it pulls in the
7591 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7592 a proper solution, either from the check project, or something else.
7594 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7597 Use pkg-config to locate check.
7599 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7606 Add deprecation guards.
7608 * libs/gst/base/gstcollectpads.h:
7609 Don't document object (this is implicitly private).
7611 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7613 * gst/gststructure.c: (gst_structure_parse_value):
7614 When deserialising foo=bar without a type cast, check if it's a
7615 boolean before falling back to a string type, otherwise things like
7616 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7617 because the filtercaps end up having a signed=(string)true field,
7618 which causes problems later when intersection caps.
7620 * tests/check/gst/gststructure.c: (GST_START_TEST):
7621 Add a unit test for this.
7623 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7625 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7627 * libs/gst/controller/Makefile.am:
7628 * libs/gst/controller/gstcontroller.c:
7629 (gst_controlled_property_add_interpolation_control_source),
7630 (gst_controlled_property_new), (gst_controlled_property_free),
7631 (gst_controller_find_controlled_property),
7632 (gst_controller_new_valist), (gst_controller_new_list),
7633 (gst_controller_new), (gst_controller_remove_properties_valist),
7634 (gst_controller_remove_properties_list),
7635 (gst_controller_remove_properties),
7636 (gst_controller_set_property_disabled),
7637 (gst_controller_set_disabled), (gst_controller_set_control_source),
7638 (gst_controller_get_control_source), (gst_controller_get),
7639 (gst_controller_sync_values), (gst_controller_get_value_array),
7640 (_gst_controller_dispose), (gst_controller_get_type),
7641 (gst_controlled_property_set_interpolation_mode),
7642 (gst_controller_set), (gst_controller_set_from_list),
7643 (gst_controller_unset), (gst_controller_unset_all),
7644 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7645 * libs/gst/controller/gstcontroller.h:
7646 * libs/gst/controller/gstcontrollerprivate.h:
7647 * libs/gst/controller/gstcontrolsource.c:
7648 (gst_control_source_class_init), (gst_control_source_init),
7649 (gst_control_source_get_value),
7650 (gst_control_source_get_value_array), (gst_control_source_bind):
7651 * libs/gst/controller/gstcontrolsource.h:
7652 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7653 (gst_object_get_control_source):
7654 * libs/gst/controller/gstinterpolation.c:
7655 (gst_interpolation_control_source_find_control_point_node),
7656 (gst_interpolation_control_source_get_first_value),
7657 (_interpolate_none_get), (interpolate_none_get),
7658 (interpolate_none_get_boolean_value_array),
7659 (interpolate_none_get_enum_value_array),
7660 (interpolate_none_get_string_value_array),
7661 (_interpolate_trigger_get), (interpolate_trigger_get),
7662 (interpolate_trigger_get_boolean_value_array),
7663 (interpolate_trigger_get_enum_value_array),
7664 (interpolate_trigger_get_string_value_array):
7665 * libs/gst/controller/gstinterpolationcontrolsource.c:
7666 (gst_control_point_free), (gst_interpolation_control_source_reset),
7667 (gst_interpolation_control_source_new),
7668 (gst_interpolation_control_source_set_interpolation_mode),
7669 (gst_interpolation_control_source_bind),
7670 (gst_control_point_compare), (gst_control_point_find),
7671 (gst_interpolation_control_source_set_internal),
7672 (gst_interpolation_control_source_set),
7673 (gst_interpolation_control_source_set_from_list),
7674 (gst_interpolation_control_source_unset),
7675 (gst_interpolation_control_source_unset_all),
7676 (gst_interpolation_control_source_get_all),
7677 (gst_interpolation_control_source_get_count),
7678 (gst_interpolation_control_source_init),
7679 (gst_interpolation_control_source_finalize),
7680 (gst_interpolation_control_source_dispose),
7681 (gst_interpolation_control_source_class_init):
7682 * libs/gst/controller/gstinterpolationcontrolsource.h:
7683 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7684 API: Refactor GstController into the core controller which can take
7685 a GstControlSource for providing actual values for timestamps.
7686 Implement a interpolation control source and use this for backward
7687 compatibility, deprecate a bunch of functions that are now handled
7688 by GstControlSource or GstInterpolationControlSource.
7689 Make it possible to disable the controller completely or only for
7690 specific properties. Fixes #450711.
7691 * docs/libs/gstreamer-libs-docs.sgml:
7692 * docs/libs/gstreamer-libs-sections.txt:
7693 * docs/libs/gstreamer-libs.types:
7694 Add new functions and classes to the docs.
7695 * tests/check/libs/controller.c: (GST_START_TEST),
7696 (gst_controller_suite):
7697 * tests/examples/controller/audio-example.c: (main):
7698 Port unit test and example to the new API and add some new
7701 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7703 Patch by: Mark Nauwelaerts <manauw at skynet be>
7705 * plugins/elements/gstmultiqueue.c:
7706 (gst_multi_queue_get_internal_links), (apply_buffer),
7707 (single_queue_overrun_cb), (gst_single_queue_new):
7708 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7709 the pipeline layout can be tracked correctly. Fixes #453732.
7711 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7713 * docs/gst/Makefile.am:
7714 * docs/libs/Makefile.am:
7715 * docs/plugins/Makefile.am:
7716 Simplify --extra-dir as gtkdoc scans recursively.
7718 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7720 * tools/gst-launch.c: (main):
7721 When we got an error, there is no point in waiting for preroll when
7724 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7726 * plugins/elements/gsttee.c: (gst_tee_base_init),
7727 (gst_tee_request_new_pad), (gst_tee_release_pad),
7728 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7729 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7731 Be a lot smarter when deciding what srcpad to use for proxying
7732 the buffer_alloc. Also handle pad added/removed when doing so.
7734 Keep track of what pads we already pushed on in case we have pads
7735 added/removed while pushing. Fixes #374639
7737 * tests/check/Makefile.am:
7738 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7740 Added unit test for pad resync.
7742 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7746 Updated translations.
7748 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7750 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7754 Added new Finnish translation.
7756 2007-06-28 Wim Taymans <wim@fluendo.com>
7758 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7759 (single_queue_overrun_cb):
7760 When figuring out when a queue is filled, use our internal time estimate
7761 based on segments, just like check_full does.
7763 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7765 * gst/gstminiobject.c: (gst_mini_object_get_type):
7766 Remove 3 do-nothing methods.
7768 2007-06-27 Wim Taymans <wim@fluendo.com>
7770 Patch by: Tim Angus <tim at ngus dot net>
7772 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7773 (gst_capsfilter_set_property):
7774 Take a reference instead of a copy when setting "caps".
7775 Fix documentation to clarify this behaviour. Fixes #449414.
7777 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7779 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7780 * gst/gstplugin.c: (gst_plugin_init):
7781 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7782 * gst/gstquery.c: (gst_query_get_type):
7783 * gst/gstregistry.c: (gst_registry_init):
7784 * gst/gsturi.c: (gst_uri_handler_base_init):
7785 Remove empty instance_init() functions to save relocs and lessen the
7786 noise. Remove some of the function prototypes that are doubled by
7789 2007-06-27 Wim Taymans <wim@fluendo.com>
7791 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7793 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7794 Add peer and direction in the XML serialisation of ghostpads.
7797 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7800 Preserve useful information, thanks Tim.
7802 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7804 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7805 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7806 (gst_single_queue_push_one), (gst_multi_queue_loop),
7807 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7808 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7809 (compute_high_id), (gst_single_queue_new):
7810 * plugins/elements/gstmultiqueue.h:
7811 Take the multiqueue lock when updating the fill level so we don't get
7814 After applying a buffer or event on the src pad segment, make sure to
7815 call gst_data_queue_limits_changed() to get the data queue to unblock
7816 and check the filled state again.
7818 Rework the not-linked pad handling so the logic is that not-linked
7819 pads can push as fast as they like, but only so they never get
7820 ahead of any linked pads.
7822 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7823 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7824 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7826 Add a test to check that not-linked pads always stay behind
7831 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7833 * docs/random/release:
7834 Some updates to the release procedure.
7836 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7838 * gst/gstelementfactory.c: (__gst_element_details_clear):
7839 Microoptimization that saves stunning 80 bytes.
7841 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7843 * docs/plugins/gstreamer-plugins.args:
7844 * docs/plugins/inspect/plugin-coreelements.xml:
7845 * docs/plugins/inspect/plugin-coreindexers.xml:
7846 Update docs with caps info.
7848 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7851 Updated Italian translation.
7853 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7857 Update Vietnamese translations.
7859 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7861 * libs/gst/base/gstbasesink.c:
7862 Remove unused signal enum.
7864 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7866 * docs/gst/gstreamer-sections.txt:
7868 * gst/gstutils.c: (gst_type_register_static_full):
7869 Beef up and include the docs for gst_type_register_static_full and
7870 gst_element_class_set_details_simple and add the API keyword
7873 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7875 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7876 (update_time_level), (gst_single_queue_push_one),
7877 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7878 (single_queue_overrun_cb), (single_queue_underrun_cb),
7879 (single_queue_check_full):
7880 Fix setting max-* properties after adding queues.
7881 Use IS_FILLED for checking visible items.
7882 Signal overrun if multiple queues overrun.
7883 Add extra debug output.
7884 Patch by: Wim Taymans <wim@fluendo.com>
7886 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7888 * gst/gstelement.c: (gst_element_class_set_details_simple):
7890 * gst/gstutils.c: (gst_type_register_static_full):
7892 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7893 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7894 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7895 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7896 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7897 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7898 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7899 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7900 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7901 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7902 (apply_buffer), (gst_queue_chain):
7903 * plugins/elements/gsttee.c: (gst_tee_base_init):
7904 * plugins/elements/gsttypefindelement.c:
7905 (gst_type_find_element_base_init),
7906 (gst_type_find_element_class_init):
7907 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7908 API: add gst_type_register_static_full
7909 API: add gst_element_class_set_details_simple
7911 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7913 * docs/pwg/advanced-types.xml:
7914 Fix typo in iana.org URI.
7916 2007-06-19 Andy Wingo <wingo@pobox.com>
7918 * tests/check/pipelines/simple-launch-lines.c
7919 (test_state_change_returns): Enable pull-mode tests now that
7920 basesink has been fixed.
7922 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7923 Changed from gst_base_sink_is_prerolled, reversing the sense of
7924 the return value. Returns FALSE also if the sink is in pull mode,
7925 in which case it needs no preroll.
7926 (gst_base_sink_query, gst_base_sink_change_state): Update for
7927 needs_preroll change.
7928 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7929 chaining up, in which we return SUCCESS directly if we activated
7930 in pull mode instead of ASYNC. Involves countering an async_start
7931 message sent before chaining up; not sure if this is correct, in
7932 an ideal world we only send async-start when activating in push
7935 * tests/check/pipelines/simple-launch-lines.c
7936 (test_state_change_returns): New test, partially disabled until
7939 2007-06-19 Wim Taymans <wim@fluendo.com>
7941 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7942 (gst_multi_queue_sink_event):
7945 2007-06-19 Wim Taymans <wim@fluendo.com>
7947 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7948 (gst_bin_change_state_func), (bin_push_state_continue),
7949 (bin_handle_async_start), (bin_handle_async_done),
7950 (gst_bin_handle_message_func):
7951 Move the common code for posting state-change messages into
7953 Broadcast the state signal after we posted the messages.
7954 Mark the bin as busy when it's doing a state-change.
7955 Make sure async-start/done messages don't interfere with the bin's
7956 state when it's busy.
7957 After the state change, let the bin check which elements completed the
7958 state change while it was busy so that it can update its state.
7960 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7962 * docs/random/release:
7963 Add a note about updating the doap file to the release checklist
7965 2007-06-18 Wim Taymans <wim@fluendo.com>
7967 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7968 (gst_single_queue_push_one), (gst_multi_queue_chain),
7969 (gst_multi_queue_sink_event):
7970 Make sure we don't reference the buffer/event after we have given away
7971 ownership in the queue.
7973 2007-06-18 Wim Taymans <wim@fluendo.com>
7975 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7976 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7977 Update queue state _after_ adding the item in the queue because else we
7978 could end up being full without the element added yet.
7980 2007-06-18 Wim Taymans <wim@fluendo.com>
7982 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7983 (gst_bin_remove_func), (gst_bin_get_state_func),
7984 (gst_bin_element_set_state), (gst_bin_continue_func),
7985 (bin_push_state_continue), (bin_handle_async_start),
7986 (bin_handle_async_done), (gst_bin_handle_message_func):
7988 Immediatly commit the toplevel bin state when receiving an async-done
7989 message. This enables us to avoid spawning a thread to commit the state
7990 in some common cases and it also avoids some races.
7991 Avoid spawning a state thread when adding/removing async elements to a
7992 toplevel bin. Instead we immediatly update the bin state.
7993 Get rid of iterating all the children when getting the state in the bin
7994 because it is now always up-to-date.
7995 Fix bug where locked elements would always return _SUCCESS even it they
7996 returned NO_PREROLL before being locked.
7997 Fix the order of the state_change, async-start/done messages that was
7998 sometimes incorrect.
7999 Mark the state_dirty field as deprecated, we don't need it anymore as we
8000 are always up-to-date.
8002 * gst/gstelement.c: (gst_element_get_state_func),
8003 (gst_element_continue_state):
8004 Small debug inprovements.
8005 Return the previous element state return when nothing is pending instead
8006 of blindly returning SUCCESS.
8008 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8010 Add a whole bunch of new testcases.
8012 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
8016 Update translations.
8018 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
8021 Fix typo in the docs.
8023 2007-06-15 Wim Taymans <wim@fluendo.com>
8025 * docs/libs/gstreamer-libs-sections.txt:
8026 Add docs for new methods.
8028 2007-06-15 Wim Taymans <wim@fluendo.com>
8030 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8031 (gst_multi_queue_item_new):
8032 Don't use GSlice because we don't depend on >= 2.10 yet.
8034 2007-06-15 Wim Taymans <wim@fluendo.com>
8036 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8037 (update_time_level), (apply_segment), (apply_buffer),
8038 (gst_single_queue_push_one), (gst_multi_queue_item_new),
8039 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8040 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8041 (single_queue_underrun_cb), (single_queue_check_full):
8042 Remove debug printf.
8044 2007-06-15 Wim Taymans <wim@fluendo.com>
8046 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8047 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8048 (gst_data_queue_set_flushing), (gst_data_queue_push),
8049 (gst_data_queue_pop), (gst_data_queue_drop_head),
8050 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8051 * libs/gst/base/gstdataqueue.h:
8053 Added methods to get the current levels and to inform the queue that the
8054 'full' limits changed.
8056 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8057 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8058 (gst_single_queue_flush), (update_time_level), (apply_segment),
8059 (apply_buffer), (gst_single_queue_push_one),
8060 (gst_multi_queue_item_steal_object),
8061 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8062 (gst_multi_queue_loop), (gst_multi_queue_chain),
8063 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8064 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8065 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8066 (single_queue_underrun_cb), (single_queue_check_full),
8067 (gst_single_queue_new):
8068 Keep track of time in the queue by measuring the difference between
8069 running_time on input and output. This gives more accurate results and
8070 can compensate for segments correctly.
8071 Make a queue by default only 5 buffers deep. We will now increase the
8072 buffer size depending on the filledness of the other queues.
8073 Factor out commong flush code.
8074 Make sure we don't add additional refcounts to buffers when we can avoid
8076 Propagate GstFlowReturn differently.
8077 Use GSlice for intermediate GstMultiQueueItems.
8079 Resize queues on over and underruns based on filled level of other
8081 When checking if the queue is filled, prefer to measure in time if we
8082 can and fall back to bytes when no time is known.
8084 * plugins/elements/gstqueue.c:
8087 2007-06-15 Wim Taymans <wim@fluendo.com>
8089 * libs/gst/base/gstbasetransform.c:
8090 (gst_base_transform_sink_event):
8091 Work around the brokenness of the event vmethod in basetransform. Prefer
8092 to return TRUE when the subclass returned FALSE (meaning don't forward
8095 * libs/gst/base/gstbasetransform.h:
8098 2007-06-15 Wim Taymans <wim@fluendo.com>
8100 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8101 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8102 (gst_base_src_default_query), (gst_base_src_get_range),
8103 (gst_base_src_start):
8104 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8107 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8109 * docs/pwg/advanced-types.xml:
8110 Added more formats to caps table.
8112 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8114 * tools/gst-launch.c: (main):
8115 Remove crufy code. GOption does not need this workaround.
8117 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8119 * libs/gst/controller/gstcontroller.c:
8120 (gst_controlled_property_set_interpolation_mode):
8121 Fix wrong getter for enums in controller.
8123 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8125 * libs/gst/check/gstcheck.c: (gst_check_init):
8126 Intercept criticals and warnings in the Gst-Phonon log domain, so
8127 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8130 2007-06-14 Edward Hervey <edward@fluendo.com>
8132 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8133 Since this file doesn't include "gst.h" it will not go through the
8134 macros that disable GST_LOG if debugging was disabled.
8136 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8138 * libs/gst/check/Makefile.am:
8139 * libs/gst/check/gstcheck.h:
8140 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8141 * pkgconfig/gstreamer-check.pc.in:
8142 Ugly 'fix' for the controller unit test on the p5 bot: in
8143 fail_unless_equals_float() check whether the values are 'almost
8144 equal' by allowing a small absolute error, which should be good
8145 enough for our use cases (normal numbers and values close to 0).
8146 Proper fixage left to floating point arithmetic aficionados.
8148 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8150 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8151 (gst_base_sink_render_object), (gst_base_sink_get_position):
8152 Add two breaks thats where missing.
8154 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8156 * docs/libs/gstreamer-libs-sections.txt:
8157 * libs/gst/check/gstcheck.h:
8158 API: add fail_unless_equals_float() and assert_equals_float().
8159 Add documentation for some of the macros.
8161 * tests/check/libs/controller.c: (GST_START_TEST):
8162 Use newly-added asserts.
8164 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8166 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8167 Show the caps change in the log to help spotting the case of not
8168 exactly matching caps.
8170 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8172 * docs/pwg/building-boiler.xml:
8173 Fix typos, spotted by Thijs Vermeir (#447190).
8175 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8177 * docs/plugins/tmpl/.cvsignore:
8178 Ignore file to keep the buildbots happy
8180 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8182 * docs/plugins/Makefile.am:
8183 * docs/plugins/gstreamer-plugins-docs.sgml:
8184 * docs/plugins/gstreamer-plugins-sections.txt:
8185 Pull fdsink into the docs too.
8187 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8189 * libs/gst/controller/gstinterpolation.c:
8190 Actually use the new functions with min/max checks for the trigger and
8191 none interpolation modes for get() and get_value_array() instead of
8194 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8196 * libs/gst/controller/gstcontroller.c:
8197 (gst_controlled_property_free):
8198 Unset the minimum and maximum GValues when freeing the corresponding
8199 GstControllerProperty struct.
8201 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8203 * libs/gst/controller/gstcontroller.c:
8204 (gst_controlled_property_new):
8205 * libs/gst/controller/gstcontrollerprivate.h:
8206 * libs/gst/controller/gstinterpolation.c:
8207 (gst_controlled_property_find_control_point_node),
8208 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8209 (interpolate_none_get_string_value_array),
8210 (interpolate_trigger_get),
8211 (interpolate_trigger_get_enum_value_array),
8212 (interpolate_trigger_get_string_value_array):
8213 Protect against values larger or smaller than the minimum or maximum
8214 allowed value for the property when using values that can be compared.
8216 Optimize trigger interpolator a bit by taking the last requested value
8217 into account instead of always looping through the complete list.
8219 Fix coding style a bit, everywhere else we use "return foo" instead
8222 * tests/check/libs/controller.c: (GST_START_TEST),
8223 (gst_controller_suite):
8224 Add unit test for the protection against too large or too small
8227 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8229 * docs/random/slomo/controller.txt:
8230 Add some thoughts about the future of the controller.
8232 2007-06-08 Wim Taymans <wim@fluendo.com>
8234 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8235 Don't overflow in retimestamping code.
8237 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8239 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8240 Use gst_util_guint64_to_gdouble for conversions.
8241 * win32/common/libgstreamer.def:
8242 Add new exported functions.
8244 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8247 Small docs addition.
8249 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8252 Remove that test line again.
8254 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8257 Test commit mail sending.
8259 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8262 Fix typo and test commit mail sending.
8264 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8266 * tests/examples/controller/audio-example.c:
8267 Improve comment and test commit mail sending.
8269 2007-06-07 Wim Taymans <wim@fluendo.com>
8271 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8272 (gst_bin_remove_func), (gst_bin_element_set_state),
8273 (bin_handle_async_start), (bin_handle_async_done),
8274 (gst_bin_handle_message_func):
8275 Add helper function to find messages.
8276 Generate the async-done messages together with the state change
8278 Small cleanups in handling toplevel bins.
8280 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8282 * libs/gst/base/gstdataqueue.c:
8283 * libs/gst/base/gstdataqueue.h:
8284 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8285 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8286 (gst_multi_queue_sink_event):
8287 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8288 Fix multiqueue leaking buffers and events when downstream or the
8289 queue are flushing. Make refcounting assumptions explicit and
8290 document them (shouldn't break existing code that uses it other than
8291 maybe leak miniobjects, but that already happens anyway). Add unit
8292 test for the most common flushing case. Fixes #423700.
8294 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8296 * libs/gst/controller/gstcontroller.c:
8297 Clarify docs: The get_all, get_value_array(s) functions
8298 don't modify the GObject properties.
8300 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8302 * libs/gst/controller/gstcontroller.c:
8303 (gst_controlled_property_set_interpolation_mode),
8304 (gst_controlled_property_prepend_default),
8305 (gst_controlled_property_new), (gst_controller_set_unlocked),
8306 (gst_controller_set), (gst_controller_set_from_list),
8307 (gst_controller_unset), (gst_controller_unset_all):
8308 * libs/gst/controller/gstcontrollerprivate.h:
8309 * libs/gst/controller/gstinterpolation.c:
8310 Factor out the 'set' logic into gst_controller_set_unlocked for the
8311 gst_controller_set and gst_controller_set_from_list functions.
8313 To make life of the interpolators easier always add a control point
8314 at timestamp zero with the default value.
8316 In the linear interpolator make things more obvious by better variable
8319 Implement cubic interpolation mode (by using a natural cubic spline)
8320 and map the quadratic interpolation mode to this too (as quadratic
8321 doesn't make much sense, see discussion on the list).
8323 * tests/check/libs/controller.c: (GST_START_TEST),
8324 (gst_controller_suite):
8325 Add unit test for the cubic interpolation mode and check everywhere
8326 if the interpolation mode could be set as expected.
8328 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8330 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8331 Don't use GLib-2.10 functions, we still depend on
8332 GLib-how-old-is-it-again-2.8.
8334 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8336 * docs/gst/gstreamer-sections.txt:
8340 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8341 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8342 (_gst_param_fraction_values_cmp),
8343 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8344 * gst/gstparamspecs.h:
8346 * tests/check/Makefile.am:
8347 * tests/check/gst/.cvsignore:
8348 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8349 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8350 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8351 (GST_START_TEST), (gst_param_spec_suite):
8352 API: add GstParamSpecFraction, so elements can have fraction
8353 properties without lots of painful string parsing (#444648).
8355 2007-06-05 Wim Taymans <wim@fluendo.com>
8357 * gst/gstobject.c: (gst_object_class_init):
8358 Fix signal signature.
8361 Add small clarification in the api docs.
8363 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8364 States are protected with object lock.
8366 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8369 I should probably be listed as an author by now.
8371 * docs/random/release:
8372 Update the release doc
8374 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8377 Make docs for gst_value_compare() mention return enums that
8380 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8385 === release 0.10.13 ===
8387 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8390 releasing 0.10.13, "With or without you"
8392 2007-05-25 Wim Taymans <wim@fluendo.com>
8394 * gst/gstbin.c: (bin_handle_async_done):
8395 Make sure that the child bin stops after completing the async state
8396 change so that the parent can continue the state change to PLAYING.
8399 2007-05-25 Wim Taymans <wim@fluendo.com>
8401 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8402 (unref_data), (gst_collect_pads_remove_pad),
8403 (gst_collect_pads_check_pads):
8404 Use additional refcounting to avoid crashes when dynamically adding and
8405 removing pads. Fixes #420206.
8407 2007-05-24 Wim Taymans <wim@fluendo.com>
8409 * tools/gst-launch.c: (event_loop):
8410 When buffering goes from a two digit to a single digit number, make sure
8411 to remove the old second digit by writing a blank over it.
8413 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8415 * libs/gst/base/gstdataqueue.c:
8416 Eliminate tabs and trailing comma in enum list; fix some typos.
8418 2007-05-24 Wim Taymans <wim@fluendo.com>
8420 * tests/check/gst/gstbin.c: (GST_START_TEST):
8421 Allow refcount of 3 and 4 because some state thread might still be busy
8424 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8426 * plugins/elements/Makefile.am:
8427 * plugins/elements/gstmultiqueue.h:
8428 * plugins/elements/gstqueue.h:
8429 These are not installed headers, no need for padding.
8431 2007-05-24 Wim Taymans <wim@fluendo.com>
8433 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8434 (gst_bin_continue_func):
8435 Enable latency for next release.
8436 Restore STATE_LOCK around recalc_state that was left out during the
8437 rewrite and could result in racy behaviour when _get_state and
8438 recalc_state are run concurrently. See #440463.
8440 2007-05-23 Wim Taymans <wim@fluendo.com>
8442 * tests/check/gst/gstsystemclock.c: (store_callback),
8444 Improve test_async_order to also work when both timers are already
8445 expired when we get scheduled to check it.
8447 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8449 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8450 (gst_bin_set_property), (gst_bin_get_property),
8451 (gst_bin_remove_func), (gst_bin_handle_message_func):
8453 'private' is a c++ keyword, let's not use that in header files,
8454 otherwise c++ compilers will throw a tantrum.
8456 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8458 * plugins/elements/gstelements.c:
8459 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8460 (gst_file_sink_get_current_offset):
8461 * plugins/indexers/gstindexers.c: (plugin_init):
8462 Use #ifdef for HAVE_XYZ for consistency.
8464 * tests/check/Makefile.am:
8465 * tests/check/elements/.cvsignore:
8466 * tests/check/elements/filesink.c: (setup_filesink),
8467 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8468 Add some unit tests for filesink.
8470 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8472 Patch by: Mark Nauwelaerts <manauw at skynet be>
8474 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8475 (gst_file_sink_query), (gst_file_sink_do_seek),
8476 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8477 * plugins/elements/gstfilesink.h:
8478 Fix position reporting; rename data_written member to current_pos to
8479 reflect its real meaning (fixes #412648).
8481 2007-05-22 Edward Hervey <edward@fluendo.com>
8483 * docs/gst/gstreamer-sections.txt:
8484 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8485 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8486 (gst_bin_remove_func), (gst_bin_handle_message_func):
8488 Add a property for bins that handle the state change of their childs.
8491 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8493 * libs/gst/controller/gstinterpolation.c:
8494 Use an array of the correct type when using _get_value_array with
8495 linear interpolation.
8497 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8499 * gst/gstelement.c (gst_element_requires_clock,
8500 gst_element_provides_clock, gst_element_request_pad,
8501 gst_element_class_set_details, gst_element_class_set_details_simple,
8502 gst_element_default_send_event, gst_element_abort_state,
8503 gst_element_continue_state, gst_element_set_state,
8504 gst_element_set_state_func, iterator_activate_fold_with_resync):
8505 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8506 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8507 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8508 gst_pad_get_range, gst_pad_pull_range):
8509 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8510 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8511 GstPadActivateModeFunction, GstPadChainFunction,
8512 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8513 GstPadFixateCapsFunction, GstPadTemplate):
8514 * gst/gstpipeline.c (gst_pipeline_change_state,
8515 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8516 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8517 gst_pipeline_get_delay):
8518 Whitespace and docs fixes.
8520 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8522 * libs/gst/controller/gstinterpolation.c:
8523 (interpolate_trigger_get_enum_value_array),
8524 (interpolate_trigger_get_string_value_array):
8525 Add support for retrieving value arrays when using the trigger
8528 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8530 * libs/gst/controller/gstcontroller.c:
8531 (gst_controller_get_value_array):
8532 * libs/gst/controller/gstcontroller.h:
8533 Clarify the docs of gst_controller_get_value_array(): The array where
8534 the values should be written to must be allocated as there seems to be
8535 no way to get the size of a random GType. This doesn't change any
8536 behaviour. Also fix some typos all over the place and remove an unused,
8537 commented function that is not necessary as g_object_set() could be
8539 * tests/check/libs/controller.c: (GST_START_TEST),
8540 (gst_controller_suite):
8541 Add unit test for gst_controller_get_value_array().
8543 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8545 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8547 Disable part of the gst_buffer_try_new_and_alloc test, because
8548 it can happily succeed on 64-bit systems where there's more address
8551 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8553 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8554 Add unit test for the improved caps checking from bug #421543.
8556 2007-05-21 Wim Taymans <wim@fluendo.com>
8558 * docs/design/part-synchronisation.txt:
8561 * gst/gstbin.c: (gst_bin_query):
8562 * plugins/elements/gstqueue.c: (apply_segment):
8568 2007-05-21 Wim Taymans <wim@fluendo.com>
8570 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8571 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8572 (gst_pad_configure_src):
8573 Added simple version of improved caps checking. It was previously
8574 assumed that a setcaps function would check the validity of the caps but
8575 people prefer us to check caps against the template automatically.
8578 2007-05-21 Wim Taymans <wim@fluendo.com>
8580 * libs/gst/base/gstbasetransform.h:
8581 Fix macro for locking/unlocking the transform lock.
8583 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8585 * docs/plugins/tmpl/.cvsignore:
8588 2007-05-18 Edward Hervey <edward@fluendo.com>
8590 * plugins/elements/gstqueue.c: (gst_queue_loop):
8591 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8592 for the subtle art of warning a potentially blocking thread that it
8593 should check the source pad return value, and relay the information
8596 2007-05-18 Edward Hervey <edward@fluendo.com>
8598 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8599 Release the queue lock !
8601 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8603 * docs/libs/gstreamer-libs-sections.txt:
8604 Add the two new controller functions to the appropiate places.
8606 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8608 reviewed by: Stefan Kost <ensonic@users.sf.net>
8610 * libs/gst/controller/gstcontroller.c:
8611 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8612 (_gst_controller_get_property), (_gst_controller_set_property),
8613 (_gst_controller_init), (_gst_controller_class_init):
8614 * libs/gst/controller/gstcontroller.h:
8615 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8616 (gst_object_get_control_rate), (gst_object_set_control_rate):
8617 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8618 Add API that provides sync suggestion timestamps for elements that
8619 call gst_object_sync_values() from which those elements can subdivide
8620 their processing loop to get the best results for the controlled
8621 properties. For now it just suggests last_sync + control_rate as
8622 new timestamp but this will be improved in the future.
8624 While doing that change the control-rate property to a GstClockTime
8625 from guint and change it's meaning from samples to nanoseconds as
8626 the GstController doesn't know anything about sampling rate. Strictly
8627 speaking this breaks ABI but as the control-rate property didn't do
8628 anything in the past and as such couldn't be used this should be no
8631 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8633 reviewed by: Stefan Kost <ensonic@users.sf.net>
8635 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8636 (gst_controller_unset_all):
8637 * libs/gst/controller/gstcontrollerprivate.h:
8638 * libs/gst/controller/gstinterpolation.c:
8639 (gst_controlled_property_find_control_point_node):
8640 Save last synced value from the list to continue searching from there
8641 in future syncs. This speeds everything up a bit.
8643 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8645 reviewed by: Stefan Kost <ensonic@users.sf.net>
8647 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8648 (gst_control_point_find), (gst_controlled_property_new),
8649 (gst_control_point_free), (gst_controlled_property_free),
8650 (gst_controller_set), (gst_controller_set_from_list),
8651 (gst_controller_unset), (gst_controller_unset_all),
8652 (gst_controller_sync_values):
8653 * libs/gst/controller/gstcontroller.h:
8654 * libs/gst/controller/gstcontrollerprivate.h:
8655 * libs/gst/controller/gstinterpolation.c:
8656 (gst_controlled_property_find_control_point_node),
8657 (interpolate_none_get), (interpolate_trigger_get):
8658 Add a new private GstControlPoint struct which "inherits" from
8659 GstTimedValue to allow different interpolators to store internal
8660 values next to each control point. From the outside everything is
8661 still a GstControlPoint so we don't loose binary compatibility.
8662 Also fixup all the GValue handling to not leak GValues or list nodes.
8663 * tests/check/libs/controller.c: (GST_START_TEST):
8664 Free the list nodes and GValues in the controller_misc test.
8666 2007-05-17 Edward Hervey <edward@fluendo.com>
8671 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8673 * gst/gstplugin.c: (gst_plugin_load_file):
8674 If we fail to load a plugin because of unresolved symbols or missing
8675 libraries and spew a warning to stderr, we may just as well mention
8676 which plugin it was that failed to load.
8678 2007-05-13 David Schleef <ds@schleef.org>
8680 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8681 handles the case when ENABLE_GTK_DOC is false, and installs
8682 the prebuilt documentation. So gtk-doc subdirs are
8683 unconditionally enabled. Fixes: #349099.
8685 2007-05-13 David Schleef <ds@schleef.org>
8687 * gst/gstutils.h: Reword some documentation.
8689 2007-05-12 David Schleef <ds@schleef.org>
8691 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8692 do anything with the passed "module" parameter, so remove it.
8693 Allows removal of additional vestigal code.
8695 2007-05-12 David Schleef <ds@schleef.org>
8698 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8699 Switch to using g_stat() because it's more portable.
8701 2007-05-12 David Schleef <ds@schleef.org>
8704 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8705 parsing for embedded systems.
8706 * gst/gstelementfactory.c:
8707 Allow gst_element_register() to be called with plugin==NULL.
8708 Did nobody notice that static elements were broken?
8710 2007-05-12 Wim Taymans <wim@fluendo.com>
8712 * tools/gst-launch.c: (event_loop):
8713 Give more interesting info when buffering starts and stops.
8714 Fix case where buffering starts but we fail to update the buffering flag
8715 because the target state is not PLAYING.
8717 2007-05-12 Wim Taymans <wim@fluendo.com>
8719 * plugins/elements/gstqueue.c: (gst_queue_init),
8720 (gst_queue_finalize), (update_time_level), (apply_segment),
8721 (apply_buffer), (gst_queue_locked_flush),
8722 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8723 (gst_queue_handle_sink_event), (gst_queue_chain),
8724 (gst_queue_push_one), (gst_queue_loop):
8725 * plugins/elements/gstqueue.h:
8726 Refactor an cleanup queue a bit.
8727 Do better time level calculations that also work when the srcpad is not
8729 Remove some unneeded debug lines.
8731 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8732 Added testcase for time level measurement.
8733 Try to make some stuff more racefree.
8735 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8737 * gst/gsturi.c: (gst_element_make_from_uri):
8738 Don't leak plugin feature.
8740 * tests/check/Makefile.am:
8741 * tests/check/gst/.cvsignore:
8742 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8743 Add brain-dead unit test.
8745 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8747 Patch by: Jeroen Wouters <woutersj at gmail com>
8749 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8750 Treat protocol strings in a case-insensitive way (#437563).
8752 2007-05-11 Michael Smith <msmith@fluendo.com>
8754 * gst/gstplugin.c: (gst_plugin_load_file):
8755 * gst/gstregistry.c: (gst_registry_scan_path_level):
8756 Don't print a g_warning for any failure to load a shared object.
8757 Instead, push this down into gstplugin.c, and warn _only_ if we
8758 failed to open the module (i.e. failure to link).
8759 Avoids warnings on normal, working, non-plugin .so files.
8761 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8763 * gst/gstplugin.c (gst_plugin_load_file):
8764 * gst/gstregistry.c (GST_CAT_DEFAULT,
8765 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8766 Print a g_warning if there was an error when loading a plugins during
8767 registry scan. The shuld help beginners starting with gst-plugin
8770 2007-05-10 Wim Taymans <wim@fluendo.com>
8772 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8773 (update_time_level), (gst_queue_locked_flush),
8774 (gst_queue_handle_sink_event), (gst_queue_chain),
8775 (gst_queue_push_one), (gst_queue_loop):
8776 * plugins/elements/gstqueue.h:
8777 Be smarter when calculating the current amount of data in the queue by
8778 measuring the difference between start and end timestamps (in running
8779 time) inside the queue. Fixes #432876.
8780 API: GstQueue::pushing to notify elements that we are pushing data again
8781 since the running signal is rather broken for this purpose.
8783 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8785 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8786 gst_queue_base_init, gst_queue_init):
8789 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8791 * win32/common/libgstreamer.def:
8792 Add new exported functions.
8793 * win32/vs6/grammar.dsp:
8794 Use grammar pre-generated files.
8796 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8798 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8801 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8803 * gst/gstutils.c: (gst_parse_bin_from_description):
8805 Maintain API and ABI when --disable-parse is used. Now that
8806 we have an appropriate error code, we can just return NULL and the
8807 appropriate error when gst_parse_launch() is used despite it having
8808 been disabled (#342564).
8810 * tests/check/Makefile.am:
8811 * tests/check/pipelines/.cvsignore:
8812 * tests/check/pipelines/parse-disabled.c:
8813 Make sure these functions exist and return NULL plus a GError when
8814 --disable-parse is used.
8816 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8818 * tests/benchmarks/complexity.c: (main):
8819 * tests/benchmarks/mass-elements.c: (main):
8820 Set a good example and don't leak messages.
8822 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8824 * docs/gst/Makefile.am:
8825 * docs/libs/Makefile.am:
8826 Correct fixxrefs options.
8828 * docs/plugins/Makefile.am:
8829 * docs/plugins/gstreamer-plugins-docs.sgml:
8830 * docs/plugins/gstreamer-plugins-sections.txt:
8831 * plugins/elements/Makefile.am:
8832 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8833 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8834 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8835 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8836 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8837 _GstCapsFilterClass, trans_class):
8838 * plugins/elements/gstelements.c (name, rank, type, _elements):
8839 * plugins/elements/gstidentity.c
8840 (gst_identity_check_imperfect_timestamp,
8841 gst_identity_check_imperfect_offset):
8842 Document capsfilter and add doc-blurb to identity.
8844 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8846 * libs/gst/controller/gstcontroller.c:
8847 (gst_controlled_property_set_interpolation_mode):
8848 * libs/gst/controller/gstinterpolation.c:
8849 Don't crash if someone tries to set an interpolation mode that
8850 is invalid or that isn't supported yet. Fixes #422295.
8852 * tests/check/libs/controller.c: (GST_START_TEST),
8853 (gst_controller_suite):
8854 Add a test case for the above.
8856 2007-05-03 Edward Hervey <edward@fluendo.com>
8858 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8859 Properly set the last_stop position on GstSegment. This will only happen
8860 if there is a buffer to push out.
8862 2007-05-03 Wim Taymans <wim@fluendo.com>
8864 * libs/gst/base/gstbasetransform.c:
8865 (gst_base_transform_buffer_alloc):
8866 always_in_place does not mean that the sink and source caps are the
8867 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8869 2007-05-03 Wim Taymans <wim@fluendo.com>
8871 * docs/libs/gstreamer-libs-sections.txt:
8872 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8873 (gst_base_src_default_query), (gst_base_src_get_range):
8874 * libs/gst/base/gstbasesrc.h:
8875 API: gst_base_src_query_latency(). Added method so that subclasses can
8876 easily get the latency values of the base source class.
8878 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8880 * tools/gst-inspect.c (print_implementation_info):
8883 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8885 * tools/Makefile.am:
8886 * tools/gst-launch.1.in:
8887 Don't create a customised man page based on the host architecture,
8888 describe the default registry path generically. That way the man
8889 page is the same for all architectures and packagers have one
8890 multilib issue less to deal with. Fixes #434926.
8892 2007-05-02 Wim Taymans <wim@fluendo.com>
8895 Fix documentation as spotted by rg on IRC.
8897 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8900 Improve docs for gst_element_{link,unlink}.
8902 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8904 * docs/design/part-events.txt:
8905 * docs/design/part-overview.txt:
8909 * libs/gst/base/gstbasesink.c:
8910 Typo fixes; minor docs addition.
8912 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8914 * docs/gst/gstreamer-sections.txt:
8915 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8916 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8918 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8919 or src that supports a given URI protocol exists.
8921 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8923 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8924 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8925 Set the location to NULL if "file://" is set as URI. Otherwise
8926 some random previous URI would still be set if "file://" is
8927 set on an already used filesink/filesrc.
8929 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8931 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8932 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8933 Special case the "file://" URI as as this is used by some
8934 applications to test with gst_element_make_from_uri if there's
8935 an element that supports the URI protocol.
8936 Also move the g_path_is_absolute() check for the location part
8937 of the URI to also check this for "file://localhost/bla" URIs.
8939 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8941 * docs/gst/gstreamer-sections.txt:
8942 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8944 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8946 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8948 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8950 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8951 (gst_registry_binary_load_pad_template),
8952 (gst_registry_binary_load_plugin),
8953 (gst_registry_binary_read_cache):
8954 * gst/gstregistrybinary.h:
8955 Implement no-mmap alternative for registry reading. Do code cleanups.
8956 Add more comments about avoiding strdups for all text data. Comments
8959 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8961 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8962 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8963 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8964 Comment structs and reformat to fix the build (that stuff should go
8965 into a priv. header).
8967 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8969 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8970 (gst_registry_binary_load_feature):
8971 * gst/gstregistrybinary.h:
8972 Refactor so that we can implement multiple features. Add support for
8973 TypeFindFactory features.
8975 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8977 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8980 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8982 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8984 * gst/gstbin.c: (gst_bin_element_set_state),
8985 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8986 (bin_handle_async_done), (gst_bin_handle_message_func):
8987 Fix build with --gst-disable-gst-debug
8989 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8991 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8992 Make sure streaming has finished before calling the ::stop() vfunc,
8993 since that vfunc might clear state which is being used in the
8994 streaming thread. This fixes a race that caused crashes in
8995 audioresample when shutting down a pipeline (#420106).
8997 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8999 * docs/gst/gstreamer-sections.txt:
9000 That was one byte missing.
9002 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9005 * docs/gst/gstreamer-sections.txt:
9007 * gst/gstconfig.h.in:
9008 * gst/gstobject.c: (gst_object_class_init),
9009 (gst_signal_object_class_init):
9011 2nd attempt to have a xml-less build as a joined effort of #413123
9014 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9016 * docs/design/draft-tagreading.txt:
9017 Added open issues/thoughts to draft.
9019 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9021 * gst/parse/grammar.tab.pre.c:
9022 * gst/parse/grammar.tab.pre.h:
9023 * gst/parse/lex._gst_parse_yy.pre.c:
9024 Update the prebuild parser sources.
9026 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9028 * gst/parse/Makefile.am:
9029 And now fix the building of the flex sources. Now everything should
9032 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9034 * gst/parse/Makefile.am:
9035 Now hopefully fix the build failures by setting proper rule
9036 dependencies and moving instead of copying.
9038 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9040 * tests/benchmarks/complexity.gnuplot:
9041 * tests/benchmarks/complexity.scm:
9042 * tests/benchmarks/mass-elements.gnuplot:
9043 * tests/benchmarks/mass-elements.scm:
9044 Total licensification.
9046 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9048 * gst/parse/Makefile.am:
9049 Fix the build by correcting the rule that gave wrong files to flex.
9051 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9053 * tests/benchmarks/complexity.c:
9054 * tests/benchmarks/mass-elements.c:
9055 Change licence to LGPL as granted by Benjamin and Andy.
9057 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9059 * gst/parse/Makefile.am:
9060 Add correct grammar.tab.h dependency if compiling without new enough
9061 flex. Fixes #431150.
9063 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9065 * gst/parse/Makefile.am:
9066 Fix typo and use outdated sources if the flex/bison sources are newer
9067 than the pregenerated ones but flex is too old. Print a warning in
9068 that case. This should fix the build on the build bot.
9070 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9072 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9073 * gst/parse/Makefile.am:
9074 * gst/parse/grammar.y:
9075 * gst/parse/parse.l:
9076 Make the parser reentrant and recursively callable. This requires flex
9077 >= 2.5.31, for older versions pregenerated sources are used as we
9078 can't bump the build dependency. Finally fixes #349180.
9080 * gst/gstparse.c: (gst_parse_launch):
9081 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9084 * docs/gst/Makefile.am:
9085 * docs/gst/Makefile.am:
9086 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9087 (__gst_parse_strfree), (__gst_parse_link_new),
9088 (__gst_parse_link_free), (__gst_parse_chain_new),
9089 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9090 (gst_parse_element_set), (gst_parse_free_link),
9091 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9092 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9093 (_gst_parse_launch):
9094 * gst/parse/grammar.tab.pre.h:
9095 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9096 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9097 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9098 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9099 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9100 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9101 (_gst_parse_yypop_buffer_state),
9102 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9103 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9104 (yy_fatal_error), (_gst_parse_yyget_extra),
9105 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9106 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9107 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9108 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9109 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9110 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9111 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9112 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9113 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9114 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9115 (_gst_parse_yyfree):
9116 If the installed flex version is too old use pre-generated parser
9117 sources. These pre-generated parser sources are always updated when
9118 the actual flex/bison sources change but require everybody who wants
9119 to change something in the parser to have flex >= 2.5.31 installed.
9121 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9123 * common/m4/gst-gettext.m4:
9124 * gst/gst-i18n-lib.h:
9125 Make --disable-nls to work
9127 2007-04-17 Wim Taymans <wim@fluendo.com>
9129 * gst/gstconfig.h.in:
9130 Revert previous change that broke the build.
9132 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9136 * gst/gstconfig.h.in:
9137 Drop libxml2 dependency when building with
9138 --enable-binary-registry --disable-loadsave
9140 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9142 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9143 (gst_registry_binary_read_cache):
9144 * gst/gstregistrybinary.h:
9145 Remove unnecessary <sys/mman.h> include which broke the win32 build
9146 with MingW; move includes from header file to .c file, even if the
9147 header file isn't installed; use g_strerror() where UTF-8 strings
9148 are expected, such as in GST_DEBUG messages.
9150 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9152 * docs/libs/gstreamer-libs-sections.txt:
9153 Remove bogus addition for API I didn't end up keeping.
9155 * libs/gst/base/gstbasesrc.h:
9156 Mention Since: 0.10.13 in the documentation.
9158 Add the API keyword to the previous ChangeLog entry.
9160 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9162 * docs/libs/gstreamer-libs-sections.txt:
9163 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9164 (gst_base_src_default_prepare_seek_segment),
9165 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9166 * libs/gst/base/gstbasesrc.h:
9167 Allow basesrc derived classes to execute seeks in other formats
9168 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9169 to prepare the GstSegment in any format that their perform_seek method
9170 will be able to understand. The default implementation provides the
9171 old behaviour of attempting to convert the seek offsets to the
9172 configured native format.
9174 API: basesrc::prepare_seek_segment vmethod.
9176 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9178 * gst/gstelement.c: (gst_element_get_state_func):
9179 Don't output the same debug statement twice.
9181 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9182 (gst_adapter_peek), (gst_adapter_take_buffer):
9183 Optimise the case where we have buffers at the head of the queue that
9184 can be joined quickly (because they're contiguous sub-buffers) by
9185 merging them together rather than copying data out into new memory.
9187 * gst/parse/grammar.y:
9188 * tests/check/pipelines/parse-launch.c:
9189 Fix a leak in an error path for parse_launch, and add a check
9190 for it to the testsuite.
9192 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9194 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9195 Don't deadlock when releasing a pad - gst_pad_set_active may try
9196 and take the multiqueue lock too.
9198 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9200 * gst/gsterror.c: (_gst_core_errors_init):
9202 API: add GST_CORE_ERROR_DISABLED (#392804).
9204 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9206 * docs/faq/gst-uninstalled:
9207 don't get empty paths on the PATH variables
9208 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9209 Don't format for the uncommon terminal width of 84 characters.
9211 2007-04-06 Wim Taymans <wim@fluendo.com>
9213 * gst/gstpipeline.c: (reset_stream_time),
9214 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9215 Only try to select a different pipeline clock when we went back to
9216 PAUSED and not when we merely got flushed.
9218 2007-04-05 Michael Smith <msmith@fluendo.com>
9220 * tools/gst-launch.1.in:
9221 fractions are better supported in gstreamer than ractions, so
9222 suggest using those.
9224 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9226 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9230 Added Danish translation.
9232 2007-04-05 Wim Taymans <wim@fluendo.com>
9234 * libs/gst/base/gstbasesink.c:
9235 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9236 Fix leak caused when refusing newsegment after EOS.
9238 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9239 (gst_fake_sink_init), (gst_fake_sink_set_property),
9240 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9241 (gst_fake_sink_render), (gst_fake_sink_change_state):
9242 * plugins/elements/gstfakesink.h:
9243 Add num-buffers property to make the element generate EOS after a
9244 configurable amount of buffers.
9245 API: fakesink::num-buffers property.
9247 * tests/check/elements/fakesink.c: (GST_START_TEST),
9249 Fix GstBus leak in test.
9250 Test for fakesink num-buffers.
9252 2007-04-05 Wim Taymans <wim@fluendo.com>
9254 * libs/gst/base/gstbasesink.c:
9255 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9256 (gst_base_sink_change_state):
9257 Don't accept anything after an EOS, return UNEXPECTED instead.
9259 * tests/check/elements/fakesink.c: (GST_START_TEST),
9261 Unit test for new EOS behaviour.
9263 2007-04-05 Wim Taymans <wim@fluendo.com>
9265 * gst/gstelement.c: (gst_element_get_request_pad):
9266 Make padtemplates also work when they don't contain %s or %d.
9268 2007-04-05 Wim Taymans <wim@fluendo.com>
9270 * docs/gst/gstreamer-sections.txt:
9271 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9272 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9274 Improve _adjust_unlocked() so that it overflows less.
9275 Add gst_clock_unadjust_unlocked to convert from external time to
9276 internal time based on calibration.
9277 Add some more debug.
9278 API: GstClock::gst_clock_unadjust_unlocked()
9280 2007-04-03 Wim Taymans <wim@fluendo.com>
9282 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9284 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9285 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9286 when releasing sink pad. Fixes #425400.
9288 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9290 * docs/random/ensonic/dynlink.txt:
9291 More work on proposal for new core api.
9293 * docs/libs/gstreamer-libs-sections.txt:
9294 * libs/gst/base/gstbasetransform.h:
9295 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9297 * libs/gst/controller/gstcontroller.c:
9298 (on_object_controlled_property_changed),
9299 (gst_controller_sync_values),
9300 (gst_controller_set_interpolation_mode):
9301 * libs/gst/controller/gstcontroller.h:
9302 Less verbose logging add docs for unimplemented parts and correctly
9303 return when using unavailable parts.
9305 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9307 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9308 Move all the debug to the CLOCK category, and associate it with
9311 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9313 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9314 Make take_buffer a bit quicker by removing redundant checks
9315 caused by calling gst_adapter_take.
9317 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9319 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9322 * tests/check/Makefile.am:
9323 * tests/check/elements/.cvsignore:
9324 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9325 (GST_START_TEST), (multiqueue_suite):
9326 Add some dead simple unit tests for the 'multiqueue' element
9327 (some bits don't work yet and are disabled for now).
9329 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9331 * gst/gstelement.c: (gst_element_get_request_pad),
9332 (gst_element_class_get_request_pad_template):
9333 Make gst_element_get_request_pad() create request pads only for
9334 request pad templates and not for, say, sometimes pad templates.
9336 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9338 * docs/design/draft-klass.txt:
9339 Add example that needs more thinking.
9341 * docs/design/draft-missing-plugins.txt:
9342 More thoughts about wrapper plugins.
9344 * docs/random/ensonic/embedded.txt:
9345 * docs/random/ensonic/profiling.txt:
9348 2007-03-25 Wim Taymans <wim@fluendo.com>
9350 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9351 (gst_base_src_loop):
9352 Only push the segment events in the PLAYING state for live sources.
9354 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9356 * gst/gstpipeline.c: (gst_pipeline_change_state):
9357 Modify the clock distribution path in PAUSED->PLAYING so that we
9358 never attempt to choose a new clock unless we're actually leaving
9359 the PAUSED state for the first time. This prevents choosing a
9360 different clock when the state_change gets called for a 2nd time due
9361 to some element doing an async state change.
9363 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9365 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9366 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9367 (gst_pad_chain_unchecked), (gst_pad_push):
9368 Revert last commit. This needs some more thoughts.
9370 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9372 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9373 (gst_pad_chain_unchecked), (gst_pad_push):
9374 Check in set_caps if the caps are compatible with the pad and remove
9375 two functions that are redundant now. Fixes #421543.
9377 2007-03-22 Wim Taymans <wim@fluendo.com>
9379 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9380 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9381 Unref some more to make valgrind happy.
9383 2007-03-22 Wim Taymans <wim@fluendo.com>
9385 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9386 (gst_system_clock_id_wait_jitter),
9387 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9388 Fix anoying regression that survived a few releases. When adding an
9389 async entry while blocking on a sync entry, the sync entry will unblock
9390 but still be busy, so it should continue to wait instead of returning
9392 Add some comments here and there.
9394 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9395 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9396 Add testcase for this.
9398 2007-03-22 Wim Taymans <wim@fluendo.com>
9400 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9401 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9402 WRONG_STATE and can silently pause the task. All other cases should
9405 2007-03-22 Wim Taymans <wim@fluendo.com>
9407 Patch by: Ville Syrjala <syrjala at sci dot fi>
9409 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9410 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9413 2007-03-21 Michael Smith <msmith@fluendo.com>
9415 * docs/pwg/advanced-types.xml:
9416 Fix some errors in the typefinding docs pointed out on irc.
9418 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9420 * libs/gst/base/gstbasesrc.c:
9421 Clarify FIXME comment in the face of having added unlock_stop()
9423 2007-03-21 Wim Taymans <wim@fluendo.com>
9425 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9426 Prepare for release where we warn against possible app breakage in the
9427 case of live pipelines along with an env var to enable/disable live
9428 preroll mode (GST_COMPAT=[no-]live-preroll).
9430 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9432 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9433 So we should use correct constants for checking for None offset.
9435 2007-03-20 Wim Taymans <wim@fluendo.com>
9437 * docs/design/part-block.txt:
9438 Mention the fact that the newly switched element should be set to at
9441 2007-03-20 Wim Taymans <wim@fluendo.com>
9444 Fix compilation with registry disabled as spotted by Saur.
9446 2007-03-20 Wim Taymans <wim@fluendo.com>
9448 Patch by: Olivier Crete <tester at tester dot ca>
9450 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9451 Look at the pending state too when syncing the element state to the
9452 parent. Fixes #420133.
9454 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9456 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9457 (gst_base_sink_change_state):
9458 * libs/gst/base/gstbasesink.h:
9459 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9460 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9461 (gst_base_src_deactivate):
9462 * libs/gst/base/gstbasesrc.h:
9463 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9464 for sub-classes to correctly clear any state they set trying to
9465 unlock, such as clearing out unlock commands from a command fd.
9466 API: basesrc::unlock_stop
9467 API: basesink::unlock_stop
9469 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9470 (gst_fd_sink_render), (gst_fd_sink_unlock),
9471 (gst_fd_sink_unlock_stop):
9472 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9473 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9474 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9476 Implement unlock_stop in fdsrc and fdsink.
9477 Implement seeking in fdsrc when a seekable fd is passed, as in
9478 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9480 2007-03-19 Wim Taymans <wim@fluendo.com>
9482 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9484 * gst/gstelement.c: (gst_element_class_init):
9485 Fix pad-added and pad-removed signal signatures so that the pad type is
9486 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9488 2007-03-19 Wim Taymans <wim@fluendo.com>
9490 * docs/gst/gstreamer-sections.txt:
9491 Add new element field and method.
9493 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9494 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9495 (gst_bin_recalc_state), (gst_bin_get_state_func),
9496 (gst_bin_element_set_state), (gst_bin_change_state_func),
9497 (gst_bin_continue_func), (bin_bus_handler),
9498 (bin_push_state_continue), (bin_handle_async_start),
9499 (bin_handle_async_done), (gst_bin_handle_message_func):
9500 Make async state changes a bit smarter by using new ASYNC_START and
9501 ASYNC_DONE messages. This reduces the number of times we run the state
9502 recalculation thread.
9503 Don't change state of element with a pending ASYNC_START message.
9504 Deprecate STATE_DIRTY messages.
9506 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9507 (gst_element_get_state_func), (gst_element_continue_state),
9508 (gst_element_lost_state), (gst_element_set_state_func),
9509 (gst_element_change_state):
9511 Keep the state that was last set by the app in a new element field.
9512 Don't allow state changes when handling an element event.
9513 Post ASYNC_START and ASYNC_DONE messages.
9514 Change lost_state so that we go to PAUSED and wait for the parent to set
9515 us to PLAYING again (so latency calculation can be performed)
9516 Export gst_element_change_state() method so that subclasses can use it.
9517 API: gst_element_change_state()
9518 API: GST_STATE_TARGET
9520 * gst/gstpipeline.c: (gst_pipeline_class_init),
9521 (reset_stream_time), (gst_pipeline_change_state),
9522 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9523 Using the new ASYNC_START message we can reset the base_time when
9524 needed. This can then be used to implement base_time redistribution in
9525 flushing seeks so that we can remove the explicit seek handling.
9526 Perform latency query and configuration when going to PLAYING.
9528 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9529 (gst_base_sink_query), (gst_base_sink_change_state):
9530 Post new ASYNC_START/ASYNC_DONE messages.
9532 * tests/check/generic/sinks.c: (GST_START_TEST):
9533 Fix test because the bin will not set the async element to PLAYING right
9536 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9537 Make the message check a little stronger.
9538 Handle ASYNC messages.
9540 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9541 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9542 Expect ASYNC_DONE messages.
9544 2007-03-19 Wim Taymans <wim@fluendo.com>
9546 * docs/gst/gstreamer-sections.txt:
9547 * gst/gstmessage.c: (gst_message_new_async_start),
9548 (gst_message_new_async_done), (gst_message_parse_info),
9549 (gst_message_parse_async_start):
9551 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9554 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9556 * tools/gst-inspect.c:
9557 (print_plugin_automatic_install_info_codecs):
9558 Now that we don't check for the 'Codec' keyword any longer in the
9559 klass, we shouldn't spew a warning if the klass isn't a decoder or
9560 encoder (since it might be a Source/Network, for example).
9562 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9564 * tools/gst-inspect.c:
9565 (print_plugin_automatic_install_info_codecs):
9566 Don't require decoder/demuxer/depayloader elements or
9567 encoder/muxer/paylader elements to have 'Codec' as part of their
9568 factory class string when introspecting a plugin's capabilities.
9569 draft-klass.txt mentions that it might be removed in future, and
9570 flump3dec doesn't have it as part of its class string, so chances
9571 are others might also not have it.
9573 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9595 Update translations from translation project
9597 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9599 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9600 (gst_child_proxy_set_property):
9601 Invert precondition check to be alike the ones in the mimiced gobject
9604 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9606 * docs/design/draft-tagreading.txt:
9607 * docs/random/ensonic/audiobaseclasses.txt:
9608 Do some Architect work.
9610 * gst/gstobject.c: (gst_object_set_name):
9614 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9616 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9618 * gst/gstsystemclock.c: (gst_system_clock_init),
9619 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9620 Defer starting the async system clock thread until the first async
9621 wait is scheduled. Fixes #414986.
9623 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9625 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9626 (gst_single_queue_free):
9627 Fix small leak (free GstSingleQueue structure too, not only contents).
9629 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9631 * gst/gstbin.c:(gst_bin_add):
9632 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9633 * win32/common/libgstbase.def:
9634 * win32/common/libgstreamer.def:
9635 Add new exported functions.
9637 2007-03-09 Wim Taymans <wim@fluendo.com>
9639 * docs/plugins/gstreamer-plugins-sections.txt:
9642 2007-03-09 Wim Taymans <wim@fluendo.com>
9644 * docs/gst/gstreamer-sections.txt:
9645 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9647 Add metadata copy functions. Fixes #393099.
9648 API: gst_buffer_copy_metadata()
9650 * gst/gstutils.c: (gst_buffer_stamp):
9651 * libs/gst/base/gstbasetransform.c:
9652 (gst_base_transform_prepare_output_buffer):
9653 Use new metadata copy functions.
9655 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9657 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9658 (gst_identity_init), (gst_identity_check_perfect),
9659 (gst_identity_check_imperfect_timestamp),
9660 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9661 (gst_identity_set_property), (gst_identity_get_property):
9662 * plugins/elements/gstidentity.h:
9663 Separate out check-imperfect-timestamp and check-imperfect-offset.
9664 Put back check-perfect as it was to keep compatibility.
9666 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9668 * gst/gstelement.c: (gst_element_dispose):
9669 There's no need to warn if VOID_PENDING is not NONE here, as
9670 long as the state is NULL it's ok, and that's checked immediately
9673 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9675 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9676 Fix check for perfect stream to ignore buffers with -1
9677 offsets/offset ends when checking data contiguity.
9679 2007-03-08 Wim Taymans <wim@fluendo.com>
9681 * tools/gst-launch.c: (event_loop):
9682 Print INFO messages.
9684 2007-03-08 Wim Taymans <wim@fluendo.com>
9686 * libs/gst/base/gstbasetransform.c:
9687 (gst_base_transform_sink_eventfunc),
9688 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9689 (gst_base_transform_activate):
9690 * libs/gst/base/gstbasetransform.h:
9691 Add support for dropping buffers with custom GstFlowReturn.
9692 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9693 buffers or dropped buffers.
9695 * docs/libs/gstreamer-libs-sections.txt:
9696 docs for new custom return code.
9698 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9699 Use drop support in base class to implement drop-probability.
9701 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9703 * gst/gst.c: (load_plugin_func):
9704 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9705 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9706 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9707 Remove newlines at end of debug log strings.
9709 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9711 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9712 Only post bus message at max, once per buffer received.
9714 2007-03-07 Wim Taymans <wim@fluendo.com>
9716 * docs/design/Makefile.am:
9717 * docs/design/part-synchronisation.txt:
9718 Add doc about synchronisation
9720 * docs/design/draft-latency.txt:
9721 * docs/design/part-TODO.txt:
9722 * docs/design/part-clocks.txt:
9723 * docs/design/part-events.txt:
9724 * docs/design/part-gstbus.txt:
9725 * docs/design/part-gstpipeline.txt:
9726 * docs/design/part-live-source.txt:
9727 * docs/design/part-messages.txt:
9728 * docs/design/part-overview.txt:
9729 * docs/design/part-streams.txt:
9730 * docs/design/part-trickmodes.txt:
9731 Documentation updates.
9733 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9736 Update the doap file.
9738 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9740 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9741 Rename non-perfect to imperfect for Mike and for the sanctity of the
9743 Also make sure bus message gets emitted for data-incontiguities.
9745 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9747 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9748 (gst_identity_start):
9749 * plugins/elements/gstidentity.h:
9750 Emit bus message if check-perfect is true and we encounter a
9751 non-perfect stream between 2 consecutive buffers.
9754 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9759 === release 0.10.12 ===
9761 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9764 releasing 0.10.12, "Inevitable Demise"
9766 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9769 Version 0.10.11.2 (0.10.12 pre-release)
9770 Bump libtool versioning.
9772 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9774 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9775 Log flow-names and not numbers.
9777 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9780 Convert to new AG_GST style.
9782 2007-02-28 Wim Taymans <wim@fluendo.com>
9784 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9785 Don't unref query twice.
9787 2007-02-28 Wim Taymans <wim@fluendo.com>
9789 * gst/gstvalue.c: (gst_value_transform_object_string),
9790 (_gst_value_initialize):
9791 Implement GstObject -> string transform so we print object names
9792 when serializing GValues containing GstObjects.
9794 2007-02-28 Wim Taymans <wim@fluendo.com>
9796 * docs/gst/gstreamer-sections.txt:
9797 Add new stuff to docs.
9799 2007-02-28 Wim Taymans <wim@fluendo.com>
9801 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9802 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9803 (gst_base_sink_change_state):
9804 Improve latency query code.
9805 Don't leak latency events.
9807 * tests/check/gst/gstbin.c: (GST_START_TEST):
9810 2007-02-28 Wim Taymans <wim@fluendo.com>
9812 * gst/gstelement.c: (gst_element_message_full),
9813 (gst_element_get_state_func):
9815 Improve docs a little. Added Since: for new macro.
9817 * gst/gstobject.c: (gst_object_sink):
9818 * gst/gstpipeline.c: (gst_pipeline_change_state),
9819 (gst_pipeline_set_new_stream_time):
9820 * gst/gstpipeline.h:
9821 Improve debugging and docs.
9823 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9826 2007-02-28 Wim Taymans <wim@fluendo.com>
9828 * gst/gstelement.c: (gst_element_message_full),
9829 (gst_element_set_locked_state), (gst_element_get_state_func),
9830 (gst_element_change_state):
9831 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9832 Documentation updates.
9833 Small code cleanups.
9835 * gst/gstmessage.c: (gst_message_new_info),
9836 (gst_message_parse_info):
9838 API: gst_message_new_info()
9839 API: gst_message_parse_info()
9840 Add INFO message create and parse code.
9842 2007-02-28 Wim Taymans <wim@fluendo.com>
9844 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9845 (bin_query_latency_done):
9846 Also report the live parameter of a latency query.
9848 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9850 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9851 Copy the current generic/states example from -base and adapt so
9852 we can use the exact same code everywhere.
9853 Check a STATES_IGNORE_ELEMENTS env var which can be used
9854 to ignore certain element factories for this test, which is
9855 what is being done in -base
9856 * tests/check/Makefile.am:
9857 Mention this environment variable.
9859 2007-02-27 Wim Taymans <wim@fluendo.com>
9861 * docs/gst/gstreamer-sections.txt:
9862 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9863 (gst_bus_timed_pop), (gst_bus_pop):
9865 API: gst_bus_timed_pop()
9866 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9867 message to arrive on the bus.
9869 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9871 Two unit tests for new _timed_pop() function.
9873 2007-02-23 Wim Taymans <wim@fluendo.com>
9875 * gst/gstpipeline.c: (gst_pipeline_change_state),
9876 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9877 Don't ref a NULL clock in _provide_clock_func().
9878 Don't allow an INVALID delay.
9879 Don't try to calculate base_time with an invalid start_time.
9880 Also distribute and notify a NULL clock when it was selected.
9882 * tools/gst-launch.c: (event_loop):
9883 Don't crash when a NULL clock was selected in the pipeline.
9885 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9887 * docs/design/Makefile.am:
9888 * docs/design/draft-missing-plugins.txt:
9889 * docs/random/draft-missing-plugins.txt:
9890 Some small updates: update plugin system identifier prefix
9891 ('gstreamer.net' to 'gstreamer'), mention our new install
9892 API in libgstbaseutils rather than libgimme-codec, add
9893 reference to the online docs.
9895 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9897 * win32/common/config.h:
9898 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9899 use moap cl ci to only check in what is mentioned in the ChangeLog.
9901 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9903 * docs/gst/gstreamer-sections.txt:
9905 Fix up documentation to link to the correct GstGError section.
9906 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9908 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9910 * tools/gst-launch.c: (event_loop):
9911 Make sure that we actually show the important message part of a
9913 No need to check if the gerror is not NULL to free; first of all
9914 g_free accepts NULL; and second the default error handler would
9915 segfault if gerror was NULL.
9917 2007-02-21 Wim Taymans <wim@fluendo.com>
9919 * docs/gst/gstreamer-sections.txt:
9920 Removed docs as well.
9922 2007-02-21 Wim Taymans <wim@fluendo.com>
9924 * gst/gstmessage.c: (gst_message_parse_duration):
9926 Remove new messages for release.
9928 2007-02-20 Wim Taymans <wim@fluendo.com>
9930 * docs/design/part-gstghostpad.txt:
9931 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9932 (gst_ghost_pad_new_full):
9933 Make the ghostpad a parent of the internal pad again for better backward
9934 compatibility. Don't write code that relies on this however.
9936 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9937 (gst_pad_link_check_hierarchy):
9938 Require that parents should be GstElements in the hierarchy check.
9940 2007-02-20 Wim Taymans <wim@fluendo.com>
9942 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9943 (gst_bin_change_state_func), (bin_query_min_max_init),
9944 (bin_query_latency_fold), (bin_query_latency_done),
9947 Implement latency query.
9949 2007-02-20 Wim Taymans <wim@fluendo.com>
9951 * docs/design/part-gstghostpad.txt:
9952 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9953 (gst_ghost_pad_internal_do_activate_push),
9954 (gst_ghost_pad_internal_do_activate_pull),
9955 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9956 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9957 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9958 Do not set the internal pad as a parent anymore so we can avoid
9959 hierarchy linking errors when the ghostpad has no parent yet. This also
9960 fixes failed activation because of unlinked internal pads, which in
9961 turn fixes the impossible case where you have to activate a pad before
9962 you can add it to a running element.
9965 * gst/gstpad.c: (pre_activate), (post_activate),
9966 (gst_pad_set_active), (gst_pad_activate_pull),
9967 (gst_pad_activate_push), (gst_pad_check_pull_range):
9968 Add some more debug info.
9969 Mark activation mode in pre_activate so that we don't try to activate in
9970 endless loops. Fixes #385084.
9972 2007-02-19 Wim Taymans <wim@fluendo.com>
9974 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9975 (gst_base_transform_check_get_range):
9976 Implement a checkgetrange function instead of relying on the default
9977 core behaviour that assumes we can operate in pull mode if we have a
9978 getrange function. First step at fixing #385084.
9980 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9982 * gst/gstchildproxy.h:
9983 * libs/gst/base/gstbasesink.h:
9984 * libs/gst/base/gstbasesrc.h:
9985 * libs/gst/base/gstbasetransform.h:
9986 More docs coverage and some ChangeLog surgery (add missing names)
9988 2007-02-15 Wim Taymans <wim@fluendo.com>
9990 * docs/design/part-TODO.txt:
9991 * docs/design/part-activation.txt:
9992 * docs/design/part-block.txt:
9993 * docs/design/part-buffering.txt:
9994 * docs/design/part-clocks.txt:
9995 * docs/design/part-element-source.txt:
9996 * docs/design/part-events.txt:
9997 * docs/design/part-gstbin.txt:
9998 * docs/design/part-gstbus.txt:
9999 * docs/design/part-gstpipeline.txt:
10000 * docs/design/part-live-source.txt:
10001 * docs/design/part-messages.txt:
10002 * docs/design/part-overview.txt:
10003 * docs/design/part-qos.txt:
10004 * docs/design/part-query.txt:
10005 * docs/design/part-states.txt:
10006 * docs/design/part-trickmodes.txt:
10007 Some doc updates. Start renaming from stream_time to running_time where
10008 it was used wrongly.
10010 2007-02-15 Wim Taymans <wim@fluendo.com>
10012 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10013 Answer LATENCY query.
10015 2007-02-15 Wim Taymans <wim@fluendo.com>
10017 * tests/check/gst/gstevent.c: (event_probe), (test_event),
10021 2007-02-15 Wim Taymans <wim@fluendo.com>
10023 * gst/gstpad.c: (gst_pad_get_internal_links_default),
10024 (gst_pad_dispatcher):
10025 Improve debugging of default pad dispatcher and query functions.
10027 2007-02-15 Wim Taymans <wim@fluendo.com>
10029 * docs/gst/gstreamer-sections.txt:
10030 Remove old unused method.
10032 2007-02-13 Wim Taymans <wim@fluendo.com>
10034 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10037 2007-02-13 Wim Taymans <wim@fluendo.com>
10039 * docs/design/part-seeking.txt:
10042 * gst/gstsegment.c: (gst_segment_set_seek):
10043 Revert old bogus change that should make seeking work again.
10045 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10047 * docs/random/ensonic/dynlink.txt:
10048 * docs/random/ensonic/interfaces.txt:
10049 * docs/random/ensonic/receipies.txt:
10050 Possible dynamic reconnection api, plus some type fixes the other two
10053 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10055 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10056 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10057 Also check for an absolute path following file:// in the filesrc
10058 element. Remove redundant check and call g_path_is_absolute() on the
10059 unescaped location.
10061 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10063 * docs/design/draft-klass.txt:
10064 Add existing category analysis.
10067 Fix doc example, framerate is a fraction.
10069 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10072 * docs/gst/Makefile.am:
10073 * docs/gst/gstreamer-sections.txt:
10074 * docs/libs/Makefile.am:
10075 Erm, forgot a bunch of --extra-dir.
10077 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10080 * docs/gst/Makefile.am:
10081 * docs/libs/Makefile.am:
10082 * docs/plugins/Makefile.am:
10083 Add crossreferences to glib/gobject docs.
10085 2007-02-12 Wim Taymans <wim@fluendo.com>
10087 * docs/design/draft-latency.txt:
10090 * docs/libs/gstreamer-libs-sections.txt:
10091 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10092 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10093 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10094 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10095 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10096 (gst_base_sink_get_position), (gst_base_sink_query),
10097 (gst_base_sink_change_state):
10098 * libs/gst/base/gstbasesink.h:
10099 API: gst_base_sink_query_latency() to let subclasses query the upstream
10101 API: gst_base_sink_get_latency() to let subclasses query the configured
10102 latency in the sink.
10103 Implement query and set latency.
10105 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10106 don't continue preroll when we are flushing. Fixes #405284.
10108 * tests/check/pipelines/stress.c: (change_state_timeout),
10109 (quit_timeout), (GST_START_TEST), (stress_suite):
10112 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10114 Patch by: René Stadler <mail at renestadler de>
10116 * docs/gst/gstreamer-sections.txt:
10117 * gst/gsttaglist.c: (_gst_tag_initialize):
10118 * gst/gsttaglist.h:
10119 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10121 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10123 * docs/libs/Makefile.am:
10124 Fix path to core docs.
10126 * gst/gstbin.c: (gst_bin_get_by_interface),
10127 (gst_bin_iterate_all_by_interface):
10128 Refix docs by also renaming 'interface' to 'iface' in implementation.
10130 * docs/gst/gstreamer-sections.txt:
10132 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10133 * gst/gstchildproxy.h:
10134 * gst/gstelementfactory.c:
10135 * gst/gstpadtemplate.h:
10136 * libs/gst/controller/gstcontroller.c:
10137 (gst_controlled_property_new):
10140 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10142 * gst/gstbin.h:(gst_bin_get_by_interface),
10143 (gst_bin_iterate_all_by_interface):
10144 Replace interface parameter name by iface as interface is
10145 a reserved keyword in Visual Studio for C++ projects so it removes
10146 a build error for application developpers using VS.
10147 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10148 Fix a bug on Windows in uri format check. Now the prefix checked
10149 is file:// and next we check if the path after file:// is absolute.
10150 * win32/common/libgstbase.def:
10151 * win32/common/libgstdataprotocol.def:
10152 * win32/common/libgstgstreamer.def:
10153 Add new exported functions.
10155 2007-02-09 Andy Wingo <wingo@pobox.com>
10157 * tests/check/pipelines/simple-launch-lines.c
10158 (simple_launch_lines_suite, test_tee): Disable tee test until I
10159 have time to fix it :-(
10161 * tests/check/Makefile.am (noinst_HEADERS):
10162 * tests/check/libs/libsabi.c:
10163 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10164 * tests/check/gst/gstabi.c:
10165 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10167 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10168 tests for push and pull tee behavior.
10170 * plugins/elements/gsttee.h:
10171 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10172 mark as deprecated as well as unimplemented. It was a crack idea.
10173 Add support for tee operating in pull mode, off by default.
10175 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10176 normal-case logs down to LOG, raise errors to WARNING.
10177 (gst_registry_xml_read_cache): Don't log before calling a function
10180 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10181 exit (registry finalize).
10182 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10183 DEBUG log when we emit signals that people don't even have the
10184 chance to connect to.
10185 (gst_registry_scan_path_level): Less logging in the normal case.
10187 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10189 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10191 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10192 Correctly generate EOS for non-seekable files. We don't have a total
10193 length for them and would get an unexpected end of file if we only
10194 special-cased for regular files. (Fixes: #404569)
10196 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10198 * tests/check/elements/filesrc.c: (GST_START_TEST),
10200 Add unit test for the GstURIHandler interface in filesrc. This also
10201 tests the newly added file://localhost/foo/bar support.
10203 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10205 * gst/gstelementfactory.h:
10206 The klass string is not a hierarchy. Add reference to the design doc
10207 for more information and common types.
10209 2007-02-02 Wim Taymans <wim@fluendo.com>
10211 * gst/gstquery.c: (gst_query_new_latency):
10212 Remove old structure field.
10214 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10216 * tools/gst-launch.1.in:
10217 Give example for network streaming (#351998)
10219 2007-02-02 Wim Taymans <wim@fluendo.com>
10221 * docs/gst/gstreamer-sections.txt:
10222 Add docs for new methods.
10224 * gst/gstevent.c: (gst_event_new_latency),
10225 (gst_event_parse_latency):
10227 Add new LATENCY event to configure latency in a pipeline.
10228 API: gst_event_new_latency
10229 API: gst_event_parse_latency
10231 * gst/gstmessage.c: (gst_message_new_buffering),
10232 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10233 (gst_message_new_latency), (gst_message_parse_buffering),
10234 (gst_message_parse_lost_preroll):
10235 * gst/gstmessage.h:
10236 Added messages used in draft-latency.
10237 API: gst_message_new_lost_preroll
10238 API: gst_message_parse_lost_preroll
10239 API: gst_message_new_prerolled
10240 API: gst_message_new_latency
10242 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10243 (gst_query_parse_latency):
10245 Implemented new latency query as in design doc.
10246 API: gst_query_new_latency
10247 API: gst_query_set_latency
10248 API: gst_query_parse_latency
10250 2007-02-02 Wim Taymans <wim@fluendo.com>
10252 * docs/design/draft-latency.txt:
10253 Slight redesign to allow for dynamic latency adjustments.
10255 * docs/design/part-negotiation.txt:
10258 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10260 reviewed by: Wim Taymans <wim@fluendo.com>
10262 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10263 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10264 Allow file://localhost/foo/bar URLs and correctly fail for every other
10265 hostname that one sets. This was gnomevfssrc is linked for those if
10266 installed as it can handle it (#403172)
10268 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10270 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10272 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10273 (unref_data), (gst_collect_pads_add_pad_full):
10274 * libs/gst/base/gstcollectpads.h:
10275 Don't put the previously added destroy notify in the GstCollectData
10276 struct as all it's padding is already used and we don't want to break
10277 ABI. Instead put in the pad's GObject data for now. This should be
10278 cleaned up for 0.11 (#402393).
10280 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10282 reviewed by: Wim Taymans <wim@fluendo.com>
10284 * docs/libs/gstreamer-libs-sections.txt:
10285 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10286 (unref_data), (gst_collect_pads_add_pad),
10287 (gst_collect_pads_add_pad_full):
10288 * libs/gst/base/gstcollectpads.h:
10289 API: Add function to specify a destroy notification for custom
10290 GstCollectData when adding new pads in GstCollectPads (#402393).
10292 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10295 Update Swedish translation (#378255).
10297 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10299 * docs/design/draft-klass.txt:
10300 Fix the previous change, this is a list of categories and not a hierarchy.
10302 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10304 * docs/design/draft-klass.txt:
10305 Add info about how to get a list of used classes.
10307 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10309 * plugins/elements/gsttypefindelement.c:
10310 (gst_type_find_element_chain_do_typefinding),
10311 (gst_type_find_element_change_state):
10312 Don't leak found caps in chain function (no idea why that never
10313 showed up as a leak anywhere).
10315 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10318 Fix and expand GstPluginDesc API docs.
10320 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10323 * gst/gstelementfactory.c:
10324 * gst/gstpadtemplate.h:
10327 * libs/gst/controller/gstcontroller.c:
10328 (gst_controlled_property_new):
10329 * tests/examples/controller/audio-example.c:
10332 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10335 comment about refining the xml deps
10337 * docs/manuals.mak:
10338 comments about moving away from jade for docs
10341 recommit the ifdefs to use the binary registry
10343 * gst/gstbin.c: (gst_bin_change_state_func):
10344 this break is obsolete
10346 * gst/gstelementfactory.h:
10347 better GST_ELEMENT_DETAILS docs, add comment about translation
10352 * gst/gstobject.c: (gst_signal_object_get_type):
10353 add G_UNLIKELY as usual
10355 * gst/gstpad.c: (gst_pad_event_default):
10356 add fall trhu comment
10358 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10359 (gst_registry_binary_initialize_magic),
10360 (gst_registry_binary_save_string),
10361 (gst_registry_binary_save_pad_template),
10362 (gst_registry_binary_save_feature),
10363 (gst_registry_binary_save_plugin),
10364 (gst_registry_binary_write_cache),
10365 (gst_registry_binary_check_magic),
10366 (gst_registry_binary_load_pad_template),
10367 (gst_registry_binary_load_feature),
10368 (gst_registry_binary_load_plugin),
10369 (gst_registry_binary_read_cache):
10370 comment typo and formatting
10372 * gst/gstutils.c: (gst_element_state_get_name),
10373 (gst_element_state_change_return_get_name):
10374 remove obsolete breaks
10376 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10377 add FIXME 0.11 and remove cpp comment
10379 2007-01-29 Edward Hervey <edward@fluendo.com>
10381 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10382 Fix print statement in an even more portable way.
10384 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10386 * docs/gst/gstreamer-sections.txt:
10388 API: add GST_ROUND_DOWN_* macros (#401781).
10390 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10392 * docs/gst/gstreamer.types.in:
10393 * gst/gstregistry.c: (gst_registry_class_init):
10394 Document registry signals and make gtk-doc pick them up (#401381).
10396 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10398 * docs/pwg/building-testapp.xml:
10399 Add some audioconverts and audioresample to the pipeline, and some
10400 more comments and error handling.
10402 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10404 * docs/manual/manual.xml:
10405 * docs/pwg/pwg.xml:
10406 Fix typo (#400987).
10408 2007-01-26 Wim Taymans <wim@fluendo.com>
10410 * gst/gstcaps.c: (gst_static_caps_get):
10411 Init caps flags too.
10413 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10415 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10417 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10418 If not using mmap'ed files try to seek to the end instead of the
10419 start to determine whether we can seek at all. This fixes the case
10420 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10421 seeks for everything afterwards fail. Fixes #400656
10423 2007-01-25 Wim Taymans <wim@fluendo.com>
10425 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10426 Add some refcount debugging.
10427 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10428 in multiple streaming threads.
10430 2007-01-25 Wim Taymans <wim@fluendo.com>
10432 Patch by: David Schleef <ds at schleef dot org>
10434 * docs/libs/gstreamer-libs-sections.txt:
10435 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10436 * libs/gst/base/gstadapter.h:
10437 API: gst_adapter_copy() that can reduce the amount of memcpy when
10438 getting data from the adapter. Fixes #388201.
10440 2007-01-25 Edward Hervey <edward@fluendo.com>
10442 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10443 In print statements, "%x" is for guint. Fixes build on macosx.
10445 2007-01-24 Edward Hervey <edward@fluendo.com>
10447 * plugins/elements/gstmultiqueue.c:
10448 (gst_multi_queue_loop):
10450 (single_queue_overrun_cb), (single_queue_underrun_cb),
10451 (single_queue_check_full), (gst_single_queue_new):
10452 Implement single queue growth system.
10453 This uses the extra-size properties, and will grow single queues by
10454 that much if one goes full whereas there are others empty. This is
10455 called extra-mode in the code.
10456 When a single queue's levels go back below the initial max-size
10457 limits, it is no longer in extra-mode. This is to ensure we don't
10458 consume too much memory.
10461 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10463 * gst/gst.c: (gst_init_get_option_group):
10464 Make warning about late g_thread_init() calls a bit more explicit,
10465 so that it's more obvious to application developers what they need
10466 to do if a user files a bug against their application.
10468 2007-01-22 Edward Hervey <edward@fluendo.com>
10470 * plugins/elements/gstmultiqueue.c:
10471 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10472 Remove previous hack of unsetting the flushing flag for the source pad
10473 instead of activating it. Instead, fix the source pad activate function
10474 so that it no longer depends on having a parent set or not.
10476 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10478 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10480 * docs/manual/basics-bus.xml:
10481 Fix example code, gst_element_unref() doesn't exist any longer.
10483 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10485 Patch by: Mark Nauwelaerts <manauw at skynet be>
10488 Fix two docs typoes (#399094).
10490 2007-01-19 Edward Hervey <edward@fluendo.com>
10492 * docs/faq/gst-uninstalled:
10493 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10494 depending on libgstbaseutils can work in uninstalled environment.
10496 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10498 * gst/gsttaglist.h:
10499 * gst/gsttagsetter.c:
10500 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10501 statement for new tag.
10503 2007-01-17 Edward Hervey <edward@fluendo.com>
10505 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10506 When dynamically creating single queues, activate sinkpad before adding
10508 We should be doing the same thing for the source pad, but we can't
10509 since it would call a method which needs the parent to be set in order
10510 to work propertly. Instead of activating the source pad, we just unset
10511 the flushing flag, which is the minimal requirement for adding a pad
10512 to an element in a state greater than READY.
10514 2007-01-17 Edward Hervey <edward@fluendo.com>
10516 * docs/faq/gst-uninstalled:
10517 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10520 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10522 * tests/check/gst/gstabi.c:
10523 * tests/check/gst/struct_hppa.h:
10524 * tests/check/libs/libsabi.c:
10525 * tests/check/libs/struct_hppa.h:
10526 Add ABI structs for HPPA (see #393796).
10528 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10530 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10531 Actually write ABI structs to the file specified in the GST_ABI
10532 environment variable, as the message we print claims we would.
10534 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10536 * tests/check/gst/gsttask.c:
10537 Fix header comment.
10539 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10541 * gst/gsttaglist.c: (_gst_tag_initialize):
10542 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10543 previous two entries.
10545 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10547 * docs/gst/gstreamer-sections.txt:
10548 * gst/gsttaglist.c: (_gst_tag_initialize):
10549 * gst/gsttaglist.h:
10550 Add tag support for beat-per-minute.
10552 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10554 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10555 (gst_registry_binary_initialize_magic),
10556 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10557 (gst_registry_binary_save_pad_template),
10558 (gst_registry_binary_save_feature),
10559 (gst_registry_binary_save_plugin),
10560 (gst_registry_binary_write_cache),
10561 (gst_registry_binary_check_magic),
10562 (gst_registry_binary_load_pad_template),
10563 (gst_registry_binary_load_feature),
10564 (gst_registry_binary_load_plugin),
10565 (gst_registry_binary_read_cache):
10566 * gst/gstregistrybinary.h:
10567 Use glib types, cleanup comments, impement interfaces and uri-types.
10569 2007-01-13 Andy Wingo <wingo@pobox.com>
10571 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10572 getrange() to return buffers with other caps, while we fix
10573 demuxers and typefind, or otherwise change part-negotiation.txt.
10575 2007-01-12 Andy Wingo <wingo@pobox.com>
10577 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10578 Factor start/stop into this private function instead of partially
10579 in activate functions and partially in the change_state function.
10580 Fixes setup before the element has changed from READY->PAUSED, as
10581 is the case in pull-mode pipelines.
10582 (gst_base_transform_sink_activate_push)
10583 (gst_base_transform_src_activate_pull): Refactor to use
10584 gst_base_transform_activate().
10585 (gst_base_transform_change_state): Removed, not needed any more.
10587 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10588 Truncate before fixating.
10590 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10591 Don't set_caps() if the result of fixating is ANY, as it's not
10592 supported, and not necessary in the case of a link with no
10593 template caps on either side. Fixes tests/check/libs/basesrc in
10594 some pull-mode tests.
10596 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10597 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10598 (gst_base_transform_src_activate_pull):
10599 Track the activation mode.
10600 (gst_base_transform_setcaps): In pull mode, when activating the
10601 src pad, after activating the sink pad, activate the sink pad's
10602 peer, as discussed in part-negotiation.txt.
10604 * libs/gst/base/gstbasesrc.h:
10605 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10606 vmethod, as in basesink.
10608 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10610 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10611 mode, first proxy the setcaps to the peer pad.
10612 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10613 new fixate vmethod.
10614 (gst_base_sink_default_activate_pull): Rename from
10615 gst_base_sink_activate_pull.
10616 (gst_base_sink_negotiate_pull): New function, performs negotiation
10617 in pull mode before calling ::activate_pull().
10618 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10619 vmethod instead of the default implementation. I have no idea how
10620 this worked before. Negotiate before calling activate_pull.
10622 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10623 sink pads in pull mode. In addition to being correct, fixes
10624 filesrc ! decodebin ! identity ! fakesink.
10625 (gst_pad_get_range, gst_pad_pull_range): Don't call
10626 gst_pad_set_caps() if the caps changes; instead error out with
10627 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10629 2007-01-12 Andy Wingo <wingo@pobox.com>
10631 * docs/design/part-negotiation.txt: Update with more policy.
10633 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10635 * libs/gst/check/gstbufferstraw.h:
10636 * libs/gst/check/gstcheck.h:
10637 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10640 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10642 * tests/check/Makefile.am:
10643 * tests/check/gst/.cvsignore:
10644 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10645 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10646 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10647 (GST_START_TEST), (gst_tag_setter_suite):
10648 Add minimal unit test for beforementioned GstTagSetter bug.
10650 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10652 Patch by: René Stadler <mail at renestadler dot de>
10654 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10655 gst_tag_list_merge() returns a new list, so it's not the best idea
10656 to ingore its return value. Effectively meant that tags could only
10657 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10658 Also add function guard to require a non-NULL taglist as input (has
10659 always been so due to gst_tag_list_copy(), just making it explicit).
10661 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10663 * docs/random/draft-missing-plugins.txt:
10664 Some additions: mention new API that is supposed to be used at the
10665 various stages; short blob about new gst-inspect introspection
10666 option; mention potential future problem with plugins that have
10667 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10669 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10671 * tools/gst-inspect.c:
10672 (print_plugin_automatic_install_info_codecs),
10673 (print_plugin_automatic_install_info_protocols),
10674 (print_plugin_automatic_install_info), (main):
10675 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10676 introspect plugin files and get machine-parsable output that corresponds
10677 to the last bit of the missing-plugin installer string (small gotcha:
10678 doesn't take into account ranks).
10680 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10683 * docs/gst/gstreamer-sections.txt:
10685 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10686 (gst_registry_lookup_locked):
10687 * gst/gstregistry.h:
10688 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10689 (gst_registry_binary_initialize_magic),
10690 (gst_registry_binary_save_string),
10691 (gst_registry_binary_save_pad_template),
10692 (gst_registry_binary_save_feature),
10693 (gst_registry_binary_save_plugin),
10694 (gst_registry_binary_write_cache),
10695 (gst_registry_binary_check_magic),
10696 (gst_registry_binary_load_pad_template),
10697 (gst_registry_binary_load_feature),
10698 (gst_registry_binary_load_plugin),
10699 (gst_registry_binary_read_cache):
10700 * gst/gstregistrybinary.h:
10701 * gst/gstregistryxml.c: (load_feature),
10702 (gst_registry_xml_read_cache):
10703 commit binary registry (disabled by default, see #359653)
10705 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10707 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10708 Fix 'make check' too.
10710 2007-01-10 Andy Wingo <wingo@pobox.com>
10712 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10715 * docs/design/part-negotiation.txt: Update with, um, one way that
10716 pull-mode negotiation might work?
10719 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10720 that the pad must be a src pad; makes sense to call it the other
10721 way in pull mode, and the logic is symmetric anyway.
10723 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10725 * plugins/elements/gstfilesink.c:
10726 Include <stdio.h> for fseeko().
10728 2007-01-10 Wim Taymans <wim@fluendo.com>
10732 Reserve LATENCY event.
10734 2007-01-09 Wim Taymans <wim@fluendo.com>
10736 * docs/design/draft-latency.txt:
10739 2007-01-09 Wim Taymans <wim@fluendo.com>
10741 * docs/design/draft-latency.txt:
10744 * gst/gstelement.h:
10745 * gst/gststructure.c:
10749 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10751 * tests/check/.cvsignore:
10752 Ignore test-registry.xml as well.
10754 2007-01-09 Wim Taymans <wim@fluendo.com>
10756 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10757 unref data at the end when we are done with the pad.
10759 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10761 * docs/gst/gstreamer-sections.txt:
10762 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10763 (init_post), (gst_deinit), (gst_update_registry):
10765 API: add gst_update_registry() (#391296).
10767 * tests/check/Makefile.am:
10768 * tests/check/gst/gstregistry.c:
10769 * tests/check/gst/.cvsignore:
10770 Simple unit test for the above.
10772 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10774 * gst/gstregistry.c: (gst_registry_scan_path_level):
10775 Plugin extension on HP-UX is .sl, add that to the list of approved
10776 plugin extensions (see #393796).
10778 * tests/check/gst/gstpad.c: (GST_START_TEST):
10779 ulong => gulong. Fixes compilation with HP-UX compiler.
10781 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10782 Fix compilation if valgrind headers are not available.
10784 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10786 * win32/common/libgstreamer.def:
10787 Add new exported function.
10788 * win32/vs6/libgstbase.dsp:
10789 Add gstdataqueue.c to the build.
10790 * win32/vs6/libgstcoreelements.dsp:
10791 Add gstmultiqueue.c to the build.
10793 2007-01-06 Andy Wingo <wingo@pobox.com>
10795 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10796 activate_pull(), providing for a way to specialize the process of
10797 spawning a thread to pull on the sink pad. There is a default
10800 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10801 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10802 (gst_base_sink_init): Renamed pad activation functions (inserting
10803 "_pad" in their names). Refactor to use the new activate_pull
10804 vmethod, as appropriate.
10805 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10806 default activate_pull function to start a task pulling from the
10807 sink pad, as before.
10809 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10810 on the pads if necessary, as in push()/chain(). Update docs.
10811 Shouldn't affect existing pull() usage as it is currently only
10812 being used on buffers without caps.
10814 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10816 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10818 Call g_thread_init() first thing in gst_init() / gst_check_init().
10819 When initialisation is done via gst_init_get_option_group() and
10820 GOption parsing, issue a warning if the GLib thread system has not
10821 been initialised yet by the time gst_init_get_option_group() is
10822 called, as it's quite likely other GLib functions such as
10823 g_option_context_new() have been called already then, and
10824 g_thread_init() must be called before any other GLib function. The
10825 application in question must be fixed in that case, since memory
10826 corruption might happen otherwise.
10827 We issue the warning because even if the GLib folks decide to work
10828 around the problem on their end in future, this is still an issue
10829 with all GLib versions >= 2.10.0, so we should warn until we depend
10830 on a GLib version we know to be safe.
10831 Update documentation as well.
10832 Closes bug #391278.
10834 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10836 * tools/gst-inspect.c: (main):
10837 * tools/gst-launch.c: (main):
10838 * tools/gst-typefind.c: (main):
10839 * tools/gst-xmlinspect.c: (main):
10840 Call g_thread_init() really really early, before any other GLib
10841 function (see #342564 and recent discussion on gtk-devel-list).
10843 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10845 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10847 * gst/gst_private.h:
10848 * gst/gstconfig.h.in:
10850 On win32, all the __declspec stuff for symbol exporting is
10851 apparently only needed with MSVC, but doesn't work with MingW.
10852 Fixes compilation with MingW and #391909.
10854 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10856 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10857 Change some GST_ERROR_OBJECT that aren't really errors to
10858 GST_WARNING_OBJECT in order to reduce terminal spam.
10860 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10862 * tests/check/Makefile.am:
10863 disable test again, as there seem to be still race problems
10865 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10867 * tests/check/Makefile.am:
10868 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10869 (GST_START_TEST), (queue_suite):
10870 enable queue test again, add tests for the leaky behaviour
10872 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10875 * tests/examples/Makefile.am:
10876 Compile adapter test/example only if the required headers are
10877 available (fixes #391915).
10879 2007-01-01 David Schleef <ds@schleef.org>
10882 Restore the previous signal handler for SIGSEGV instead of
10883 setting to default, since we may have stolen it away from
10884 someone. (i.e., Mono)
10886 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10888 * docs/random/draft-missing-plugins.txt:
10889 Some small additions and clarifications.
10891 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10893 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10894 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10895 since that can lead to random memory corruptions and crashes
10896 (may or may not be related to #383244, #386711, and #386711).
10898 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10900 * tests/check/.cvsignore:
10901 * tests/check/Makefile.am:
10902 sync .cvsignome and CLEANFILES
10904 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10906 * tests/check/Makefile.am:
10909 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10911 * docs/design/part-states.txt:
10912 two tiny additional comments
10914 * gst/gststructure.c:
10917 * tests/check/Makefile.am:
10918 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10920 disable test for now, unless it gets fixed
10922 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10924 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10926 fix race in underrun test
10928 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10930 * tests/check/elements/.cvsignore:
10933 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10935 try to narrow test failure
10937 2006-12-21 David Schleef <ds@schleef.org>
10939 * plugins/elements/gstfakesrc.c:
10940 Use g_random_int_range(), since it produces better random
10941 numbers in a range than almost-correct floating point code.
10943 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10945 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10946 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10947 (gst_check_teardown_sink_pad):
10948 do not automatically (de)activate pads
10950 * tests/check/Makefile.am:
10951 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10952 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10953 add new, yet simple tests for queue
10955 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10956 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10957 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10959 * tests/check/elements/identity.c: (cleanup_identity):
10960 consistent pad (de)activation
10962 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10964 Patch by: Sebastian Dröge <slomo ubuntu com>
10966 * libs/gst/base/gstcollectpads.c:
10967 Fix two doc typos (#387866).
10969 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10971 * docs/manual/advanced-dparams.xml:
10972 Fix typo (g_object_control_properties() doesn't exist).
10974 2006-12-19 Edward Hervey <edward@fluendo.com>
10976 * gst/gstsegment.c: (gst_segment_set_seek):
10977 Fine tune the cases where the segment start/stop values are really
10979 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10980 Add tests for the return values of gst_segment_set_seek().
10982 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10987 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10989 Fix incorrect documentation and flesh it out a bit more.
10990 Set default values for the max properties on the GParamSpec as well,
10991 so it shows up correctly in gst-inspect.
10993 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10995 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10996 Correct docs of queue, add more detail and crosslink it more.
10998 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11000 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11001 Print additional debug info when the stream isn't perfectly
11002 timestamped; don't try to use invalid durations.
11004 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11006 * docs/design/Makefile.am:
11007 Dist new design docs.
11009 2006-12-16 Wim Taymans <wim@fluendo.com>
11011 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11013 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11014 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11015 (gst_collect_pads_stop), (gst_collect_pads_event),
11016 (gst_collect_pads_chain):
11017 * libs/gst/base/gstcollectpads.h:
11018 Add refcounting to the collectpads data so we can track when it's safe
11019 to free the data. Fixes #383382.
11021 2006-12-15 Wim Taymans <wim@fluendo.com>
11023 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11024 (gst_collect_pads_remove_pad):
11025 Automatically activate/deactivate pads when they are added to a
11026 started/stoped collectpads.
11028 2006-12-15 Wim Taymans <wim@fluendo.com>
11030 * gst/gstelement.c: (gst_element_add_pad):
11031 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11032 * gst/gstpad.c: (gst_pad_init):
11033 Set pads to FLUSHING when they are created. Check, warn and fix when a
11034 demuxer adds an inactive pad to itself when running. Fixes #339326.
11036 2006-12-15 Wim Taymans <wim@fluendo.com>
11038 * gst/gstelement.c: (gst_element_class_init),
11039 (gst_element_default_send_event), (gst_element_send_event),
11040 (gst_element_default_query), (gst_element_query):
11041 Expose default element send_event and query handling as vmethods that
11042 subclasses can chain up to.
11044 2006-12-15 Wim Taymans <wim@fluendo.com>
11046 * gst/gstelement.c: (gst_element_set_state_func):
11047 Small documentation fixes.
11049 2006-12-15 Wim Taymans <wim@fluendo.com>
11051 * docs/design/draft-latency.txt:
11052 Checked in draft for handling latency in pipelines.
11054 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11058 * gstreamer.spec.in:
11061 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11063 * gst/gst.c: (init_pre), (init_post):
11064 init_pre() and init_post() might be called via our GOptionGroup or
11065 from gst_init(), and we should skip both of them if we've already
11066 been initialised, otherwise we will init some things twice or add
11067 two default log functions.
11069 2006-12-13 Edward Hervey <edward@fluendo.com>
11071 * docs/manual/basics-bus.xml:
11072 No, gst_main_loop does not exist. Its g_main_loop.
11073 Discovered by somebody who abused the copy-paste technique of coding :)
11075 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11077 * gst/gstghostpad.c:
11078 Log ghostpad debug stuff to the GST_PADS category as well rather
11079 than just to the default category.
11081 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11084 * gst/gst.c: (init_pre):
11085 Add some basic system details such as OS and architecture
11086 to the debug output if possible, courtesy of uname().
11088 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11090 * docs/gst/running.xml:
11091 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11092 environment variables.
11094 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11096 * tests/check/gst/gstbin.c: (GST_START_TEST):
11097 It is acceptable to have a refcount of 2 or 3 at this point in the
11098 test, because the pipeline might be just posting its state_change
11099 message. The next line then waits for that message to appear using
11100 bus_poll, so that should be fine too.
11102 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11104 * gst/gst.c: (ensure_current_registry_forking):
11105 Ignore EINTR when reading from the child registry pipe.
11106 Explicitly ignore the return value from close, since it makes no
11109 * gst/gstminiobject.c: (gst_mini_object_ref),
11110 (gst_mini_object_unref):
11111 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11113 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11114 When removing cached plugins, remove their features too, so they're
11115 not visible after they've disappeared.
11117 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11118 In the unlikely case that we are linking pads with no parents, don't
11119 crash trying to get the non-existent parent bin.
11121 * gst/parse/grammar.y:
11122 Output debug in the PIPELINE category
11124 2005-03-08 Wim Taymans <wim@fluendo.com>
11126 Patch by: René Stadler <mail at renestadler dot de>
11128 * gst/gstclock.c: (gst_clock_new_periodic_id):
11129 Reject invalid clock times for interval of periodic ids.
11132 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11134 * gst/gstelementfactory.c: (gst_element_factory_create):
11135 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11136 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11137 * tools/gst-inspect.c: (print_element_info):
11138 Fix refcounting of gst_plugin_feature_load to match the docs.
11141 2006-12-07 Wim Taymans <wim@fluendo.com>
11143 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11144 (gst_base_sink_get_position):
11145 Improve debugging of events.
11147 2006-12-07 Wim Taymans <wim@fluendo.com>
11149 Patch by: René Stadler <mail at renestadler dot de>
11151 * gst/gstclock.c: (gst_clock_id_wait):
11152 Make period ids add the interval to the origial requested time instead
11153 of the possibly updated time which can be wrong when there are multiple
11154 waiters for the same id. Fixes #382592.
11156 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11157 (gst_system_clock_id_wait_jitter_unlocked),
11158 (gst_system_clock_id_wait_jitter):
11159 Fix restart in the async notify thread when an async entry is added to
11160 the front of the list. Fixes #381492.
11162 * tests/check/gst/gstsystemclock.c: (store_callback),
11163 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11164 Added test for multiple async waits.
11165 Added test for async wait order.
11167 2006-12-07 Wim Taymans <wim@fluendo.com>
11169 * gst/gstbin.c: (gst_bin_query):
11170 Add some more docs about the POSITION query.
11172 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11175 Bump version nano - back to CVS.
11177 === release 0.10.11 ===
11179 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11182 releasing 0.10.11, "Love never runs on time"
11184 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11186 * win32/common/libgstbase.def:
11187 * win32/common/libgstreamer.def:
11188 * win32/vs8/libgstbase.vcproj:
11189 * win32/vs8/libgstcoreelements.vcproj:
11190 * win32/vs8/libgstreamer.vcproj:
11191 Fix compilation on win32 under VS8
11192 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11193 Partially fixes #381175
11195 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11197 * gst/gstvalue.c: (gst_value_compare_fraction):
11198 If someone is foolish enough to compare 2 fractions with denominator =
11199 0, return UNORDERED rather than aborting.
11201 2006-11-28 Edward Hervey <edward@fluendo.com>
11203 * libs/gst/base/Makefile.am:
11204 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11205 (gst_data_queue_base_init), (gst_data_queue_class_init),
11206 (gst_data_queue_init), (gst_data_queue_new),
11207 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11208 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11209 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11210 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11211 (gst_data_queue_set_flushing), (gst_data_queue_push),
11212 (gst_data_queue_pop), (gst_data_queue_drop_head),
11213 (gst_data_queue_set_property), (gst_data_queue_get_property):
11214 * libs/gst/base/gstdataqueue.h:
11215 New GstDataQueue object for threadsafe queueing. Most useful for
11216 elements that need some queueing functionnality.
11217 * docs/libs/gstreamer-libs-docs.sgml:
11218 * docs/libs/gstreamer-libs-sections.txt:
11219 Insert documentation for GstDataQueue
11220 * plugins/elements/Makefile.am:
11221 * plugins/elements/gstelements.c:
11222 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11223 (gst_multi_queue_class_init), (gst_multi_queue_init),
11224 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11225 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11226 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11227 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11228 (gst_multi_queue_loop), (gst_multi_queue_chain),
11229 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11230 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11231 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11232 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11233 (wake_up_next_non_linked), (compute_next_non_linked),
11234 (single_queue_overrun_cb), (single_queue_underrun_cb),
11235 (single_queue_check_full), (gst_single_queue_new):
11236 * plugins/elements/gstmultiqueue.h:
11237 New multiqueue element, using GstDataQueue. Used for queuing multiple
11239 Closes #344639 and #347785
11241 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11243 * docs/pwg/advanced-types.xml:
11244 add more missing type details
11246 * tools/gst-run.c: (main):
11247 remove unused variable
11249 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11251 * docs/libs/Makefile.am:
11252 * docs/libs/gstreamer-libs.types:
11253 add types of base classes to enable gobject specific stuff in the docs
11255 * docs/random/ensonic/embedded.txt:
11256 more ideas about isolating platform specific things
11258 2006-11-20 Wim Taymans <wim@fluendo.com>
11260 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11262 * libs/gst/check/gstcheck.h:
11263 Fix compilation and running against 0.9.4. Fixes #377332.
11265 2006-11-20 Wim Taymans <wim@fluendo.com>
11267 * gst/gstsegment.c: (gst_segment_set_seek),
11268 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11269 (gst_segment_to_running_time):
11270 Fix boundary checking in to_running_time() and to_stream_time().
11273 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11274 stream and running time can now be calculated for the complete
11277 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11279 * gst/gstpad.c: (gst_pad_push_event):
11280 Can't access event structure after giving away ownership of
11283 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11285 * docs/random/ensonic/embedded.txt:
11286 * docs/random/ensonic/profiling.txt:
11287 * docs/random/ensonic/receipies.txt:
11290 2006-11-13 Wim Taymans <wim@fluendo.com>
11292 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11295 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11297 2006-11-13 Wim Taymans <wim@fluendo.com>
11299 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11301 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11302 Store new length in segment duration so we don't keep on calling the
11303 potentially expensize get_size() call. Fixes #370865.
11305 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11307 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11309 * win32/common/libgstreamer.def:
11310 Add two missing symbols (#366492).
11312 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11314 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11315 (gst_adapter_take_buffer):
11316 Fix format string to use all its arguments.
11317 Remove useless >= check on a guint
11319 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11321 * tests/examples/adapter/.cvsignore:
11322 Ignore build file as commanded by the build-bot
11324 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11326 * tests/examples/adapter/Makefile.am:
11327 * tests/examples/adapter/adapter_test.c: (run_test_take),
11328 (run_test_take_buffer), (run_tests), (main):
11330 Add new files from the previous commit
11332 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11336 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11337 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11338 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11339 * libs/gst/base/gstadapter.h:
11340 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11341 (GST_START_TEST), (gst_adapter_suite):
11342 * tests/examples/Makefile.am:
11343 Do some optimisation work in GstAdapter to avoid copies in more cases.
11344 It could still do slightly better by merging buffers when
11345 gst_buffer_is_span_fast is true, but is already faster.
11347 Also, avoid traversing a single-linked list to append each incoming
11348 buffer inside the adapter.
11350 Add simple test app that times the adapter behaviour in different
11351 situations, and extend the unit test to check that bytes enter and
11352 exit the adapter in their original order.
11354 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11356 * docs/random/draft-missing-plugins.txt:
11357 Update: use element message instead of adding a new message
11358 type to the core; don't provide GStreamer API to initiate the
11359 plugin download, just provide API to compose the strings needed
11360 and let an external libgimmestuff handle the rest.
11362 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11364 * tools/gst-inspect.c: (print_element_properties_info):
11365 Print a string instead of 'unknown type' for GValueArray properties
11367 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11369 * docs/random/draft-missing-plugins.txt:
11372 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11374 * tests/examples/typefind/typefind.c: (type_found), (main):
11375 Make typefind element example work again (#371894); add a
11378 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11380 * docs/random/draft-missing-plugins.txt:
11381 Commit initial draft about how to deal with missing plugins,
11382 needs work (API too).
11384 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11386 * docs/pwg/advanced-types.xml:
11387 documents the new caps elements (see #363118)
11389 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11391 * gst/gstplugin.c: (gst_plugin_load_file):
11392 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11393 (gst_file_src_map_region), (gst_file_src_start):
11394 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11395 (gst_file_index_commit):
11396 Use g_strerror() instead of strerror() - we want UTF-8.
11398 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11400 Patch by: Peter Kjellerstedt <pkj at axis com>
11402 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11403 Another printf fix (#371493).
11405 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11407 * tests/check/gst/gsttag.c:
11408 relicence (okay with author=company)
11410 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11412 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11413 (gst_pad_push_event):
11414 Enhance debug and improve docs
11419 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11421 * docs/random/ensonic/distributed.txt:
11422 * docs/random/ensonic/profiling.txt:
11425 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11427 * docs/gst/gstreamer-sections.txt:
11428 add new API and fix the build
11430 * gst/gstbin.c: (gst_bin_recalc_state):
11431 * gst/gstelement.c: (gst_element_message_full),
11432 (gst_element_get_state_func), (gst_element_set_state_func):
11433 use new API and improve logging
11435 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11437 API: add function to get StateChangereturn names to improve logs
11439 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11441 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11442 I'm considering shooting the next person to put strerror stuff
11443 in the translateable part of the message.
11445 2006-11-03 Wim Taymans <wim@fluendo.com>
11447 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11448 Get the type and printf conversion specifiers right.
11450 2006-11-03 Wim Taymans <wim@fluendo.com>
11452 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11454 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11455 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11456 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11457 Some small cleanups. Improve debugging.
11459 Signal all waiting threads with a broadcast instead of just one.
11462 2006-11-03 Wim Taymans <wim@fluendo.com>
11464 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11465 (gst_fd_src_create):
11466 Add some debugging.
11467 Only update fd when it's different from the old.
11469 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11471 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11472 Printf fixes for PPC/OSX, take two (#369366).
11474 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11476 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11478 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11479 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11480 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11481 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11482 don't cast to long long for portability reasons, but use
11483 GLib's types instead.
11485 2006-10-30 Michael Smith <msmith@fluendo.com>
11487 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11488 Get the arguments to lseek() the right way around.
11491 2006-10-30 Wim Taymans <wim@fluendo.com>
11493 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11496 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11498 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11500 Patch by: Kjartan Maraas <kmaraas at gnome org>
11502 * docs/design/part-MT-refcounting.txt:
11503 * docs/random/wtay/capsnego2-docs:
11506 Typo fixes (#366212).
11508 2006-10-28 Wim Taymans <wim@fluendo.com>
11510 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11513 * win32/common/libgstbase.def:
11514 * win32/common/libgstreamer.def:
11515 * win32/vs8/libgstbase.vcproj:
11516 * win32/vs8/libgstcontroller.vcproj:
11517 Add needed entries in .def files.
11519 Rearrange def files in vs8 solutions. Fixes #366286.
11521 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11523 * win32/common/gstconfig.h:
11524 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11525 hand-made win32 gstconfig.h. Fixes #366321.
11527 2006-10-27 Wim Taymans <wim@fluendo.com>
11529 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11530 (gst_ghost_pad_new_full):
11531 Make acceptcaps return TRUE when we don't have a target, just like
11534 2006-10-27 Wim Taymans <wim@fluendo.com>
11536 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11537 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11539 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11541 * gst/gststructure.c: (gst_structure_id_set_value):
11542 If someone tries to set a non-UTF8 string field on a structure,
11543 don't just print a warning, but also ignore the request and do
11544 not change/add that field to the structure.
11546 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11547 Test for the above.
11549 2006-10-25 David Schleef <ds@schleef.org>
11552 g_hash_table_insert() needs a cast to a non-const pointer duh.
11554 2006-10-25 David Schleef <ds@schleef.org>
11558 Change name parameter of _gst_debug_register_funcptr to const
11559 to reflect the constness of its use in the function as well
11560 as to quiet a gcc warning.
11562 2006-10-25 Edward Hervey <edward@fluendo.com>
11564 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11565 Don't push the buffer if it's empty.
11568 2006-10-24 Wim Taymans <wim@fluendo.com>
11573 * libs/gst/base/gstbasetransform.c:
11574 (gst_base_transform_sink_eventfunc):
11575 Debug segment values *after* updating them as this is more
11578 2006-10-23 Wim Taymans <wim@fluendo.com>
11580 * docs/design/part-events.txt:
11583 * docs/design/part-block.txt:
11584 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11585 (gst_pad_push_event):
11586 Revert BLOCKING patch, it tries to be smart without really having a
11587 clear idea what or how. So, now we discard all FLUSHING events again on
11588 a blocking pad. Should fix gnonlin again.
11590 2006-10-23 Wim Taymans <wim@fluendo.com>
11592 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11594 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11595 (gst_base_src_start), (gst_base_src_activate_push):
11596 Make sure size is always initialized. Fixes #364388.
11598 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11600 * docs/random/ensonic/distributed.txt:
11601 add some ideas about doing distributed processing
11603 * docs/random/ensonic/profiling.txt:
11604 get_rusage look promising
11606 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11608 * docs/manual/basics-helloworld.xml:
11609 Add a cast in example to fix compile warning
11611 2006-10-18 Wim Taymans <wim@fluendo.com>
11613 * gst/gstsegment.c: (gst_segment_set_last_stop),
11614 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11615 Relax arg checking again, -1 is allowed.
11617 2006-10-18 Wim Taymans <wim@fluendo.com>
11619 * gst/gstsegment.c: (gst_segment_set_last_stop),
11620 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11621 _set_last_stop() must be with a value != -1
11622 A _TYPE_SET to -1 means seek to 0.
11623 Calc last_stop correctly for negative rates.
11624 Make sure we work with positive durations when updating a segment.
11626 2006-10-18 Wim Taymans <wim@fluendo.com>
11628 * docs/design/part-live-source.txt:
11632 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11635 Add an explicit cast to GstBuffer** to keep old code that added an
11636 explicit cast to GstMiniObject** for gst_mini_object_replace()
11637 compiling without warning.
11639 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11641 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11642 check for validity of dates
11644 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11646 * docs/gst/gstreamer-sections.txt:
11647 Forgot this one, makes gtk-doc shut up.
11649 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11651 Patch by: Peter Kjellerstedt <pkj at axis com>
11654 Don't define xmlNodePtr to gpointer if the core was built with
11655 --disable-loadsave and --disable-registry, this will break
11656 applications that want to use libxml2 but are buildling against a
11657 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11658 instead so we don't have to mess with the libxml2 namespace
11661 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11664 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11665 type-punned pointer warnings.
11667 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11669 * gst/gstelement.h:
11670 Add casts to the correct return type to state <=> state transition
11673 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11675 * docs/design/part-live-source.txt:
11676 describe howto handle latency
11678 * docs/random/ensonic/profiling.txt:
11681 * tools/gst-plot-timeline.py:
11682 fix log parsing for solaris, remove unused function
11684 2006-10-16 Wim Taymans <wim@fluendo.com>
11686 * docs/design/part-trickmodes.txt:
11688 Update some docs regarding reverse playback.
11690 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11692 Patch by: Marcus Granado <mrc dot gran at gmail com>
11694 * win32/vs8/grammar.vcproj:
11695 Error out with a warning if glib-genmarshal.exe is not in path,
11696 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11698 2006-10-13 Wim Taymans <wim@fluendo.com>
11700 * gst/gstsegment.c: (gst_segment_set_seek):
11701 When seeking to stop -1, set last_stop (current position) to the
11702 duration of the segment.
11704 2006-10-13 Wim Taymans <wim@fluendo.com>
11706 * gst/gstelement.h:
11707 Clarify _NO_PREROLL a bit more.
11712 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11713 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11714 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11715 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11716 due to wrong locking order. Fixes #361769.
11717 Remove some redundant/misplaced checks in pad_block.
11719 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11720 For negative rates, count backwards from the duration.
11722 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11724 * gst/gsterror.c: (_gst_library_errors_init):
11725 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11726 up with something better).
11728 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11730 * win32/vs6/libgstreamer.dsp:
11731 * win32/vs7/libgstreamer.vcproj:
11732 * win32/vs8/libgstreamer.vcproj:
11733 Don't reference glib-compat.c which is currently not used and not
11734 disted; add gstquark.c which was recently added. Fixes #361730.
11736 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11738 * win32/common/libgstbase.def:
11739 * win32/common/libgstcontroller.def:
11740 * win32/common/libgstreamer.def:
11741 Add gst_caps_merge() and a bunch of other recently-added functions.
11744 2006-10-11 Wim Taymans <wim@fluendo.com>
11746 * docs/plugins/gstreamer-plugins.args:
11747 * docs/plugins/inspect/plugin-coreelements.xml:
11748 * docs/plugins/inspect/plugin-coreindexers.xml:
11749 Update element args.
11751 * gst/gstsystemclock.c:
11752 Small comment update.
11754 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11755 (gst_tee_request_new_pad), (gst_tee_release_pad),
11756 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11757 (gst_tee_sink_activate_pull):
11758 * plugins/elements/gsttee.h:
11760 Add default property defines.
11761 Implement release pad function.
11762 Give properties better blubs etc.
11763 Activate pads before adding them to a running tee.
11764 Do simple buffer_alloc on the first requested pad.
11765 Post error when activation fails.
11767 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11769 * gst/gst.c: (ensure_current_registry_forking):
11770 Check return value of write() to make compiler happy.
11772 2006-10-11 Wim Taymans <wim@fluendo.com>
11774 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11776 * plugins/elements/gstqueue.c: (gst_queue_chain):
11777 Recheck queue filledness after signalling the overrun when we're about
11778 to leak downstream because we released the lock when emitting the signal
11779 and the queue could be empty again. Fixes #352345.
11781 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11783 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11784 Fix refcounting here too, just like we did for _new_valist() a few
11785 days ago (#357180) (thanks to René Stadler). Also remove all those
11786 'Since: 0.9' from the gtk-doc blobs.
11788 * tests/check/libs/controller.c: (controller_refcount_new_list),
11789 (gst_controller_suite):
11790 Unit test for the above.
11792 2006-10-10 Wim Taymans <wim@fluendo.com>
11794 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11796 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11797 (gst_pad_save_thyself):
11799 Write pad direction in XML output. Fixes #345496.
11801 2006-10-10 Wim Taymans <wim@fluendo.com>
11803 Patch by: René Stadler <mail at renestadler dot de>
11805 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11806 (gst_controller_new_list), (_gst_controller_dispose),
11807 (_gst_controller_finalize), (_gst_controller_class_init):
11808 Take ref to controlled object so that it cannot disappear.
11811 2006-10-10 Wim Taymans <wim@fluendo.com>
11813 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11814 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11815 (gst_check_teardown_sink_pad):
11816 Activate/deactivate pads in setup/teardown respectively.
11818 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11820 Patch by: Josep Torra Valles <josep@fluendo.com>
11823 Cast values when making gstenumtypes.h. This pacifies Forte
11824 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11825 in the enumeration.
11827 2006-10-09 Wim Taymans <wim@fluendo.com>
11829 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11830 Rename some more @cur to @start to fix docs.
11832 * gst/gstsegment.c: (gst_segment_set_seek):
11834 time and start must always stay in sync as defined in design doc.
11836 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11837 Rename param to fix docs.
11839 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11840 Check that start and time are in sync.
11842 * tests/check/pipelines/parse-launch.c:
11843 (gst_parse_test_element_change_state):
11844 Activate pad before adding to the element.
11846 2006-10-09 Wim Taymans <wim@fluendo.com>
11848 * docs/design/part-qos.txt:
11853 Update seek event docs regarding negative rates.
11854 Rename @cur to @start.
11856 * gst/gstsegment.c: (gst_segment_set_seek):
11857 * gst/gstsegment.h:
11858 Update set_seek docs regarding negative rates.
11859 Correctly update last_stop to @stop when dealing with negative
11861 Rename @cur to @start.
11863 * tests/check/gst/gstpad.c: (GST_START_TEST):
11864 Activate pads before trying to use them.
11866 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11867 (gst_segment_suite):
11868 Add simple check for segments and negative rates.
11870 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11872 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11873 * gst/gsttaglist.h:
11874 * docs/gst/gstreamer-sections.txt:
11875 API: add gst_tag_list_is_empty() (#360467).
11877 * tests/check/gst/gsttag.c: (GST_START_TEST):
11880 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11882 * gst/gstmessage.h:
11883 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11884 a value that doesn't fit on enumeration.
11886 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11888 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11889 Remove local debugging system and use Gstreamer's instead.
11891 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11893 Patch by: Josep Torra Valles <josep@fluendo.com>
11895 * common/m4/gst-error.m4:
11896 Disable warning of statement not reached on Forte.
11897 * gst/gstmessage.h:
11898 Fix warning on Forte (value doesn't fit on enumeration).
11899 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11900 Fix warning on Forte (value doesn't fit on enumeration).
11901 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11902 DEBUG macro says it takes minimum of 2 args and so Forte
11903 complains about the use with just 1 arg.
11904 * plugins/elements/gstfdsink.c:
11905 * plugins/elements/gstfdsrc.c:
11906 * plugins/elements/gstfilesink.c:
11907 * plugins/elements/gstfilesrc.c:
11908 Use correct return type for the uri handler implementations.
11910 All these fix warnings in Forte. Fixes bug #360860.
11912 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11914 * gst/gstelement.h:
11915 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11916 format string, so don't use G_GNUC_PRINTF for those versions.
11918 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11920 * gst/gsttaglist.c: (gst_is_tag_list):
11921 * gst/gsttaglist.h:
11922 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11924 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11925 Small test for the above.
11927 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11929 * gst/gsttaglist.h:
11930 Less tabs, more spaces.
11932 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11935 Those two function declarations do actually belong there, revert
11936 commit from yesterday that turned them intro macros.
11938 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11940 Patch by: Josep Torra Valles <josep@fluendo.com>
11942 * gst/gst.c: (gst_init_get_option_group):
11943 Fix empty declaration and type mismatch.
11944 * gst/gstbin.c: (gst_bin_change_state_func):
11946 * gst/gstelement.c: (gst_element_continue_state),
11947 (gst_element_set_state_func), (gst_element_change_state),
11948 (gst_element_change_state_func):
11949 Fix type mismatches.
11950 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11951 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11952 Cast as appropriate.
11953 * gst/gstobject.c: (gst_class_signal_connect):
11954 Cast as appropriate. The function pointer parameter really
11955 has the wrong type but would break API if we change it.
11957 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11958 order of including string.h.
11959 * gst/gstutils.c: (gst_element_state_get_name):
11960 Remove unreachable line.
11961 * gst/gstxml.c: (gst_xml_parse_doc):
11963 All these caught by Forte.
11965 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11967 Patch by: Josep Torra Valles <josep@fluendo.com>
11969 * common/m4/gst-error.m4:
11971 We need to disable warnings on Forte for empty declarations
11972 due to gst-indent adding ;s to lines that just use macros
11973 where the macro actually doesn't need a ; at end to end
11976 2006-10-06 Wim Taymans <wim@fluendo.com>
11978 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11979 (gst_file_sink_close_file), (gst_file_sink_event),
11980 (gst_file_sink_render):
11981 Add some FIXME for the NEWSEGMENT handling.
11983 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11985 * gst/parse/grammar.y:
11986 Remove static function gst_parse_element_lock as all it does
11987 is return. Looks like cruft from 0.8.
11989 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11991 Patch by: Josep Torra Valles <josep@fluendo.com>
11993 * common/m4/gst-error.m4:
11995 * libs/gst/net/Makefile.am:
11996 Fix a compilation issue with Forte on Solaris. inet_aton is in
11999 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12001 * gst/gstpad.c: (pre_activate):
12002 * gst/gstregistry.c: (gst_registry_scan_path_level):
12003 * gst/gstregistryxml.c: (load_plugin):
12004 * libs/gst/controller/gstcontroller.c:
12005 (gst_controlled_property_set_interpolation_mode):
12006 * libs/gst/dataprotocol/dataprotocol.c:
12007 (gst_dp_packet_from_event_1_0):
12008 * libs/gst/net/gstnetclientclock.c:
12009 (gst_net_client_clock_observe_times):
12010 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12013 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12016 * docs/gst/gstreamer-sections.txt:
12017 * gst/gstconfig.h.in:
12018 * gst/gstelement.h:
12020 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12021 whether we can use G_GNUC_PRINTF in other header files and at
12022 least check the printf format/arguments of debug messages and
12023 GST_ELEMENT_ERROR messages when the printf extension is not
12025 Replace more tabs with spaces in gstinfo.h and remove two spurious
12026 function declarations in GST_DISABLE_DEBUG part with macros.
12028 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
12030 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12031 More docs for the sync-message signal (mention that it is not
12032 emitted by default); log message structures of messages posted on
12035 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
12037 * gst/gst.c: (ensure_current_registry_forking):
12038 Use a pipe pair to receive status results from the forked child, and
12039 ignore the result from waitpid. Fixes #355499
12041 2006-10-02 Wim Taymans <wim@fluendo.com>
12043 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12044 (gst_ghost_pad_suite):
12047 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12050 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12052 2006-10-02 Edward Hervey <edward@fluendo.com>
12054 * docs/design/part-block.txt:
12055 Further explain the use of flushing on blocked pads.
12056 * docs/gst/gstreamer-sections.txt:
12057 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12058 (gst_pad_push_event):
12060 Added new GstPadFlag : GST_PAD_BLOCKING.
12061 Adds the notion of pads really blocking, which enables to properly
12062 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12064 API: gst_pad_is_blocking()
12065 API: GST_PAD_IS_BLOCKING() macro
12066 API: GST_PAD_BLOCKING GstPadFlag
12068 2006-10-02 Wim Taymans <wim@fluendo.com>
12070 Patch by: mrcgran <mrc.gran at gmail dot com>
12072 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12073 Filter the proxied caps against the padtemplate if we have one.
12075 * gst/gstquery.c: (gst_query_new_segment):
12076 Add include for gstinfo.h so that compilation with
12077 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12079 2006-10-02 Wim Taymans <wim@fluendo.com>
12081 Patch by: Alessandro Decina <alessandro at nnva org>
12083 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12084 (gst_file_sink_set_location), (gst_file_sink_open_file),
12085 (gst_file_sink_close_file), (gst_file_sink_event),
12086 (gst_file_sink_render):
12087 Set file to NULL when closing filesink so that we can set a new filename
12088 in READY. Fixes #358613.
12090 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12092 Patch by: Alessandro Decina <alessandro at nnva org>
12094 * gst/gstevent.c: (_gst_event_copy):
12095 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12096 with event structures by setting the parent refcount address of the
12097 copied structure to the address of the refcount member of the newly
12098 copied event rather than the address of the refcount member of the
12099 original event. Fixes #358737.
12101 * tests/check/gst/gstevent.c: (GST_START_TEST):
12102 Unit test for the above.
12104 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12106 * docs/design/Makefile.am:
12107 Dist some more files.
12109 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12111 * tests/check/libs/controller.c: (GST_START_TEST),
12112 (gst_controller_suite):
12113 Add test for the previous fix; add some more tests
12114 for correct refcounting behaviour; fix a few leaks
12115 in test cases; call gst_controller_init() at start
12118 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12120 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12121 (gst_controller_set_from_list):
12122 Don't g_return_val_if_fail() on timed values with invalid timestamps
12123 inside a critical section without unlocking the mutex. Spotted by
12124 René Stadler. (#357617)
12125 Also, fix up refcounting properly: when returning an existing
12126 controller, we should increase the reference only once and not
12127 once per property and when trying to control a property again
12128 we should also increase the refcount.
12130 2006-09-29 Wim Taymans <wim@fluendo.com>
12132 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12133 * libs/gst/net/gstnettimeprovider.c:
12134 (gst_net_time_provider_thread):
12135 Stop reading commands when EOF as well.
12137 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12138 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12139 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12140 Unify description of the dump property.
12142 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12144 * tests/examples/manual/.cvsignore:
12145 OK, so it's actually cvsignore that needs changing. Stop laughing.
12147 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12149 * tests/examples/manual/Makefile.am:
12150 Gah, declare vars *before* using them
12152 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12154 * gst/gst.c: (init_pre), (scan_and_update_registry),
12155 (ensure_current_registry_nonforking),
12156 (ensure_current_registry_forking), (ensure_current_registry),
12157 (init_post), (gst_debug_help), (gst_deinit):
12158 * gst/gst_private.h:
12159 * gst/gstregistry.c: (gst_registry_finalize),
12160 (gst_registry_remove_features_for_plugin_unlocked),
12161 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12162 (gst_registry_scan_path),
12163 (_priv_gst_registry_remove_cache_plugins),
12164 (_priv_gst_registry_cleanup):
12165 * gst/gstregistry.h:
12166 Re-commit the registry changes, along with an extra fix:
12167 When a cached plugin is encountered at a different file path,
12168 update the stored path in the registry cache so that the parent
12169 process knows where it actually is now when it re-reads the registry
12170 cache. Fixes the thing that broke distcheck with the previous commit.
12172 * tests/check/Makefile.am:
12173 Clean up files named 'core' too when running make clean.
12175 * tests/examples/manual/Makefile.am:
12176 Set up a registry path for running these tests, and clean it properly
12179 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12182 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12183 want gmodule-no-export-2.0.pc instead so that we don't drag in
12184 --export-dynamic on every project that links to GStreamer.
12186 Also, make our export regex only match the start of symbols, rather
12187 than any symbol that contains '_gst' somewhere.
12189 * libs/gst/check/Makefile.am:
12190 The libgstcheck we build does however need export-dynamic, as it
12191 produces some symbols that don't match our _gst... style regex.
12194 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12196 * gst/gst.c: (init_pre), (scan_and_update_registry),
12197 (ensure_current_registry_nonforking),
12198 (ensure_current_registry_forking), (ensure_current_registry),
12199 (init_post), (gst_debug_help), (gst_deinit):
12200 * gst/gst_private.h:
12201 * gst/gstregistry.c: (gst_registry_finalize),
12202 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12203 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12204 (_gst_registry_cleanup):
12205 * gst/gstregistry.h:
12206 Revert previous change until I figure out why it breaks distcheck.
12208 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12210 * gst/gst.c: (init_pre), (scan_and_update_registry),
12211 (ensure_current_registry_nonforking),
12212 (ensure_current_registry_forking), (ensure_current_registry),
12213 (init_post), (gst_debug_help), (gst_deinit):
12215 Make init_pre and init_post take the full complement of GOptionFunc
12216 args so they can return useful GErrors. Make the registry updating
12219 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12220 ensure that the registry we're about to write out doesn't contain
12221 stale information about old-deleted plugin files.
12223 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12224 that deletion of plugin files is considered a registry change.
12226 * gst/gst_private.h:
12227 * gst/gstregistry.c: (gst_registry_finalize),
12228 (gst_registry_remove_features_for_plugin_unlocked),
12229 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12230 (gst_registry_scan_path),
12231 (_priv_gst_registry_remove_cache_plugins),
12232 (_priv_gst_registry_cleanup):
12233 * gst/gstregistry.h:
12234 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12235 by adding _priv prefix, so that they won't appear in the global
12236 symbol table. They still do atm though because of #318031. Move the
12237 prototypes to gst_private.h
12239 When removing a plugin, remove all features for that plugin too.
12242 2006-09-27 Wim Taymans <wim@fluendo.com>
12244 * docs/random/moving-plugins:
12245 Make it clear that the "compiled-in descriptions" really mean
12246 the element details.
12248 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12249 (gst_base_sink_wait_preroll):
12252 * docs/libs/gstreamer-libs-sections.txt:
12253 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12254 (gst_base_src_get_range), (gst_base_src_activate_push):
12255 * libs/gst/base/gstbasesrc.h:
12256 Added function to block while waiting for PLAYING, this function
12257 is used by live sources that block on the clock.
12258 API: gst_base_src_wait_playing()
12260 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12262 Patch by: Peter Kjellerstedt <pkj at axis com>
12265 gst-element-check.m4 is generated and should therefore be
12266 copied from the build dir rather than the source dir (#357593).
12267 'make distcheck' hasn't noticed this because we were disting
12268 the file as well, so stop doing that.
12270 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12272 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12273 Add some tests for gst_caps_intersect().
12275 * tools/gst-launch.c: (event_loop):
12276 Print all buffering percentages we get, even the 100% one.
12278 2006-09-26 Wim Taymans <wim@fluendo.com>
12280 * tools/gst-inspect.c: (print_element_properties_info),
12281 (print_signal_info):
12282 Fix printing of flags to match the look of enums.
12284 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12286 * gst/gstelementfactory.c:
12287 Fix typo in docs blurb.
12289 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12291 * gst/gsturi.c: (search_by_entry):
12292 Don't assert/crash here if a uri handler doesn't return any
12293 supported protocols. The list of protocols could be generated
12294 dynamically at runtime or at plugin registration, and an error
12295 in the underlying library shouldn't be fatal (#353301).
12297 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12300 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12301 (spotted by Peter Kjellerstedt).
12303 2006-09-23 Wim Taymans <wim@fluendo.com>
12305 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12307 * libs/gst/base/gstbasesrc.c:
12308 (gst_base_src_default_check_get_range), (gst_base_src_start),
12309 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12310 (gst_base_src_change_state):
12311 Match _start/_stop calls in the activate functions. Remove redundant
12312 _stop call from the state change function. Fixes #356910.
12313 Turn failure DEBUG into ERROR.
12315 2006-09-22 Wim Taymans <wim@fluendo.com>
12317 * docs/design/part-buffering.txt:
12318 * gst/gstmessage.c: (gst_message_new_buffering),
12319 (gst_message_parse_buffering):
12320 Update docs about buffering.
12322 * docs/design/part-trickmodes.txt:
12325 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12327 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12328 (gst_controller_new_list):
12329 Ref instances when returning them again (fixes #357180)
12331 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12333 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12334 Don't forget to release proxy lock when there's an error.
12336 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12339 Add extra initialisers for Caps things, to fix some plugin warnings
12342 2006-09-18 Wim Taymans <wim@fluendo.com>
12344 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12345 Also set template on the internal pad so that a getcaps from the
12346 target pad returns the template caps.
12348 2006-09-18 Wim Taymans <wim@fluendo.com>
12350 * gst/gstelement.c: (gst_element_post_message),
12351 (gst_element_dispose):
12352 Use _DEBUG_OBJECT some more.
12354 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12357 * tools/gst-launch.c: (main):
12358 If the toplevel element is not a GstPipeline, it must be put in a
12359 pipeline so that a bus and clock is selected.
12361 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12363 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12364 JITTER, RATE, and LATENCY query should be handled by the
12365 default case and not by the CONVERT query code.
12367 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12369 * gst/gstformat.c: (gst_format_register):
12370 Fix locking order (must take lock before using n_values).
12372 * gst/gstvalue.c: (gst_value_serialize_enum),
12373 (gst_value_deserialize_enum_iter_cmp),
12374 (gst_value_deserialize_enum):
12375 Fix serialisation/deserialisation of custom registered GstFormats.
12377 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12378 Unit test for custom format serialisation/deserialisation.
12380 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12382 * docs/pwg/building-boiler.xml:
12383 * plugins/elements/gstcapsfilter.c:
12384 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12387 2006-09-16 Edward Hervey <edward@fluendo.com>
12389 * libs/gst/base/gstbasetransform.c:
12390 (gst_base_transform_buffer_alloc):
12391 Check if requested caps are the same as the sinks caps IF
12392 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12394 This fixes the renegotiation issues stated in #352827.
12396 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12399 * docs/manual/advanced-autoplugging.xml:
12400 * tests/examples/Makefile.am:
12401 * tests/examples/manual/.cvsignore:
12402 * tests/examples/manual/Makefile.am:
12403 * tests/examples/manual/extract.pl:
12404 Extract the manual examples again like we used to do.
12407 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12409 * win32/common/config.h:
12412 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12415 Documents how to receive errors.
12417 2006-09-15 Wim Taymans <wim@fluendo.com>
12419 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12420 (event_loop), (main):
12421 Added some comments here and there.
12422 Post an application message when an interrupt is caught instead of doing
12423 an uncontrolled state change.
12424 Clean up the event loop.
12425 Handle buffering messages, pause/resume the pipeline.
12426 Make shutdown because of an interrupt more reliable.
12428 2006-09-15 Wim Taymans <wim@fluendo.com>
12430 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12431 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12432 (gst_base_sink_preroll_object):
12433 Make sure that our internal state is correct when we commit our state
12434 asynchronously. This solves a race where a state change to PLAYING
12435 could cause the sink to remain blocked in preroll in some situations.
12437 2006-09-15 Wim Taymans <wim@fluendo.com>
12439 * tools/gst-inspect.c: (print_element_properties_info),
12440 (print_signal_info):
12441 List flags as hex so it's easier to deal with.
12443 2006-09-15 Wim Taymans <wim@fluendo.com>
12445 * docs/libs/gstreamer-libs-sections.txt:
12446 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12447 (gst_base_sink_do_sync):
12448 * libs/gst/base/gstbasesink.h:
12449 Expose logic to wait for preroll so that subclasses such as audiosink
12450 can also use this method.
12451 API: gst_base_sink_wait_preroll()
12453 2006-09-15 Wim Taymans <wim@fluendo.com>
12455 * gst/gstobject.c: (gst_object_set_parent):
12456 * gst/gstpipeline.c: (do_pipeline_seek):
12457 Small cleanups in docs and code.
12459 * gst/gstsegment.c: (gst_segment_clip):
12460 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12461 if stop == start and start is in the segment, no clipping should be
12462 done. Also add a test for this.
12464 2006-09-15 Wim Taymans <wim@fluendo.com>
12466 * docs/design/part-buffering.txt:
12467 * docs/gst/gstreamer-sections.txt:
12468 * gst/gstmessage.c: (gst_message_new_buffering),
12469 (gst_message_parse_buffering):
12470 * gst/gstmessage.h:
12471 Added methods to create and parse BUFFERING messages.
12472 Added preliminary docs about buffering.
12473 API: gst_message_new_buffering
12474 API: gst_message_parse_buffering
12476 2006-09-06 Wim Taymans <wim@fluendo.com>
12479 Update documentation.
12481 * gst/gstelement.c: (gst_element_class_init),
12482 (gst_element_release_request_pad), (gst_element_set_clock),
12483 (gst_element_get_index), (gst_element_add_pad),
12484 (gst_element_remove_pad), (gst_element_get_random_pad),
12485 (gst_element_send_event), (gst_element_get_query_types),
12486 (gst_element_query), (gst_element_post_message),
12487 (gst_element_message_full), (gst_element_continue_state),
12488 (gst_element_lost_state), (gst_element_save_thyself),
12489 (gst_element_restore_thyself):
12490 Documentation updates.
12491 Rename last bit of the new-pad -> pad-added signal rename.
12492 Fix the case where an element query would only work if the source
12494 Avoid some useless type checking in message handling.
12499 Documentation updates.
12501 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12503 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12504 add an INFO line for when we actually update the fd
12506 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12511 === release 0.10.10 ===
12513 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12516 releasing 0.10.10, "Pais"
12518 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12520 * docs/manual/advanced-position.xml:
12521 Fix typo in sample code.
12523 2006-09-05 Wim Taymans <wim@fluendo.com>
12525 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12526 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12527 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12528 * libs/gst/net/gstnetclientclock.h:
12529 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12530 * libs/gst/net/gstnettimepacket.h:
12531 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12532 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12533 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12534 * libs/gst/net/gstnettimeprovider.h:
12535 Make stuff compile on windows. Fixes #345295.
12537 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12539 * gst/gst.c: (ensure_current_registry_forking):
12540 Print better details when child was terminated by signal.
12542 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12544 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12545 Print a warning rather than g_assert() if a plugin feature
12546 is a URI handler but returns no protocols (#353976).
12548 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12550 * docs/random/moving-plugins:
12553 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12555 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12556 Fix locking order, handle NULL function values properly.
12561 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12562 Initialise variable before using it and fix debug statement to
12563 print the address of the function rather than the address of the
12564 variable on the stack holding the address of the function.
12566 2006-09-01 Wim Taymans <wim@fluendo.com>
12568 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12569 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12570 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12571 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12572 (gst_ghost_pad_parent_unset),
12573 (gst_ghost_pad_internal_do_activate_push),
12574 (gst_ghost_pad_internal_do_activate_pull),
12575 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12576 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12577 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12578 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12579 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12580 (gst_ghost_pad_new_no_target_from_template),
12581 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12583 Avoid needless typechecking in macros.
12584 Since the internal pad is always present and never changes, there is
12585 no need to locking or ref when retrieving it.
12586 Improve debugging a bit.
12587 Handle link errors when setting the target. Fixes #341029.
12589 2006-09-01 Wim Taymans <wim@fluendo.com>
12591 * docs/libs/gstreamer-libs-sections.txt:
12592 * docs/plugins/gstreamer-plugins-sections.txt:
12593 Fix docs some more.
12595 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12596 (gst_collect_pads_event):
12597 * libs/gst/base/gstcollectpads.h:
12598 Documentation updates.
12599 Free queued buffer when removing a pad.
12601 2006-08-31 Michael Smith <msmith@fluendo.com>
12603 * gst/gstutils.c: (gst_element_link_pads),
12604 (gst_element_link_pads_filtered):
12605 Ensure that we set a capsfilter to NULL if we failed to link it
12606 when doing filtered linking, to avoid criticals.
12608 No need to check for unreffing srcpad, which is explicly NULLed
12609 above (a trivial code cleanup).
12611 2006-08-31 Wim Taymans <wim@fluendo.com>
12613 * docs/design/part-gstghostpad.txt:
12614 Update ascii art in documentation.
12616 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12617 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12618 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12619 (gst_ghost_pad_internal_do_activate_push),
12620 (gst_ghost_pad_internal_do_activate_pull),
12621 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12622 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12623 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12624 (gst_ghost_pad_set_target):
12625 Small cleanups and leak fixes.
12626 Remove some checks now that the internal pad is never NULL.
12627 Fix the case where linking pads without a target would create nasty
12628 criticals. Fixes #341029.
12629 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12630 value of _set_target().
12632 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12633 (gst_ghost_pad_suite):
12634 Some more tests for creating and linking untargeted ghostpads.
12636 2006-08-31 Edward Hervey <edward@fluendo.com>
12638 * docs/gst/gstreamer-sections.txt:
12639 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12640 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12641 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12642 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12643 (gst_ghost_pad_new_from_template),
12644 (gst_ghost_pad_new_no_target_from_template):
12645 * gst/gstghostpad.h:
12646 Refactored *_new() functions.
12647 Templates are now used as a g_object_new() parameter.
12648 Use template in _do_getcaps() if we don't have a target.
12649 Small documentation cleanups.
12650 Added two new constructors:
12651 gst_ghost_pad_new_from_template()
12652 gst_ghost_pad_new_no_target_from_template()
12653 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12654 (gst_ghost_pad_suite):
12655 Added tests for new ghostpad instanciation functions.
12657 API additions: gst_ghost_pad_new_from_template,
12658 gst_ghost_pad_new_no_target_from_template
12660 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12662 * docs/random/ensonic/profiling.txt:
12663 Ideas about qos profiling.
12665 2006-08-29 Wim Taymans <wim@fluendo.com>
12667 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12671 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12674 Improve and detypofy docs.
12676 * tests/check/Makefile.am:
12677 * tests/check/gst/.cvsignore:
12678 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12679 Add a basic test suite for GstXML.
12681 2006-08-29 Wim Taymans <wim@fluendo.com>
12683 * gst/gstelement.c: (activate_pads), (clear_caps),
12684 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12685 Clear the pad caps when the element shut down all of the pads and
12686 is not streaming data that could modify the caps.
12689 2006-08-28 Michael Smith <msmith@fluendo.com>
12691 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12692 Revert previous change; I misunderstood single-segment mode.
12694 2006-08-28 Michael Smith <msmith@fluendo.com>
12696 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12697 Unset DISCONT on buffers when using single-segment mode.
12699 2006-08-28 Wim Taymans <wim@fluendo.com>
12701 * gst/gstcaps.c: (gst_caps_merge_structure):
12703 Fix docs and indentation again.
12705 * tests/check/gst/gstquery.c: (GST_START_TEST):
12706 Fix leak in tests and add some more tests.
12708 2006-08-28 Edward Hervey <edward@fluendo.com>
12710 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12711 Inform GstSegment of the last stop position in order for the current
12712 segment to have a proper duration if it doesn't have a specific stop
12713 position from which a duration could be calculated.
12714 This bug was noticeable when a non-flushing, non-update new segment was
12715 followed by another segment (all buffers from the new segment were being
12718 2006-08-28 Wim Taymans <wim@fluendo.com>
12720 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12721 Small comment update.
12723 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12724 (gst_identity_transform_ip):
12725 Drop-probability is broken, mention this in the code with a
12726 FIXME and also in the property description.
12727 Make silent also be silent about the drop messages.
12729 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12731 * docs/manual/appendix-win32.xml:
12732 Remove mention of popt, we don't depend on that any
12733 longer (#353136). Add some comments pointing out that
12734 this section is slightly outdated.
12736 2006-08-28 Wim Taymans <wim@fluendo.com>
12738 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12740 * gst/gstquery.c: (gst_query_new_segment):
12741 * tests/check/gst/gstquery.c: (GST_START_TEST):
12742 Initialize variables when creating a new segment query.
12745 2006-08-28 Wim Taymans <wim@fluendo.com>
12747 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12749 * gst/gstelement.c: (gst_element_get_bus):
12750 * tests/check/gst/gstelement.c: (GST_START_TEST):
12751 Check for NULL before _reffing the bus. Fixes #353122.
12753 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12755 * docs/manual/basics-bus.xml:
12756 Docs update: fix wrong callback return value explanation; add
12757 some lines about the implicit relationship between main loop
12758 and main context; remove duplicate main loop variable declaration.
12760 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12762 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12763 Don't leak caps in unit test; add a few more simple
12766 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12768 * docs/gst/gstreamer-sections.txt:
12769 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12770 (gst_caps_structure_is_subset), (gst_caps_merge),
12771 (gst_caps_merge_structure):
12773 * libs/gst/base/gstbasetransform.c:
12774 (gst_base_transform_transform_caps):
12775 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12776 implement caps merging (fixes #352580)
12778 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12780 * tools/Makefile.am:
12781 * tools/gst-plot-timeline.py:
12782 add debug-log plotting developer tool (#340674)
12784 2006-08-23 Wim Taymans <wim@fluendo.com>
12786 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12787 (gst_pad_stop_task):
12788 Improve debugging for task functions.
12790 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12791 (gst_task_start), (gst_task_pause), (gst_task_join):
12792 Make sure that the task function started and finished after a
12794 Don't try to push the task function on the threadpool multiple
12796 Improve the g_warning message with some useful suggestions
12797 about how to fix the problem.
12799 2006-08-23 Wim Taymans <wim@fluendo.com>
12801 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12802 Handle RESYNC correctly in _proxy_getcaps.
12804 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12806 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12807 (gst_xml_parse_memory), (gst_xml_get_element):
12808 Chain up to parent class in dispose function and also
12809 unref the elements in the toplevel_elements GList.
12810 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12811 Always return a reference in gst_xml_get_element() rather
12812 than only sometimes.
12814 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12815 Don't leak GstXml object.
12817 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12819 * docs/gst/gstreamer-sections.txt:
12820 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12823 * libs/gst/base/gstbasetransform.c:
12824 (gst_base_transform_transform_caps):
12825 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12828 2006-08-21 Edward Hervey <edward@fluendo.com>
12830 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12831 Implement GObject::dispose virtual method in GstXML so we can free the
12832 top_elements GList.
12834 2006-08-21 Wim Taymans <wim@fluendo.com>
12836 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12837 (gst_buffer_create_sub):
12838 Copy duration/offset_end/caps when creating a subbuffer of the
12840 Make the subbuffer read-only when we make the metadata writable for
12841 now. Fixes #351768.
12843 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12844 Added check for metadata copy when creating subbuffers.
12846 2006-08-21 Edward Hervey <edward@fluendo.com>
12848 * libs/gst/base/gstbasetransform.c:
12849 (gst_base_transform_buffer_alloc):
12850 Only call downstream buffer_alloc if transform element is passthrough
12851 or always_in_place. Closes #350449.
12853 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12856 ChangeLog surgery to add comments to previous changes
12858 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12863 * gst/gstpad.c: (gst_pad_set_active):
12864 Be more verbose in the log
12866 * libs/gst/base/gstbasetransform.c:
12867 (gst_base_transform_transform_caps):
12868 Simplify caps to get rid of duplicates, fixes #345444
12870 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12874 Use these optimizations only internally.
12876 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12878 * gst/gstvalue.c: (gst_value_compare_list),
12879 (gst_value_compare_fraction_range),
12880 (gst_value_intersect_fraction_fraction_range),
12881 (gst_value_intersect_fraction_range_fraction_range),
12882 (gst_value_subtract_fraction_fraction_range),
12883 (gst_value_subtract_fraction_range_fraction_range),
12884 (gst_value_get_compare_func), (gst_value_compare),
12885 (gst_value_compare_with_func):
12887 Saves the expensive lookup of the compare function in many cases
12890 2006-08-18 Edward Hervey <edward@fluendo.com>
12892 * tests/check/gst/gstinfo.c: (gst_info_suite):
12893 Disable test that require gstdebug if it wasn't built in core.
12895 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12897 * docs/random/ensonic/logging.txt:
12900 * gst/gstinfo.c: (gst_debug_log_default):
12901 reorder fields, save some columns, add optional color codes for log
12904 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12906 * docs/random/ensonic/logging.txt:
12907 add ideas about making the logs a bit more useful
12909 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12911 * docs/pwg/advanced-events.xml:
12912 * docs/pwg/titlepage.xml:
12913 Update for 0.10 API (#340627). Add myself
12916 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12918 * docs/libs/gstreamer-libs-docs.sgml:
12919 * docs/libs/gstreamer-libs-sections.txt:
12920 * libs/gst/check/gstbufferstraw.c:
12921 Make gstcheck stuff show up in docs (still needs to
12922 be documented properly though).
12924 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12926 * docs/gst/gstreamer-sections.txt:
12928 * gst/gst.c: (init_post):
12929 * gst/gst_private.h:
12930 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12932 * gst/gstquery.c: (gst_query_new_position),
12933 (gst_query_set_position), (gst_query_parse_position),
12934 (gst_query_new_duration), (gst_query_set_duration),
12935 (gst_query_parse_duration), (gst_query_new_convert),
12936 (gst_query_set_convert), (gst_query_parse_convert),
12937 (gst_query_new_segment), (gst_query_set_segment),
12938 (gst_query_parse_segment), (gst_query_new_seeking),
12939 (gst_query_set_seeking), (gst_query_parse_seeking):
12940 Add internal helpers for pre-registering quarks from static strings
12941 and using the quark values directly instead of looking them up when
12942 creating and parsing queries. Can be used for event construction too.
12945 2006-08-16 Wim Taymans <wim@fluendo.com>
12950 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12952 * gst/gstutils.c: (gst_util_set_value_from_string):
12953 Fix memleak (#351502).
12955 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12956 Add unit test for most of gst_util_set_value_from_string()
12957 (not that one would want to encourage use of this function).
12959 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12961 * libs/gst/check/gstcheck.h:
12962 Use const gchar * variables in fail_unless_equals_string
12963 macro to avoid compiler warnings (and don't use tabs for
12966 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12968 * tools/gst-launch.c: (print_tag):
12969 More space on the left for the tag names, to cater
12970 for the 'extended comment' tag (not touching the
12971 string for the first line since it's translated).
12973 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12975 * libs/gst/check/gstcheck.h:
12976 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12977 print something when they fail.
12979 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12981 * docs/gst/gstreamer-sections.txt:
12982 * gst/gsttaglist.c: (_gst_tag_initialize):
12983 * gst/gsttaglist.h:
12984 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12985 Also change merge function for GST_TAG_COMMENT to
12988 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12990 * gst/gstinfo.c: (gst_debug_print_object):
12991 Make GST_PTR_FORMAT print messages as well.
12993 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12994 (GST_START_TEST), (gst_info_suite):
12997 2006-08-14 Edward Hervey <edward@fluendo.com>
12999 * gst/gstelementfactory.c: (gst_element_register):
13000 If the GstElementClass doesn't have a GstElementDetails with all fields
13001 filled up correctly (longname, description AND author), then error out
13002 nicely instead of crashing.
13004 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13006 * gst/gststructure.c:
13007 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13010 Expand on the difference between arrays and lists as we use them.
13012 2006-08-14 Wim Taymans <wim@fluendo.com>
13014 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13015 If the parent state change function failed, don't assume we can safely
13016 stop the source, this will be done when the pads are deactivated.
13018 2006-08-14 Wim Taymans <wim@fluendo.com>
13021 * gst/gsttask.c: (gst_task_join):
13024 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13025 (gst_pad_stop_task):
13026 When pad (de)activation failed for some reason, restore the old
13027 activation mode and set the pad to flushing instead of assuming the
13028 pad is deactivated.
13029 If the _task_join() failed, reinstall the task on the pad so that it can
13030 be stopped later and return an error.
13032 2006-08-11 Andy Wingo <wingo@pobox.com>
13035 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13036 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13037 is only for users of API that don't want to see deprecated
13038 functions in the headers; people that want to compile out
13039 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13040 CFLAGS. Fixes the build of multifdsink, or will soon..
13042 2006-08-11 Wim Taymans <wim@fluendo.com>
13044 * docs/gst/gstreamer-sections.txt:
13045 Add GstClockClass vmethod docs.
13048 Mark #endif with comment for associated #if
13050 * gst/gstclock.c: (gst_clock_id_wait):
13052 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13053 most clock implementations.
13055 Flesh out docs about resolution methods.
13056 API: GstClockClass::wait_jitter
13058 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13059 (gst_system_clock_async_thread),
13060 (gst_system_clock_id_wait_jitter_unlocked),
13061 (gst_system_clock_id_wait_jitter):
13062 Use base class wait_jitter variant for improved performance
13063 due to less clock polling.
13065 2006-08-11 Edward Hervey <edward@fluendo.com>
13067 * gst/gst.c: (gst_init_check), (init_post):
13068 Set gst as being initialized before scanning/updating the registry,
13069 since there might be my python plugin loader that calls gst_init() and
13070 we don't want to loop back in.
13073 2006-08-11 Wim Taymans <wim@fluendo.com>
13075 * docs/design/part-qos.txt:
13076 Bring docs in line with the code. Mostly the sign of the jitter was
13077 wrong in the docs. Fixes #349943.
13080 Fix the docs for the jitter.
13082 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13083 (gst_event_parse_tag), (gst_event_new_buffer_size),
13084 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13085 (gst_event_new_seek), (gst_event_parse_seek),
13086 (gst_event_new_navigation):
13087 Make sure the GstStructure has no parent when creating custom
13089 Add some more argument checking so that we avoid 0.0 rates.
13090 Flesh out the docs for the QoS event some more.
13092 2006-08-11 Wim Taymans <wim@fluendo.com>
13094 * docs/gst/gstreamer-sections.txt:
13095 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13096 (ensure_current_registry_forking), (ensure_current_registry),
13097 (parse_one_option), (parse_goption_arg), (gst_deinit),
13098 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13101 Added API and command line option to disable registry forking in
13102 addition to the environment variable.
13103 Constify some static arrays.
13104 Added some more debug.
13105 Don't deinit twice.
13106 API: gst_registry_fork_is_enabled()
13107 API: gst_registry_fork_set_enabled()
13108 API: --gst-disable-registry-fork command line option
13111 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13113 * gst/gst.c: (gst_init):
13114 Fix typo in error message.
13116 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13118 * libs/gst/controller/gstcontroller.h:
13119 fix ABI size-correction
13121 * tests/check/libs/gdp.c: (gst_dp_suite):
13122 make tests that use deprecated API conditional
13124 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13126 * docs/libs/gstreamer-libs-sections.txt:
13127 * libs/gst/controller/gstcontroller.c:
13128 (_gst_controller_get_property), (_gst_controller_set_property),
13129 (_gst_controller_init), (_gst_controller_class_init):
13130 * libs/gst/controller/gstcontroller.h:
13131 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13132 (gst_object_set_control_rate):
13133 API: add gst_object_{s,g}et_control_rate(), add private data section,
13136 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13137 * libs/gst/dataprotocol/dataprotocol.h:
13138 add deprecation guards to make gtk-doc happy and allow disabling cruft
13140 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13142 * tests/check/Makefile.am:
13143 * tests/check/gst/.cvsignore:
13144 Let's enable the new unit test as well.
13146 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13149 * docs/gst/gstreamer-sections.txt:
13150 * gst/gstconfig.h.in:
13151 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13152 (_gst_info_printf_extension_ptr),
13153 (_gst_info_printf_extension_segment):
13154 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13155 register that lets us easily dump GstSegments into debug
13158 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13159 (info_segment_format_printf_extension), (gst_info_suite):
13160 Add simple unit test that logs a bunch of different segments (not
13161 valgrinded at the moment because of leaks in
13162 gst_debug_add_log_function).
13164 2006-08-09 Edward Hervey <edward@fluendo.com>
13166 * libs/gst/base/gstbasetransform.c:
13167 (gst_base_transform_buffer_alloc):
13168 Even if we can't figure out the proper format to request downstream,
13169 call buffer_alloc() downstream with the input parameters without setting
13170 the caps on the srcpad. This will force negotiation in the chain
13174 2006-08-08 Edward Hervey <edward@fluendo.com>
13176 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13177 Unlinking from a pad without a target is now a perfectly valid case
13178 which should NOT raise an assertion.
13179 This case would happen if a linked ghostpad its target set to NULL after
13180 it was previously linked.
13182 2006-08-08 Edward Hervey <edward@fluendo.com>
13184 * tests/check/libs/gdp.c:
13185 Also comment out the test (see below).
13187 2006-08-08 Edward Hervey <edward@fluendo.com>
13189 * tests/check/libs/gdp.c: (gst_dp_suite):
13190 Use the architecture information from config.h and not gcc macros
13191 in order to properly disable a test that fails on PPC64.
13193 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13195 * gst/gstelement.c: (gst_element_remove_pad):
13196 Don't crash printing the warning if the pad has no parent.
13198 2006-08-02 Wim Taymans <wim@fluendo.com>
13200 * libs/gst/dataprotocol/dataprotocol.c:
13201 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13202 (gst_dp_crc), (gst_dp_header_payload_length),
13203 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13204 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13205 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13206 (gst_dp_event_from_packet), (gst_dp_validate_header),
13207 (gst_dp_validate_payload):
13208 Make debug category static
13209 Constify the crc table.
13210 Do some more arg checking in public functions.
13211 Fix some docs and do some small cleanups.
13213 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13214 Add some more checks to see if GDP deals with bogus input.
13216 2006-07-31 Wim Taymans <wim@fluendo.com>
13218 * gst/gstvalue.c: (gst_value_compare_list):
13219 Fix GstValueList comparison code. Fixes #347293.
13221 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13222 Check to test GstValueList comparison.
13224 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13226 * gst/gstelementfactory.c: (gst_element_factory_create):
13227 Remove unnecessary ref/unref pair
13229 * gst/parse/grammar.y:
13230 Make sure to free the parse buffer on all code paths.
13231 Move a g_free up to the error handler where it's easier to see.
13233 * tests/check/gst/gstevent.c: (test_event):
13234 Extending timeout for downstream travelling events to 10 seconds to
13235 hopefully avoid intermittent failure on the buildbots.
13237 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13238 Don't manually set the state of the src element - it will happen as a
13239 natural consequence of the pipeline changing state, and that way it
13240 will do it in the right order too.
13242 2006-07-31 Wim Taymans <wim@fluendo.com>
13244 * libs/gst/base/gstbasetransform.c:
13245 (gst_base_transform_buffer_alloc):
13246 Use OBJECT_LOCK and refcounting to get the pad caps in the
13247 buffer_alloc function because the caps could change while we are
13248 busy with them. Fixes #349105
13250 2006-07-31 Wim Taymans <wim@fluendo.com>
13252 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13253 Protect _PAD_CAPS with OBJECT_LOCK.
13255 2006-07-31 Wim Taymans <wim@fluendo.com>
13257 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13258 (gst_pad_get_property), (gst_pad_activate_pull),
13259 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13260 (gst_pad_set_activate_function),
13261 (gst_pad_set_activatepull_function),
13262 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13263 (gst_pad_set_getrange_function),
13264 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13265 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13266 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13267 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13268 (gst_pad_set_acceptcaps_function),
13269 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13270 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13271 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13272 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13273 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13274 (gst_pad_configure_sink), (gst_pad_configure_src),
13275 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13276 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13277 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13278 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13279 (gst_pad_send_event):
13280 Use _DEBUG_OBJECT when it makes sense.
13281 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13282 Small cleanups and code reflows.
13283 Avoid caps refcounting in _accept_caps.
13284 Refactor alloc_buffer so that the code performed on the peer is in a
13285 separate function. Also if the pad does not implement a buffer alloc
13286 function, we should still check if the pad is flushing before falling
13287 back to the default allocator.
13289 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13291 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13292 Make all uses of identity and fakesink have silent=true to avoid
13293 serialising every passing data structure, which is breaking tests
13294 on FC4 for some unknown reason.
13296 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13298 * gst/parse/Makefile.am:
13299 * gst/parse/grammar.y:
13300 * gst/parse/parse.l:
13301 Reverted previous patch as it required to bump the flex dependency to
13302 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13304 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13306 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13308 * gst/parse/Makefile.am:
13309 * gst/parse/grammar.y:
13310 * gst/parse/parse.l:
13311 push & pop the state of the lexer for reentrant use case
13314 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13316 * libs/gst/base/gstbasesrc.h:
13317 Note in the docs that the ::newsegment vfunc is not actually used by
13320 2006-07-28 Wim Taymans <wim@fluendo.com>
13322 * libs/gst/base/gstcollectpads.c:
13323 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13324 (gst_collect_pads_clear), (gst_collect_pads_flush),
13325 (gst_collect_pads_event), (gst_collect_pads_chain):
13326 When flushing a pad, also clear the queued buffer so that we don't
13327 accidentally use it when we shouldn't.
13328 Fix leaks by inreffing incomming buffer.
13329 Flush out queued buffers in case of errors.
13332 2006-07-28 Wim Taymans <wim@fluendo.com>
13334 * docs/random/phonon-gst:
13335 Random notes about a Phonon backend.
13337 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13339 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13341 * tests/check/libs/gdp.c: (gst_dp_suite):
13342 Take a whack at fixing the ppc compile using a different define to
13343 disable the broken test.
13345 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13346 Remove excess g_print()
13348 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13350 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13351 Oops, meant to uncomment this line too to dampen the noise a bit.
13353 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13355 * gst/parse/grammar.y:
13356 * gst/parse/parse.l:
13357 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13358 (GST_START_TEST), (parse_suite):
13359 Fix some of the leaks exposed by extending the parse-launch testsuite,
13360 and move the 3 I can't figure out into a separate test that won't run
13361 the pipelines unless the appropriate line is uncommented.
13363 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13365 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13366 Requesting 0 bytes before the end of the file should result in
13367 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13370 2006-07-27 Wim Taymans <wim@fluendo.com>
13372 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13373 Fix useless assert, a uint is always positive.
13375 * gst/gststructure.c: (gst_structure_nth_field_name),
13376 (gst_structure_foreach), (gst_structure_map_in_place):
13377 Check input arguments for public functions to avoid obvious crashes.
13379 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13380 * plugins/elements/gstfakesink.h:
13381 Do less useless typechecking.
13383 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13385 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13386 Do not use mmap() by default since there are a number of error
13387 conditions that we would like to handle in a non-fatal way that
13388 will result in a SIGBUS if we use mmap(). Examples: external
13389 devices (USB harddrive, portable music player) being unplugged
13390 while in use; file on mounted CD/DVD that can't be read because
13391 the medium is partly damaged. Fixes #348455 and #348475.
13393 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13396 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13397 rates are a gdouble
13399 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13401 * gst/gstregistry.c:
13402 Move big documentation comment into class section header, so that it
13403 appears in the API docs.
13405 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13407 * docs/gst/gstreamer-sections.txt:
13408 Oops. Commit the docs additions too for new API.
13409 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13411 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13413 * gst/gststructure.c: (gst_structure_id_set),
13414 (gst_structure_id_set_valist):
13415 * gst/gststructure.h:
13416 Add API for setting values into structures without performing
13417 a quark lookup, if the appropriate quark is already known.
13419 API: gst_structure_id_set
13420 API: gst_structure_id_set_valist
13422 * gst/parse/grammar.y:
13423 * gst/parse/parse.l:
13424 Remove some dead code shown by the coverage information.
13425 Don't throw a critical g_warning when encountering a syntax error,
13426 just warn and let the normal error path handle it.
13428 * plugins/elements/gstelements.c:
13429 Bump the rank of filesink up to PRIMARY so that it is preferred over
13430 gnomevfssink for file:// sink uri's
13432 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13433 (GST_START_TEST), (run_delayed_test),
13434 (gst_parse_test_element_base_init),
13435 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13436 (gst_parse_test_element_change_state),
13437 (gst_register_parse_element), (parse_suite):
13438 Beef up the tests for parse syntax to check that more error cases
13439 fail as they are supposed to. Increases the test coverage a bit.
13441 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13443 * docs/manual/basics-elements.xml:
13444 Fix gst_element_link() example.
13447 Mention in API docs that one should usually gst_bin_add()
13448 elements to a bin or pipeline before doing the linking.
13450 2006-07-26 Wim Taymans <wim@fluendo.com>
13452 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13453 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13454 Avoid function call for known types by keeping the buffer and
13455 subbuffer GType global.
13457 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13458 Random silly optimisations in read() path.
13460 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13462 * tools/gst-launch.c: (main):
13463 If the top-level of the parse is a normal bin, it doesn't do the
13464 right logic to run as a top-level element, so place it inside a
13467 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13469 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13470 Remove superfluous g_object_notify() calls, GObject does
13471 that for us automatically.
13473 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13476 on Win32, use dllspec to export the debug category symbols
13478 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13480 * gst/gsttaglist.c: (_gst_tag_initialize):
13481 Allow more than one GST_TAG_IMAGE per taglist.
13483 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13485 * gst/gstminiobject.c:
13487 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13488 (gst_fd_src_create):
13489 log recurring events at LOG level
13490 add more debug for when the fd gets set
13492 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13494 * gst/gstparse.c: (gst_parse_launch):
13495 Also remove reentrance checks if flex is MT safe (#348179)
13496 Fix my empty ChangeLog entry below
13498 2006-07-21 Andy Wingo <wingo@pobox.com>
13500 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13502 * libs/gst/check/Makefile.am
13503 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13504 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13505 * libs/gst/check/gstbufferstraw.h:
13506 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13507 functions, thus proving I am still a GStreamer haxor. OK I wrote
13508 them a long time ago, but anyways.
13510 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13513 * gst/gstparse.c: (gst_parse_launch):
13514 Check for flex version and omit mutex if we have a MT save flex
13517 2006-07-21 Wim Taymans <wim@fluendo.com>
13519 * gst/gstparse.c: (gst_parse_launch):
13520 Protect recursive calls to _parse with a recursive mutex
13523 2006-07-21 Wim Taymans <wim@fluendo.com>
13525 * tests/check/gst/gstpad.c: (GST_START_TEST):
13528 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13530 * gst/gstparse.c: (gst_parse_launch):
13531 Do not hang on recursive usage of gst_parse_launch()
13533 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13535 * gst/gsttaglist.c:
13536 Add some more docs, comments and FIXME 0.11s here and there
13537 and also fix some typos.
13539 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13541 * gst/gstsegment.h:
13542 Convert tabs to spaces for better readability.
13544 2006-07-20 Edward Hervey <edward@fluendo.com>
13546 * tests/check/libs/gdp.c: (gst_dp_suite):
13547 the test_buffer test fails at line 140 on ppc64 at the following
13549 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13550 GST_BUFFER_FLAG_IN_CAPS),
13551 "GST_BUFFER_IN_CAPS flag should have been copied !");
13552 See bug #348114 for more details.
13554 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13556 * docs/pwg/advanced-scheduling.xml:
13558 Fix typos (#348000).
13560 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13562 * docs/pwg/intro-basics.xml:
13563 Fix wrong links (#347927).
13565 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13567 * gst/gstregistry.h:
13568 * gst/gstregistryxml.c: (load_feature),
13569 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13570 * win32/common/config.h:
13571 make --disable-index work (#342564)
13573 2006-07-18 Wim Taymans <wim@fluendo.com>
13575 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13579 The attached patch adds two missing defines to gsttrace.h when tracing
13580 is disabled. It also corrects one existing define.
13583 2006-07-17 Wim Taymans <wim@fluendo.com>
13585 * docs/gst/gstreamer-sections.txt:
13586 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13588 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13589 Add two functions to check and change the SIGSEGV behaviour
13590 when loading plugins.
13591 Don't mess with the SIGSEGV handler when we were told not to.
13593 API: gst_segtrap_is_enabled
13594 API: gst_segtrap_set_enabled
13596 2006-07-14 Wim Taymans <wim@fluendo.com>
13598 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13599 * tests/check/elements/filesrc.c: (GST_START_TEST):
13600 Revert fix for regression in #347408 after release.
13602 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13604 Patch by: Antoine Tremblay <hexa00 at gmail com>
13606 * gst/gstutils.c: (gst_element_unlink):
13607 Free iterator when done (#347311).
13609 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13610 And add a test case for this.
13612 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13615 Bump nano back to CVS
13617 === release 0.10.9 ===
13619 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13622 releasing 0.10.9, "On the road again"
13624 2006-07-13 Wim Taymans <wim@fluendo.com>
13626 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13627 * tests/check/elements/filesrc.c: (GST_START_TEST):
13628 Revert pull-0 fix for release. Disable check. Fixes #347408.
13630 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13632 * libs/gst/dataprotocol/dataprotocol.c:
13633 (gst_dp_event_from_packet_1_0):
13634 Fixes #347337: failure to deserialize event packets with
13635 empty payload (only event type)
13637 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13640 do not install a .c file in the header directory
13642 2006-07-13 Edward Hervey <edward@fluendo.com>
13644 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13645 GhostPad no longer implicitely use the padtemplates of the targets.
13648 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13650 * gst/gstvalue.c: (gst_value_compare_list),
13651 (gst_value_compare_array), (_gst_value_initialize):
13652 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13653 Make GstValueArray comparison be order dependent as designed.
13654 Add checks for value lists and value array comparisons.
13657 2006-07-11 Edward Hervey <edward@fluendo.com>
13659 * gst/gstbin.c: (activate_pads),
13660 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13661 (gst_bin_change_state_func):
13662 (de)activate src pads before calling state_change on the childs.
13663 This is to avoid the case where a src ghostpad is blocked (holding the
13664 stream lock), which would block the deactivation of the ghostpad's
13666 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13667 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13668 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13669 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13670 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13671 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13672 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13673 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13674 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13675 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13676 (gst_ghost_pad_class_init),
13677 (gst_ghost_pad_internal_do_activate_push),
13678 (gst_ghost_pad_internal_do_activate_pull),
13679 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13680 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13681 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13682 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13683 GhostPads now create their internal GstProxyPad at creation (and not
13684 when they're linked, as it was being done previously).
13685 The internal and target pads are linked straight away.
13686 The data will also travel through the other pad in order to make
13687 pad blocking and probes non-hackish (the probe/block now really happens
13688 on the GhostPad and not on the target).
13689 * gst/gstpad.c: (gst_pad_set_blocked_async),
13690 (gst_pad_link_prepare), (gst_pad_push_event):
13691 Remove previous ghostpad cruft.
13692 * gst/gstutils.c: (gst_pad_add_data_probe),
13693 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13694 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13695 (gst_pad_remove_buffer_probe):
13696 Remove previous ghost pad cruft.
13697 Added more detailed debug statements.
13698 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13699 Fix the testsuite for refcounting changes.
13700 The comments about who has references were correct, but the refcount
13701 being checked wasn't the same (!?!).
13705 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13707 * docs/gst/gstreamer-sections.txt:
13708 * gst/gstconfig.h.in:
13709 More docs for configuration options, add docs to gtk-doc.
13711 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13714 * gst/gstconfig.h.in:
13715 * win32/common/config.h:
13716 Fix build when disabling tracing (fixes #344016). Also start to document
13717 the defines that disable the sub-systems.
13719 2006-07-10 Edward Hervey <edward@fluendo.com>
13721 * gst/gst.c: (ensure_current_registry_forking):
13722 let's make valgrind happy...
13724 2006-07-09 Wim Taymans <wim@fluendo.com>
13726 * gst/gstelement.c: (activate_pads),
13727 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13728 Better pad activation code: Reset the collect value too on resync.
13731 2006-07-09 Wim Taymans <wim@fluendo.com>
13733 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13734 (gst_pad_activate_push):
13735 Use some more macros where it makes sense.
13736 Allow pad mode switching instead of asserting. When a pad
13737 is activated in one mode and we activate it in another,
13738 deactivate it first before activating it in a different mode.
13741 2006-07-08 Andy Wingo <wingo@pobox.com>
13743 * tools/gst-launch.c (main): Handle err == NULL.
13745 * gst/gst.c (init_post, ensure_current_registry)
13746 (ensure_current_registry_forking)
13747 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13748 factoring out the registry scanning into separate functions. Don't
13749 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13750 Better environment var name/interface suggestions accepted.
13752 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13754 * gst/gstobject.c: (gst_object_set_name_default),
13755 (gst_object_set_name):
13756 Random micro-optimisation: don't use a hash table
13757 with strings as keys and the usual strdup/strcmp
13758 involved, but rather just use the GQuark of the
13759 type name as key, since it needs to be looked up
13760 anyway to get the type name string.
13762 * tests/check/gst/gstobject.c: (GST_START_TEST):
13765 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13767 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13768 (gst_bin_iterate_all_by_interface):
13769 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13770 GTypes are gulongs and thus the top 4 bytes might be cut
13771 off on some platforms when doing GPOINTER_TO_INT, leading
13772 to invalid GTypes and bad things happening (see RH bug #179654).
13773 Also add a check to make sure the type passed in is really
13776 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13781 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13785 * gst-element-check.m4:
13786 * gst-element-check.m4.in:
13787 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13788 instead of the unversioned gst-inspect (#324176, #168659).
13790 2006-07-06 Wim Taymans <wim@fluendo.com>
13792 * gst/gstmessage.h:
13793 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13796 2006-07-06 Wim Taymans <wim@fluendo.com>
13798 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13799 (gst_base_src_wait), (gst_base_src_update_length),
13800 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13801 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13802 (gst_base_src_loop), (gst_base_src_start),
13803 (gst_base_src_activate_pull):
13805 blocksize == 0 now means the default blocksize when working in push
13807 Remove some pointless asserts in _wait function.
13808 Fix offset/length calculations and EOS handling. We can now pull 0
13809 bytes as well, which is allowed.
13810 use _check_get_range() to decide if we can operate in _pull based
13812 Fix refcounting leak when check_get_range function was not
13814 API GstBaseSrc::blocksize range can be 0 too now (default)
13816 * tests/check/elements/filesrc.c: (GST_START_TEST),
13818 Added check to test _get_range() behaviour.
13820 2006-07-06 Wim Taymans <wim@fluendo.com>
13822 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13823 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13824 (gst_pad_pull_range):
13826 Lots of comments and docs added to the pad functions.
13827 Flesh out the expected behaviour of the get_range() functions.
13829 2006-07-06 Wim Taymans <wim@fluendo.com>
13834 * gst/gstiterator.h:
13838 Remove comma at end of enumerator list.
13840 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13842 * win32/common/libgstbase.def:
13843 * win32/common/libgstdataprotocol.def:
13844 * win32/common/libsgtreamer.def:
13845 Add new exported functions.
13847 2006-07-05 Wim Taymans <wim@fluendo.com>
13849 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13850 Add some more docs here and there.
13852 2006-07-05 Wim Taymans <wim@fluendo.com>
13854 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13855 (gst_base_sink_loop), (gst_base_sink_get_position):
13856 When operating in pull mode update the offset so that we
13859 2006-07-05 Wim Taymans <wim@fluendo.com>
13861 * gst/gstregistryxml.c: (read_string):
13862 Avoid strdup. (will happen in libxml, but hey!)
13865 Add some more docs.
13867 2006-07-05 Wim Taymans <wim@fluendo.com>
13869 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13870 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13871 (gst_buffer_suite):
13872 No point in checking if the size of the subbuffer > 0, the
13873 code handles it correclty as demonstrated by unit test.
13874 Also add a unit test for the zero sized _new_and_alloc and
13875 _copy. Fixes #346663.
13877 2006-07-05 Wim Taymans <wim@fluendo.com>
13879 * libs/gst/base/gstbasetransform.c:
13880 (gst_base_transform_prepare_output_buffer),
13881 (gst_base_transform_buffer_alloc),
13882 (gst_base_transform_handle_buffer):
13883 Make sure the buffer we pass to transform_ip has a refcount of
13884 1 and thus is writable. Fixes #343196
13886 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13888 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13889 (gst_file_src_init), (gst_file_src_set_property),
13890 (gst_file_src_get_property), (gst_file_src_map_region):
13891 * plugins/elements/gstfilesrc.h:
13892 Add "sequential" property, off by default, to use madvise and hint
13893 to the kernel that sequential access is desired.
13894 Touch all retrieved pages by default to ensure they are pulled
13895 into memory. (Closes #345720)
13897 2006-07-03 Wim Taymans <wim@fluendo.com>
13899 * docs/design/part-block.txt:
13900 * docs/design/part-dynamic.txt:
13901 Small docs updates.
13903 2006-07-03 Wim Taymans <wim@fluendo.com>
13905 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13906 (gst_caps_unref), (gst_static_caps_get),
13907 (gst_caps_append_structure):
13908 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13909 Use GSlice when the glib we build against is >= 2.10
13911 2006-07-03 Wim Taymans <wim@fluendo.com>
13913 * gst/gstelement.c: (gst_element_pads_activate):
13914 Small cleanup in pad activation code.
13916 2006-07-03 Wim Taymans <wim@fluendo.com>
13918 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13920 * gst/gst-i18n-app.h:
13921 * gst/gst-i18n-lib.h:
13922 * tools/gst-inspect.c: (print_signal_info):
13923 The attached patch will make the inclusion of gettext.h unconditional in
13924 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13925 libintl.h in tools/gst-inspect.c.
13926 This allows use of --disable-nls again and fixes #344642.
13928 2006-07-03 Edward Hervey <edward@fluendo.com>
13930 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13931 Implement pad blocking on events according to part-block.txt.
13932 More comments on behaviour.
13933 * tests/check/gst/gstevent.c: (test_event):
13934 Send event to peer pad of blocked pad (else it will block).
13936 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13938 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13939 (gst_check_run_suite):
13940 if we get the wrong message, give us the types as string
13941 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13943 * tests/check/elements/filesrc.c: (GST_START_TEST):
13944 add a test for trying to open a non-existing file
13946 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13948 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13949 add a test for adding self
13951 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13953 * libs/gst/check/gstcheck.h:
13954 add some assert_ as alias for fail_unless_*
13955 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13956 increase test coverage
13958 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13961 include lcov.mak for lcov coverage generation
13962 * tools/Makefile.am:
13965 2006-07-02 Edward Hervey <edward@fluendo.com>
13967 * tests/check/elements/.cvsignore:
13970 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13973 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13974 * tests/check/Makefile.am:
13975 clean up gcov files
13977 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13979 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13980 remove gst_caps_simplify; it was not declared and not used
13981 and deprecated in 0.8
13983 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13985 * docs/faq/gst-uninstalled:
13986 don't put empty paths on PYTHONPATH
13987 * docs/gst/gstreamer-sections.txt:
13988 remove some symbols that are not there
13990 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13992 * gst/gstcaps.c: (gst_caps_compare_structures):
13994 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13995 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13998 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14000 * libs/gst/dataprotocol/Makefile.am:
14001 build dataprotocol test by linking to the lib, instead of
14002 compiling the source, so we get coverage
14003 * tests/check/Makefile.am:
14004 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14005 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14006 add a test for filesrc
14008 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14010 * tests/check/gst/gststructure.c: (GST_START_TEST),
14011 (gst_structure_suite):
14012 Push coverage from 59.04% to 70.00%
14014 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14016 * tests/check/Makefile.am:
14017 gst-inspect every element; this makes sure that we also get
14018 coverage on element's get/set functions
14020 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14023 set CFLAGS and friends to -O0 if gcov is being used
14026 * libs/gst/base/Makefile.am:
14027 * libs/gst/check/Makefile.am:
14028 * libs/gst/controller/Makefile.am:
14029 * libs/gst/dataprotocol/Makefile.am:
14030 * libs/gst/net/Makefile.am:
14031 * plugins/elements/Makefile.am:
14032 * plugins/indexers/Makefile.am:
14033 add makefile rules to generate gcov data and clean up
14034 * tests/check/Makefile.am:
14035 add a coverage target that generates an html overview
14038 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14040 * tests/check/elements/fakesink.c:
14041 * tests/check/elements/fakesrc.c:
14042 * tests/check/elements/fdsrc.c:
14043 * tests/check/elements/identity.c:
14044 * tests/check/generic/sinks.c: (gst_sinks_suite):
14045 * tests/check/generic/states.c:
14046 * tests/check/gst/gst.c:
14047 * tests/check/gst/gstabi.c:
14048 * tests/check/gst/gstbin.c:
14049 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14050 * tests/check/gst/gstbus.c: (gst_bus_suite):
14051 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14052 * tests/check/gst/gstelement.c:
14053 * tests/check/gst/gstevent.c: (gst_event_suite):
14054 * tests/check/gst/gstghostpad.c:
14055 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14056 * tests/check/gst/gstmessage.c: (gst_message_suite):
14057 * tests/check/gst/gstminiobject.c:
14058 * tests/check/gst/gstobject.c:
14059 * tests/check/gst/gstpad.c:
14060 * tests/check/gst/gstpipeline.c:
14061 * tests/check/gst/gstplugin.c:
14062 * tests/check/gst/gstquery.c: (gst_query_suite):
14063 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14064 * tests/check/gst/gststructure.c:
14065 * tests/check/gst/gstsystemclock.c:
14066 * tests/check/gst/gsttag.c:
14067 * tests/check/gst/gsttask.c: (gst_task_suite):
14068 * tests/check/gst/gstutils.c:
14069 * tests/check/gst/gstvalue.c:
14070 * tests/check/libs/adapter.c:
14071 * tests/check/libs/basesrc.c:
14072 * tests/check/libs/collectpads.c:
14073 * tests/check/libs/controller.c:
14074 * tests/check/libs/gdp.c: (gst_dp_suite):
14075 * tests/check/libs/gstnetclientclock.c:
14076 * tests/check/libs/gstnettimeprovider.c:
14077 * tests/check/libs/libsabi.c: (libsabi_suite):
14078 * tests/check/libs/typefindhelper.c:
14079 * tests/check/pipelines/cleanup.c:
14080 * tests/check/pipelines/parse-launch.c:
14081 * tests/check/pipelines/simple-launch-lines.c:
14082 * tests/check/pipelines/stress.c: (stress_suite):
14085 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14087 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14088 * libs/gst/check/gstcheck.h:
14089 create a macro and function so that the simple unit test
14090 case can be just one macro to create main()
14092 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14094 * gst/gstbin.c: (gst_bin_restore_thyself):
14095 * gst/gstxml.c: (gst_xml_make_element):
14096 Fix deserialisation from XML. Set parent manually
14097 instead of using gst_bin_add(), since gst_bin_add()
14098 will unlink all pads of the element being added.
14101 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14103 Patch by: Peter Kjellerstedt <pkj at axis com>
14105 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14106 Fix missing g_strdup() and double free when using the
14107 --gst-plugin-load command line option (#346097).
14109 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14112 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14114 * libs/gst/net/gstnetclientclock.c:
14115 * libs/gst/net/gstnettimeprovider.c:
14116 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14118 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14120 * docs/manual/advanced-dataaccess.xml:
14121 Fix buffer probe example compilation in
14124 2006-06-22 Edward Hervey <edward@fluendo.com>
14126 * gst/gstelement.c: (gst_element_pads_activate):
14127 We need to deactivate src pads first and then sink pads.
14128 The reason is the src pads might be blocking while holding the streaming
14129 lock, so we need to deactivate them first so that deactivating the sink
14130 pads doesn't block (since it will require the streaming lock).
14132 2006-06-22 Wim Taymans <wim@fluendo.com>
14134 * libs/gst/base/gstbasetransform.c:
14135 (gst_base_transform_buffer_alloc):
14136 Forgot to remove two unneeded unrefs.
14137 Simplify a check _is_equal allready checks the obvious case.
14139 2006-06-22 Wim Taymans <wim@fluendo.com>
14141 * docs/design/part-block.txt:
14142 Some docs about what pad_block should do.
14144 2006-06-22 Wim Taymans <wim@fluendo.com>
14146 * gst/gstcaps.c: (gst_caps_replace):
14147 Fix crasher when passed NULL. Doc clarification.
14148 Optimize for the trivial case.
14150 * gst/gstpipeline.c: (gst_pipeline_change_state):
14153 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14154 Small documentation cleanup.
14156 * libs/gst/base/gstbasetransform.c:
14157 (gst_base_transform_buffer_alloc):
14158 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14159 is what we need and it avoids a whole lot of redundant
14160 refcount operations.
14162 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14164 Patch by: Philip Jägenstedt <philip at lysator liu se>
14166 * docs/manual/advanced-dataaccess.xml:
14167 Fix 'Embedding static elements' section to use
14168 GST_PLUGIN_DEFINE_STATIC (#345607).
14170 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14172 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14173 Attempt to 'fix' spuriously failing test case: it seems like the
14174 timeout of half a second is simply too small when the system is under
14175 load otherwise, and the timeout doesn't really seem to serve any
14176 particular purpose here. Give the pipeline a few seconds to preroll
14177 first, and then give it another half a second to go from PAUSED to
14178 PLAYING and marshal the message into the main thread.
14180 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14182 * tools/gst-feedback-m.m:
14183 Don't only use unversioned tools, try versioned tools as well
14186 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14188 * gst/gstbus.c: (gst_bus_class_init):
14189 Fix some typos, make docs more explicit.
14191 2006-06-20 Wim Taymans <wim@fluendo.com>
14193 * tests/check/gst/gstghostpad.c: (block_callback),
14194 (GST_START_TEST), (gst_ghost_pad_suite):
14195 Added some more ghostpad tests, mainly blocking
14198 2006-06-16 Wim Taymans <wim@fluendo.com>
14200 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14201 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14202 (gst_file_sink_event), (gst_file_sink_render):
14203 * plugins/elements/gstfilesink.h:
14204 Check if we can seek in the file instead of assuming
14205 we always can. Post an error when we are asked to seek in a
14206 non-seekable file (like a fifo). Fixes #343312.
14209 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14211 * tools/gst-launch.1.in:
14212 Un-garble (fourcc) bit in filtered caps section.
14214 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14216 * docs/manual/advanced-autoplugging.xml:
14217 * docs/manual/basics-helloworld.xml:
14218 * docs/manual/highlevel-components.xml:
14219 Don't leak bus reference in sample code.
14221 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14224 Add default for new --enable-plugin-docs switch.
14227 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14230 * docs/Makefile.am:
14231 Use new ENABLE_PLUGIN_DOCS conditional.
14233 2006-06-14 Wim Taymans <wim@fluendo.com>
14235 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14236 Make it clear with a FIXME and a real define what the #if 0
14237 previously disabled.
14239 2006-06-14 Wim Taymans <wim@fluendo.com>
14241 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14242 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14243 * libs/gst/base/gstbasetransform.c:
14244 (gst_base_transform_sink_eventfunc):
14245 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14246 Don't randomly and silently reset a segment when the format
14247 changes as this is a bug somewhere upstream. Fixes #330379.
14249 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14251 Patch by: Wouter Paesen <wouter at kangaroot net>
14253 * libs/gst/controller/gstcontroller.c:
14254 (gst_controlled_property_new):
14255 Fix controlling of float properties (#344849).
14257 * tests/check/libs/controller.c:
14258 (gst_test_mono_source_get_property),
14259 (gst_test_mono_source_set_property),
14260 (gst_test_mono_source_class_init), (GST_START_TEST):
14261 While we're at it, add some float stuff to unit test.
14263 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14266 * docs/images/gdp-header.svg:
14268 * docs/libs/Makefile.am:
14269 * docs/libs/gdp-header.png:
14270 * libs/gst/dataprotocol/dataprotocol.c:
14271 add it to the API docs
14272 * docs/manual/intro-motivation.xml:
14275 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14277 * gst/gst.c: (scan_and_update_registry), (init_post):
14278 If the fork()'ed child process can't write the updated registry cache
14279 file to disk for some reason, make it exit with a failure exit code,
14280 so that the parent can then re-scan the plugins itself and update the
14281 registry structures in memory and work with that (rather than failing
14282 when creating elements because seemingly no plugins are available).
14283 Refactor registry scanning code into separate function for this and
14284 also separate fork() and non-fork() code paths. Fixes #344748.
14286 2006-06-13 Wim Taymans <wim@fluendo.com>
14288 * docs/manual/advanced-dataaccess.xml:
14289 Fix wrong PluginDesc. Fixes #344755.
14291 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14293 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14294 Fix silly bug that prevented us from creating
14295 ~/.gstreamer-0.10 and writing the registry in one
14296 go (the first call to g_mkstemp() would overwrite the
14297 placeholder in the template string, so the second call
14298 to g_mkstemp() after creating the missing directory
14299 would then error out with 'invalid argument').
14301 2006-06-13 Edward Hervey <edward@fluendo.com>
14303 * gst/gst.c: (init_post):
14306 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14308 * gst/glib-compat-private.h:
14309 * gst/glib-compat.c:
14310 * gst/glib-compat.h:
14311 * gst/gstvalue.c: (gst_value_serialize_flags):
14312 remove GLib 2.6 compatibility code
14314 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14316 * gst/parse/Makefile.am:
14317 Fix build with 'make -j N' even more (#340016).
14319 2006-06-12 Wim Taymans <wim@fluendo.com>
14321 * docs/gst/gstreamer-sections.txt:
14324 2006-06-12 Wim Taymans <wim@fluendo.com>
14326 * gst/gstsegment.c: (gst_segment_set_duration),
14327 (gst_segment_set_last_stop), (gst_segment_set_seek),
14328 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14329 (gst_segment_to_running_time), (gst_segment_clip):
14330 Use G_UNLIKELY to help the compiler a bit.
14332 2006-06-12 Wim Taymans <wim@fluendo.com>
14334 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14336 * gst/gstevent.c: (gst_event_get_type):
14337 * gst/gstmessage.c:
14338 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14340 constify quark registration strings. Fixes #344115
14341 Avoid unneeded type checking is _pad_push() by internally
14342 calling gst_pad_chain_unchecked().
14344 2006-06-12 Wim Taymans <wim@fluendo.com>
14346 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14347 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14348 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14349 (gst_buffer_is_span_fast), (gst_buffer_span):
14350 Init _type for consistency.
14351 Use _FLAGS macro to avoid type check.
14352 Avoid unneeded type checks in subbufer code.
14354 2006-06-12 Wim Taymans <wim@fluendo.com>
14356 * gst/gst.c: (gst_debug_help):
14357 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14358 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14359 (gst_plugin_feature_list_free):
14360 * gst/gstregistry.c: (gst_registry_add_plugin),
14361 (gst_registry_add_feature), (gst_registry_plugin_filter),
14362 (gst_registry_feature_filter), (gst_registry_find_plugin),
14363 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14364 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14365 * gst/gstregistryxml.c: (load_feature),
14366 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14367 * gst/gstminiobject.c: (gst_mini_object_unref),
14368 (gst_mini_object_replace), (gst_value_mini_object_free),
14369 (gst_value_mini_object_copy):
14370 Use _CAST macros to avoid unneeded type checking.
14371 Added some more G_UNLIKELY.
14373 2006-06-12 Wim Taymans <wim@fluendo.com>
14376 Avoid unneeded type checking.
14377 API: GST_BUFFER_IS_DISCONT
14379 * gst/gstminiobject.h:
14380 Avoid type check in flag accessor.
14382 * gst/gstelementfactory.h:
14384 * gst/gstpluginfeature.h:
14386 API: GST_ELEMENT_FACTORY_CAST
14387 API: GST_PLUGIN_CAST
14388 API: GST_PLUGIN_FEATURE_CAST
14390 2006-06-12 Wim Taymans <wim@fluendo.com>
14392 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14393 (gst_object_unref):
14394 Add G_UNLIKELY in type registration.
14395 Avoid type check in _ref/_unref since that is also
14398 2006-06-12 Wim Taymans <wim@fluendo.com>
14400 * gst/gsterror.c: (gst_g_error_get_type):
14401 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14402 (gst_static_pad_template_get_type):
14403 * gst/gsttaglist.c: (gst_tag_list_get_type):
14404 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14405 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14406 * gst/gsturi.c: (gst_uri_handler_get_type):
14407 * gst/gstvalue.c: (gst_date_get_type):
14408 * gst/gstxml.c: (gst_xml_get_type):
14409 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14410 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14411 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14412 Add G_UNLIKELY in type registration.
14414 2006-06-12 Wim Taymans <wim@fluendo.com>
14416 * tools/gst-inspect.c: (print_signal_info):
14417 Properly print enum values.
14419 2006-06-12 Wim Taymans <wim@fluendo.com>
14421 * gst/gstinfo.c: (gst_debug_set_active),
14422 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14424 Add some G_[UN]LIKELY.
14425 Maintain __gst_debug_min to avoid formatting the arguments of
14426 debug messages that will be dropped anyway to avoid a lot of
14427 overhead from the debugging system.
14429 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14432 * po/POTFILES.skip:
14433 add missing files containing translatable strings, tell intltool about
14436 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14438 * tests/check/libs/.cvsignore:
14439 add test-binary to ignore list
14441 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14443 * docs/libs/gstreamer-libs-docs.sgml:
14444 reorder (put dp into a chapter) and indent
14446 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14451 === release 0.10.8 ===
14453 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14456 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14458 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14460 * gst/gst.c: (init_post):
14461 move pid declaration to declaration block
14463 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14465 * gst/gst.c: (init_post):
14466 use _exit() instead of exit() in our forked child; this ensures
14467 that none of the registered exit handlers from whatever is using
14468 GStreamer get executed. This fixes gnome-mixer-applet failing
14469 to load, because ORBit would shut down.
14470 Spotted by: Edward Hervey <edward@fluendo.com>
14471 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14474 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14479 === release 0.10.7 ===
14481 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14484 releasing 0.10.7, "Soepeke, ik zie ou"
14486 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14509 * win32/common/config.h:
14510 0.10.6.2 prerelease
14512 2006-06-07 Wim Taymans <wim@fluendo.com>
14514 * gst/gstindex.c: (gst_index_gtype_resolver):
14515 * tools/gst-xmlinspect.c: (print_plugin_info):
14516 Fix leak spotted by coverity checker. Fixes #343827
14517 Fix another other leak found by paolo borelli.
14519 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14521 * libs/gst/dataprotocol/dataprotocol.c:
14522 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14523 (gst_dp_version_get_type), (gst_dp_init),
14524 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14525 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14526 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14527 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14528 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14529 (gst_dp_packetizer_free):
14530 * libs/gst/dataprotocol/dataprotocol.h:
14531 API: add a GstDPPacketizer object, and create/free functions
14532 API: add GstDPVersion enum
14533 Add 1.0 event function that uses the string serialization
14534 Serialize more useful buffer flags
14537 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14539 * tests/check/Makefile.am:
14540 * tests/check/gst/gstabi.c:
14541 * tests/check/gst/struct_ppc64.h:
14542 * tests/check/libs/libsabi.c:
14543 * tests/check/libs/struct_ppc64.h:
14544 add ppc64 structure sizes
14546 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14548 * tests/check/Makefile.am:
14549 * tests/check/gst/gstabi.c:
14550 * tests/check/gst/struct_x86_64.h:
14551 * tests/check/libs/libsabi.c:
14552 * tests/check/libs/struct_x86_64.h:
14553 generate and add structure size lists for x86_64
14555 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14557 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14558 * libs/gst/check/gstcheck.h:
14559 factor out the method from tests that checks size of structures,
14560 and add code to generate the header containing these sizes
14561 * tests/check/gst/gstabi.c: (GST_START_TEST):
14562 * tests/check/gst/struct_i386.h:
14563 * tests/check/libs/libsabi.c: (GST_START_TEST):
14564 * tests/check/libs/struct_i386.h:
14567 2006-06-06 Michael Smith <msmith@fluendo.com>
14569 * gst/gstsegment.h:
14570 Don't use c++-style comments, fixes #343929
14572 2006-06-05 Edward Hervey <edward@fluendo.com>
14575 plugin_paths is not used if we build without registry support.
14577 * gst/gstsegment.c: (gst_segment_copy):
14578 _copy() was always returning NULL...
14580 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14582 * libs/gst/dataprotocol/dataprotocol.c:
14583 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14584 (gst_dp_packet_from_event):
14585 factor out CRC code
14587 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14589 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14590 make sure we unset caps
14592 2006-06-02 Michael Smith <msmith@fluendo.com>
14594 * libs/gst/check/gstcheck.c: (gst_check_init),
14595 (gst_check_chain_func):
14596 * libs/gst/check/gstcheck.h:
14597 Add a cond/mutex to the check support lib, signal this whenever we
14598 add to the buffers list. This will allow tests to not busy-wait on
14601 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14603 * libs/gst/dataprotocol/dataprotocol.c:
14604 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14605 (gst_dp_packet_from_event):
14606 factor out some common header init code
14608 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14610 * docs/libs/gstreamer-libs-sections.txt:
14611 * docs/libs/tmpl/gstdataprotocol.sgml:
14612 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14613 * libs/gst/dataprotocol/dataprotocol.h:
14614 API: make gst_dp_crc() public
14616 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14618 * plugins/indexers/gstindexers.c: (plugin_init):
14619 conditionally register fileindexer (fixes #343598)
14621 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14623 * gst/gsttagsetter.h:
14624 Can't cast ifaces to a class
14626 * libs/gst/net/gstnetclientclock.h:
14627 * libs/gst/net/gstnettimeprovider.h:
14628 * plugins/elements/gstfakesink.h:
14629 * plugins/elements/gstfakesrc.h:
14630 * plugins/elements/gstfdsink.h:
14631 * plugins/elements/gstfdsrc.h:
14632 * plugins/elements/gstfilesink.h:
14633 * plugins/elements/gstfilesrc.h:
14634 * plugins/elements/gstidentity.h:
14635 * plugins/elements/gstqueue.h:
14636 * plugins/elements/gsttee.h:
14637 * plugins/indexers/gstfileindex.c:
14638 * plugins/indexers/gstmemindex.c:
14639 * tests/old/examples/plugins/example.h:
14640 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14642 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14644 * libs/gst/dataprotocol/dataprotocol.c:
14645 (gst_dp_header_from_buffer):
14646 make sure we zero the whole ABI-compatible area
14648 2006-06-01 Wim Taymans <wim@fluendo.com>
14650 Patch by: Alessandro Decina <alessandro at nnva dot org>
14652 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14653 Make sure the EOS flag is cleared from pads after a flush
14654 or stop. Fixes #343538.
14656 * tests/check/libs/collectpads.c: (GST_START_TEST),
14657 (gst_collect_pads_suite):
14658 Added test for collectpads reusage after EOS.
14660 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14663 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14664 * win32/common/libgstbase.def:
14665 export gst_collect_pads_set_flushing
14666 * win32/common/libgstreamer.def:
14667 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14668 gst_value_fraction_multiply
14669 * win32/vs6/gst_inspect.dsp:
14670 add a link to intl.lib
14672 2006-05-30 Wim Taymans <wim@fluendo.com>
14674 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14675 (gst_collect_pads_chain):
14676 Handle the case where a pad is removed from the collection
14677 that could cause the other pads to become collectable.
14679 2006-05-30 Wim Taymans <wim@fluendo.com>
14681 * gst/gstelement.c:
14682 Clarify the use of _release_request_pad() and
14683 _get_request_pad() a bit better.
14685 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14686 (gst_adapter_take_buffer):
14687 Fix some doc and comment typos.
14689 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14691 * docs/gst/gstreamer-sections.txt:
14692 * docs/libs/gstreamer-libs-sections.txt:
14693 add declared symbols
14695 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14697 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14698 Add debug that can be enabled using a #define at the top of the file,
14699 for dumping stats about how late/early we were when waking up from
14700 waiting on the clock.
14702 2006-05-30 Wim Taymans <wim@fluendo.com>
14704 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14705 When rebuilding the pad list, don't leak the previous list.
14707 2006-05-30 Wim Taymans <wim@fluendo.com>
14709 Patch by: Lutz Mueller <lutz at topfrose dot de>
14711 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14712 (gst_base_src_get_query_types), (gst_base_src_update_length):
14713 Publish supported query types.
14714 Update last_stop field in get_range mode so the position
14715 query works. Fixes #342321.
14717 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14719 * docs/gst/gstreamer-sections.txt:
14720 * gst/gsttaglist.c: (_gst_tag_initialize):
14721 * gst/gsttaglist.h:
14722 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14724 2006-05-30 Wim Taymans <wim@fluendo.com>
14726 Patch by: Alessandro Decina <alessandro at nnva dot org>
14728 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14729 Unlock mutex when removing an unknown pad.
14732 * tests/check/Makefile.am:
14733 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14734 (push_event), (setup), (teardown), (GST_START_TEST),
14735 (gst_collect_pads_suite), (main):
14736 Added collecpads check, disabled for now as check crashes for
14739 2006-05-29 Wim Taymans <wim@fluendo.com>
14741 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14742 Don't leak pads lists.
14744 2006-05-29 Wim Taymans <wim@fluendo.com>
14746 * docs/libs/gstreamer-libs-sections.txt:
14747 * libs/gst/base/gstcollectpads.c:
14748 (gst_collect_pads_set_flushing_unlocked),
14749 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14750 (gst_collect_pads_stop):
14751 * libs/gst/base/gstcollectpads.h:
14752 API: gst_collect_pads_set_flushing()
14753 Added api to set the pads to flushing, useful for seeking
14754 code in elements using collectpads.
14755 Clear segment when receiving a flush.
14757 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14759 * gst/gst.c: (add_path_func), (init_post):
14760 Don't scan registry paths passed via --gst-plugin-path immediately
14761 (will crash, because absolutely nothing is set up and no types are
14762 registered etc.); do this later in init_post(). Fixes #343057.
14764 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14766 * gst/gst.c: (init_post):
14767 if we have fork, fork while reading/rebuilding the registry
14768 so the parent doesn't take the hit of having all plugins loaded
14769 in memory. Fixes #342777.
14771 Check if we have fork()
14772 * win32/common/config.h.in:
14775 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14777 * plugins/elements/gstelements.c:
14778 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14779 (gst_file_src_init), (gst_file_src_set_property),
14780 (gst_file_src_get_property), (gst_file_src_start):
14781 * plugins/elements/gstfilesrc.h:
14782 API: GstFileSrc::use-mmap
14784 Add a use-mmap property to enable easier testing of all code paths.
14785 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14786 in the absence of gnomevfssrc. (Closes #340501)
14788 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14790 * tools/gst-inspect.c:
14791 Add missing include, removes warning of ngettext not being defined on
14794 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14796 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14797 Handle NULL input and output pointers silently as a failed conversion,
14798 rather than g_warnings.
14800 2006-05-25 Wim Taymans <wim@fluendo.com>
14802 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14803 Initialize variable before using. Fixes #342820.
14805 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14807 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14808 Fix off-by-one bug that would only allow peeks of N-1 bytes
14809 from the start even if the buffer to typefind on contains
14810 in fact N bytes of data (makes vorbis typefinding from a
14811 vorbis identification header buffer work).
14813 * tests/check/Makefile.am:
14814 * tests/check/libs/.cvsignore:
14815 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14816 (gst_typefindhelper_suite), (main), (foobar_typefind),
14818 Add very basic unit test for gst_type_find_helper_for_buffer()
14819 that checks for the problem fixed above.
14821 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14823 * tools/gst-inspect.c: (print_interfaces),
14824 (print_element_properties_info), (print_element_list), (main):
14825 add more translatable strings
14827 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14829 Patch by: Julien Moutte <julien at moutte net>
14831 * docs/gst/gstreamer-sections.txt:
14832 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14834 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14835 (gst_fake_sink_preroll):
14836 * plugins/elements/gstfakesink.h:
14837 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14839 2006-05-23 Wim Taymans <wim@fluendo.com>
14841 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14843 Added _CUSTOM error and success GstFlowReturn that can be
14844 used be elements internally.
14845 Added macro to check for SUCCESS flowreturns.
14846 API: GST_FLOW_CUSTOM_SUCCESS
14847 API: GST_FLOW_CUSTOM_ERROR
14848 API: GST_FLOW_IS_SUCCESS
14850 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14851 Added check for GstFlowReturn sanity.
14853 2006-05-23 Wim Taymans <wim@fluendo.com>
14855 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14857 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14858 (gst_collect_pads_event):
14859 clear/reset segment info in FLUSH_STOP.
14862 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14864 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14865 (gst_collect_pads_check_collected):
14866 Flush queued buffer on _stop(), fixes playing again (#342454)
14868 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14870 * tests/check/gst/gststructure.c: (GST_START_TEST),
14871 (gst_structure_suite):
14872 add a test for a complete structure
14874 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14876 * docs/faq/developing.xml:
14877 * docs/faq/faq.xml:
14878 * docs/faq/troubleshooting.xml:
14879 * docs/faq/using.xml:
14880 Some minor FAQ updates that won't change the fact that
14881 our FAQ is badly structured, full of information hardly
14882 anyone new to GStreamer needs to know and lacking lots
14883 of information people constantly ask for.
14885 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14887 * gst/gstpad.c: (gst_pad_set_caps):
14888 Short-circuit gst_pad_set_caps if setting the existing
14889 caps pointer again, and avoid printing debug and
14890 reffing/unreffing the caps.
14892 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14893 There's actually no need to set the caps before pushing -
14894 the acceptcaps method will handle it anyway.
14896 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14898 * docs/gst/gstreamer-sections.txt:
14899 * win32/common/libgstreamer.def:
14900 * gst/gstutils.c: (gst_element_seek_simple):
14902 API: add gst_element_seek_simple() (#342238).
14904 2006-05-18 Edward Hervey <edward@fluendo.com>
14906 * gst/gsttypefind.c: (gst_type_find_get_type):
14907 * gst/gsttypefind.h:
14908 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14909 registered for GstTypeFind pointers. This allows wrapping the structure
14910 in bindings (i.e. gst-python).
14912 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14914 * gst/gsttagsetter.c:
14915 Docs additions and fixes (see #339918).
14917 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14919 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14920 The caps intersection algorithm can produce multiple copies of the
14921 caps. Until that is fixed, we need to simplify the result to be
14922 sure whether the allowed caps are fixed or not.
14924 * plugins/elements/gstqueue.c: (gst_queue_init),
14925 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14926 (gst_queue_push_one):
14927 Proxied buffer alloc should not set the caps on the source pad.
14928 When pushing buffers, we always accept the caps change that triggers.
14929 This prevents negotiation errors caused by caps changing mid-stream
14930 and then being refused on our source pad (because upstream is now
14931 refusing those caps).
14933 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14935 * tests/examples/helloworld/helloworld.c: (main):
14936 Must plug audioconvert and audioresample between decoder
14939 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14941 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14942 (load_feature), (load_plugin):
14943 Allow empty strings for some of the plugin fields so we don't
14944 drop valid plugin entries that were written out correctly
14947 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14949 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14950 Use g_remove and g_rename instead of remove and rename that don't
14951 handle utf8 characters. rename was failing for users who had specific
14952 characters in their name then the registry was built at each
14954 * win32/vs6/gst_inspect.dsp:
14955 * win32/vs6/gst_launch.dsp:
14956 * win32/vs6/libgstbase.dsp:
14957 * win32/vs6/libgstcoreelements.dsp:
14958 * win32/vs6/libgstreamer.dsp:
14959 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14960 build of libgstreamer and clean unused libraries in projects link
14963 2006-05-17 Edward Hervey <edward@fluendo.com>
14965 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14966 The queue is not responsible for pushing an EOS when receiving a fatal
14967 flow error. It's up to the real element driving the pipeline to do that.
14969 2006-05-16 Edward Hervey <edward@fluendo.com>
14971 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14972 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14973 buffer returned a fatal error. It should just send an EOS and stop
14975 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14976 when pushing buffers on the queue and will be able to handle the event.
14978 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14980 * docs/manual/basics-bins.xml:
14981 * docs/manual/basics-init.xml:
14982 Fix typos and minor errors in sample code (#341856).
14984 2006-05-16 Wim Taymans <wim@fluendo.com>
14986 * docs/design/part-qos.txt:
14987 Fix indexes in formulas to make more sense.
14989 2006-05-15 Wim Taymans <wim@fluendo.com>
14991 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14992 Don't report POSITION based on clock time if sync is
14993 disabled in a sink.
14995 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14998 Add cast to make compiler happy - refcount variable was a gint
14999 in GstObject but is a guint in GObject and g_atomic_int_get()
15002 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
15004 * gst/parse/Makefile.am:
15005 chain commands using &&, which also makes parallel make work
15007 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
15009 * docs/gst/gstreamer-sections.txt:
15012 * gst/gstmessage.h:
15015 === release 0.10.6 ===
15017 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
15020 releasing 0.10.6, "Take the cannoli"
15022 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
15024 * tools/gst-launch.c: (print_tag):
15025 Fix use of uninitialized variable in the hypothetical
15026 case that some broken plugin creates a GST_TAG_IMAGE
15027 tag containing a NULL buffer (#341667).
15029 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
15031 * tools/gst-launch.c: (print_tag):
15032 Print something more intelligible for image tags when
15033 using the -t switch (#341556).
15035 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
15040 define GST_MAJORMINOR so we have it available in win32/common/config.h
15041 Possibly remove it from our Makefile.am files later
15042 * win32/common/config.h:
15043 * win32/common/config.h.in:
15044 added GST_MAJORMINOR
15045 * win32/common/gstenumtypes.c: (register_gst_resource_error):
15046 * win32/common/gstversion.h:
15049 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15052 Update win32 files listing.
15053 * win32/common/gstversion.h:
15054 Add GST_MAJORMINOR definition.
15055 * win32/common/libgstreamer.def:
15056 Add new exported functions.
15058 2006-05-12 Michael Smith <msmith@fluendo.com>
15060 * gst/gstplugin.c: (gst_plugin_load_file):
15061 If an so file has no plugin entry point, unload the module.
15063 2006-05-11 Wim Taymans <wim@fluendo.com>
15065 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15066 (gst_queue_set_property):
15067 Don't forget to signal the _chain or _loop function
15068 when the queue size or thresholds change since that might
15069 cause them to make progres again.
15071 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15073 * gst/gstclock.c: (gst_clock_class_init):
15074 * gst/gstindex.c: (gst_index_class_init):
15075 * gst/gstobject.c: (gst_object_class_init):
15076 * gst/gstpad.c: (gst_pad_class_init):
15077 * gst/gstpipeline.c: (gst_pipeline_class_init):
15078 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15079 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15080 * libs/gst/base/gstbasetransform.c:
15081 (gst_base_transform_class_init):
15082 * libs/gst/net/gstnetclientclock.c:
15083 (gst_net_client_clock_class_init):
15084 * libs/gst/net/gstnettimeprovider.c:
15085 (gst_net_time_provider_class_init):
15086 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15087 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15088 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15089 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15090 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15091 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15092 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15093 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15094 * plugins/elements/gsttee.c: (gst_tee_class_init):
15095 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15096 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15097 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15099 2006-05-11 Wim Taymans <wim@fluendo.com>
15101 * gst/gstbuffer.c: (_gst_buffer_initialize):
15102 Register subbufer along with the buffer type so that
15103 it does not accidentally gets registered from N
15104 different streaming threads in a non threadsafe way.
15106 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15110 * gst/gstmessage.h:
15111 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15112 gst_event_ref() and gst_message_ref() functions again
15113 (ugly hack, please do fix if there's a better way besides
15114 overrides.txt, which doesn't seem to work).
15116 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15118 * libs/gst/check/gstcheck.h:
15119 add an assert for setting state to avoid lots of repetitive code
15122 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15124 * gst/gstvalue.c: (gst_value_serialize_flags):
15125 fix a leak if no flags are set
15126 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15129 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15131 * docs/manual/basics-pads.xml:
15132 Expand a bit on caps and filtered links and update
15133 examples that were still using the no longer existing
15134 gst_pad_link_filtered() (#338206).
15136 2006-05-10 Wim Taymans <wim@fluendo.com>
15138 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15139 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15140 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15141 (gst_collect_pads_stop):
15142 * libs/gst/base/gstcollectpads.h:
15143 No need to call _stop in _finalize.
15144 Iterate the main pad list in _finalize.
15145 Added some more debug.
15146 Free lists and data in the right order.
15147 Also free data whem doing _remove_pad when stopped for
15148 backward compatibility protect ::started with PAD_LOCK as
15151 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15153 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15154 (gst_structure_parse_value):
15156 rename a method so that it actually says what it does better
15158 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15160 * gst/gstevent.c: (_gst_event_initialize):
15161 * gst/gstformat.c: (_gst_format_initialize):
15162 make sure some essential types used by events are registered
15163 as part of gst_init()
15164 * gst/gstvalue.c: (gst_value_serialize_flags):
15165 if no flags are set, serialize them to a value that represents NONE
15166 so that deserializing them works
15167 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15168 add tests for serialization and deserialization of flags
15170 2006-05-10 Wim Taymans <wim@fluendo.com>
15172 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15173 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15174 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15175 (gst_collect_pads_event), (gst_collect_pads_chain):
15178 Catch and return errors from the collect function
15179 Refuse data on eos pads.
15181 2006-05-10 Edward Hervey <edward@fluendo.com>
15183 * gst/gstinterface.h:
15184 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15185 GInterface type checking.
15186 They were previously using non-defined macros.
15188 2006-05-09 Wim Taymans <wim@fluendo.com>
15190 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15191 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15192 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15193 (gst_collect_pads_start), (gst_collect_pads_stop),
15194 (gst_collect_pads_peek), (gst_collect_pads_pop),
15195 (gst_collect_pads_available), (gst_collect_pads_read),
15196 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15197 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15198 (gst_collect_pads_chain):
15199 * libs/gst/base/gstcollectpads.h:
15200 Clean up the mess that is collectpads, add comments and
15201 FIXMEs where needed.
15202 Maintain a separate pad list so we can add pads while
15203 collecting the other ones. For this we need a new separate
15205 Fix memory leak in finalize.
15206 Refactor some weird code to set/unset pad flushing flags, mark
15208 Don't crash in _available, _read, _flush when we're EOS.
15210 * tests/check/libs/.cvsignore:
15211 Ignore adapter check binary.
15213 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15215 * gst/gstindex.c: (gst_index_resolver_get_type):
15216 * plugins/elements/gstfakesink.c:
15217 (gst_fake_sink_state_error_get_type):
15218 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15219 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15220 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15221 Const-ify GEnumValue arrays.
15223 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15225 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15226 Add test case for flags + gst_buffer_make_metadata_writable().
15228 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15230 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15231 gst_buffer_make_metadata_writable() should maintain the
15232 buffer flags (those that make sense at least) (see #340859).
15234 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15236 * tools/gst-inspect.c:
15237 * tools/gst-launch.c:
15238 * tools/gst-typefind.c:
15239 * tools/gst-xmlinspect.c:
15241 Fix up includes: need to include stdlib.h in tools.h for exit().
15243 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15245 * gst/gsttaglist.c: (_gst_tag_initialize):
15246 * gst/gsttaglist.h:
15247 API: add GST_TAG_IMAGE tag (#340721).
15249 2006-05-08 Wim Taymans <wim@fluendo.com>
15252 Added some docs for the segment query.
15254 2006-05-08 Wim Taymans <wim@fluendo.com>
15256 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15257 (gst_base_src_loop), (gst_base_src_change_state):
15258 Always push non-flushing serialized events in the streaming
15261 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15263 * gst/gsterror.c: (_gst_stream_errors_init):
15264 Add a missing error string.
15266 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15268 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15269 Add applied_rate to the debug
15271 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15272 Copy applied_rate into the outgoing NEWSEGMENT event
15274 2006-05-08 Wim Taymans <wim@fluendo.com>
15276 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15278 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15279 (gst_base_sink_change_state):
15280 call ::unlock before taking the PREROLL_LOCK so we can safely
15281 handle elements that lock in ::render.
15284 2006-05-08 Edward Hervey <edward@fluendo.com>
15286 * autogen.sh: (CONFIGURE_DEF_OPT):
15287 Darwin's libtoolize is in fact called glibtoolize.
15288 Adding glibtoolize to the list of accepted names for libtoolize.
15290 2006-05-08 Wim Taymans <wim@fluendo.com>
15292 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15293 Unify error handling, don't post an error message
15294 when a push() returns EOS but perform our normal EOS
15295 handling code. Fixes #340772.
15297 2006-05-08 Wim Taymans <wim@fluendo.com>
15299 * docs/design/part-overview.txt:
15300 Make upsteam/downstream concepts more clear.
15301 Give an example of serialized/non-serialized events.
15303 * docs/design/part-events.txt:
15304 * docs/design/part-streams.txt:
15305 Mention applied_rate.
15307 * docs/design/part-trickmodes.txt:
15308 Mention applied rate, flesh out some more use cases.
15310 * gst/gstevent.c: (gst_event_new_new_segment),
15311 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15312 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15313 (gst_event_parse_tag), (gst_event_new_buffer_size),
15314 (gst_event_parse_buffer_size), (gst_event_new_qos),
15315 (gst_event_parse_qos), (gst_event_parse_seek),
15316 (gst_event_new_navigation):
15318 Add applied_rate field to NEWSEGMENT event.
15319 API: gst_event_new_new_segment_full()
15320 API: gst_event_parse_new_segment_full()
15322 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15323 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15324 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15325 * gst/gstsegment.h:
15326 Add applied_rate to GstSegment structure.
15327 Make calculation of stream_time and running_time more correct
15328 wrt rate/applied_rate.
15329 Add some more docs.
15330 API: GstSegment::applied_rate field
15331 API: gst_segment_set_newsegment_full();
15333 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15334 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15335 * libs/gst/base/gstbasetransform.c:
15336 (gst_base_transform_sink_eventfunc),
15337 (gst_base_transform_handle_buffer):
15338 Parse and use applied_rate in the GstSegment field.
15340 * tests/check/gst/gstevent.c: (GST_START_TEST):
15341 Add check for applied_rate field.
15343 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15344 (gstsegments_suite):
15345 Add more checks for various GstSegment operations.
15347 2006-05-08 Wim Taymans <wim@fluendo.com>
15349 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15350 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15351 (gst_base_sink_get_position), (gst_base_sink_change_state):
15352 Store the sync time of the buffer end position separatly in a
15353 new variable eos_rtime so we can properly sync the EOS event.
15355 Fix the docs for gst_base_sink_set_qos_enabled().
15356 Don't set segment start to invalid value when we receive a
15357 non TIME newsegment.
15358 get closer to handling position reporting for negative rates
15361 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15364 Docs about how to print caps for debug purposes.
15366 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15367 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15369 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15371 * gst/gstelement.c:
15372 use full enum names and preprend a '%' in docs strings to make recent
15373 gtk-doc turn that into a link
15375 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15377 * docs/manual/basics-bins.xml:
15378 * docs/manual/basics-bus.xml:
15379 * docs/manual/basics-pads.xml:
15380 Some typo fixes, some additions, some clarifications.
15382 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15384 * tools/gst-inspect.c: (main):
15385 * tools/gst-launch.c: (main):
15386 * tools/gst-run.c: (main):
15387 * tools/gst-typefind.c: (main):
15388 * tools/gst-xmlinspect.c: (main):
15389 Use the string passed to g_option_context_new() for
15390 what it's intended for - the program name is already
15393 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15395 * tools/Makefile.am:
15396 * tools/gst-inspect.c: (main):
15397 * tools/gst-launch.c: (main):
15398 * tools/gst-xmlinspect.c: (main):
15400 Add back --version command line option (#340460).
15402 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15403 Add --version option and use GOption for argument parsing; refactor a
15404 bit; accept directories as arguments and recurse into them; lastly,
15405 print a decent error message when things go wrong.
15407 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15409 * docs/manual/basics-bins.xml:
15410 Don't mention GstThread (#340611)
15411 * docs/manual/basics-elements.xml:
15412 Update link to GObject tutorial (#340607)
15414 2006-05-05 Wim Taymans <wim@fluendo.com>
15417 * gst/gstminiobject.c:
15418 Add note about refcounting and miniobject/buffer writeability
15419 to docs. Fixes #340604
15421 * gst/gstelementfactory.h:
15422 Added some explanation about @klass.
15424 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15426 * docs/manual/intro-motivation.xml:
15427 * docs/manual/manual.xml:
15428 Avoid CORBA & Bonobo references (#340598)
15430 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15432 * docs/manual/basics-bus.xml:
15433 * docs/manual/basics-pads.xml:
15434 Fix up some inaccuracies and omissions (#340609)
15436 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15438 * gst/gstghostpad.c:
15439 Small typo in docs (#340625)
15441 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15443 * gst/parse/Makefile.am:
15444 Make 'make -j' proof (see #340698).
15446 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15449 Require GLib-2.8 here as well.
15451 2006-05-05 Wim Taymans <wim@fluendo.com>
15453 * gst/glib-compat.c:
15454 * gst/gst.c: (init_pre):
15455 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15456 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15457 (gst_object_dispatch_properties_changed):
15459 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15460 * gst/gststructure.c: (gst_structure_set_valist):
15461 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15462 Remove pre glib2.8 compatibility, fixes #340508
15464 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15466 * gst/gsttaglist.h:
15467 Mention type of tags in doc blurbs.
15469 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15471 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15472 (gst_pad_configure_src), (gst_pad_push):
15473 Restore acceptcaps checking behaviour now that good plugins have
15476 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15478 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15485 * gst/gstmessage.c:
15489 * gst/parse/Makefile.am:
15490 * libs/gst/base/gstadapter.c:
15491 * libs/gst/base/gstbasesrc.c:
15492 * libs/gst/base/gstpushsrc.c:
15493 * libs/gst/base/gsttypefindhelper.c:
15494 * plugins/elements/gstfakesrc.c:
15495 * plugins/elements/gstidentity.c:
15496 Make sure gstprivate.h and/or config.h are
15497 always included first, otherwise some of our
15498 defines (like _FILE_OFFSET_BITS) might be
15499 redefined in the system headers. Fixes build
15500 on opensolaris (#340016).
15502 2006-05-04 Wim Taymans <wim@fluendo.com>
15504 * docs/libs/gstreamer-libs-sections.txt:
15505 API: addition: gst_adapter_take_buffer()
15507 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15508 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15509 (gst_adapter_available_fast):
15510 * libs/gst/base/gstadapter.h:
15511 Prepare for optimizing the hell out of this hugely inefficient
15513 Added gst_adapter_take_buffer() so we can at least start thinking
15514 about subbuffering and merging.
15515 Added some comments.
15517 * tests/check/Makefile.am:
15518 * tests/check/libs/adapter.c: (GST_START_TEST),
15519 (gst_adapter_suite), (main):
15520 Added GstAdapter check.
15522 2006-05-04 Wim Taymans <wim@fluendo.com>
15524 * docs/design/part-overview.txt:
15525 Fix some typos, add blurb about buffer flags.
15527 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15529 * docs/libs/gstreamer-libs-sections.txt:
15530 make sure GstBaseTransformClass shows up in the docs
15531 * libs/gst/base/gstbasetransform.c:
15532 * libs/gst/base/gstbasetransform.h:
15533 move docs so gtk-doc picks it up now
15535 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15537 * docs/libs/gstreamer-libs-sections.txt:
15538 add missing symbols to docs
15540 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15542 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15543 back out the newsegment handling change, see #340060 for ongoing
15546 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15548 * tools/gst-run.c: (get_candidates), (main):
15549 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15550 work); fix typo in error message. Fixes #340079.
15552 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15554 * common/Makefile.am:
15555 * docs/Makefile.am:
15556 * docs/faq/Makefile.am:
15557 * docs/gst/Makefile.am:
15558 * docs/libs/Makefile.am:
15559 * docs/manual/Makefile.am:
15560 * docs/plugins/Makefile.am:
15561 * docs/pwg/Makefile.am:
15562 * docs/slides/Makefile.am:
15564 * common/upload.mak:
15565 move upload.mak to common
15567 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15569 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15570 add more asserts on refcounts
15571 do more cleanup at end of tests
15572 fix test leaks showing in FC5
15574 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15576 * plugins/elements/gsttypefindelement.c:
15577 (gst_type_find_element_handle_event):
15578 reverted wrong change and reflowed code to avoid others falling into
15581 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15583 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15584 fix changelog entry about last collectpads change,
15585 add notes about proper fix
15587 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15590 * gst/gstregistry.c: (gst_registry_scan_path_level),
15591 (gst_registry_scan_path):
15592 * gst/gstregistry.h:
15593 only write out registry if it has changed, fixes #338339
15595 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15598 * gst/gstpipeline.c:
15599 * plugins/elements/gstcapsfilter.c:
15600 * plugins/elements/gstfakesink.c:
15601 * plugins/elements/gstfakesrc.c:
15602 * plugins/elements/gstfdsink.c:
15603 * plugins/elements/gstfdsrc.c:
15604 * plugins/elements/gstfilesink.c:
15605 * plugins/elements/gstfilesrc.c:
15606 * plugins/elements/gstidentity.c:
15607 * plugins/elements/gstqueue.c:
15608 * plugins/elements/gsttee.c:
15609 * plugins/elements/gsttypefindelement.c:
15610 (gst_type_find_element_handle_event):
15611 make GstElementDetails const
15613 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15615 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15616 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15617 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15618 more detailed debug and formatting cleanup,
15619 forward newsegments to src-pad (so that e.g. adder not eats them)
15621 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15623 * gst/gstutils.c: (gst_element_link_pads):
15624 cleanup double code
15626 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15628 * libs/gst/controller/gstcontroller.c:
15629 (gst_controller_sync_values):
15631 * tests/check/libs/controller.c: (GST_START_TEST),
15632 (gst_controller_suite):
15633 a new test for live value handling
15635 2006-04-28 Wim Taymans <wim@fluendo.com>
15637 * gst/gstutils.c: (push_and_ref):
15638 Added some more docs.
15639 Fix refcount issue whith gst_element_found_tags() helper
15640 function. Fixes #338335
15642 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15643 Added testsuite for gst_element_found_tags().
15645 2006-04-28 Michael Smith <msmith@fluendo.com>
15647 * gst/gstvalue.c: (gst_value_serialize_flags):
15648 Avoid NULL dereference when trying to serialize flags containing
15651 2006-04-28 Michael Smith <msmith@fluendo.com>
15653 * plugins/elements/gsttypefindelement.c:
15654 (gst_type_find_element_handle_event):
15655 If we get EOS before any data is accumulated, don't use
15656 uninitialised local variables.
15658 2006-04-28 Michael Smith <msmith@fluendo.com>
15660 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15661 (gst_dp_event_from_packet):
15662 Fixes in reading/writing events over GDP (not currently used?) -
15663 dereferencing NULL events for unknown/invalid event types, memory
15664 leak, and change g_warning to GST_WARNING.
15666 2006-04-28 Wim Taymans <wim@fluendo.com>
15668 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15669 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15670 (gst_base_sink_get_position), (gst_base_sink_change_state):
15671 When frame dropping is enabled, we should not ignore frames
15672 without a duration.
15673 Update some documentation.
15675 2006-04-28 Wim Taymans <wim@fluendo.com>
15677 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15678 (gst_base_src_send_event), (gst_base_src_change_state):
15679 Documentation updates.
15681 2006-04-28 Wim Taymans <wim@fluendo.com>
15683 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15684 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15685 handle EAGAIN, EINTR and short writes correctly. Also clean
15686 up some error cases, avoid a deadlock on bad file descriptors and
15687 use GST_DEBUG_OBJECT.
15690 2006-04-28 Wim Taymans <wim@fluendo.com>
15692 * gst/gstvalue.c: (gst_value_serialize_buffer),
15693 (gst_value_deserialize_buffer):
15694 Don't try to serialize a GValue with a NULL buffer.
15697 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15698 Added check for serialisation of NULL buffers.
15700 2006-04-28 Wim Taymans <wim@fluendo.com>
15702 * gst/gstminiobject.c: (gst_value_take_mini_object):
15703 Taking a NULL miniobject is valid, fix the case where
15704 we try to unref the NULL miniobject.
15706 2006-04-28 Wim Taymans <wim@fluendo.com>
15708 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15710 * gst/gstbin.c: (gst_bin_handle_message_func):
15712 Don't leak bin refcount when a state recalc is
15713 in progress and we delay another one #339808.
15715 2006-04-28 Wim Taymans <wim@fluendo.com>
15717 * docs/design/part-TODO.txt:
15718 Mention QoS as an ongoing work item.
15720 * docs/design/part-buffering.txt:
15721 New doc about buffering that needs to be fleshed out
15724 * docs/design/part-qos.txt:
15725 More QoS policy for decoders/demuxers/transforms
15727 * docs/design/part-trickmodes.txt:
15730 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15735 === release 0.10.5 ===
15737 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15740 releasing 0.10.5, "Fogo"
15742 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15744 patch by: Wim Taymans
15746 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15747 (gst_pad_configure_src), (gst_pad_push):
15748 * gst/gstpipeline.c: (gst_pipeline_init):
15749 Fix internal data flow errors. Fixes #338711.
15751 2006-04-12 Wim Taymans <wim@fluendo.com>
15753 * tests/check/gst/gstelement.c: (GST_START_TEST):
15754 Don't leak the factory.
15756 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15759 * win32/common/config.h:
15762 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15764 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15765 (gst_controller_unset_all):
15766 Free allocated GstTimedValues when freeing list nodes.
15767 Should fix leaks 'make check-valgrind' complains about.
15769 * win32/common/libgstcontroller.def:
15770 Add gst_controller_unset_all.
15772 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15774 * docs/libs/gstreamer-libs-sections.txt:
15775 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15776 (gst_controller_unset_all):
15777 * libs/gst/controller/gstcontroller.h:
15778 API: Added new method gst_controller_unset_all()
15779 fixed gst_controller_unset()
15780 * tests/check/libs/controller.c: (GST_START_TEST),
15781 (gst_controller_suite):
15782 Added two testcases for new and fixed method
15784 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15786 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15787 MSG_DONTWAIT is not defined on Cygwin, so work
15788 around that (fixes #317048).
15790 2006-04-11 Wim Taymans <wim@fluendo.com>
15792 * gst/gstelementfactory.c: (gst_element_register),
15793 (gst_element_factory_create), (gst_element_factory_make):
15796 Updated docs (Fixes #131079)
15798 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15801 * tests/check/gst/gstelement.c: (GST_START_TEST),
15802 (gst_element_suite):
15803 Added testcase for elementfactory class field.
15805 2006-04-10 Wim Taymans <wim@fluendo.com>
15807 * gst/gstsegment.c:
15808 Added some more docs.
15810 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15811 (gst_base_sink_reset_qos):
15812 Calculate more accurate rate values.
15814 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15816 * gst/gst_private.h:
15817 add a new #ifdef to use __declspec(dllimport) only for
15818 other modules and not for gstreamer core
15819 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15820 use gst_guint64_to_gdouble for conversion
15821 * win32/common/libgstreamer.def:
15822 add new exported functions
15823 * win32/vs6/gst_inspect.dsp:
15824 * win32/vs6/gst_launch.dsp:
15825 * win32/vs6/libgstbase.dsp:
15826 * win32/vs6/libgstcontroller.dsp:
15827 * win32/vs6/libgstcoreelements.dsp:
15828 * win32/vs6/libgstdataprotocol.dsp:
15829 * win32/vs6/libgstnet.dsp:
15830 update project files
15832 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15834 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15835 * gst/gstclock.c: (gst_clock_class_init):
15836 * gst/gstelement.c: (gst_element_class_init):
15837 * gst/gstindex.c: (gst_index_class_init):
15838 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15839 * gst/gstobject.c: (gst_object_class_init),
15840 (gst_signal_object_class_init):
15841 * gst/gstpad.c: (gst_pad_class_init):
15842 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15843 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15844 * gst/gstregistry.c: (gst_registry_class_init):
15845 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15846 * gst/gsttask.c: (gst_task_class_init):
15847 * gst/gstxml.c: (gst_xml_class_init):
15848 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15849 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15850 (gst_base_src_loop):
15851 * libs/gst/controller/gstcontroller.c:/
15852 (_gst_controller_class_init):
15853 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15854 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15855 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15856 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15857 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15858 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15860 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15862 * gst/gstpad.c: (gst_pad_link):
15863 Must set peer pads before calling the link function, otherwise
15864 a task started from a link function might get a flow-not-linked
15865 result when trying to push because the other thread where the
15866 linking happens hasn't had a chance to set the peers yet. This
15867 might happen for example when a queue gets linked to a downstream
15868 element, as queue starts a streaming task when its source pad
15869 gets linked. Happens in real life when playing back flac/musepack
15870 files in playbin (#332390).
15872 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15876 * libs/gst/base/gstadapter.h:
15877 * libs/gst/base/gstbasesink.h:
15878 * libs/gst/base/gstbasesrc.h:
15879 * libs/gst/base/gstbasetransform.h:
15880 * libs/gst/base/gstcollectpads.h:
15881 * libs/gst/base/gstpushsrc.h:
15882 Fix broken GObject macros
15884 2006-04-07 Wim Taymans <wim@fluendo.com>
15886 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15887 Initialize start and stop times, thanks valgrind.
15889 2006-04-07 Wim Taymans <wim@fluendo.com>
15891 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15892 Be a bit nicer to badly behaving upstream elements that expect
15893 us to deal with non TIME segments and timestamps (such as fakesrc
15896 2006-04-07 Wim Taymans <wim@fluendo.com>
15899 Small documentation clarification about the signal watch.
15901 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15902 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15903 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15904 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15905 (gst_base_sink_get_position_last),
15906 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15907 Convert and store timestamps in stream time and running time, the
15908 raw timestamps are not useful, also document this better.
15909 Use different window sizes for good and bad QoS observations so
15910 we react to badness a little quicker.
15911 Keep track of the amount of rendered and dropped buffers.
15912 Send QoS timestamps in running time.
15914 * libs/gst/base/gstbasetransform.c:
15915 (gst_base_transform_sink_eventfunc),
15916 (gst_base_transform_handle_buffer):
15917 Compare QoS timestamps against running time.
15919 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15922 Typo fixes in docs.
15924 2006-04-06 Michael Smith <msmith@fluendo.com>
15926 * gst/gstpad.c: (gst_pad_set_property):
15927 Use g_value_get_object() instead of g_value_dup_gst_object(),
15928 to avoid double-reffing the pad template (which we then sink,
15929 so this worked previously if (and only if) the pad template
15932 * gst/gstpadtemplate.c: (gst_pad_template_init),
15933 (gst_pad_template_pad_created):
15934 Never return floating references to pad templates, create
15935 them as initially-sunken.
15937 Document an extra function (and make this stop sinking our
15938 pad template, since that is now guaranteed to do nothing,
15939 since we created it sunken).
15941 * gst/gstghostpad.c:
15944 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15946 * gst/gstinfo.c: (__gst_in_valgrind):
15949 * plugins/elements/gsttypefindelement.c:
15950 (gst_type_find_element_chain):
15951 Don't leak buffer caps.
15953 2006-04-06 Michael Smith <msmith@fluendo.com>
15955 * gst/parse/grammar.y:
15956 Fix a leak in parse-launch for any source-or-sink named element
15959 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15960 Unref the pipeline if it exists after we've failed parsing.
15962 2006-04-05 Michael Smith <msmith@fluendo.com>
15964 * gst/gstpipeline.c: (gst_pipeline_init):
15965 When we create a pipeline bus, initially create it in flushing mode.
15966 Fixes leaks in at least one test, and makes a new pipeline work the
15967 same as one that has gone to READY and then back to NULL.
15969 * gst/gstelement.c:
15972 2006-04-05 Michael Smith <msmith@fluendo.com>
15974 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15975 Unref a pad we reffed.
15976 * tests/check/gst/gstutils.c: (GST_START_TEST):
15979 2006-04-05 Michael Smith <msmith@fluendo.com>
15981 * gst/gstquery.c: (gst_query_set_formats),
15982 (gst_query_set_formatsv):
15983 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15985 2006-04-05 Michael Smith <msmith@fluendo.com>
15987 * tests/check/generic/sinks.c: (GST_START_TEST):
15988 Fix a variety of memleaks in sinks check, which are only sometimes
15989 shown by running the tests under valgrind (weird?).
15991 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15993 * docs/version.entities.in:
15994 Fix the substituted entity name after thomas' changes on the
15997 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15999 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16002 2006-04-05 Andy Wingo <wingo@pobox.com>
16004 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16006 * libs/gst/base/gstbasetransform.c
16007 (gst_base_transform_sink_eventfunc): When resetting our segment on
16008 FLUSH_STOP, also update the flag saying we haven't seen a
16011 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16013 Patch by: Paolo Borelli <pborelli at katamail dot com>
16015 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16016 (gst_plugin_check_license):
16017 minor clean-ups: G_DEFINE_TYPE already takes care of the
16018 parent_class stuff, no need to do it twice. Mark array of
16019 license strings as constant. (#337103)
16021 2006-04-04 Michael Smith <msmith@fluendo.com>
16023 * tools/gst-inspect.c: (print_element_list):
16024 Free the right plugin list; fixes a memory leak.
16026 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16028 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
16030 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16031 Don't error out on empty buffers (#336945).
16033 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
16035 * docs/libs/gstreamer-libs-sections.txt:
16036 * gst/gsttaglist.c:
16037 * libs/gst/base/gstbasesink.c:
16038 * libs/gst/base/gstbasesink.h:
16039 * libs/gst/base/gstbasesrc.c:
16040 * libs/gst/base/gstbasesrc.h:
16041 Documentation updates. Make BaseSink and BaseSrc docs contain the
16042 class structure so that people can actually see the prototypes for
16043 virtual functions they're supposed to be overriding.
16045 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16047 * plugins/elements/gsttypefindelement.c:
16048 (gst_type_find_element_chain):
16049 More debug info; when skipping typefinding, send cached
16050 events in all cases.
16052 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16055 use new AS_VERSION and AS_NANO macros
16056 * gst/gst-i18n-lib.h:
16059 * gst/gstversion.h.in:
16060 * win32/common/config.h:
16061 * win32/common/config.h.in:
16064 2006-03-31 Michael Smith <msmith@fluendo.com>
16066 * plugins/elements/gsttypefindelement.c:
16067 (gst_type_find_element_chain):
16068 Do not typefind content if the buffers already have caps.
16069 Neccesary for icydemux (#333657), and the right thing to do anyway.
16071 2006-03-30 Wim Taymans <wim@fluendo.com>
16073 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16074 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16075 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16076 (gst_base_sink_record_qos_observation),
16077 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16078 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16079 (gst_base_sink_change_state):
16080 More QoS measurements as described in the design doc.
16081 Get rid of ringbuffer with observations, running average is
16082 more simple and equally good.
16083 Calculates valid proportion now.
16084 Added beginning of flood measurement.
16086 2006-03-29 Wim Taymans <wim@fluendo.com>
16088 * docs/design/part-qos.txt:
16090 Small documentation updates and additions.
16092 2006-03-29 Wim Taymans <wim@fluendo.com>
16094 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16095 (gst_base_src_send_event), (gst_base_src_loop),
16096 (gst_base_src_change_state):
16097 Perform the EOS logic when we reach the segment stop position.
16098 Fix compilation on gcc4.1
16100 2006-03-29 Wim Taymans <wim@fluendo.com>
16102 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16104 * plugins/elements/gstqueue.c: (gst_queue_init),
16105 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16106 (gst_queue_set_property):
16107 * plugins/elements/gstqueue.h:
16108 In queue, when EOS is received, if minimum threshold > max_size -
16109 current_level, there is chance that queue blocks forever in conditional
16110 item del wait. This is because the queue is not emptied completely due
16111 to minimum threshold. Here is another approach. Instead of setting
16112 cur_levels to max in EOS, just zero all minimum threshold levels. This
16113 should make sure that queue gives out all data. When going to READY
16114 (stop) state, just reset the original minimum threshold levels.
16117 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16119 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16120 (gst_type_find_element_handle_event),
16121 (gst_type_find_element_send_cached_events),
16122 (gst_type_find_element_change_state):
16123 * plugins/elements/gsttypefindelement.h:
16124 When typefinding is done in push mode, we should cache
16125 events we receive during typefinding instead of just
16126 dropping them (e.g. newsegment, custom events from
16127 dvdreadsrc etc.) and then send them out once we've
16128 determined the type of the stream (and decodebin
16129 has had a chance to plug in a decoder/demuxer).
16131 2006-03-27 Wim Taymans <wim@fluendo.com>
16133 * docs/design/part-qos.txt:
16136 2006-03-27 Wim Taymans <wim@fluendo.com>
16138 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16140 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16141 (gst_base_src_send_event), (gst_base_src_change_state):
16142 Handle element seek correctly when we are streaming.
16145 2006-03-24 Michael Smith <msmith@fluendo.com>
16147 * docs/faq/gst-uninstalled:
16148 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16149 allow you to correctly run intalled applications built against old
16150 core, using plugins that require updated core (e.g. running
16151 installed totem against a full uninstalled gstreamer stack)
16153 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16155 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16158 2006-03-24 Wim Taymans <wim@fluendo.com>
16160 * docs/gst/gstreamer-sections.txt:
16161 Rearrange the order of the methods so that related methods
16162 are grouped together in sections.
16164 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16166 * gst/gstelement.c:
16167 Little clarification in the docs
16169 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16173 * plugins/elements/gstidentity.c:
16174 * plugins/elements/gstqueue.c:
16175 * plugins/elements/gsttee.c:
16176 * plugins/elements/gsttypefindelement.c:
16177 GST_ELEMENT_DETAILS formatting
16179 2006-03-24 Wim Taymans <wim@fluendo.com>
16181 * libs/gst/base/gstbasesink.h:
16182 Only add fields, not insert or we break ABI.
16184 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16186 * win32/common/libgstbase.def:
16187 * win32/common/libgstreamer.def:
16188 Update, add recently added functions.
16190 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16192 * docs/gst/gstreamer-sections.txt:
16193 * gst/gstutils.c: (gst_pad_query_peer_position),
16194 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16196 API: add some new utility functions:
16197 - gst_pad_query_peer_position()
16198 - gst_pad_query_peer_duration()
16199 - gst_pad_query_peer_convert()
16201 2006-03-23 Wim Taymans <wim@fluendo.com>
16203 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16204 (gst_base_sink_init), (gst_base_sink_finalize),
16205 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16206 (gst_base_sink_set_property), (gst_base_sink_get_property),
16207 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16208 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16209 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16210 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16211 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16212 (gst_base_sink_preroll_object), (gst_base_sink_event),
16213 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16214 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16215 (gst_base_sink_query), (gst_base_sink_change_state):
16216 Decouple max-lateness and the fact that QoS messages are generated
16217 with a new property (qos).
16218 added API: GstBaseSink::async_play()
16219 Add vmethod so subclasses can be notified of ASYNC playing
16221 Collect timestamp start and stop to report better current
16222 position in EOS/PLAYING/PAUSED/READY/NULL.
16223 Refactor QoS/frame dropping and other measurements.
16224 API: GstBaseSrc::qos
16227 * libs/gst/base/gstbasesink.h:
16228 Added Private struct.
16229 API: gst_base_sink_set_qos_enabled()
16230 API: gst_base_sink_is_qos_enabled()
16232 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16234 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16235 If compiling against GLib-2.8 or newer, try to read the
16236 registry file using GMappedFile first before falling back
16237 to fopen() + fread() (#332151).
16239 2006-03-22 Wim Taymans <wim@fluendo.com>
16241 * gst/gstinfo.c: (gst_debug_set_active),
16242 (gst_debug_category_set_threshold):
16243 Disable debugging unless explicitly activated.
16246 2006-03-22 Wim Taymans <wim@fluendo.com>
16248 * gst/gstelement.c: (gst_element_set_locked_state),
16249 (gst_element_dispose):
16250 Cleanup the error case.
16252 * gst/gstobject.c: (gst_object_dispose):
16253 print a critical when some object was disposed with
16254 a parent, also revive the object since it might
16257 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16259 * tools/gst-launch.1.in:
16262 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16265 * tests/check/Makefile.am:
16266 disable some tests when we don't have a registry
16267 * tests/check/gst/gstutils.c: (gst_utils_suite):
16268 don't build the part that needs parsing
16270 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16273 * tests/examples/Makefile.am:
16274 fix --disable-parse build
16276 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16278 * tools/gst-feedback.1.in:
16279 Fix typo: s/feeback/feedback/ (#133494).
16281 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16283 * tools/Makefile.am:
16284 * tools/gst-launch.1.in:
16285 Add FILES section and correct entry about GST_REGISTRY_PATH
16286 environment variable (#133495; #133494).
16288 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16290 * tools/Makefile.am:
16291 * tools/gst-md5sum.1.in:
16292 * tools/gst-md5sum.c:
16293 Remove gst-md5sum and man page (the md5sink element
16294 required was removed ages ago)
16296 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16298 * gst/gststructure.c: (gst_structure_id_set_value):
16299 Make sure that string fields in structures/taglists
16300 contain valid UTF-8 - we don't want to pass rubbish to
16301 applications because of a buggy plugin (cp. #334167).
16303 2006-03-21 Edward Hervey <edward@fluendo.com>
16305 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16306 (gst_bin_handle_message_func):
16307 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16308 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16309 (gst_element_set_bus_func):
16310 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16311 * gst/gstminiobject.c: (gst_value_set_mini_object),
16312 (gst_value_take_mini_object):
16313 * gst/gstpad.c: (gst_pad_set_pad_template):
16314 * gst/gstpipeline.c: (gst_pipeline_dispose),
16315 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16316 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16317 (gst_collect_pads_chain):
16318 * libs/gst/net/gstnettimeprovider.c:
16319 (gst_net_time_provider_set_property):
16320 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16321 It's in fact all issues with gst_*object_replace().
16323 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16325 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16327 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16328 * pkgconfig/gstreamer-check.pc.in:
16329 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16331 2006-03-21 Edward Hervey <edward@fluendo.com>
16335 * gst/gstmessage.h:
16336 gst_[buffer|event|message]_ref() macros are replaced by a static
16337 inline functions because gcc-4.1 will about if the return value
16339 * tests/check/gst/gstevent.c: (event_probe):
16340 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16342 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16345 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16346 the type' case. (Closes: #335195 for now). In the future, when we
16347 depend on GLib 2.10, we could also intern the type name using
16348 g_intern_static_string()
16350 2006-03-20 Wim Taymans <wim@fluendo.com>
16352 * gst/gstbin.c: (gst_bin_handle_message_func),
16353 (bin_query_max_init), (bin_query_position_fold),
16354 (bin_query_position_done), (gst_bin_query):
16355 Position query should also take max of all streams.
16357 2006-03-20 Wim Taymans <wim@fluendo.com>
16359 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16360 (gst_fake_src_finalize):
16361 Fix leaks in fakesrc.
16363 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16364 Fix leaks in the testcase.
16366 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16368 * gst/gst_private.h:
16369 add win32 specific import decoration(__declspec(dllimport))
16370 for all extern GstDebugCategory * variables
16371 * win32/common/libgstbase.def:
16372 * win32/common/libgstcontroller.def:
16373 * win32/common/libgstreamer.def:
16374 Add some exports, remove empty lines
16375 * win32/common/libgstdataprotocol.def:
16376 * win32/common/libgstdataprotocol.dsp:
16377 * win32/common/libgstnet.def:
16378 * win32/common/libgstnet.dsp:
16379 new project files and exportation files added
16381 2006-03-19 Wim Taymans <wim@fluendo.com>
16383 * tests/check/libs/basesrc.c: (eos_event_counter):
16384 Use proper return value for probe.
16386 2006-03-17 Wim Taymans <wim@fluendo.com>
16388 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16390 Don't leak buffers, caps and pads on negotiation errors.
16392 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16394 * docs/faq/cvs.xml:
16395 * docs/faq/dependencies.xml:
16396 * docs/faq/developing.xml:
16397 * docs/faq/faq.xml:
16398 * docs/faq/general.xml:
16399 * docs/faq/getting.xml:
16400 * docs/faq/legal.xml:
16401 * docs/faq/troubleshooting.xml:
16402 * docs/faq/using.xml:
16403 Faq review and update.
16405 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16407 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16409 Don't pound the cpu to pieces by checking get_caps when accept_caps
16410 is called with the same caps as the pad already has.
16411 Use GST_DEBUG_OBJECT when outputting caps change information.
16413 2006-03-15 Wim Taymans <wim@fluendo.com>
16415 * gst/gstclock.c: (gst_clock_class_init):
16418 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16423 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16424 (gst_pad_accept_caps), (gst_pad_configure_sink),
16425 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16426 Make the default acceptcaps behaviour be to check the requested
16427 caps against the gst_pad_get_caps output.
16429 Ensure that gst_pad_accept_caps is used to check caps when a pad
16430 doesn't have a setcaps function, so that pads automatically refuse
16431 caps that they don't allow in their pad template. (Fixes #332986)
16433 When a buffer with attached caps is pushed, ensure that the source
16434 pad receives those caps even if the element didn't call
16435 gst_pad_set_caps first.
16437 2006-03-15 Wim Taymans <wim@fluendo.com>
16439 * libs/gst/base/gstadapter.c:
16442 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16444 * win32/common/libgstbase.def:
16445 * win32/common/libgstcontroller.def:
16446 * win32/common/libgstreamer.def:
16447 Add a whole bunch of missing functions (#334434).
16449 2006-03-14 Wim Taymans <wim@fluendo.com>
16451 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16452 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16453 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16454 Better debug info when we receive a segment event.
16455 Reorganize a bit so we can pass the get_times() results around.
16456 Use the segment format when calculating the running time.
16457 Don't do QoS is sync is disabled or we have no clock or the
16458 element does not want us to sync to the clock.
16459 Don't drop buffers if QoS is disabled for now.
16461 2006-03-14 Wim Taymans <wim@fluendo.com>
16463 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16464 Marked the stats property as unimplemented so people don't get
16466 Add debug message when regression goes wrong.
16467 Added some more docs.
16469 2006-03-14 Wim Taymans <wim@fluendo.com>
16471 * gst/gstsegment.c: (gst_segment_to_stream_time):
16472 Return correct return type in case of errors.
16474 2006-03-14 Wim Taymans <wim@fluendo.com>
16476 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16477 Don't segfault on invalid formats.
16479 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16481 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16482 Can't use gst_segment_to_running_time() when the segment
16483 is not in GST_TIME_FORMAT (like with filesink, for example).
16484 Stops flac encoding pipelines from spewing critical warnings
16487 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16489 * gst/gstpipeline.c: (gst_pipeline_class_init):
16490 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16492 * plugins/elements/gsttypefindelement.c:
16493 (gst_type_find_element_handle_event):
16494 Don't try to typefind empty streams.
16496 2006-03-14 Wim Taymans <wim@fluendo.com>
16498 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16499 (gst_base_sink_do_qos):
16500 Separate QoS calculation.
16501 Only drop buffers when lateness is bigger than the
16502 duration of the buffer.
16504 2006-03-13 Wim Taymans <wim@fluendo.com>
16506 * gst/gstpipeline.c: (gst_pipeline_set_property),
16507 (gst_pipeline_get_property), (do_pipeline_seek),
16508 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16509 (gst_pipeline_get_delay):
16510 Don't deadlock when reading properties.
16512 2006-03-13 Wim Taymans <wim@fluendo.com>
16514 * libs/gst/base/gstbasetransform.c:
16515 (gst_base_transform_class_init), (gst_base_transform_init),
16516 (gst_base_transform_sink_event),
16517 (gst_base_transform_sink_eventfunc),
16518 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16519 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16520 (gst_base_transform_set_property),
16521 (gst_base_transform_get_property),
16522 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16523 (gst_base_transform_set_qos_enabled),
16524 (gst_base_transform_is_qos_enabled):
16525 * libs/gst/base/gstbasetransform.h:
16526 Make basetransform virtual method for src events too.
16527 Handle QOS in basetransform.
16528 API: gst_base_transform_update_qos()
16529 API: gst_base_transform_set_qos_enabled()
16530 API: gst_base_transform_is_qos_enabled()
16532 2006-03-13 Wim Taymans <wim@fluendo.com>
16534 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16535 (gst_base_sink_do_sync):
16537 Use QOS debug category.
16539 2006-03-13 Wim Taymans <wim@fluendo.com>
16541 * plugins/elements/gstqueue.c:
16542 Very small doc update.
16544 2006-03-13 Wim Taymans <wim@fluendo.com>
16546 * gst/gst_private.h:
16547 * gst/gstinfo.c: (_gst_debug_init):
16548 Added QOS debug category
16550 2006-03-13 Wim Taymans <wim@fluendo.com>
16552 * docs/gst/gstreamer-sections.txt:
16553 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16555 * gst/gstbus.c: (gst_bus_class_init):
16558 * gst/gstelement.c: (gst_element_set_locked_state):
16559 * gst/gstsegment.c:
16560 Documentation updates.
16562 * gst/gstpipeline.c: (gst_pipeline_get_type),
16563 (gst_pipeline_class_init), (gst_pipeline_init),
16564 (gst_pipeline_dispose), (gst_pipeline_set_property),
16565 (gst_pipeline_get_property), (do_pipeline_seek),
16566 (gst_pipeline_send_event), (gst_pipeline_change_state),
16567 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16568 (gst_pipeline_get_delay):
16569 * gst/gstpipeline.h:
16570 Added methods for setting the delay.
16571 API: gst_pipeline_set_delay()
16572 API: gst_pipeline_get_delay()
16573 Add pipeline debug category
16576 Don't reset stream time when seek failed.
16578 2006-03-13 Wim Taymans <wim@fluendo.com>
16580 * docs/design/draft-klass.txt:
16581 * docs/design/part-clocks.txt:
16582 * docs/design/part-events.txt:
16583 * docs/design/part-gstbin.txt:
16584 * docs/design/part-gstpipeline.txt:
16585 * docs/design/part-messages.txt:
16586 * docs/design/part-negotiation.txt:
16587 * docs/design/part-overview.txt:
16588 * docs/design/part-preroll.txt:
16589 * docs/design/part-seeking.txt:
16590 * docs/design/part-states.txt:
16591 * docs/design/part-streams.txt:
16592 Documentation updates.
16594 2006-03-12 Julien MOUTTE <julien@moutte.net>
16596 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16597 us to leak strings...
16599 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16601 * libs/gst/net/gstnettimeprovider.c:
16603 * win32/common/config.h:
16606 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16608 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16611 Don't check for libgnomeui (leftover from old examples
16612 that aren't built or disted any longer) (#334303).
16614 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16616 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16617 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16618 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16619 there's no space left on the device.
16621 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16624 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16625 to cast the input to GstClockTime before comparing with
16626 another GstClockTime value.
16628 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16633 === release 0.10.4 ===
16635 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16638 releasing 0.10.4, "Light"
16640 2006-03-10 Michael Smith <msmith@fluendo.com>
16642 * libs/gst/dataprotocol/dataprotocol.c:
16643 Fix docs for dataprocotol to not get the return types completely
16644 wrong for a few functions.
16646 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16648 * docs/gst/gstreamer-sections.txt:
16649 * gst/gstpipeline.c: (gst_pipeline_class_init),
16650 (gst_pipeline_init), (gst_pipeline_set_property),
16651 (gst_pipeline_get_property), (gst_pipeline_change_state),
16652 (gst_pipeline_set_auto_flush_bus),
16653 (gst_pipeline_get_auto_flush_bus):
16654 * gst/gstpipeline.h:
16655 Add new API: gst_pipeline_set_auto_flush_bus() and
16656 gst_pipeline_get_auto_flush_bus() to disable automatic
16657 flushing of the pipeline's GstBus when going from READY
16658 to NULL state (#332045).
16660 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16662 * docs/gst/gstreamer-sections.txt:
16663 * gst/gsturi.c: (gst_uri_has_protocol):
16665 Add new API: gst_uri_has_protocol() (#333779).
16667 2006-03-09 Wim Taymans <wim@fluendo.com>
16669 * gst/gstclock.c: (gst_clock_entry_new),
16670 (gst_clock_id_compare_func), (gst_clock_id_wait),
16671 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16672 (gst_clock_init), (gst_clock_get_internal_time),
16673 (gst_clock_set_master), (do_linear_regression),
16674 (gst_clock_add_observation), (gst_clock_set_property):
16678 Fix a possible segfault when the window-size is made smaller.
16679 Calculate jitter before performing the clock wait. Ideally
16680 the clock implementation should calculate jitter but we need
16681 API breakage for that.
16683 * gst/gstsystemclock.c: (gst_system_clock_init):
16686 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16687 Remove leftover else
16689 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16690 (gst_systemclock_suite):
16691 Added check to test GST_CLOCK_DIFF.
16693 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16695 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16696 (gst_type_find_helper_get_range):
16697 If we are provided with the size, we should implement
16698 GstTypeFind::get_length, so that typefind functions who
16699 want to can actually peek at the middle of a file.
16701 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16703 * docs/manual/advanced-dataaccess.xml:
16704 Add some very very basic error checking.
16706 * docs/pwg/appendix-checklist.xml:
16707 Some updates to the list of things to check when writing an element.
16709 2006-03-08 Wim Taymans <wim@fluendo.com>
16711 * docs/design/part-element-transform.txt:
16712 Added some docs about the design of tranform elements.
16714 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16715 (gst_base_src_loop), (gst_base_src_change_state):
16716 Mark buffers with the DISCONT flag.
16718 2006-03-08 Michael Smith <msmith@fluendo.com>
16720 * gst/gstregistry.h:
16721 * gst/gstregistryxml.c: (gst_registry_save),
16722 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16723 (gst_registry_xml_save_pad_template),
16724 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16725 (gst_registry_xml_write_cache):
16726 Rewrite registry-saving to avoid race conditions and check for
16729 2006-03-08 Wim Taymans <wim@fluendo.com>
16731 * libs/gst/base/gstbasetransform.c:
16732 (gst_base_transform_transform_caps),
16733 (gst_base_transform_transform_size),
16734 (gst_base_transform_prepare_output_buffer),
16735 (gst_base_transform_get_unit_size),
16736 (gst_base_transform_buffer_alloc),
16737 (gst_base_transform_handle_buffer),
16738 (gst_base_transform_change_state):
16739 Cleanups, separate normal flow from errors, add sensible
16741 Don't try to renegotiate when allocating an output buffer.
16742 Also copy DISCONT buffer flag when copying a buffer.
16743 Reset the transform after we finish streaming, not during.
16745 2006-03-08 Wim Taymans <wim@fluendo.com>
16747 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16748 Use last buffer timestamp in qos message.
16750 2006-03-07 Wim Taymans <wim@fluendo.com>
16752 Patch by: Christophe Fergeau
16754 * docs/pwg/advanced-tagging.xml:
16755 * docs/pwg/building-pads.xml:
16758 2006-03-07 Wim Taymans <wim@fluendo.com>
16760 * docs/libs/gstreamer-libs-sections.txt:
16761 Added basesink new methods.
16765 Docs updates. Flesh out the QoS docs.
16767 * libs/gst/base/gstadapter.c:
16768 Small doc clarification about ownership and flushing.
16770 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16771 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16772 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16773 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16774 * libs/gst/base/gstbasesink.h:
16776 Added new methods to allow subclass to control max-lateness
16778 Generate very basic QoS events based on last sync observation.
16779 Updated docs, fix typo, added some QoS blurb.
16781 * libs/gst/base/gstbasesrc.c:
16782 Remove obsolete _get_state() calls from docs.
16784 2006-03-07 Wim Taymans <wim@fluendo.com>
16786 * docs/libs/gstreamer-libs-sections.txt:
16787 * libs/gst/base/gstbasetransform.h:
16788 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16789 Fix docs for GstBaseSrc.
16791 2006-03-07 Wim Taymans <wim@fluendo.com>
16793 * docs/gst/gstreamer-sections.txt:
16796 * libs/gst/base/gstbasetransform.h:
16797 Small documentation fixes.
16799 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16802 Document thread-unsafety of gst_value_register_foo_func()
16803 when used at the same time as gst_value_foo() (#322628).
16805 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16807 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16808 (gst_push_src_check_get_range):
16809 Push sources don't support pull mode by default.
16811 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16813 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16814 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16815 (gst_base_src_default_check_get_range):
16816 * libs/gst/base/gstbasesrc.h:
16817 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16818 provide default implementation, and rename
16819 gst_base_src_check_get_range() to
16820 gst_base_src_pad_check_get_range() for clarity.
16822 2006-03-06 Wim Taymans <wim@fluendo.com>
16824 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16825 Make property overridable.
16827 2006-03-06 Wim Taymans <wim@fluendo.com>
16829 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16830 (gst_base_sink_init), (gst_base_sink_set_property),
16831 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16832 * libs/gst/base/gstbasesink.h:
16833 API addition: Make max-lateness a property.
16835 2006-03-06 Wim Taymans <wim@fluendo.com>
16837 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16838 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16839 Don't ever draw a frame that is >10ms late.
16841 2006-03-06 Michael Smith <msmith@fluendo.com>
16843 * gst/gstmessage.c: (_gst_message_copy):
16844 When copying a message, set the parent_refcount of the enclosed
16845 structure to point at the copy, not the original message.
16847 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16849 Patch by: Christophe Fergeau
16852 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16853 usable in c++ code (#333417)
16855 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16858 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16860 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16862 * libs/gst/base/gstbasetransform.c:
16863 (gst_base_transform_transform_caps):
16864 Make sure caps are writable before passing them to
16867 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16870 Fix some minor docs errors.
16872 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16874 Patch by: Ross Burton <ross at burtonini dot com>
16876 * gst/gsterror.c: (_gst_resource_errors_init):
16878 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16880 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16883 Add a check and output a g_warning when GStreamer is built
16884 against GLib 2.6 but running against 2.8 or higher, and vice
16885 versa. (Closes: #323542)
16887 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16889 * gst/parse/parse.l:
16890 Commit patch for parse_launch syntax from #331255. Removes
16891 support for quoted strings and mimetypes when writing filtered
16892 caps. See the bug report for more details - I'm pretty sure this
16893 obscure feature is not in use by _anyone_ anywhere.
16895 With this simple change, the size of the gstreamer.so here
16896 drops from 2193KB to 1565KB.
16898 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16900 * plugins/elements/gsttypefindelement.h:
16901 * plugins/elements/gsttypefindelement.c:
16902 (gst_type_find_element_src_event), (start_typefinding),
16903 (stop_typefinding), (gst_type_find_element_handle_event),
16904 (gst_type_find_element_chain),
16905 (gst_type_find_element_chain_do_typefinding):
16906 Use gst_type_find_helper_for_buffer() for chain-based
16909 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16911 * plugins/elements/gsttypefindelement.c:
16912 (gst_type_find_element_class_init),
16913 (gst_type_find_element_set_property),
16914 (gst_type_find_element_get_property):
16915 Deprecate "maximum" property (not only was it only taken into
16916 account for typefinding in push-mode anyway, it also was never
16917 actually possible to set it in the first place because the
16918 property was registered with the numeric property ID for the
16919 "minimum" property). Register "maximum" property correctly,
16920 for the sake of future copy'n'pasters. Remove some cruft
16921 from property get/set functions.
16923 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16925 * plugins/elements/gsttypefindelement.c:
16926 (gst_type_find_element_activate):
16927 Use gst_type_find_helper_get_range() here, so we
16928 can honour the "minimum" property and also emit
16929 the signal with the correct probability of the found caps.
16931 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16933 * docs/libs/gstreamer-libs-sections.txt:
16934 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16935 (helper_find_suggest), (gst_type_find_helper_get_range),
16936 (gst_type_find_helper):
16937 * libs/gst/base/gsttypefindhelper.h:
16938 New API: gst_type_find_helper_get_range() (#333042).
16940 2006-03-02 Michael Smith <msmith@fluendo.com>
16942 * gst/gstregistryxml.c: (load_feature):
16943 Asserting on a failure to read part of the registry is Not Cool.
16944 Just log a warning and return NULL (which is already handled)
16946 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16948 * win32/common/libgstbase.def:
16949 added export of gst_type_find_helper_for_buffer
16950 * win32/common/libgstbase.def:
16951 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16952 gst_ghost_pad_get_target
16954 2006-02-28 Wim Taymans <wim@fluendo.com>
16956 * docs/design/draft-klass.txt:
16958 Added Connector to mark elements that are only used to
16959 allow pipeline connections.
16960 Moved Debug to extra feature since most of them are
16961 functionally something else.
16963 2006-02-28 Wim Taymans <wim@fluendo.com>
16965 * docs/design/draft-klass.txt:
16966 Some updates and clarifications.
16968 2006-02-28 Wim Taymans <wim@fluendo.com>
16970 * docs/design/draft-klass.txt:
16971 Proposal for klass field values.
16973 * docs/design/part-streams.txt:
16974 Start of a doc describing stream anatomy.
16976 2006-02-28 Wim Taymans <wim@fluendo.com>
16978 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16979 Help the compiler a bit with type registration.
16980 Use existing forward cod path instead of duplicating it when
16981 handling a message.
16983 * gst/gstbus.c: (gst_bus_get_type):
16984 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16985 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16986 * gst/gstclock.c: (gst_clock_get_type):
16987 * gst/gstelement.c: (gst_element_get_type),
16988 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16989 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16990 * gst/gstminiobject.c: (gst_mini_object_get_type):
16991 * gst/gstpad.c: (gst_pad_get_type):
16992 * gst/gstsegment.c: (gst_segment_get_type):
16993 * gst/gststructure.c: (gst_structure_get_type):
16994 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16995 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16997 Help compiler with type registration.
16999 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17002 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17004 * plugins/elements/gsttypefindelement.c:
17005 (gst_type_find_element_handle_event):
17006 When we get an EOS event and have not found a type yet
17007 (most likely because we had not yet accumulated
17008 TYPE_FIND_MIN_SIZE of data yet), try to determine the
17009 type given the data we have so far. Fixes typefinding
17010 for very short streams again, most notably quicktime
17011 redirections as used on Apple's trailer site (#331701).
17013 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17015 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17016 (gst_type_find_helper):
17017 Try typefinding factories with the highest rank first.
17019 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17021 * docs/libs/gstreamer-libs-docs.sgml:
17022 * docs/libs/gstreamer-libs-sections.txt:
17023 * libs/gst/base/gsttypefindhelper.c:
17024 Add section for typefind helper and add documentation
17025 for the old and the new function.
17027 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17029 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17030 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17031 (gst_type_find_helper_for_buffer):
17032 * libs/gst/base/gsttypefindhelper.h:
17033 New API: gst_type_find_helper_for_buffer() (#332723).
17035 2006-02-27 Michael Smith <msmith@fluendo.com>
17037 Patch by: Loïc Minier
17040 * docs/Makefile.am:
17041 * docs/slides/Makefile.am:
17042 prevent CVS directories getting disted.
17044 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17046 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17047 Use the REFCOUNTING category for caps refcounting.
17049 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17051 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17052 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17054 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17056 * plugins/elements/gsttypefindelement.c:
17057 (gst_type_find_element_activate):
17058 Use gst_pad_check_pull_range() before _activate_pull()
17059 to avoid unnecessary open/close (see #331690).
17061 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17064 Docs enhancement: make it crystal clear what the
17065 gst_pad_add_*_probe() callbacks should look like.
17067 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17069 * libs/gst/base/gstbasesrc.c:
17070 Document how applications can stop recording from
17071 live sources (see #330996).
17073 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17075 * tests/check/Makefile.am:
17076 * tests/check/libs/basesrc.c: (eos_event_counter),
17077 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17078 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17079 (gst_basesrc_suite), (main):
17080 ... and add some tests for the base source EOS stuff.
17082 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17084 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17085 Test case originally showed the problem fixed below,
17086 but was then amended. Add checks back at the place
17087 where they used to be.
17089 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17091 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17092 (gst_base_src_init), (gst_base_src_loop),
17093 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17094 (gst_base_src_change_state):
17095 * libs/gst/base/gstbasesrc.h:
17096 Don't unconditionally send EOS when going from PAUSED to
17097 READY state, esp. make sure we don't send two EOS events
17098 in some cases (e.g. one when reaching EOS and one when
17099 going from PAUSED to READY). Also, we don't want to send
17100 EOS events when operating in pull mode. However, we do
17101 want to send an EOS event when shutting down a live
17102 source explicitly, for example (fixes #330996).
17104 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17106 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17107 Update src->read_position after a seek when not using mmap.
17108 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17110 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17116 Make things work with --disable-parse as they do with
17117 --disable-load-save - the symbols involved disappear, but the
17118 header is still installed and GST_DISABLE_PARSE is included via
17121 2006-02-20 Julien MOUTTE <julien@moutte.net>
17123 * libs/gst/base/gstbasetransform.c:
17124 (gst_base_transform_change_state): Fix a stupid bug. I was
17125 sure I compiled that.
17127 2006-02-20 Julien MOUTTE <julien@moutte.net>
17129 * gst/gstpad.c: (gst_pad_set_blocked_async):
17130 * gst/gstutils.c: (gst_pad_add_data_probe),
17131 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17132 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17133 (gst_pad_remove_buffer_probe): Make those function act on the
17134 ghostpad target when it's a ghostpad. (Closes #331727)
17136 2006-02-20 Julien MOUTTE <julien@moutte.net>
17138 * libs/gst/base/gstbasetransform.c:
17139 (gst_base_transform_change_state): Make basetransform reusable.
17142 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17144 * docs/random/release:
17145 Move the current documentation of how to do a release to the top
17148 * gst/gstbin.c: (gst_bin_class_init),
17149 (gst_bin_handle_message_func):
17150 Allow multiple state-recalculation threads. (Closes #328873)
17152 2006-02-19 Julien MOUTTE <julien@moutte.net>
17154 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17155 * gst/gstpad.c: (gst_pad_set_event_function),
17156 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17157 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17158 2 strings. You can't use the STR_NULL macro on that.
17160 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17162 * gst/gstpad.c: (gst_pad_set_event_function),
17163 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17164 (gst_pad_set_getcaps_function)
17165 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17166 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17167 So now, we can use --gst-debug-level=5 on Windows
17168 * win32/common/libgstcontroller.def:
17169 Added export of gst_controller_init
17170 * win32/vs6/libgstcontroller.dsp:
17171 Fixed Release post build configuration
17173 2006-02-17 Wim Taymans <wim@fluendo.com>
17175 * tests/check/gst/gstquery.c: (GST_START_TEST):
17176 Added another check.
17178 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17180 * plugins/elements/gsttypefindelement.c: (find_peek):
17181 We can do peeks at non-zero offsets, as long as they
17182 fall within the buffer we have.
17184 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17186 * tests/check/Makefile.am:
17187 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17188 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17189 (parse_suite), (main):
17190 Add testsuite for parse launch syntax
17192 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17194 * plugins/elements/gsttypefindelement.c:
17195 (gst_type_find_element_chain):
17196 When typefinding is unsuccessful in the chain function, don't
17197 error out immediately. Only error out with NO_CAPS_FOUND if
17198 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17199 otherwise simply wait for more data so we can try typefinding
17200 again with more data later. Also, don't attempt to typefind
17201 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17202 this should improve typefinding from network sources where the
17203 size of the first buffer can be somewhat random.
17205 2006-02-14 Wim Taymans <wim@fluendo.com>
17207 * docs/gst/gstreamer-sections.txt:
17208 * gst/gstpadtemplate.c:
17209 * gst/gstpadtemplate.h:
17210 Fix padtemplate docs, fixes #328805.
17212 2006-02-14 Wim Taymans <wim@fluendo.com>
17214 * tools/gst-launch.c: (main):
17215 NO_PREROLL is not an ERROR so don't send confusing messages
17218 2006-02-14 Wim Taymans <wim@fluendo.com>
17220 Patch by: Torsten Schoenfeld
17222 * gst/gstregistry.c: (gst_registry_get_default),
17223 (_gst_registry_cleanup):
17224 Protect default registry with lock and ref/sink it.
17227 2006-02-14 Wim Taymans <wim@fluendo.com>
17230 * gst/gstquery.c: (gst_query_list_add_format),
17231 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17232 (gst_query_parse_formats_nth):
17233 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17236 2006-02-14 Wim Taymans <wim@fluendo.com>
17238 * docs/gst/gstreamer-sections.txt:
17239 Reworked query docs.
17241 * gst/gstquery.c: (gst_query_new_formats),
17242 (gst_query_list_add_format), (gst_query_set_formats),
17243 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17244 (gst_query_parse_formats_nth):
17246 Flesh out formats query, added some new methods.
17247 Fix part of #324398.
17249 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17250 Added query creation tests.
17252 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17254 * gst/gstpad.c: (fixate_value):
17255 Add a default fixation for fraction lists.
17257 2006-02-13 Wim Taymans <wim@fluendo.com>
17259 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17260 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17263 Detect and warn for obvious deadlocks. fixes #320340
17264 Fix error case where lock was not released.
17266 * tests/check/Makefile.am:
17267 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17268 (task_func), (gst_element_suite), (main):
17271 2006-02-13 Wim Taymans <wim@fluendo.com>
17273 * docs/gst/gstreamer-sections.txt:
17275 Add new functions to docs.
17277 2006-02-13 Wim Taymans <wim@fluendo.com>
17279 * docs/design/part-TODO.txt:
17280 Updated TODO list, basesrc supports seeking to non-bytes
17283 * docs/design/part-element-sink.txt:
17286 * gst/gstbin.c: (bin_replace_message),
17287 (gst_bin_handle_message_func):
17288 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17289 * gst/gstevent.c: (gst_event_finalize):
17290 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17291 (gst_pad_send_event):
17292 Use shiny new _TYPE_NAME macros.
17294 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17295 Move debug statement up.
17297 * gst/gstelement.c: (gst_element_set_locked_state):
17298 Add some debugging.
17300 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17302 * docs/gst/gstreamer-sections.txt:
17303 * gst/gstmessage.h:
17305 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17306 macros (#330906). Also, document the already existing
17307 GST_QUERY_TYPE macro.
17309 2006-02-13 Wim Taymans <wim@fluendo.com>
17311 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17312 (event_probe), (GST_START_TEST):
17313 Only events up to the pipeline EOS are counted, there are
17314 some more when going to NULL currently which we don't care
17317 2006-02-13 Wim Taymans <wim@fluendo.com>
17319 * gst/gstpad.c: (gst_pad_send_event):
17320 Correctly check flushing and emit probes. fixes #330125
17322 2006-02-10 Andy Wingo <wingo@pobox.com>
17324 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17326 (gst_bus_init): Cache the location of the private data in the
17327 instance structure.
17328 (gst_bus_enable_sync_message_emission)
17329 (gst_bus_disable_sync_message_emission): Implement new public
17331 (gst_bus_post): Emit the sync-message signal if the user asked for
17334 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17335 location of the bus-private structure.
17336 (gst_bus_enable_sync_message_emission)
17337 (gst_bus_disable_sync_message_emission): API addition
17339 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17341 Patch by: Vincent Torri
17343 * docs/pwg/building-boiler.xml:
17344 PWG patch from #326800
17346 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17349 * docs/Makefile.am:
17350 * docs/design/Makefile.am:
17353 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17358 === release 0.10.3 ===
17360 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17363 releasing 0.10.3, "Like a virgin"
17365 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17368 2nd prerelease of 0.10.3
17369 Bump libtool versioning.
17371 2006-02-07 Andy Wingo <wingo@pobox.com>
17373 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17374 update last_stop if we're in TIME format and the timestamp is
17377 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17378 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17379 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17380 If we get a new newsegment with a different format, adapt
17383 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17384 of 0. Not a problem, really.
17386 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17389 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17394 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17397 project files updated to the default vs7 configuration
17398 * win32/common/libgstbase.def:
17399 * win32/common/libgstreamer.def:
17401 removed empty lines,
17402 sorted all exported symbols alphabetically
17403 * win32/common/dirent.c:
17404 * win32/common/dirent.h:
17405 * win32/common/gchar.h:
17406 use windows line end.
17408 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17410 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17411 Send EOS event when stopping.
17413 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17416 Tell folks what to do if the plugin-foobar.xml file
17417 hasn't been generated for a newly-added plugin.
17419 2006-02-05 Julien MOUTTE <julien@moutte.net>
17421 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17422 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17423 (gst_collect_pads_start), (gst_collect_pads_stop),
17424 (gst_collect_pads_event): Collectpads now holds a reference
17425 to the GstPad that was added. Indeed we don't want to look
17426 at pads that might just go away with no warning...
17428 2006-02-05 Julien MOUTTE <julien@moutte.net>
17430 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17431 (gst_collect_pads_start), (gst_collect_pads_stop),
17432 (gst_collect_pads_event), (gst_collect_pads_chain):
17433 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17434 Mark Nauwelaerts's patch on bug #328491.
17436 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17438 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17440 Add some simple tests for gst_parse_bin_from_description() and
17441 gst_bin_find_unconnected_pad() (#329069).
17443 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17445 * tools/gst-launch.c: (event_loop), (main):
17446 Catch errors during preroll (#320084).
17448 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17450 * plugins/elements/gsttypefindelement.c:
17451 (gst_type_find_element_activate):
17452 Post TYPE_NOT_FOUND error message when typefinding
17453 is unsuccessful in the activate function as well.
17455 2006-02-02 Wim Taymans <wim@fluendo.com>
17457 * docs/design/part-element-sink.txt:
17460 2006-02-02 Wim Taymans <wim@fluendo.com>
17462 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17463 (gst_base_sink_render_object),
17464 (gst_base_sink_queue_object_unlocked):
17465 Only keep track of prerollable items when we are
17467 Before rendering after preroll, always check if we
17469 Added some more debugging.
17471 2006-02-02 Wim Taymans <wim@fluendo.com>
17473 * gst/gstelement.c: (gst_element_continue_state),
17474 (gst_element_set_state_func), (gst_element_change_state):
17475 Fixed #326576, been running this for quite some time with
17476 no regressions at all.
17478 2006-02-02 Wim Taymans <wim@fluendo.com>
17481 Added more suppressions
17483 2006-02-02 Wim Taymans <wim@fluendo.com>
17485 * docs/design/part-element-sink.txt:
17488 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17489 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17490 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17491 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17492 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17493 (gst_base_sink_preroll_object),
17494 (gst_base_sink_queue_object_unlocked),
17495 (gst_base_sink_queue_object), (gst_base_sink_event),
17496 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17497 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17498 (gst_base_sink_get_position), (gst_base_sink_change_state):
17499 * libs/gst/base/gstbasesink.h:
17500 Totally refactored matching the design doc.
17501 Use two segments, one to clip incomming buffers and another to
17503 Handle queueing correctly, bypass the queue when playing.
17504 Make EOS cancelable.
17505 Handle errors correctly when operating in pull based mode.
17507 * tests/check/elements/fakesink.c: (GST_START_TEST),
17509 Added new check for sinks.
17511 2006-02-02 Wim Taymans <wim@fluendo.com>
17513 * gst/gstsegment.c: (gst_segment_clip):
17514 No reason to refuse to clip when start == -1
17516 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17519 * docs/manual/intro-basics.xml:
17520 * docs/manual/intro-preface.xml:
17521 * docs/manual/manual.xml:
17522 * docs/pwg/advanced-dparams.xml:
17523 * docs/pwg/intro-basics.xml:
17524 * docs/pwg/intro-preface.xml:
17525 * docs/pwg/pwg.xml:
17526 describe dparams (controller) for plugins
17527 unify docs a little more
17529 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17531 * docs/gst/gstreamer-sections.txt:
17532 * gst/gstutils.c: (element_find_unconnected_pad),
17533 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17535 Add new API: gst_parse_bin_from_description() and
17536 gst_bin_find_unconnected_pad() (#329069).
17538 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17540 * docs/manual/README:
17541 uncover a nasty detail of the docs build
17543 2006-01-31 Wim Taymans <wim@fluendo.com>
17545 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17546 Don't cache duration messages if we're not going to use or
17549 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17551 * docs/manual/advanced-dparams.xml:
17552 * docs/pwg/advanced-dparams.xml:
17556 * libs/gst/controller/lib.c: (gst_controller_init):
17559 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17561 * gst/gstelement.c: (gst_element_message_full):
17562 also show file/line/func if no additional debug was given
17564 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17566 * win32/vs7/grammar.vcproj:
17567 activate copy of autogenerated files for Release mode
17569 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17571 * win32/common/libgstreamer.def:
17572 export gst_value_compare
17574 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17576 * plugins/elements/Makefile.am:
17577 * plugins/elements/gstelements.c:
17578 * plugins/elements/gstfdsink.c: (_do_init),
17579 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17580 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17581 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17582 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17583 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17584 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17585 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17586 * plugins/elements/gstfdsink.h:
17587 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17589 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17591 * docs/manual/advanced-dparams.xml:
17592 describe controller
17593 * docs/manual/advanced-position.xml:
17594 * docs/manual/basics-init.xml:
17595 * docs/manual/manual.xml:
17596 * docs/manual/titlepage.xml:
17597 * docs/pwg/pwg.xml:
17598 * docs/pwg/titlepage.xml:
17599 cleanup xml (more to come)
17600 * libs/gst/controller/gstcontroller.c:
17603 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17605 * win32/vs6/grammar.dsp:
17606 add autogen of gstmarshal.c,h for Release mode
17608 2006-01-30 Wim Taymans <wim@fluendo.com>
17610 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17611 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17612 (gst_base_sink_handle_object), (gst_base_sink_event),
17613 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17614 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17615 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17616 (gst_base_sink_deactivate), (gst_base_sink_activate),
17617 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17618 (gst_base_sink_query), (gst_base_sink_change_state):
17619 Basesink cleanups, remove some old code.
17620 Handle the case where a subclass can preroll in the render
17621 method (mostly audiosinks).
17622 Handle more events.
17623 Remove some locks around variables that are now protected
17624 with the PREROLL_LOCK (clock_id, flushing, ..).
17625 Optimize position query some more, do correct locking.
17626 Remove old code to push queue in state change, this is not
17627 needed anymore since preroll blocks on all prerollable items
17629 Almost implemented as described in design doc.
17631 2006-01-30 Wim Taymans <wim@fluendo.com>
17633 * tests/check/gst/gstbin.c: (GST_START_TEST):
17634 Wait for refcount to settle down before checking.
17636 2006-01-30 Wim Taymans <wim@fluendo.com>
17638 * docs/design/part-element-sink.txt:
17639 Pseudo code overview of desired sink behaviour regarding
17642 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17643 * win32/vs6/grammar.dsp:
17644 fix some bugs in Release mode for autogenerated files
17646 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17647 * win32/common/libgstbase.def:
17648 * win32/common/libgstreamer.def:
17649 export some new symbols: gst_base_src_set_format,
17650 gst_iterator_next, gst_structure_set_valist
17652 2006-01-29 Julien MOUTTE <julien@moutte.net>
17654 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17655 Set pad functions unconditionally. Fixes #329105.
17657 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17659 add vs8 project files created by Sergey Scobich
17661 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17663 * gst/gstutils.c: (gst_element_unlink_pads):
17664 Don't leak pad references.
17666 * tests/check/elements/fakesink.c: (GST_START_TEST):
17667 * tests/check/generic/sinks.c: (GST_START_TEST):
17668 * tests/check/generic/states.c: (GST_START_TEST):
17669 * tests/check/gst/gstbin.c: (GST_START_TEST):
17670 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17671 * tests/check/gst/gstelement.c: (GST_START_TEST):
17672 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17673 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17674 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17675 Fix a bunch of leaks. Make generic/sinks.c
17676 use a bit less cpu by slowing the buffer rate
17677 between fakesrc and fakesink.
17679 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17681 * gst/gstelement.c: (gst_element_send_event):
17684 * gst/gstiterator.c:
17685 * gst/gstiterator.h:
17686 * gst/gstpad.c: (gst_pad_send_event):
17687 * gst/gststructure.c:
17691 * libs/gst/base/gstadapter.c:
17692 doc fixes, to link to function, just write gst_cool_function(), don't
17695 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17697 * plugins/elements/gsttee.c: (gst_tee_do_push),
17698 (gst_tee_handle_buffer):
17699 Always prefer an actual return value from a src
17700 pad in place of NOT_LINKED. This means we return
17701 WRONG_STATE when all src pads are WRONG_STATE
17702 instead of NOT_LINKED.
17704 Lock when replacing the last message to prevent
17705 racing with the get_property method.
17709 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17711 * tests/check/Makefile.am:
17712 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17714 Add a very simple check that should have caught the memleak I fixed
17715 last night (if not for the slice allocator hiding it)
17717 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17719 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17720 (gst_bin_remove_func), (gst_bin_handle_message_func),
17721 (bin_query_duration_fold), (bin_query_generic_fold):
17722 Clean up references to the clock provider when disposed or when
17723 handling a clock-lost message from it.
17725 Unref sinks when performing a query via gst_iterator_fold, as the
17726 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17728 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17729 (gst_clock_set_master):
17730 Drop our reference to the master clock, if any, when we are disposed.
17732 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17733 Chain up in dispose.
17735 2006-01-26 Wim Taymans <wim@fluendo.com>
17737 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17738 Add some debugging.
17740 2006-01-26 Julien MOUTTE <julien@moutte.net>
17742 * plugins/elements/gsttee.c: (gst_tee_do_push),
17743 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17744 handles pad being NOT_LINKED or in WRONG_STATE.
17746 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17751 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17754 remove obsolete entry
17756 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17758 * docs/gst/gstreamer-sections.txt:
17759 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17760 (gst_bin_iterate_sources), (gst_bin_send_event):
17762 * gst/gstelement.c: (gst_element_send_event):
17764 * gst/gstpad.c: (gst_pad_send_event):
17765 added code for downstream events, reviewed docs in gstevent.c
17767 2006-01-25 Julien MOUTTE <julien@moutte.net>
17769 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17770 We only query position using the clock in the playing state.
17771 Query peer in the other cases.
17772 * win32/common/config.h: Updates.
17774 2006-01-24 Wim Taymans <wim@fluendo.com>
17776 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17777 A clock entry that is scheduled for the exact time of the
17778 clock is still in time.
17780 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17781 (gst_base_sink_do_sync):
17782 Add some more debug info.
17784 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17787 Add new vs7 project files and solution.
17789 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17792 all files removed as they were out-dated.
17794 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17796 * docs/random/release:
17798 * gst/gstbin.c: (gst_bin_init):
17799 * gst/gstbus.c: (gst_bus_new):
17801 * gst/gstpipeline.c: (gst_pipeline_init):
17802 use gst_bus_new(), improve logging, fix docs
17803 * win32/common/config.h:
17804 update for cvs build
17806 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17809 up required version of automake to 1.7
17811 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17813 * win32/common/libgstreamer.def:
17814 export gst_buffer_is_metadata_writable
17816 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17818 * docs/gst/gstreamer-sections.txt:
17820 Add gst_event_replace() (#327001)
17822 2006-01-20 Wim Taymans <wim@fluendo.com>
17824 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17825 Make it actually compile too..
17827 2006-01-20 Wim Taymans <wim@fluendo.com>
17830 Clarify behaviour of _is_equal() when passing NULL parameters.
17832 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17833 (gst_pad_set_caps):
17834 Cleanups. Don't unref NULL caps.
17835 When setting the same caps, protect caps of the pad with
17837 Use full functionality of _is_equal() when comparing caps.
17839 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17841 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17842 Don't loop infinitely if there are no buffers to present. Partially
17843 fixes #327197, but collectpads is just broken for reusing elements
17844 to do multiple encodes atm.
17846 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17848 * tools/gst-inspect.c: (print_element_features):
17849 * tools/gst-xmlinspect.c: (main):
17850 URL_HANDLER is not a plugin feature we can search for in
17853 2006-01-19 Edward Hervey <edward@fluendo.com>
17855 * gst/gstelement.c: (gst_element_pads_activate):
17856 When activating, do src pads first, then sink pads.
17857 When de-activating, do sink pads first, then src pads.
17859 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17861 * docs/gst/gstreamer-sections.txt:
17862 Add gst_index_add_associationv to the docs
17864 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17869 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17870 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17871 Do some refactoring. Doesn't actually change functionality,
17872 but makes landing the DRAIN event easier later.
17874 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17876 * docs/pwg/advanced-scheduling.xml:
17877 Update from 0.9.x to 0.10 API and make example a bit
17880 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17882 * docs/gst/gstreamer-sections.txt:
17883 Add gst_buffer_(is|make)_metadata_writable methods.
17885 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17887 * docs/design/part-sparsestreams.txt:
17888 Update sparse streams doc, hopefully for greater clarity
17890 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17892 * docs/design/part-events.txt:
17893 Remove mention of FILLER events.
17896 * docs/design/part-sparsestreams.txt:
17897 Write some things about using NEWSEGMENT to keep sparse streams
17900 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17902 * gst/gstbin.c: (gst_bin_dispose):
17903 Guard gst_object_unref call against a NULL object (dispose
17904 can theoretically be called multiple times).
17906 2006-01-18 Wim Taymans <wim@fluendo.com>
17908 * gst/gstbin.c: (gst_bin_element_set_state):
17909 * gst/gstclock.c: (gst_clock_id_wait):
17910 Added some more debug info.
17912 * libs/gst/base/gstadapter.c:
17915 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17916 (gst_base_sink_do_sync), (gst_base_sink_chain):
17917 Added some comments.
17919 2006-01-18 Wim Taymans <wim@fluendo.com>
17921 * tests/check/Makefile.am:
17922 * tests/check/elements/fakesink.c: (chain_async_buffer),
17923 (chain_async), (chain_async_return), (GST_START_TEST),
17924 (fakesink_suite), (main):
17925 Added fakesink test that checks prerolling and clipping
17928 * tests/check/gst/gstutils.c: (GST_START_TEST):
17929 Make check run faster so that buildbots don't timeout.
17931 2006-01-18 Wim Taymans <wim@fluendo.com>
17933 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17934 (gst_base_sink_do_sync):
17936 When the sink finishes blocking on the preroll buffer, it can
17937 immediatly render it instead of rendering when the next buffer
17940 2006-01-18 Wim Taymans <wim@fluendo.com>
17942 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17943 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17944 (gst_base_sink_chain):
17946 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17947 Don't store _last_stop if the buffer is dropped.
17949 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17951 * plugins/elements/gsttypefindelement.c:
17952 (gst_type_find_element_class_init):
17953 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17954 object method handler that sets the caps on the pad and we want
17955 that to happen before we emit the signal (fixes e.g. feeding a
17956 plain text file to decodebin).
17958 2006-01-18 Christian Schaller <Christian@fluendo.com>
17960 * gst/gstplugin.c: Add MPL and Proprietary as license options
17962 2006-01-18 Andy Wingo <wingo@pobox.com>
17964 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17965 symbol was exported before, it appears this was just an oversight.
17967 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17969 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17970 prototype to gint. OK since this prototype was not in the header.
17972 2006-01-17 Andy Wingo <wingo@pobox.com>
17974 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17975 registry while we remove plugins.
17977 * tools/gst-inspect.c (print_element_info): Don't unref the
17978 factory arg, that should be the responsibility of whatever code
17979 received the ref. Fixes a double-free when called from
17980 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17981 (main): Unref the factory if we have one.
17982 (print_element_list): No change -- relies on the
17983 plugin_feature_list_free to free the list of features.
17985 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17987 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17988 (gst_buffer_make_metadata_writable):
17990 * libs/gst/base/gstbasetransform.c:
17991 (gst_base_transform_prepare_output_buf):
17992 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17993 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17994 Replace gst_buffer_(make|is)_metadata_writable patch now
17995 that the release is out.
17997 2006-01-17 Andy Wingo <wingo@pobox.com>
17999 * gst/gstregistry.c: Reflow design comment. Update so as to speak
18000 in the present tense without reference to versions.
18002 * gst/gstregistry.c (gst_registry_add_plugin)
18003 (gst_registry_remove_plugin, gst_registry_remove_feature)
18004 (gst_registry_find_feature, gst_registry_get_feature_list)
18005 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18006 (gst_registry_lookup, gst_registry_scan_path)
18007 (_gst_registry_remove_cache_plugins)
18008 (gst_registry_get_feature_list_by_plugin): Add argument
18011 === release 0.10.2 ===
18013 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
18016 releasing 0.10.2, "If man is five"
18018 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18022 * libs/gst/base/gstbasetransform.c:
18023 (gst_base_transform_prepare_output_buf):
18024 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18025 * tests/check/gst/gstbuffer.c: (gst_test_suite):
18026 Back out patch until after the release.
18028 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18030 * gst/gstminiobject.c:
18031 Spelling fix in docs.
18032 * ChangeLog - remove conflict indicator
18034 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18036 Reviewed By: Andy Wingo
18038 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18039 (gst_buffer_make_metadata_writable):
18041 Add gst_buffer_(is|make)_metadata_writable as analogues of
18042 gst_buffer_(is|make)_writable.
18044 * libs/gst/base/gstbasetransform.c:
18045 (gst_base_transform_prepare_output_buf):
18046 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18047 Use name gst_buffer_(is|make)_metadata_writable functions.
18049 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18050 Test gst_buffer_(is|make)_metadata_writable
18054 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18056 * docs/manual/Makefile.am:
18057 don't do parallel make
18060 * win32/common/config.h.in:
18061 add generations for HOST_CPU and GST_MAJORMINOR
18062 * win32/common/config.h:
18063 commit generated result
18065 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18067 * docs/manual/appendix-integration.xml:
18068 Update GNOME integration section to use gst_init_get_option_group()
18069 instead of the old popt stuff (#322911). Also, GNOME applications
18070 should now use gconf*sink and gconf*src instead of the old gconf
18073 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18076 * docs/gst/gstreamer-docs.sgml:
18077 * docs/gst/gstreamer-sections.txt:
18078 * docs/libs/gstreamer-libs-sections.txt:
18079 add new API entries to the docs
18080 * libs/gst/controller/Makefile.am:
18081 * libs/gst/controller/gstcontroller.c:
18082 * libs/gst/controller/gstcontroller.h:
18083 * libs/gst/controller/gstcontrollerprivate.h:
18084 * libs/gst/controller/gsthelper.c:
18085 * libs/gst/controller/gstinterpolation.c:
18086 move private structs to private header
18088 gstreamer-0.7 -> gstreamer-0.10
18089 * tests/check/libs/struct_i386.h:
18090 remove private structs
18092 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18094 * plugins/indexers/Makefile.am:
18095 Fixes as part of #317048
18097 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18099 * plugins/indexers/Makefile.am:
18100 fix #316086 - compilation when mmap is missing
18102 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18104 * libs/gst/base/gstbasesink.c:
18105 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18106 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18107 * win32/common/config.h:
18108 added some defines GST_MAJORMINOR and HOST_CPU
18109 * win32/common/libgstbase.def:
18110 * win32/common/libgstreamer.def:
18111 added some exported functions.
18113 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18115 * libs/gst/controller/gstcontroller.c:
18116 (gst_controlled_property_set_interpolation_mode),
18117 (gst_controlled_property_new):
18118 * libs/gst/controller/gstcontroller.h:
18119 * libs/gst/controller/gstinterpolation.c:
18120 (interpolate_none_get_string_value_array):
18121 make G_TYPE_STRING controlable
18123 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18126 * tools/gst-feedback.1.in:
18127 * tools/gst-inspect.1.in:
18128 * tools/gst-launch.1.in:
18129 * tools/gst-md5sum.1.in:
18130 * tools/gst-typefind.1.in:
18131 * tools/gst-xmlinspect.1.in:
18132 * tools/gst-xmllaunch.1.in:
18133 cleanup man-pages, remove reference to gst-register, document env-vars
18135 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18137 * gst/gstbuffer.c: (gst_buffer_span):
18138 gst_buffer_span should copy the timestamp of the first buffer
18139 if they were both originally overlapping subbuffers of the
18140 same parent, using the same logic as the 'slow copy' case.
18142 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18144 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18145 Need to awaken ALL the pads when we pop a buffer, otherwise
18146 collectpads only works when there is 2 input streams.
18148 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18150 * docs/random/ensonic/media-device-daemon.txt:
18153 fix doc example, add clarification
18154 * tools/gst-launch.1.in:
18155 add initial info about GST_PLUGIN_PATH, needs more work
18157 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18159 * docs/manual/basics-bins.xml:
18160 * docs/manual/basics-elements.xml:
18161 * docs/manual/intro-basics.xml:
18162 Some more minor docs additions and updates.
18164 2006-01-11 Wim Taymans <wim@fluendo.com>
18166 * docs/manual/basics-bins.xml:
18167 * docs/manual/basics-elements.xml:
18168 Some small fixes as pointed out by Ser-ver on IRC.
18170 2006-01-10 Edward Hervey <edward@fluendo.com>
18172 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18173 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18174 the single-segment mode.
18176 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18178 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18180 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18181 (gst_base_src_perform_seek), (gst_base_src_send_event),
18182 (gst_base_src_set_property), (gst_base_src_get_property),
18183 (gst_base_src_loop), (gst_base_src_start),
18184 (gst_base_src_activate_push):
18185 * libs/gst/base/gstbasesrc.h:
18186 Name (private) union; makes Sun's Forte compiler happy (#324900).
18188 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18191 gst-register is gone.
18193 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18195 * gst/gstvalue.c: (_gst_value_initialize):
18196 make the G_TYPE_DATE instantiation work if debug is disabled
18198 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18200 * gst/gstmessage.c: (gst_message_parse_tag),
18201 (gst_message_parse_error), (gst_message_parse_warning):
18202 Don't crash when return location for error/warning debug
18203 string is NULL; add fact that return locations can be
18204 NULL to docs where appropriate.
18206 2006-01-05 Wim Taymans <wim@fluendo.com>
18208 * gst/gstplugin.c: (gst_plugin_load_file):
18209 Replace strdup by g_strdup.
18211 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18213 * docs/pwg/advanced-types.xml:
18216 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18218 submitted by: Abel Cheung
18222 Added Chinese (traditional) translation
18224 2006-01-04 Wim Taymans <wim@fluendo.com>
18226 * docs/manual/basics-pads.xml:
18227 * docs/plugins/Makefile.am:
18228 * docs/plugins/gstreamer-plugins-docs.sgml:
18229 * docs/plugins/gstreamer-plugins-sections.txt:
18230 * docs/pwg/advanced-clock.xml:
18231 * docs/pwg/advanced-scheduling.xml:
18232 * docs/pwg/advanced-types.xml:
18233 * plugins/elements/gstfdsink.c:
18234 * plugins/elements/gstfdsrc.c:
18235 * plugins/elements/gstfdsrc.h:
18236 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18237 * plugins/elements/gstidentity.h:
18238 * plugins/elements/gstqueue.h:
18239 * plugins/elements/gsttee.c:
18240 * plugins/elements/gsttee.h:
18241 * plugins/elements/gsttypefindelement.c:
18242 (gst_type_find_element_class_init):
18243 * plugins/elements/gsttypefindelement.h:
18244 Small updates to various docs.
18245 Added core plugins to docs.
18247 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18250 add a suppression for liboil's uninitialized variable
18252 2006-01-02 James Livingston <jrl at ids dot org dot au>
18254 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18257 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18258 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18259 compiler switch is being used (#325429).
18261 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18263 * gst/gstbin.c: (gst_bin_query):
18264 Disable duration query caching in bins until it gets
18265 fixed (see #324807).
18267 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18269 * tools/gst-inspect.c: (print_element_properties_info):
18270 Handle properties of POINTER and BOXED type.
18272 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18274 * gst/gst.c: (init_post):
18275 Init tags stuff and some other things before loading
18276 any static plugins (there may be other static plugins
18277 than just the GStreamer ones, and they may want to
18278 register their own tags or formats or whatever, and
18279 preferably without segfaulting).
18281 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18282 Print at least a warning in the debug logs if we drop a
18283 query just because we don't know how to adjust the value
18284 in the particular format.
18286 2005-12-24 David Schleef <ds@schleef.org>
18288 * tools/gstreamer-completion:
18289 Replacement for gst-complete written in sh and sed. Only
18290 completes names of features, but that's 90% of what I want
18291 it for. Properties are not available in registry.xml. (Maybe
18294 === release 0.10.1 ===
18296 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18299 releasing 0.10.1, "Nollaig chridheil"
18301 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18303 * docs/faq/cvs.xml:
18304 Add missing quote, should be make ERROR_CFLAGS="".
18306 2005-12-20 Wim Taymans <wim@fluendo.com>
18308 * docs/design/part-trickmodes.txt:
18309 More documentation on trickmodes.
18311 2005-12-20 Edward Hervey <edward@fluendo.com>
18313 * gst/gstcaps.c: (gst_static_caps_get_type):
18315 API addition: GST_TYPE_STATIC_CAPS
18316 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18317 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18318 * gst/gstpadtemplate.h:
18319 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18320 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18323 2005-12-18 Wim Taymans <wim@fluendo.com>
18325 * libs/gst/base/gstadapter.c:
18326 * libs/gst/base/gstadapter.h:
18327 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18328 (gst_base_sink_get_position):
18329 * libs/gst/base/gstbasesink.h:
18330 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18331 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18332 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18333 (gst_base_src_send_event), (gst_base_src_update_length),
18334 (gst_base_src_get_range), (gst_base_src_loop),
18335 (gst_base_src_start):
18336 * libs/gst/base/gstbasesrc.h:
18337 * libs/gst/base/gstbasetransform.h:
18338 * libs/gst/base/gstcollectpads.h:
18339 * libs/gst/base/gstpushsrc.c:
18340 * libs/gst/base/gstpushsrc.h:
18341 * libs/gst/dataprotocol/dataprotocol.c:
18342 * libs/gst/dataprotocol/dataprotocol.h:
18343 * libs/gst/net/gstnetclientclock.h:
18344 * libs/gst/net/gstnettimeprovider.h:
18345 Documentation updates.
18347 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18349 * docs/manual/basics-helloworld.xml:
18350 Remove superfluous closing bracket in helloworld example.
18352 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18354 * tools/gst-launch.1.in:
18355 Update gst-launch man page; add a section with useful
18356 environment variables. Fixes #323882.
18358 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18361 * gst/gst_private.h:
18362 change some char* into char[]
18364 2005-12-16 Wim Taymans <wim@fluendo.com>
18366 * gst/gstregistryxml.c: (load_feature):
18368 Don't use g_object_unref on GstObjects so that we avoid
18369 leaks on unsafe glibs.
18371 2005-12-16 Wim Taymans <wim@fluendo.com>
18373 * gst/gstbin.c: (gst_bin_recalc_state):
18376 2005-12-16 Wim Taymans <wim@fluendo.com>
18378 * common/check.mak:
18379 Added make forever target for check.
18381 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18383 * gst/gst.c: (init_post):
18384 make the registry cache file HOST_CPU-dependent
18386 2005-12-16 Andy Wingo <wingo@pobox.com>
18388 * plugins/elements/gstbufferstore.c
18389 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18392 * tests/check/gst/gstobject.c
18393 (test_fake_object_name_threaded_unique): Pay attention to
18394 g_list_sort return value.
18396 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18398 * tools/gst-feedback-m.m:
18399 Update for 0.9/0.10 (fixes #323870).
18401 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18403 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18404 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18406 * tests/check/gst/gstminiobject.c: (my_foo_init),
18407 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18408 (test_value_collection), (gst_mini_object_suite):
18409 Add test to ensure refcounts end up as expected when passing
18410 GstMiniObjects through g_object_get() and g_object_set().
18412 2005-12-14 Julien MOUTTE <julien@moutte.net>
18414 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18415 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18416 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18417 of collectpads. This version removes a lot of races without
18418 touching API/ABI. Yay !
18420 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18422 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18423 Don't allow activation of a srcpad in pull_range if it has no
18425 Change some debug statements to be a little clearer
18427 * plugins/elements/gsttypefindelement.c:
18428 (gst_type_find_handle_src_query):
18429 Check that we have a peer before executing queries thereupon.
18431 * tests/examples/metadata/read-metadata.c: (message_loop):
18432 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18433 immediately return us any available message with 0 timeout.
18435 2005-12-12 Michael Smith <msmith@fluendo.com>
18437 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18438 Don't unref factories after calling them.
18439 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18440 * plugins/elements/gsttypefindelement.c:
18441 (gst_type_find_element_chain):
18442 Free lists of factories after using them. Fixing typefinding memory
18445 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18447 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18448 (gst_plugin_feature_load):
18449 more meaningful debug output
18451 * tests/Makefile.am:
18452 * tests/old/examples/Makefile.am:
18453 make make distcheck happy again
18455 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18457 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18458 Catch the special case where we are operating chain-based,
18459 but the downstream peer pad has no chain function. Emit a
18460 custom error message in this case instead of letting the
18461 core generate one implying that this is some sort of core
18462 bug. It's not, it just means that whatever got plugged
18463 into the pipeline downstream when we announced the type
18464 can only operate pull-based, while our source can only
18465 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18466 Error string has not been marked for translation yet, as
18467 it probably needs some more work first.
18469 (gst_type_find_element_get_best_possibility):
18470 Add helper function to find the best of all available
18471 found possibilities that qualify given the min. threshold.
18473 (gst_type_find_element_handle_event):
18474 Fix the case where we get an EOS while still in TYPEFIND
18475 mode (we want to chose the best of all possible types,
18476 not just the first type that happens to be in our unsorted
18477 list of possible types).
18479 (gst_type_find_element_chain):
18480 Make sure we return GST_FLOW_ERROR when we errored out
18481 in stop_typefinding(); also, don't just find the best of
18482 all found type entries and then use the last examined
18483 type entry, but actually use the best entry.
18485 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18487 * tests/examples/typefind/typefind.c: (type_found):
18488 * tests/examples/xml/runxml.c: (xml_loaded):
18489 More gcc4 fixes and a mem leak fix.
18491 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18493 * tests/examples/xml/createxml.c: (object_saved):
18496 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18498 * tests/Makefile.am:
18499 enable the examples even more
18501 2005-12-12 Andy Wingo <wingo@pobox.com>
18503 * libs/gst/net/gstnettimeprovider.c
18504 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18505 (gst_net_time_provider_set_property)
18506 (gst_net_time_provider_get_property):
18507 API addition: Export "active" as a GObject property.
18508 (gst_net_time_provider_thread): Only respond to time queries if
18509 the time provider is active.
18511 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18512 NetTimeProvider, preserving binary compat.
18514 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18516 * tests/examples/controller/audio-example.c: (main):
18517 * tests/examples/launch/Makefile.am:
18518 convert comments again
18520 2005-12-12 Wim Taymans <wim@fluendo.com>
18522 * libs/gst/base/gstpushsrc.c:
18525 2005-12-12 Wim Taymans <wim@fluendo.com>
18527 * docs/libs/gstreamer-libs-sections.txt:
18528 Added new symbol to docs.
18530 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18531 (gst_base_src_init), (gst_base_src_set_format),
18532 (gst_base_src_default_query), (gst_base_src_query),
18533 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18534 (gst_base_src_perform_seek), (gst_base_src_send_event),
18535 (gst_base_src_default_event), (gst_base_src_event_handler),
18536 (gst_base_src_set_property), (gst_base_src_get_property),
18537 (gst_base_src_wait), (gst_base_src_do_sync),
18538 (gst_base_src_update_length), (gst_base_src_get_range),
18539 (gst_base_src_check_get_range), (gst_base_src_loop),
18540 (gst_base_src_default_negotiate), (gst_base_src_start),
18541 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18542 (gst_base_src_change_state):
18543 * libs/gst/base/gstbasesrc.h:
18544 Implement seeking to other formats than _BYTES.
18545 Implement more seeking methods correctly.
18547 Added query vmethod.
18548 Added do_seek vmethod to make life easier for subclasses
18550 API addition: gst_base_src_set_format()
18552 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18554 * tests/examples/Makefile.am:
18557 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18560 * docs/random/ensonic/media-device-daemon.txt:
18561 * tests/examples/controller/.cvsignore:
18562 * tests/examples/controller/Makefile.am:
18563 * tests/examples/controller/audio-example.c: (main):
18564 * tests/examples/helloworld/.cvsignore:
18565 * tests/examples/helloworld/Makefile.am:
18566 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18567 * tests/examples/launch/.cvsignore:
18568 * tests/examples/launch/Makefile.am:
18569 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18570 * tests/examples/metadata/.cvsignore:
18571 * tests/examples/metadata/Makefile.am:
18572 * tests/examples/metadata/read-metadata.c: (message_loop),
18573 (make_pipeline), (print_tag), (main):
18574 * tests/examples/queue/.cvsignore:
18575 * tests/examples/queue/Makefile.am:
18576 * tests/examples/queue/queue.c: (event_loop), (main):
18577 * tests/examples/typefind/.cvsignore:
18578 * tests/examples/typefind/Makefile.am:
18579 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18581 * tests/examples/xml/.cvsignore:
18582 * tests/examples/xml/Makefile.am:
18583 * tests/examples/xml/createxml.c: (object_saved), (main):
18584 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18585 * tests/old/examples/Makefile.am:
18586 * tests/old/examples/TODO:
18587 * tests/old/examples/controller/.cvsignore:
18588 * tests/old/examples/controller/Makefile.am:
18589 * tests/old/examples/controller/audio-example.c:
18590 * tests/old/examples/helloworld/.cvsignore:
18591 * tests/old/examples/helloworld/Makefile.am:
18592 * tests/old/examples/helloworld/helloworld.c:
18593 * tests/old/examples/launch/.cvsignore:
18594 * tests/old/examples/launch/Makefile.am:
18595 * tests/old/examples/launch/mp3parselaunch.c:
18596 * tests/old/examples/launch/mp3play:
18597 * tests/old/examples/manual/Makefile.am:
18598 * tests/old/examples/metadata/Makefile.am:
18599 * tests/old/examples/metadata/read-metadata.c:
18600 * tests/old/examples/queue/.cvsignore:
18601 * tests/old/examples/queue/Makefile.am:
18602 * tests/old/examples/queue/queue.c:
18603 * tests/old/examples/typefind/.cvsignore:
18604 * tests/old/examples/typefind/Makefile.am:
18605 * tests/old/examples/typefind/typefind.c:
18606 * tests/old/examples/xml/.cvsignore:
18607 * tests/old/examples/xml/Makefile.am:
18608 * tests/old/examples/xml/createxml.c:
18609 * tests/old/examples/xml/runxml.c:
18610 applied some simple fixing to some examples
18611 re-enabled the working examples
18613 2005-12-12 Wim Taymans <wim@fluendo.com>
18615 * gst/gstsegment.c: (gst_segment_init),
18616 (gst_segment_set_last_stop), (gst_segment_set_seek),
18617 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18618 (gst_segment_to_running_time):
18619 Added more documentation.
18620 Make sure the last_pos value is updated properly.
18621 Make sure to_stream_time and to_running_time don't
18622 operate on wrong values.
18624 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18627 2005-12-12 Michael Smith <msmith@fluendo.com>
18629 * plugins/elements/gsttypefindelement.c: (free_entry),
18630 (gst_type_find_element_chain):
18631 Now that we're not leaking factories, make sure we keep references
18632 to them while we need them.
18634 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18636 * tests/check/gst/struct_i386.h:
18637 ifdef out the XML structs
18639 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18641 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18642 floor is not needed, F is always positive; this obviates the
18643 need for adding -lm when building without libxml
18645 2005-12-12 Wim Taymans <wim@fluendo.com>
18647 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18648 Take current playback rate into account when reporting
18651 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18653 * docs/manual/mime-world.fig:
18654 Let's try this again, this time with a file that is
18655 actually in XFig format.
18657 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18659 * docs/manual/mime-world.fig:
18660 Add audioconvert element to diagram so that it
18661 matches the text and the code (fixes #319526).
18663 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18665 * docs/pwg/building-chainfn.xml:
18666 * docs/pwg/building-pads.xml:
18667 * docs/pwg/building-state.xml:
18668 * docs/pwg/other-source.xml:
18669 Update state change stuff for 0.10 (fixes #322969).
18671 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18673 * docs/manual/advanced-dataaccess.xml:
18674 * docs/manual/appendix-checklist.xml:
18675 * docs/manual/appendix-programs.xml:
18676 * docs/manual/basics-pads.xml:
18677 * docs/manual/highlevel-components.xml:
18678 * docs/manual/manual.xml:
18679 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18680 add converters in front of pipelines; remove curly
18681 brackets for threads stuff, they no longer exist; use
18682 GST_TYPE_FRACTION for framerates; update some pieces of
18683 code to 0.10, but there's plenty more to do.
18685 * docs/manual/appendix-porting.xml:
18686 Expand on asynchroneous state changes; s/0.9/0.10/;
18687 mention disappearance of gst_init_get_popt_table()
18690 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18692 * docs/faq/using.xml:
18693 Spider no longer exists, and neither does gst-launch-ext.
18694 Update examples to use decodebin and playbin and put
18695 converters in front of sinks (fixes #323726).
18697 2005-12-09 Michael Smith <msmith@fluendo.com>
18699 * plugins/elements/gsttypefindelement.c: (find_peek),
18700 (gst_type_find_element_chain):
18701 Fix leaking element factories in typefinding.
18702 Fix problem where we forgot about a probable type on non-seekable
18703 files, and thus later mis-typefound it.
18705 2005-12-09 Michael Smith <msmith@fluendo.com>
18707 * common/m4/gst-makecontext.m4:
18708 * common/m4/gst-mcsc.m4:
18710 * win32/common/config.h:
18711 * win32/common/config.h.in:
18712 Remove makecontext stuff; not used in 0.10 and causes problems on
18713 HPUX according to bug #322441
18715 2005-12-07 Wim Taymans <wim@fluendo.com>
18717 * tests/check/Makefile.am:
18718 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18720 * tests/check/libs/struct_i386.h:
18721 Added ABI check for libs
18723 2005-12-07 Wim Taymans <wim@fluendo.com>
18725 * tests/check/Makefile.am:
18726 And add the struct_i386.h to dist.
18728 2005-12-07 Wim Taymans <wim@fluendo.com>
18730 * tests/check/Makefile.am:
18731 * tests/check/gst/.cvsignore:
18732 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18734 * tests/check/gst/struct_i386.h:
18735 Added check for ABI compatibility.
18737 2005-12-07 Wim Taymans <wim@fluendo.com>
18739 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18740 (gst_fake_src_get_times), (gst_fake_src_create):
18741 Fix broken sync option, fixes #323259
18743 2005-12-07 Wim Taymans <wim@fluendo.com>
18748 * gst/gstcaps.c: (gst_caps_is_equal):
18749 Don't assert on NULL <--> X. Fixes #323260
18751 * gst/gstminiobject.c: (gst_mini_object_replace):
18752 If we're doing atomic operations, we might just as well use
18753 the proper way to get an atomic pointer.
18755 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18756 Clean up debugging.
18758 2005-12-07 Michael Smith <msmith@fluendo.com>
18760 * gst/parse/grammar.y:
18761 Remove handling of { } for threads.
18763 2005-12-06 David Schleef <ds@schleef.org>
18765 * libs/gst/base/gstbasetransform.c: speling fix.
18767 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18769 * docs/libs/tmpl/gstdataprotocol.sgml:
18770 * docs/random/omega/testing/gstobject.c:
18773 * gst/gstelement.c:
18774 * gst/gstelementfactory.c:
18777 * gst/gstghostpad.c:
18779 * gst/gstpadtemplate.c:
18780 * gst/gstregistryxml.c:
18781 * gst/gsttaglist.c:
18782 * gst/gsttagsetter.c:
18783 * gst/gsttypefind.c:
18785 * libs/gst/base/gstbasesrc.c:
18786 * libs/gst/net/gstnetclientclock.c:
18787 * libs/gst/net/gstnettimeprovider.c:
18788 * plugins/elements/gstfakesrc.c:
18789 * plugins/elements/gstfdsrc.c:
18790 * plugins/elements/gstfilesrc.c:
18791 * plugins/elements/gstidentity.c:
18792 * plugins/elements/gstqueue.c:
18793 * plugins/elements/gsttypefindelement.c:
18794 * plugins/indexers/gstfileindex.c:
18795 * plugins/indexers/gstmemindex.c:
18796 * tests/check/gst/gsttag.c:
18797 * tests/old/examples/cutter/cutter.c:
18798 * tests/old/examples/mixer/mixer.c:
18799 * tests/old/examples/xml/runxml.c: (main):
18800 * tests/old/testsuite/caps/normalisation.c:
18801 * tests/old/testsuite/debug/global.c:
18802 * tests/old/testsuite/parse/parse1.c:
18803 * tools/gst-xmlinspect.c:
18804 * win32/common/dirent.c:
18807 === release 0.10.0 ===
18809 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18812 releasing 0.10.0, "Maroilles"
18814 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18816 submitted by: Funda Wang <fundawang@linux.net.cn>
18820 added Chinese (Traditional) translation
18822 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18824 * docs/gst/gstreamer-sections.txt:
18825 * docs/libs/tmpl/gstdataprotocol.sgml:
18826 * docs/random/thomasvs/TODO:
18831 2005-12-05 Andy Wingo <wingo@pobox.com>
18833 patch by: Wim Taymans <wim@fluendo.com>
18835 * libs/gst/base/gstbasetransform.c
18836 (gst_base_transform_prepare_output_buf)
18837 (gst_base_transform_buffer_alloc):
18838 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18839 alloc_buffer_and_set_caps.
18841 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18842 set_caps on the source pad.
18843 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18844 alloc_buffer used to do. Fixes #322874.
18846 * docs/gst/gstreamer-sections.txt:
18847 * docs/design/part-negotiation.txt:
18848 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18851 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18853 patch by: Sebastien Moutte
18856 * win32/common/config.h.in:
18857 * win32/vs6/libgstcontroller.dsp:
18860 2005-12-05 Wim Taymans <wim@fluendo.com>
18862 * gst/gstcaps.c: (gst_caps_is_equal):
18863 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18864 (gst_fake_src_create):
18865 Back out previous code changes, leave doc updates, file bugs
18868 2005-12-05 Wim Taymans <wim@fluendo.com>
18870 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18871 (gst_fake_src_get_times), (gst_fake_src_create):
18872 * plugins/elements/gstfakesrc.h:
18873 Fix broken sync code.
18875 2005-12-05 Wim Taymans <wim@fluendo.com>
18877 * gst/gstcaps.c: (gst_caps_is_equal):
18878 Comparing NULL against !NULL yields different caps, not a
18881 2005-12-05 Wim Taymans <wim@fluendo.com>
18883 * gst/gstpipeline.c:
18884 Fix small typo in docs.
18886 2005-12-05 Andy Wingo <wingo@pobox.com>
18888 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18890 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18891 registries/plugins with a MAJORMINOR one.
18892 (plugin_desc): Rename library from gstcoreleements to
18893 staticelements. Fixes #323222.
18895 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18897 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18898 Change debug category to 'collectpads' from 'collect_pads'
18901 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18903 patch by: Sebastien Moutte
18905 * libs/gst/controller/gstinterpolation.c:
18906 use convert function for uint64/double
18907 * win32/vs6/libgstcontroller.dsp:
18910 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18912 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18913 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18915 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18916 add tests that seem to show that the guint64/gdouble conversions
18919 2005-12-02 Wim Taymans <wim@fluendo.com>
18921 * gst/gstregistry.c: (gst_registry_add_path):
18922 * gst/gstregistry.h:
18923 * gst/gstregistryxml.c:
18926 2005-12-02 Wim Taymans <wim@fluendo.com>
18928 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18929 (gst_util_uint64_scale_int):
18932 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18933 Add debug log line.
18935 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18938 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18941 * win32/common/config.h:
18942 * win32/vs6/gstreamer.dsw:
18943 * win32/vs6/libgstcoreelements.dsp:
18944 * win32/vs6/libgstelements.dsp:
18945 renamed core elements plugin
18947 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18949 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18951 do piece-wise major/minor comparison so 0.9 < 0.10
18952 also allow .exe extensions for tools
18954 2005-12-02 Michael Smith <msmith@fluendo.com>
18957 Escape a % to make gtkdoc happier; bug 322958.
18959 === release 0.9.7 ===
18961 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18964 releasing 0.9.7, "My Dog Has No Nose"
18966 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18968 * common/gst-xmlinspect.py:
18970 * docs/libs/tmpl/gstdataprotocol.sgml:
18971 * docs/random/release:
18990 * win32/common/config.h:
18991 * win32/common/config.h.in:
18992 * win32/vs6/gst_inspect.dsp:
18993 * win32/vs6/gst_launch.dsp:
18994 * win32/vs6/libgstbase.dsp:
18995 * win32/vs6/libgstelements.dsp:
18996 * win32/vs6/libgstreamer.dsp:
18997 * win32/vs7/GStreamer.vcproj:
18998 * win32/vs7/gst-inspect.vcproj:
18999 * win32/vs7/gst-launch.vcproj:
19000 * win32/vs7/libgstbase.vcproj:
19001 bump GST_MAJORMINOR to 0.10
19002 reset libtool version
19004 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19008 Added Bulgarian translation by (Alexander Shopov)
19010 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19012 * tests/check/gst/gstplugin.c:
19015 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19017 * common/gst-xmlinspect.py:
19018 * common/gtk-doc-plugins.mak:
19020 * docs/Makefile.am:
19021 * docs/gst/Makefile.am:
19022 * docs/gst/gstreamer-docs.sgml:
19023 * docs/gst/gstreamer-sections.txt:
19024 * docs/gst/gstreamer.types:
19025 * docs/gst/gstreamer.types.in:
19026 * docs/plugins/Makefile.am:
19027 * docs/plugins/gstreamer-plugins-docs.sgml:
19028 * docs/plugins/gstreamer-plugins-sections.txt:
19029 * docs/plugins/gstreamer-plugins.types:
19030 * docs/plugins/inspect.stamp:
19031 * docs/plugins/inspect/plugin-coreelements.xml:
19032 * docs/plugins/inspect/plugin-coreindexers.xml:
19033 * docs/plugins/scanobj-build.stamp:
19034 * gstreamer.spec.in:
19035 * plugins/elements/Makefile.am:
19036 * plugins/elements/gstelements.c:
19037 * plugins/elements/gstfakesink.c:
19038 * plugins/elements/gstfakesrc.c:
19039 * plugins/elements/gstfilesink.c:
19040 * plugins/elements/gstfilesrc.c:
19041 * plugins/elements/gstqueue.c:
19042 * plugins/indexers/Makefile.am:
19043 * plugins/indexers/gstindexers.c:
19044 document core plugins in a separate document just like all the
19046 rename these plugins to something starting with core
19048 2005-12-01 Andy Wingo <wingo@pobox.com>
19050 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19051 padding here before, but it missed the commit.
19053 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19055 * libs/gst/controller/gstinterpolation.c:
19056 whitespace prices have crashed, we should feel free to use some now
19057 use gst_guint64_to_gdouble
19059 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19061 * libs/gst/controller/gstcontroller.c:
19062 * libs/gst/controller/gsthelper.c:
19063 * libs/gst/controller/gstinterpolation.c:
19064 * libs/gst/controller/lib.c:
19065 wrap config.h include
19067 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19069 * docs/gst/gstreamer-sections.txt:
19072 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19074 * plugins/elements/gstelements.c:
19075 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19076 (gst_fd_sink__class_init), (gst_fd_sink__init),
19077 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19078 (gst_fd_sink__get_property):
19079 * plugins/elements/gstfdsink.h:
19080 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19081 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19082 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19083 (gst_fd_src_unlock), (gst_fd_src_set_property),
19084 (gst_fd_src_get_property), (gst_fd_src_create),
19085 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19086 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19087 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19088 (gst_fd_src_uri_handler_init):
19089 * plugins/elements/gstfdsrc.h:
19090 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19093 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19095 * docs/gst/Makefile.am:
19096 * docs/gst/gstreamer.types.in:
19100 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19106 * gst/gstregistry.h:
19107 * tests/benchmarks/complexity.c:
19108 * tests/benchmarks/mass-elements.c:
19109 * tests/check/Makefile.am:
19110 * tools/Makefile.am:
19111 * tools/gst-inspect.c:
19112 * tools/gst-xmlinspect.c:
19113 various fixes to make
19114 --disable-nls --disable-registry --disable-loadsave
19115 --disable-parse --disable-gst-debug
19116 work and get the core .so down to 360444 bytes after stripping
19118 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19123 * docs/random/thomasvs/TODO:
19124 * tests/Makefile.am:
19128 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19130 * win32/GStreamer.vcproj:
19133 * win32/Makefile.inspect:
19134 * win32/Makefile.launch:
19135 * win32/Makefile.register:
19136 * win32/README.txt:
19137 * win32/gst-inspect.vcproj:
19138 * win32/gst-launch.vcproj:
19139 * win32/gst-register.vcproj:
19140 * win32/gstelements.vcproj:
19141 * win32/gstgetbits.def:
19142 * win32/gstgetbits.vcproj:
19143 * win32/gstreamer-dbg.def:
19144 * win32/gstreamer.def:
19145 * win32/libgstbase.def:
19146 * win32/libgstbase.vcproj:
19147 * win32/link_oldruntime.c:
19151 * win32/msvc71.sln:
19152 move even more stuff, win32/ is nice and clean now
19154 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19156 * libs/gst/control/.cvsignore:
19161 * win32/gstbytestream.def:
19162 * win32/gstbytestream.vcproj:
19163 * win32/gstconfig.h:
19164 * win32/gstenumtypes.c:
19165 * win32/gstenumtypes.h:
19166 * win32/gstoptimalscheduler.vcproj:
19167 * win32/gstversion.h:
19169 * win32/testsuite/bins.vcproj:
19170 * win32/testsuite/bytestream.vcproj:
19171 * win32/testsuite/caps.vcproj:
19172 * win32/testsuite/cleanup.vcproj:
19173 * win32/testsuite/clock.vcproj:
19174 * win32/testsuite/debug.vcproj:
19175 * win32/testsuite/dlopen.vcproj:
19176 * win32/testsuite/dynparams.vcproj:
19177 * win32/testsuite/elements.vcproj:
19178 * win32/testsuite/ghostpads.vcproj:
19179 * win32/testsuite/indexers.vcproj:
19180 * win32/testsuite/negotiation.vcproj:
19181 * win32/testsuite/parse.vcproj:
19182 * win32/testsuite/plugin.vcproj:
19183 * win32/testsuite/refcounting.vcproj:
19184 * win32/testsuite/schedulers.vcproj:
19185 * win32/testsuite/states.vcproj:
19186 * win32/testsuite/tags.vcproj:
19187 * win32/testsuite/threads.vcproj:
19188 remove old win32 stuff that isn't maintained and should be
19191 2005-11-30 Andy Wingo <wingo@pobox.com>
19193 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19194 loading the gst.interfaces python module bork.
19196 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19197 available since GLib 2.2. Fixes #318031.
19199 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19202 * check/.cvsignore:
19203 * check/Makefile.am:
19204 * check/elements/.cvsignore:
19205 * check/elements/fakesrc.c:
19206 * check/elements/fdsrc.c:
19207 * check/elements/identity.c:
19208 * check/generic/.cvsignore:
19209 * check/generic/states.c:
19210 * check/gst-libs/.cvsignore:
19211 * check/gst-libs/controller.c:
19212 * check/gst-libs/gdp.c:
19213 * check/gst/.cvsignore:
19214 * check/gst/capslist.h:
19216 * check/gst/gstbin.c:
19217 * check/gst/gstbuffer.c:
19218 * check/gst/gstbus.c:
19219 * check/gst/gstcaps.c:
19220 * check/gst/gstelement.c:
19221 * check/gst/gstevent.c:
19222 * check/gst/gstghostpad.c:
19223 * check/gst/gstiterator.c:
19224 * check/gst/gstmessage.c:
19225 * check/gst/gstminiobject.c:
19226 * check/gst/gstobject.c:
19227 * check/gst/gstpad.c:
19228 * check/gst/gstpipeline.c:
19229 * check/gst/gstplugin.c:
19230 * check/gst/gstsegment.c:
19231 * check/gst/gststructure.c:
19232 * check/gst/gstsystemclock.c:
19233 * check/gst/gsttag.c:
19234 * check/gst/gstutils.c:
19235 * check/gst/gstvalue.c:
19236 * check/net/.cvsignore:
19237 * check/net/gstnetclientclock.c:
19238 * check/net/gstnettimeprovider.c:
19239 * check/pipelines/.cvsignore:
19240 * check/pipelines/cleanup.c:
19241 * check/pipelines/simple_launch_lines.c:
19242 * check/pipelines/stress.c:
19243 * check/states/.cvsignore:
19244 * check/states/sinks.c:
19246 * examples/Makefile.am:
19247 * examples/appreader/.cvsignore:
19248 * examples/appreader/Makefile.am:
19249 * examples/appreader/appreader.c:
19250 * examples/controller/.cvsignore:
19251 * examples/controller/Makefile.am:
19252 * examples/controller/audio-example.c:
19253 * examples/cutter/.cvsignore:
19254 * examples/cutter/Makefile.am:
19255 * examples/cutter/cutter.c:
19256 * examples/cutter/cutter.h:
19257 * examples/events/Makefile.am:
19258 * examples/events/seek.c:
19259 * examples/helloworld/.cvsignore:
19260 * examples/helloworld/Makefile.am:
19261 * examples/helloworld/helloworld.c:
19262 * examples/helloworld2/.cvsignore:
19263 * examples/helloworld2/Makefile.am:
19264 * examples/helloworld2/helloworld2.c:
19265 * examples/launch/.cvsignore:
19266 * examples/launch/Makefile.am:
19267 * examples/launch/mp3parselaunch.c:
19268 * examples/launch/mp3play:
19269 * examples/manual/.cvsignore:
19270 * examples/manual/Makefile.am:
19271 * examples/manual/extract.pl:
19272 * examples/metadata/Makefile.am:
19273 * examples/metadata/read-metadata.c:
19274 * examples/mixer/.cvsignore:
19275 * examples/mixer/Makefile.am:
19276 * examples/mixer/mixer.c:
19277 * examples/mixer/mixer.h:
19278 * examples/pingpong/.cvsignore:
19279 * examples/pingpong/Makefile.am:
19280 * examples/pingpong/pingpong.c:
19281 * examples/plugins/.cvsignore:
19282 * examples/plugins/Makefile.am:
19283 * examples/plugins/example.c:
19284 * examples/plugins/example.h:
19285 * examples/pwg/.cvsignore:
19286 * examples/pwg/Makefile.am:
19287 * examples/pwg/extract.pl:
19288 * examples/queue/.cvsignore:
19289 * examples/queue/Makefile.am:
19290 * examples/queue/queue.c:
19291 * examples/queue2/.cvsignore:
19292 * examples/queue2/Makefile.am:
19293 * examples/queue2/queue2.c:
19294 * examples/queue3/.cvsignore:
19295 * examples/queue3/Makefile.am:
19296 * examples/queue3/queue3.c:
19297 * examples/queue4/.cvsignore:
19298 * examples/queue4/Makefile.am:
19299 * examples/queue4/queue4.c:
19300 * examples/retag/.cvsignore:
19301 * examples/retag/Makefile.am:
19302 * examples/retag/retag.c:
19303 * examples/retag/transcode.c:
19304 * examples/thread/.cvsignore:
19305 * examples/thread/Makefile.am:
19306 * examples/thread/thread.c:
19307 * examples/typefind/.cvsignore:
19308 * examples/typefind/Makefile.am:
19309 * examples/typefind/typefind.c:
19310 * examples/xml/.cvsignore:
19311 * examples/xml/Makefile.am:
19312 * examples/xml/createxml.c:
19313 * examples/xml/runxml.c:
19314 * tests/Makefile.am:
19315 * tests/check/Makefile.am:
19316 * testsuite/.cvsignore:
19317 * testsuite/Makefile.am:
19319 * testsuite/caps/.cvsignore:
19320 * testsuite/caps/Makefile.am:
19321 * testsuite/caps/app_fixate.c:
19322 * testsuite/caps/audioscale.c:
19323 * testsuite/caps/caps.c:
19324 * testsuite/caps/caps.h:
19325 * testsuite/caps/caps_strings:
19326 * testsuite/caps/compatibility.c:
19327 * testsuite/caps/deserialize.c:
19328 * testsuite/caps/enumcaps.c:
19329 * testsuite/caps/eratosthenes.c:
19330 * testsuite/caps/filtercaps.c:
19331 * testsuite/caps/fixed.c:
19332 * testsuite/caps/fraction-convert.c:
19333 * testsuite/caps/fraction-multiply-and-zero.c:
19334 * testsuite/caps/intersect2.c:
19335 * testsuite/caps/intersection.c:
19336 * testsuite/caps/normalisation.c:
19337 * testsuite/caps/random.c:
19338 * testsuite/caps/renegotiate.c:
19339 * testsuite/caps/sets.c:
19340 * testsuite/caps/simplify.c:
19341 * testsuite/caps/string-conversions.c:
19342 * testsuite/caps/structure.c:
19343 * testsuite/caps/subtract.c:
19344 * testsuite/caps/union.c:
19345 * testsuite/debug/.cvsignore:
19346 * testsuite/debug/Makefile.am:
19347 * testsuite/debug/category.c:
19348 * testsuite/debug/commandline.c:
19349 * testsuite/debug/global.c:
19350 * testsuite/debug/output.c:
19351 * testsuite/debug/printf_extension.c:
19352 * testsuite/dlopen/.cvsignore:
19353 * testsuite/dlopen/Makefile.am:
19354 * testsuite/dlopen/dlopen_gst.c:
19355 * testsuite/dlopen/loadgst.c:
19356 * testsuite/elements/.cvsignore:
19357 * testsuite/elements/Makefile.am:
19358 * testsuite/elements/gst-inspect-check.in:
19359 * testsuite/elements/struct_i386.h:
19360 * testsuite/elements/struct_size.c:
19361 * testsuite/indexers/.cvsignore:
19362 * testsuite/indexers/Makefile.am:
19363 * testsuite/indexers/cache1.c:
19364 * testsuite/indexers/indexdump.c:
19365 * testsuite/parse/.cvsignore:
19366 * testsuite/parse/Makefile.am:
19367 * testsuite/parse/parse1.c:
19368 * testsuite/parse/parse2.c:
19369 * testsuite/plugin/.cvsignore:
19370 * testsuite/plugin/Makefile.am:
19371 * testsuite/plugin/README:
19372 * testsuite/plugin/dynamic.c:
19373 * testsuite/plugin/linked.c:
19374 * testsuite/plugin/loading.c:
19375 * testsuite/plugin/registry.c:
19376 * testsuite/plugin/static.c:
19377 * testsuite/plugin/static2.c:
19378 * testsuite/plugin/testplugin.c:
19379 * testsuite/plugin/testplugin2.c:
19380 * testsuite/plugin/testplugin2_s.c:
19381 * testsuite/plugin/testplugin_s.c:
19382 * testsuite/refcounting/.cvsignore:
19383 * testsuite/refcounting/Makefile.am:
19384 * testsuite/refcounting/bin.c:
19385 * testsuite/refcounting/element.c:
19386 * testsuite/refcounting/element_pad.c:
19387 * testsuite/refcounting/mainloop.c:
19388 * testsuite/refcounting/mem.c:
19389 * testsuite/refcounting/mem.h:
19390 * testsuite/refcounting/object.c:
19391 * testsuite/refcounting/pad.c:
19392 * testsuite/refcounting/sched.c:
19393 * testsuite/refcounting/thread.c:
19394 * testsuite/states/.cvsignore:
19395 * testsuite/states/Makefile.am:
19396 * testsuite/states/bin.c:
19397 * testsuite/states/locked.c:
19398 * testsuite/states/parent.c:
19399 * testsuite/threads/.cvsignore:
19400 * testsuite/threads/159566.c:
19401 * testsuite/threads/159852.c:
19402 * testsuite/threads/Makefile.am:
19403 * testsuite/threads/queue.c:
19404 * testsuite/threads/signals.c:
19405 * testsuite/threads/staticrec.c:
19406 * testsuite/threads/thread.c:
19407 * testsuite/threads/threadb.c:
19408 * testsuite/threads/threadc.c:
19409 * testsuite/threads/threadd.c:
19410 * testsuite/threads/threade.c:
19411 * testsuite/threads/threadf.c:
19412 * testsuite/threads/threadg.c:
19413 * testsuite/threads/threadh.c:
19414 * testsuite/threads/threadi.c:
19415 move all of these under tests
19417 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19420 * tests/Makefile.am:
19423 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19425 * docs/gst/gstreamer-sections.txt:
19426 * tests/sched/.cvsignore:
19427 * tests/sched/Makefile.am:
19428 * tests/sched/cases/(fs-fs).xml:
19429 * tests/sched/cases/(fs-i-fs).xml:
19430 * tests/sched/cases/(fs-i-i-fs).xml:
19431 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19432 * tests/sched/dynamic-pipeline.c:
19433 * tests/sched/interrupt1.c:
19434 * tests/sched/interrupt2.c:
19435 * tests/sched/interrupt3.c:
19436 * tests/sched/runtestcases:
19437 * tests/sched/runxml.c:
19438 * tests/sched/sched-stress.c:
19439 * tests/sched/sort.c:
19440 * tests/sched/testcases:
19441 * tests/sched/testcases1.tc:
19442 * tests/seeking/.cvsignore:
19443 * tests/seeking/Makefile.am:
19444 * tests/seeking/seeking1.c:
19445 * tests/threadstate/.cvsignore:
19446 * tests/threadstate/Makefile.am:
19447 * tests/threadstate/test1.c:
19448 * tests/threadstate/test2.c:
19449 * tests/threadstate/threadstate1.c:
19450 * tests/threadstate/threadstate2.c:
19451 * tests/threadstate/threadstate3.c:
19452 * tests/threadstate/threadstate4.c:
19453 * tests/threadstate/threadstate5.c:
19454 remove obsolete tests
19456 * tests/bench-complexity.scm:
19457 * tests/bench-mass_elements.scm:
19458 * tests/complexity.c:
19459 * tests/complexity.gnuplot:
19460 * tests/instantiate/.cvsignore:
19461 * tests/instantiate/Makefile.am:
19462 * tests/instantiate/caps.c:
19463 * tests/mass_elements.c:
19464 * tests/network-clock-utils.scm:
19465 * tests/network-clock.scm:
19467 First pass at cleaning up tests/ dir before moving the rest
19468 Combined with CVS surgery
19470 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19473 queue has moved, update
19475 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19477 * docs/gst/gstreamer-sections.txt:
19478 remove double entries from the docs
19479 * gst/gst_private.h:
19480 * gst/gstinfo.c: (_gst_debug_init):
19481 remove the THREAD debug category
19485 * docs/gst/gstreamer.types:
19486 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19487 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19488 completely move queue and fix up debugging categories
19490 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19492 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19493 make initialization portable, using LL is not
19495 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19497 * win32/common/gstconfig.h:
19500 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19502 * win32/common/libgstreamer.def:
19503 rename symbols; sort base section
19505 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19507 * gst/gstclock.c: (do_linear_regression):
19508 remove crack non-portable handrolled DEBUG macro
19510 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19512 * docs/random/release:
19514 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19515 (gst_object_flags_get_type), (register_gst_bin_flags),
19516 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19517 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19518 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19519 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19520 (gst_caps_flags_get_type), (register_gst_clock_return),
19521 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19522 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19523 (gst_clock_flags_get_type), (register_gst_state),
19524 (gst_state_get_type), (register_gst_state_change_return),
19525 (gst_state_change_return_get_type), (register_gst_state_change),
19526 (gst_state_change_get_type), (register_gst_element_flags),
19527 (gst_element_flags_get_type), (register_gst_core_error),
19528 (gst_core_error_get_type), (register_gst_library_error),
19529 (gst_library_error_get_type), (register_gst_resource_error),
19530 (gst_resource_error_get_type), (register_gst_stream_error),
19531 (gst_stream_error_get_type), (register_gst_event_type_flags),
19532 (gst_event_type_flags_get_type), (register_gst_event_type),
19533 (gst_event_type_get_type), (register_gst_seek_type),
19534 (gst_seek_type_get_type), (register_gst_seek_flags),
19535 (gst_seek_flags_get_type), (register_gst_format),
19536 (gst_format_get_type), (register_gst_index_certainty),
19537 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19538 (gst_index_entry_type_get_type),
19539 (register_gst_index_lookup_method),
19540 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19541 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19542 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19543 (gst_index_flags_get_type), (register_gst_debug_level),
19544 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19545 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19546 (gst_iterator_result_get_type), (register_gst_iterator_item),
19547 (gst_iterator_item_get_type), (register_gst_message_type),
19548 (gst_message_type_get_type), (register_gst_mini_object_flags),
19549 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19550 (gst_pad_link_return_get_type), (register_gst_flow_return),
19551 (gst_flow_return_get_type), (register_gst_activate_mode),
19552 (gst_activate_mode_get_type), (register_gst_pad_direction),
19553 (gst_pad_direction_get_type), (register_gst_pad_flags),
19554 (gst_pad_flags_get_type), (register_gst_pad_presence),
19555 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19556 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19557 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19558 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19559 (gst_plugin_flags_get_type), (register_gst_rank),
19560 (gst_rank_get_type), (register_gst_query_type),
19561 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19562 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19563 (gst_tag_flag_get_type), (register_gst_task_state),
19564 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19565 (gst_alloc_trace_flags_get_type),
19566 (register_gst_type_find_probability),
19567 (gst_type_find_probability_get_type), (register_gst_uri_type),
19568 (gst_uri_type_get_type), (register_gst_parse_error),
19569 (gst_parse_error_get_type):
19570 * win32/common/gstenumtypes.h:
19571 * win32/common/gstversion.h:
19572 update visual studio generated files
19574 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19576 * win32/vs6/libgstbase.dsp:
19577 * win32/vs6/libgstelements.dsp:
19578 update project files for new locations
19580 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19585 reinstate and update
19590 * docs/random/LICENSE:
19593 2005-11-30 Edward Hervey <edward@fluendo.com>
19595 * gst/gsttypefind.c: (gst_type_find_register):
19596 * gst/gsttypefind.h:
19597 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19598 (gst_type_find_factory_dispose):
19599 * gst/gsttypefindfactory.h:
19600 Fix memory leak in GstTypeFindFactory.
19602 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19605 * plugins/elements/Makefile.am:
19606 * plugins/elements/gstelements.c:
19607 * plugins/elements/gstqueue.c:
19608 move queue from core to the elements plugin
19610 2005-11-29 Andy Wingo <wingo@pobox.com>
19612 * libs/gst/base/gstbasetransform.h:
19613 * libs/gst/base/gstbasesrc.h:
19614 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19616 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19617 of pointers by which to pad very extensible base classes (like the
19618 ones in libs/gst/base).
19620 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19622 * docs/gst/gstreamer-docs.sgml:
19623 * docs/gst/gstreamer-sections.txt:
19624 * docs/libs/gstreamer-libs-docs.sgml:
19625 * docs/libs/gstreamer-libs-sections.txt:
19626 moving documentation from core to lib
19628 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19630 * check/Makefile.am:
19632 * docs/gst/Makefile.am:
19634 * gst/base/.cvsignore:
19635 * gst/base/Makefile.am:
19637 * gst/base/gstadapter.c:
19638 * gst/base/gstadapter.h:
19639 * gst/base/gstbasesink.c:
19640 * gst/base/gstbasesink.h:
19641 * gst/base/gstbasesrc.c:
19642 * gst/base/gstbasesrc.h:
19643 * gst/base/gstbasetransform.c:
19644 * gst/base/gstbasetransform.h:
19645 * gst/base/gstcollectpads.c:
19646 * gst/base/gstcollectpads.h:
19647 * gst/base/gstpushsrc.c:
19648 * gst/base/gstpushsrc.h:
19649 * gst/base/gsttypefindhelper.c:
19650 * gst/base/gsttypefindhelper.h:
19651 * gst/check/Makefile.am:
19652 * gst/check/gstcheck.c:
19653 * gst/check/gstcheck.h:
19654 * gst/net/Makefile.am:
19655 * gst/net/gstnet.h:
19656 * gst/net/gstnetclientclock.c:
19657 * gst/net/gstnetclientclock.h:
19658 * gst/net/gstnettimepacket.c:
19659 * gst/net/gstnettimepacket.h:
19660 * gst/net/gstnettimeprovider.c:
19661 * gst/net/gstnettimeprovider.h:
19662 * libs/gst/Makefile.am:
19663 * libs/gst/base/Makefile.am:
19664 * libs/gst/base/gstbasetransform.c:
19665 * libs/gst/check/Makefile.am:
19666 * plugins/elements/Makefile.am:
19668 CVS surgery + support to move base, check, and net out of gst
19671 2005-11-29 Andy Wingo <wingo@pobox.com>
19673 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19675 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19678 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19680 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19682 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19684 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19685 padding; reduces object size by about 30%. We don't expect
19686 anything else to go into gstobject.
19688 * gst/gstminiobject.h (struct _GstMiniObject)
19689 (struct _GstMiniObjectClass): Only one pointer of padding; the
19690 payload is only a pointer and two ints anyway. For the class there
19691 are only two methods as well.
19693 * gst/gstelement.h (struct _GstElementClass): Removed
19694 the state_changed signal callback, it is not used.
19696 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19698 * docs/gst/gstreamer.types:
19699 fix includes, though they are a little dinky
19701 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19703 * check/Makefile.am:
19704 look in the right place for elements, a lot more chance of
19707 remove indexers and elements subdirs
19708 * plugins/Makefile.am:
19709 make indexers conditional
19711 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19715 * plugins/elements/Makefile.am:
19716 * plugins/elements/gstcapsfilter.c:
19717 * plugins/elements/gstfilesink.c:
19718 * plugins/elements/gstfilesrc.c:
19719 * plugins/elements/gstidentity.c:
19720 * plugins/indexers/Makefile.am:
19721 do CVS surgery and related build fixery to move elements
19722 and indexers in a new gstreamer/plugins directory, out of the
19725 2005-11-29 Andy Wingo <wingo@pobox.com>
19727 * check/Makefile.am:
19728 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19729 * pkgconfig/gstreamer-net.pc.in:
19730 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19733 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19735 * tools/Makefile.am:
19736 * tools/gst-complete.1.in:
19737 * tools/gst-complete.c:
19738 * tools/gst-compprep.1.in:
19739 * tools/gst-compprep.c:
19740 removing -compprep and -complete
19742 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19744 * gst/gstevent.c: (gst_event_new_new_segment),
19745 (gst_event_parse_new_segment):
19747 fix #320529 - clean up new_segment API and structure.
19748 Let's hope everyone was using the methods, and not the structure.
19750 2005-11-29 Edward Hervey <edward@fluendo.com>
19752 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19753 (gst_base_sink_event), (gst_base_sink_do_sync),
19754 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19755 Properly handle non GST_FORMAT_TIME segment
19756 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19757 Properly handle non GST_FORMAT_TIME segment
19758 * gst/gstsegment.c:
19759 This function is valid if the accumulator is 0 and the format
19760 is different from the requested format.
19762 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19764 * docs/gst/gstreamer-sections.txt:
19765 Add gst_query_new_seeking and gst_query_parse_seeking to the
19768 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19770 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19771 Treat a pad alloc with new caps the same as if we were not
19772 negotiated, in order to allow a changing upstream output
19773 to produce a new format of data.
19775 2005-11-29 Edward Hervey <edward@fluendo.com>
19777 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19778 (gst_base_transform_event), (gst_base_transform_eventfunc):
19779 The event virtual method is now properly implemented, with a default
19781 Sub classes should call the parent_class event method. They should
19782 return FALSE if they had a problem handling the given event, or don't
19783 want GstBaseTransform to send that even downstream
19784 * gst/elements/gstidentity.c: (gst_identity_class_init),
19785 (gst_identity_init), (gst_identity_event),
19786 (gst_identity_transform_ip), (gst_identity_set_property),
19787 (gst_identity_get_property):
19788 * gst/elements/gstidentity.h:
19789 Added the single-segment boolean property.
19790 If set to TRUE, it will output a single segment of data, starting from
19791 0, will eat up all incoming newsegment, and modify the timestamp of the
19792 buffers accordingly
19794 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19796 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19797 Don't ref NULL target pad (#322751). Improve docs.
19799 2005-11-29 Michael Smith <msmith@fluendo.com>
19801 * gst/gstregistryxml.c: (load_plugin):
19802 Don't crash if we failed to load a feature from a plugin.
19804 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19806 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19808 use more check API and less GLib API
19810 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19813 don't run checks if we don't have check
19814 * common/check.mak:
19815 remove the registry when running make torture
19816 * docs/gst/gstreamer-sections.txt:
19817 remove second multiply
19818 * gst/gstqueue.c: (gst_queue_loop):
19819 fix a compile warning when disabling debug
19821 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19824 Hey! Let's print the pad name if the pointer != NULL instead
19825 of when it == NULL :-)
19827 2005-11-28 Wim Taymans <wim@fluendo.com>
19829 * check/gst/gstutils.c: (GST_START_TEST):
19830 Updated check, add some scaling accuracy checking code.
19832 * gst/gstutils.c: (gst_util_div128_64),
19833 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19834 (gst_util_uint64_scale_int):
19835 Fix 6 times faster division code. Optimize for common
19836 1/1 and less common X/1 cases.
19838 2005-11-28 Wim Taymans <wim@fluendo.com>
19840 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19843 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19844 (do_linear_regression), (gst_clock_add_observation):
19846 Release lock when the clock cannot be slaved.
19847 Catch the case where the regression returned an invalid denominator.
19849 * gst/gstutils.c: (gst_util_div128_64_iterate),
19850 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19851 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19852 Add protentially more performant non-iterative 128/64 divide function
19853 that unfortunatly does not work yet.
19854 Shortcut the trivial 0/X = 0 case.
19855 Remove the warnings on overflow.
19857 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19859 * gst/gstplugin.c: (gst_plugin_register_func):
19860 everything causing a plugin not to load should be at least a WARNING
19862 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19864 * docs/random/ensonic/dparams.txt:
19865 some TODOs for the next dev cycle
19866 * libs/gst/controller/gstcontroller.c:
19867 (gst_controlled_property_set_interpolation_mode),
19868 (gst_controlled_property_new):
19869 * libs/gst/controller/gstcontroller.h:
19870 use base type to assign acccessor functions
19872 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19874 * check/Makefile.am:
19875 Oops, that should have been top_srcdir
19877 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19879 * check/Makefile.am:
19880 * check/elements/fdsrc.c: (GST_START_TEST):
19881 Use a cmdline define to specify the location of a file to use for
19882 testing, to avoid breaking distcheck.
19884 2005-11-28 Andy Wingo <wingo@pobox.com>
19886 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19888 2005-11-28 Edward Hervey <edward@fluendo.com>
19890 * tools/gst-launch.c: (main):
19891 Clarify the output strings, makes it easier to translate.
19894 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19897 don't try and build net if we don't even have <sys/socket.h>
19899 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19901 * check/Makefile.am:
19902 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19903 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19904 Add tests for fdsrc seekability
19906 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19907 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19908 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19909 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19910 * gst/elements/gstfdsrc.h:
19911 fdsrc should not be a 'live' source.
19912 Implement seeking on seekable fd's.
19914 * gst/gstquery.c: (gst_query_new_seeking),
19915 (gst_query_parse_seeking):
19917 Implement SEEKING query functions:
19918 *_new_seeking and *_parse_seeking
19920 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19922 * gst/gstelement.c: (gst_element_dispose):
19925 * gst/gstiterator.c:
19926 * gst/gststructure.c:
19929 * libs/gst/controller/gstcontroller.c:
19930 (gst_controlled_property_set_interpolation_mode):
19931 * libs/gst/controller/gstcontroller.h:
19932 * libs/gst/controller/gstinterpolation.c:
19933 (interpolate_none_get_enum_value_array):
19934 support controlling enums
19936 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19939 Improve documentation for gst_value_union().
19942 Change return value for union, intersect and subtract functions
19943 from gint to gboolean.
19945 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19947 * gst/gstvalue.c: (gst_value_serialize_any_list),
19948 (gst_value_transform_any_list_string),
19949 (gst_value_deserialize_list), (gst_value_deserialize_array),
19950 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19951 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19952 (gst_value_set_fraction_range_full),
19953 (gst_value_deserialize_fraction_range),
19954 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19955 (gst_value_deserialize_boolean),
19956 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19957 (gst_value_serialize_float), (gst_value_deserialize_float),
19958 (gst_string_wrap), (gst_value_deserialize_string),
19959 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19960 (gst_value_union_int_range_int_range),
19961 (gst_value_intersect_int_range_int_range),
19962 (gst_value_intersect_double_range_double_range),
19963 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19964 (gst_value_subtract_int_range_int_range),
19965 (gst_value_subtract_double_double_range),
19966 (gst_value_subtract_double_range_double_range),
19967 (gst_value_deserialize_fraction):
19969 Use gint, gdouble and gchar in our API instead of int, double and
19970 char (and make usage in gstvalue.c more consistent).
19972 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19974 * check/Makefile.am:
19975 * libs/gst/controller/Makefile.am:
19976 * libs/gst/dataprotocol/Makefile.am:
19977 fix up Makefile.am and remove GST_ENABLE_NEW
19979 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19983 * gst/base/Makefile.am:
19984 * gst/check/Makefile.am:
19985 * gst/elements/Makefile.am:
19986 * gst/net/Makefile.am:
19987 update LDFLAGS use some more
19989 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19991 * common/m4/gst-doc.m4:
19994 2005-11-26 Edward Hervey <edward@fluendo.com>
19996 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19997 This shouldn't issue a g_warning since it returns NULL if it
19998 couldn't find the plugin, and all functions using this behave
19999 properly on a NULL return. Switching to a GST_WARNING.
20001 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
20003 * gst/gstbin.c: (gst_bin_handle_message_func):
20004 Don't leak clock messages.
20006 2005-11-25 Wim Taymans <wim@fluendo.com>
20008 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20009 (gst_util_uint64_scale_int):
20010 Optimisations, remove unneeded vars.
20012 2005-11-25 Wim Taymans <wim@fluendo.com>
20014 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20015 Added more checks for the high precision uint64 cases.
20017 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20018 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20019 Implement high precision (guint64 * guint64) / guint64.
20021 2005-11-24 Wim Taymans <wim@fluendo.com>
20023 * gst/base/gstbasesrc.c: (gst_base_src_query):
20024 Fix wrong percentage query.
20026 * gst/gstutils.c: (gst_util_uint64_scale),
20027 (gst_util_uint64_scale_int):
20028 Add some more common cases that can be handled
20029 efficiently to _scale.
20031 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20033 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20034 (gst_mini_object_suite):
20035 don't use check calls from threads; check probably isn't
20036 threadsafe and using a lock to make it threadsafe would
20037 defeat the purpose of this check
20038 * gst/check/gstcheck.c:
20039 * gst/check/gstcheck.h:
20040 use GST_DEBUG some more
20042 2005-11-24 Wim Taymans <wim@fluendo.com>
20044 * gst/gstutils.c: (gst_util_uint64_scale),
20045 (gst_util_uint64_scale_int):
20046 Chain trivial case to _scale_int.
20048 2005-11-24 Wim Taymans <wim@fluendo.com>
20050 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20051 Added test for scaling.
20056 * gst/gstutils.c: (gst_util_uint64_scale_int):
20057 Implemented high precision scaling code.
20059 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20062 do not crash on pad==NULL
20064 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20066 Patch by: Stefan Kost
20068 * common/gtk-doc.mak:
20069 * docs/gst/Makefile.am:
20070 * docs/libs/Makefile.am:
20071 Fix distcheck issues for the libraries docs build
20074 2005-11-24 Michael Smith <msmith@fluendo.com>
20076 * docs/manual/basics-helloworld.xml:
20077 Fix bug #315027: memory leak in example code in docs.
20079 2005-11-24 Michael Smith <msmith@fluendo.com>
20081 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20082 Unlock the PREROLL_LOCK in a failure case.
20084 2005-11-24 Wim Taymans <wim@fluendo.com>
20086 * docs/gst/gstreamer-sections.txt:
20087 * gst/base/gstadapter.h:
20088 * gst/base/gstbasesink.h:
20089 * gst/base/gstbasesrc.h:
20090 * gst/base/gstbasetransform.h:
20091 * gst/base/gstpushsrc.h:
20092 * gst/elements/gstfakesink.h:
20093 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20094 * gst/elements/gstfakesrc.h:
20095 * gst/elements/gstfilesink.h:
20096 * gst/elements/gstfilesrc.h:
20099 * gst/gstbuffer.c: (_gst_buffer_copy):
20102 * gst/gstchildproxy.c:
20104 * gst/gstelement.c:
20105 * gst/gstelementfactory.c:
20106 * gst/gstelementfactory.h:
20108 * gst/gstghostpad.h:
20110 * gst/gstinterface.h:
20111 * gst/gstminiobject.c:
20112 * gst/gstminiobject.h:
20115 * gst/gstpadtemplate.h:
20116 * gst/gstpipeline.h:
20117 * gst/gstpluginfeature.h:
20120 * gst/gsttaglist.c:
20121 * gst/gsttaglist.h:
20122 * gst/gsttagsetter.c:
20123 * gst/gsttagsetter.h:
20126 * gst/gsttypefind.h:
20129 * gst/net/gstnetclientclock.c:
20130 * gst/net/gstnetclientclock.h:
20131 * gst/net/gstnettimepacket.c:
20132 * gst/net/gstnettimeprovider.c:
20133 * gst/net/gstnettimeprovider.h:
20136 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20138 * configure.ac: back to HEAD
20140 === release 0.9.6 ===
20142 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20145 releasing 0.9.6, "Always On Time"
20147 2005-11-23 Wim Taymans <wim@fluendo.com>
20149 * docs/gst/gstreamer-sections.txt:
20150 * gst/glib-compat.c:
20151 * gst/gsttagsetter.c:
20153 * gst/net/gstnetclientclock.c:
20154 * gst/net/gstnettimepacket.h:
20157 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20159 * docs/faq/using.xml:
20160 * docs/libs/tmpl/gstcontrol.sgml:
20161 * docs/manual/advanced-dparams.xml:
20162 * docs/manual/appendix-checklist.xml:
20163 * docs/manual/basics-elements.xml:
20164 * docs/pwg/other-source.xml:
20165 * docs/random/moving-plugins:
20167 * tools/gst-launch.1.in:
20168 remove mentions of sinesrc
20170 2005-11-23 Michael Smith <msmith@fluendo.com>
20172 * docs/gst/gstreamer-sections.txt:
20173 Update for new API and API changes.
20175 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20177 Documentation typo fix.
20178 * gst/net/gstnettimepacket.c:
20179 Documentation fixes for arguments.
20181 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20183 * gst/gststructure.c: (gst_structure_get_fraction),
20184 (gst_structure_parse_value),
20185 (gst_structure_fixate_field_nearest_fraction):
20186 * gst/gststructure.h:
20187 * gst/gstutils.c: (gst_util_uint64_scale_int):
20189 * scripts/update-funcnames:
20191 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20192 Make gst_structure_fixate_field_nearest_fraction take a numerator
20193 and denominator argument instead of a GValue
20194 add gst_structure_get_fraction helper function.
20196 2005-11-23 Wim Taymans <wim@fluendo.com>
20198 * docs/design/part-TODO.txt:
20201 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20202 * gst/net/gstnetclientclock.h:
20203 Use parent fields for timeout and window_size.
20205 2005-11-23 Andy Wingo <wingo@pobox.com>
20207 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20208 rate_num/rate_denom change.
20210 * gst/net/gstnetclientclock.c
20211 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20212 OBJECT_LOCK. Don't call add_observation with the lock.
20214 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20216 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20218 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20219 deal with rate as a fraction whose numerator and denominator are
20220 GstClockTime values.
20221 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20222 master; the other fields are protected by the SLAVE_LOCK.
20223 (do_linear_regression): Note that this must be called with the
20225 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20226 OBJECT_LOCK. Call set_calibration instead of touching the
20227 variables directly.
20228 (gst_clock_set_property, gst_clock_get_property): Protect
20229 master/slave parameters with the SLAVE_LOCK.
20231 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20232 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20233 note that all of the instance variables that add_observation and
20234 the set_master functions use are protected by that lock and not
20236 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20238 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20239 the caller to take the object lock.
20241 2005-11-23 Wim Taymans <wim@fluendo.com>
20243 * gst/gsterror.c: (_gst_core_errors_init):
20245 Add error for clock stuff.
20247 * gst/gstpipeline.c: (gst_pipeline_change_state),
20248 (gst_pipeline_set_clock):
20249 Post clock error when clock cannot be used in a pipeline.
20251 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20253 * docs/gst/gstreamer-sections.txt:
20254 make two symbols from gstinfo private for the docs
20255 * gst/base/gstcollectpads.h:
20257 fix doc typos, update docs
20259 2005-11-22 Wim Taymans <wim@fluendo.com>
20261 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20262 (gst_base_sink_wait), (gst_base_sink_do_sync),
20263 (gst_base_sink_handle_event):
20264 * gst/base/gstbasesink.h:
20265 No need to store the clock, the parent element class already
20268 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20269 Updates for clock_set returning a gboolean
20271 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20272 (gst_clock_id_wait_async), (gst_clock_class_init),
20273 (gst_clock_init), (gst_clock_finalize),
20274 (gst_clock_get_internal_time), (gst_clock_get_time),
20275 (gst_clock_slave_callback), (gst_clock_set_master),
20276 (gst_clock_get_master), (do_linear_regression),
20277 (gst_clock_add_observation), (gst_clock_set_property),
20278 (gst_clock_get_property):
20280 Implement master/slave. When setting a clock as a slave, a
20281 periodic timeout is scheduled to sample master and slave times.
20282 Then the slave clock is recalibrated to match offset and rate
20283 of the master clock.
20284 Update logging a bit.
20285 Add flag so that a clock can state that is cannot be slaved to
20288 * gst/gstelement.c: (gst_element_set_clock):
20289 * gst/gstelement.h:
20290 The set clock returns a gboolean for when an element cannot
20291 deal with the selected clock in the pipeline.
20293 * gst/gstpipeline.c: (gst_pipeline_change_state),
20294 (gst_pipeline_set_clock):
20295 * gst/gstpipeline.h:
20296 Handle the case where the selected clock cannot be set on
20299 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20300 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20301 (gst_net_client_clock_set_property),
20302 (gst_net_client_clock_get_property),
20303 (gst_net_client_clock_observe_times):
20304 * gst/net/gstnetclientclock.h:
20305 Use regression code in GstClock parent, remove duplicated
20308 2005-11-22 Michael Smith <msmith@fluendo.com>
20310 * gst/gstutils.c: (gst_util_clock_time_scale):
20312 * docs/gst/gstreamer-sections.txt:
20313 Rename method to have extra underscore.
20315 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20317 * gst/elements/Makefile.am:
20318 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20319 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20320 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20321 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20322 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20323 * gst/elements/gstfakesrc.h:
20324 * gst/gstqueue.c: (queue_leaky_get_type):
20325 correctly fix GEnumValues so that nick is the short lowercase
20327 * tools/gst-inspect.c: (print_element_properties_info):
20328 also show the nick, since it's useful to use from parse_launch
20332 2005-11-22 Michael Smith <msmith@fluendo.com>
20334 * gst/gstutils.c: (gst_util_clocktime_scale):
20336 * docs/gst/gstreamer-sections.txt:
20337 Add util method for scaling a clocktime by a fraction. Useful
20338 implementation is left as an exercise for the reader.
20340 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20342 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20343 If needed, allocate storage in the destination value during
20346 2005-11-22 Edward Hervey <edward@fluendo.com>
20348 * docs/gst/gstreamer-sections.txt:
20351 * gst/gsturitype.c:
20352 * gst/gsturitype.h:
20353 * gst/gstutils.c: (gst_util_set_object_arg):
20354 * tools/gst-compprep.c: (main):
20355 * tools/gst-inspect.c: (print_element_properties_info):
20356 Removed GstURI, closes bug #321061
20358 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20360 * check/gst/gststructure.c: (GST_START_TEST):
20361 * gst/gststructure.c: (gst_structure_parse_value):
20362 Oops, broke automatic string type parsing.
20363 Add a test to catch it in future.
20365 2005-11-22 Andy Wingo <wingo@pobox.com>
20367 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20368 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20369 Actually rename the function implementations. Grr.
20371 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20373 * check/gst/capslist.h:
20375 * check/gst/gststructure.c: (GST_START_TEST),
20376 (gst_structure_suite):
20377 Test automatic value type detection in gst_structure_from_string.
20378 * gst/gststructure.c: (gst_structure_parse_value):
20379 Add fraction as a type we try and guess automatically in
20380 caps/structure strings.
20382 2005-11-22 Andy Wingo <wingo@pobox.com>
20384 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20386 * gst/gsttagsetter.h:
20387 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20388 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20389 (gst_tag_setter_add_tag_valist)
20390 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20391 _add_values, _add_valist, and _add_valist_values. Since this is an
20392 interface the function suffixes should be more explicit so
20393 language binding don't end up with element.add_valist ->
20394 gst_tag_setter_add_valist, for example. Fixes #322069.
20396 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20398 * check/gst/gstcaps.c: (GST_START_TEST):
20399 Extend caps string tests to check that a caps to string
20400 conversion is reversible and produces the same caps.
20402 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20403 Output "fraction" as the generic type fraction range, so caps
20404 serialisation and deserialisation works.
20405 * check/gst/capslist.h:
20406 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20407 Support 'MIN' and 'MAX' for deserialising fractions.
20409 2005-11-22 Andy Wingo <wingo@pobox.com>
20411 * gst/gstevent.h (gst_event_new_new_segment)
20412 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20413 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20414 Renamed from *_newsegment, *_buffersize, *_notarget.
20416 * scripts/update-funcnames: New script, performs the changes
20419 2005-11-22 Wim Taymans <wim@fluendo.com>
20421 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20422 Make sure the GstFlowReturn is returned.
20424 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20425 (gst_bus_add_signal_watch):
20427 add gst_bus_add_signal_watch_full.
20429 * gst/gstplugin.c: (gst_plugin_load_file):
20430 Small style cleanup.
20432 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20434 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20435 Block the fakesrc srcpad when we send an event, to avoid
20436 contention on the stream_lock causing random test failures.
20438 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20440 * check/gst/gstvalue.c: (GST_START_TEST):
20441 * gst/gstvalue.c: (gst_value_fraction_subtract):
20444 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20447 include "gstchildproxy.h"
20448 * gst/gstchildproxy.h:
20449 * libs/gst/controller/gstcontroller.h:
20450 use G_GNUC_NULL_TERMINATED
20452 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20454 * check/gst/capslist.h:
20455 * check/gst/gstcaps.c: (GST_START_TEST):
20456 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20457 * gst/gststructure.c: (gst_structure_parse_range),
20458 (gst_structure_fixate_field_nearest_fraction):
20459 * gst/gststructure.h:
20460 * gst/gstvalue.c: (gst_value_init_fraction_range),
20461 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20462 (gst_value_collect_fraction_range),
20463 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20464 (gst_value_set_fraction_range_full),
20465 (gst_value_get_fraction_range_min),
20466 (gst_value_get_fraction_range_max),
20467 (gst_value_serialize_fraction_range),
20468 (gst_value_transform_fraction_range_string),
20469 (gst_value_compare_fraction_range),
20470 (gst_value_deserialize_fraction_range),
20471 (gst_value_intersect_fraction_fraction_range),
20472 (gst_value_intersect_fraction_range_fraction_range),
20473 (gst_value_subtract_fraction_fraction_range),
20474 (gst_value_subtract_fraction_range_fraction),
20475 (gst_value_subtract_fraction_range_fraction_range),
20476 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20477 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20478 (gst_value_transform_string_fraction), (_gst_value_initialize):
20480 Implement fraction ranges and extend GstFraction to support
20481 arithmetic subtraction, as well as deserialization from integer
20482 strings such as "100"
20483 Add a testsuite as for int and double range set operations
20485 2005-11-21 Andy Wingo <wingo@pobox.com>
20487 * gst/gsttaglist.h:
20489 * gst/gststructure.h: Add glib-compat.h.
20491 2005-11-21 Wim Taymans <wim@fluendo.com>
20493 * gst/gstbin.c: (gst_bin_change_state_func):
20496 2005-11-21 Wim Taymans <wim@fluendo.com>
20498 * gst/gstsegment.h:
20499 And add a nice define too.
20501 2005-11-21 Wim Taymans <wim@fluendo.com>
20503 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20504 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20505 (gst_segment_set_duration), (gst_segment_set_last_stop),
20506 (gst_segment_set_seek), (gst_segment_set_newsegment),
20507 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20508 (gst_segment_clip):
20509 * gst/gstsegment.h:
20510 Make binding friendly.
20512 2005-11-21 Andy Wingo <wingo@pobox.com>
20514 * gst/gsttagsetter.h:
20515 * gst/gsttaglist.h:
20516 * gst/gststructure.h:
20518 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20521 * gst/gsterror.c (_gst_core_errors_init):
20522 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20525 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20526 (noinst_HEADERS): noinst the -private.
20528 2005-11-21 Michael Smith <msmith@fluendo.com>
20531 * gst/gstregistry.h:
20532 Remove unimplemented declarations for which we can see no sensible
20535 2005-11-21 Andy Wingo <wingo@pobox.com>
20537 * gst/gst.h: Include glib-compat.h.
20539 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20541 * gst/glib-compat.c: Include the public and the private header.
20543 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20547 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20549 * check/gst/gstevent.c (create_custom_events): Check that
20550 FLUSH_STOP is serialized.
20552 * check/elements/identity.c (event_func):
20553 * check/elements/fakesrc.c (event_func): No stream lock, the core
20556 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20557 stream lock taking, yay.
20559 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20560 ensure that core takes the stream lock.
20562 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20565 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20566 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20567 it already. For the flush start we do take it though so we get the
20568 right preroll state change messages.
20570 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20571 the stream lock here, the core does it for us.
20573 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20574 GST_STREAM_GET_LOCK.
20575 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20576 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20577 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20578 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20579 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20580 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20582 * gst/gstpad.c: Update for stream lock name change.
20584 * gst/base/gstbasesink.c: Update for preroll lock name change.
20586 2005-11-21 Wim Taymans <wim@fluendo.com>
20588 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20589 (gst_clock_get_master):
20591 * gst/gstsystemclock.c: (gst_system_clock_init):
20592 Convert Clock flags to object flags.
20593 Added methods to manage master/slave clocks.
20595 2005-11-21 Wim Taymans <wim@fluendo.com>
20597 * check/gst/gstsegment.c: (GST_START_TEST):
20598 * docs/design/part-TODO.txt:
20599 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20600 (gst_base_sink_event), (gst_base_sink_do_sync),
20601 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20602 (gst_base_sink_query), (gst_base_sink_change_state):
20603 * gst/base/gstbasesink.h:
20604 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20605 (gst_base_src_default_newsegment),
20606 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20607 (gst_base_src_get_range), (gst_base_src_loop),
20608 (gst_base_src_change_state):
20609 * gst/base/gstbasesrc.h:
20610 * gst/base/gstbasetransform.c:
20611 (gst_base_transform_prepare_output_buf),
20612 (gst_base_transform_event), (gst_base_transform_change_state):
20613 * gst/base/gstbasetransform.h:
20614 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20615 (gst_collect_pads_event):
20616 * gst/base/gstcollectpads.h:
20617 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20618 (gst_fake_src_create):
20619 * gst/elements/gstfakesrc.h:
20620 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20621 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20622 (gst_segment_set_last_stop), (gst_segment_set_seek),
20623 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20624 (gst_segment_to_running_time), (gst_segment_clip):
20625 * gst/gstsegment.h:
20626 More segment updates, replace code in plugins with segment
20629 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20631 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20632 Don't ignore sscanf results
20634 2005-11-21 Andy Wingo <wingo@pobox.com>
20636 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20639 * *.c: Ran scripts/update-macros. Oh yes.
20641 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20642 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20645 * scripts/update-macros: New script. Run it on your files to
20646 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20649 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20651 * docs/gst/Makefile.am:
20652 * docs/gst/gstreamer-docs.sgml:
20653 * docs/gst/gstreamer-sections.txt:
20654 * docs/gst/gstreamer.types:
20656 more docs fixes, add new api to the docs
20658 2005-11-21 Andy Wingo <wingo@pobox.com>
20660 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20661 state_broadcast call.
20663 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20665 2005-11-21 Julien MOUTTE <julien@moutte.net>
20667 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20668 function calls for arrays.
20670 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20672 * docs/random/ensonic/media-device-daemon.txt:
20673 wild idea, can this be done?
20674 * docs/gst/gstreamer-sections.txt:
20679 * gst/gstpluginfeature.c:
20683 doc fixes and additions
20685 2005-11-21 Andy Wingo <wingo@pobox.com>
20687 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20688 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20689 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20690 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20691 private to the basesrc implementation.
20693 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20694 behalf of event function if necessary. It should no longer be
20695 necessary to take the stream lock in pad's event functions. Fixes
20698 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20699 * docs/gst/gstreamer-sections.txt:
20700 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20701 (gst_structure_fixate_field_nearest_double),
20702 (gst_structure_fixate_field_boolean):
20703 * gst/gststructure.h:
20704 * win32/common/libgstreamer.def:
20705 * win32/gstreamer.def:
20707 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20710 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20712 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20713 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20714 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20715 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20716 (gst_fdsrc_uri_handler_init):
20717 * gst/elements/gstfdsrc.h:
20718 Port fd:// URI handler from 0.8 to fdsrc
20720 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20722 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20723 (gst_value_serialize_fourcc):
20725 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20726 consistent with our other format defines (#320324).
20728 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20730 * gst/gstvalue.c: (gst_value_is_fixed):
20731 Revert previous commit. Value lists are by definition
20732 not fixed, as they are a list of possible values.
20734 2005-11-21 Andy Wingo <wingo@pobox.com>
20736 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20737 during the stable series if we need it. Fixes #319178.
20739 * gst/gstevent.c (gst_event_new_filler): Removed.
20741 * check/gst/gstevent.c: Update comment about filler events.
20743 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20745 * gst/gstvalue.c: (gst_value_is_fixed):
20746 Should handle both value arrays and value lists.
20748 2005-11-21 Andy Wingo <wingo@pobox.com>
20750 patch by: Alessandro Dessina <alessandro nnva org>
20752 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20753 functions to access arrays. Fixes #321962.
20755 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20757 * docs/gst/gstreamer.types:
20758 gst_collectpads_get_type => gst_collect_pads_get_type.
20760 * gst/base/gstbasetransform.c:
20761 Remove unused SIGNAL_HANDOFF enum.
20763 2005-11-21 Andy Wingo <wingo@pobox.com>
20765 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20766 the event type (upstream, downstream, serialized). Renamed
20767 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20768 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20769 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20771 * gst/gstevent.c: Update for new CUSTOM event names.
20773 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20776 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20779 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20781 * docs/gst/gstreamer-sections.txt:
20782 * win32/common/libgstbase.def:
20783 * win32/libgstbase.def:
20784 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20785 (gst_collect_pads_class_init), (gst_collect_pads_init),
20786 (gst_collect_pads_finalize), (gst_collect_pads_new),
20787 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20788 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20789 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20790 (gst_collect_pads_start), (gst_collect_pads_stop),
20791 (gst_collect_pads_peek), (gst_collect_pads_pop),
20792 (gst_collect_pads_available), (gst_collect_pads_read),
20793 (gst_collect_pads_flush), (gst_collect_pads_event),
20794 (gst_collect_pads_chain):
20795 * gst/base/gstcollectpads.h:
20796 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20797 unimplemented functions as unimplemented. Add padding to
20798 GstCollectData. (#320766, #320423)
20800 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20802 * gst/gstmessage.c:
20803 Improve docs for DURATION message (usage of duration parameter)
20806 2005-11-20 Wim Taymans <wim@fluendo.com>
20808 * check/Makefile.am:
20809 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20813 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20814 (gst_segment_set_seek), (gst_segment_set_newsegment),
20815 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20816 (gst_segment_clip):
20817 * gst/gstsegment.h:
20818 Added segment helper structure and methods. Not fully implemented
20820 Added segment check.
20822 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20824 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20825 Add a deserialisation test for fractions
20826 * examples/metadata/read-metadata.c: (message_loop),
20827 (make_pipeline), (main):
20828 Fix up metadata reading sample.
20829 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20831 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20832 Don't try and fixate empty caps
20833 * gst/gst_private.h:
20834 Wrap in G_BEGIN_DECLS/G_END_DECLS
20835 * gst/gstvalue.c: (gst_value_collect_fraction),
20836 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20837 (gst_value_transform_string_fraction),
20838 (gst_value_compare_fraction):
20839 Add some extra guards to ensure that we don't end up
20840 with an invalid denominator of 0 in a gstfraction and
20841 that fractions always get reduced.
20843 2005-11-20 Wim Taymans <wim@fluendo.com>
20845 * docs/gst/gstreamer-sections.txt:
20847 * gst/gstelement.c:
20856 2005-11-20 Wim Taymans <wim@fluendo.com>
20858 * docs/design/part-TODO.txt:
20860 Make a proper enum of the flag.
20862 2005-11-19 Wim Taymans <wim@fluendo.com>
20864 * docs/design/part-TODO.txt:
20865 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20866 (gst_format_to_quark), (gst_format_register):
20868 * gst/gstquery.c: (_gst_query_initialize),
20869 (gst_query_type_get_name), (gst_query_type_to_quark),
20870 (gst_query_type_register):
20872 Add type to quark and type to string conversions.
20874 2005-11-19 Andy Wingo <wingo@pobox.com>
20876 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20879 2005-11-19 Wim Taymans <wim@fluendo.com>
20881 * docs/design/part-TODO.txt:
20882 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20883 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20884 (gst_bin_handle_message_func):
20886 Make message handling overridable.
20888 2005-11-19 Andy Wingo <wingo@pobox.com>
20890 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20893 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20895 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20896 is a GstClockTime. Fixes #321710.
20898 * gst/gstclock.h (GstClock): Remove offset property. Add
20899 internal_calibration and external_calibration. Fix padding. Pad
20900 also by GstClockTime so we don't run into problems.
20902 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20903 (gst_clock_get_rate_offset): Remove.
20904 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20907 * gst/gstutils.c (g_static_rec_cond_wait)
20908 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20910 * gst/gstbin.c: Remove terrible continue_state prototype.
20912 * gst/gstelement.h (gst_element_continue_state): Make public.
20914 * gst/gstelement.h:
20915 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20916 by continue_state. Fixes #319389.
20918 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20919 Really fixes #168438. However I don't see anywhere where the
20920 filter function is called... stupid GStreamer...
20922 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20923 don't have a dispose function, so it won't get called when the
20924 object is unreffed, but oh well!
20926 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20927 allows a destroy function to be set so user_data can be freed.
20929 (gst_index_set_filter): Call gst_index_set_filter_full.
20931 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20933 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20934 string should produce an error, given the lack of a way to
20935 represent NULL strings. Fixes #165650.
20938 * gst/gstvalue.c (gst_value_array_append_value)
20939 (gst_value_array_prepend_value, gst_value_array_get_size)
20940 (gst_value_array_get_value): New API, copied from
20941 gst_value_list_*, only operates on arrays.
20942 (gst_value_list_append_value, gst_value_list_prepend_value)
20943 (gst_value_list_concat, gst_value_list_get_size)
20944 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20946 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20947 init_list, because it works on both.
20948 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20949 (gst_value_copy_list_or_array): Renamed from copy_list.
20950 (gst_value_free_list_or_array): Renamed from free_list.
20951 (gst_value_collect_list_or_array): Renamed from collect_list.
20952 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20953 (gst_value_list_or_array_peek_pointer): Renamed from
20955 (_gst_value_array_value_table, _gst_value_list_value_table):
20956 Update value table functions.
20957 (gst_value_compare_list_or_array): Renamed from compare_list.
20959 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20962 * gst/gsttaglist.c:
20963 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20964 GstTagList*. Fixes #143472.
20966 * gst/gststructure.h: Clarify what the foreach/map functions can
20967 or can't do to their arguments.
20969 2005-11-18 Wim Taymans <wim@fluendo.com>
20971 * gst/gstclock.c: (gst_clock_set_calibration),
20972 (gst_clock_get_calibration):
20974 Calibration can be set with internal time equal to current
20977 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20983 2005-11-18 Andy Wingo <wingo@pobox.com>
20986 * pkgconfig/gstreamer-net.pc.in:
20987 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20988 * pkgconfig/Makefile.am: Add net pkgconfig files.
20990 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20993 * gst/gstghostpad.c:
20999 2005-11-18 Andy Wingo <wingo@pobox.com>
21001 * gst/net/gstnetclientclock.c: Turn off debugging.
21003 * check/net/gstnetclientclock.c (test_functioning): Assert that the
21004 times connverge somewhat. Can't make a real test.
21006 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21007 integer arithmetic. Return the minimum of the domain, which can be
21008 set as "internal" for gst_clock_set_calibration.
21009 (gst_net_client_clock_observe_times): Call _set_calibration.
21010 (gst_net_client_clock_new): Call _set_calibration instead of
21013 * check/net/gstnetclientclock.c (test_functioning): Use the right
21017 * gst/gstclock.c (gst_clock_get_calibration)
21018 (gst_clock_set_calibration): New functions, obsolete the ones I
21019 added yesterday. Doh. Precision issues mean we have to extrapolate
21020 from a point in the more recent past than 1970.
21021 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21023 (gst_clock_adjust_unlocked): Use the right calibration data.
21025 2005-11-18 Edward Hervey <edward@fluendo.com>
21027 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21028 Also reset the ->current_* values in READY->PAUSED
21030 2005-11-18 Andy Wingo <wingo@pobox.com>
21032 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21033 Whoops, check the right fd. Also add some debugging.
21034 (gst_net_client_clock_observe_times): Adjust for int64 offset.
21035 (do_linear_regression): Add a crapload of debugging. Subtract off
21036 the minimum values from the input series to discard unneeded bits.
21037 Use only int arithmetic. There is still double arithmetic when
21038 calculating the intercept that needs fixing. Return boolean to
21039 indicate success; FALSE would mean the domain or range is too
21040 great. Still needs fixes.
21042 2005-11-18 Wim Taymans <wim@fluendo.com>
21044 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21045 For the current position in stream time, we need to subtract
21048 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21049 Release lock before calling the callback function of async
21052 2005-11-18 Andy Wingo <wingo@pobox.com>
21054 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21055 Port goes all the way to MAXUINT16.
21057 * gst/net/gstnettimeprovider.c: Make the port range the same as
21058 for the kernel: 0 assigns, otherwise ports are less than
21061 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21064 * check/net/gstnetclientclock.c (test_functioning): Add the start
21067 2005-11-18 Wim Taymans <wim@fluendo.com>
21069 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21070 (gst_bin_remove_func), (bin_bus_handler):
21072 Removing a clock provider from a bin, triggers a clock lost message
21073 so that a new clock will be selected.
21074 Adding a clock to a bin triggers a clock provider message.
21075 Make sure we reselect a clock when we received a clock lost message.
21076 Keep a reference to the element that provided the clock.
21078 2005-11-18 Andy Wingo <wingo@pobox.com>
21080 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21081 the clock initially so it produces values around the base time.
21082 (gst_net_client_clock_class_init): Typo fix.
21083 (gst_net_client_clock_thread): Add note on when the socket gets
21086 2005-11-17 Wim Taymans <wim@fluendo.com>
21088 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21089 Free remote and local time arrays.
21091 2005-11-17 Wim Taymans <wim@fluendo.com>
21093 * gst/net/gstnetclientclock.c: (do_linear_regression),
21094 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21095 Fix compilation, uninitialized vars and a forgotten continue.
21097 2005-11-17 Andy Wingo <wingo@pobox.com>
21099 * check/Makefile.am (check_PROGRAMS):
21100 * check/net/gstnetclientclock.c: Add a most minimal test for the
21101 net client clock. More to come later.
21103 * gst/net/gstnet.h:
21104 * gst/net/Makefile.am: Add netclientclock.
21106 * gst/net/gstnetclientclock.h:
21107 * gst/net/gstnetclientclock.c: New files, implement an untested
21108 GstClock that takes its time from a network time provider.
21109 Implements the algorithm in network-clock.scm.
21111 * tests/network-clock.scm (*window-size*): Rename from
21113 * tests/network-clock.scm (network-time):
21114 * tests/network-clock-utils.scm (q-push): Update callers.
21116 2005-11-17 Wim Taymans <wim@fluendo.com>
21118 * gst/gstbin.c: (gst_bin_provide_clock_func),
21119 (gst_bin_sort_iterator_new):
21120 And unref the child too..
21122 2005-11-17 Wim Taymans <wim@fluendo.com>
21124 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21125 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21126 Refactor the sort iterator so it can be used while holding the
21128 Make clock selection select a clock closest to the source.
21130 2005-11-17 Michael Smith <msmith@fluendo.com>
21132 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21133 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21135 Anonymous structs are a gcc (and some other compilers) extension, so
21136 don't use them. Since this is only for ABI-compatibility, and our
21137 API/ABI freeze is over in a few days, this whole thing will only
21138 last a few days, so don't bother trying to think up a meaningful
21139 name for the struct.
21141 2005-11-17 Andy Wingo <wingo@pobox.com>
21143 * gst/gstclock.h (GstClock): Add rate and offset properties,
21144 preserving ABI stability. Add rate/offset accessors. Will file bug
21145 for the freeze break.
21147 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21148 and offset, trying to keep precision and avoiding
21149 underflow/overflow.
21150 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21151 functions. Make gst_clock_set_time_adjust obsolete.
21152 (gst_clock_set_time_adjust): Note that this function is obsolete.
21153 Will file bug soon.
21155 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21156 greppable by using GST_PADDING-1+1.
21158 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21160 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21162 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21163 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21165 * gst/gstpadtemplate.h:
21166 * gst/gstpluginfeature.h:
21167 Don't use c++ style comments in headers (#321638).
21169 2005-11-16 Andy Wingo <wingo@pobox.com>
21171 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21174 * check/net/gstnettimeprovider.c: Check to see that the time
21175 provider actually provides times. Works, yo!
21177 2005-11-16 Wim Taymans <wim@fluendo.com>
21179 * check/Makefile.am:
21182 * check/elements/fakesrc.c: (GST_START_TEST):
21183 Set element to NULL before disposing it.
21185 2005-11-16 Andy Wingo <wingo@pobox.com>
21187 * gst/net/Makefile.am:
21188 * gst/net/gstnet.h:
21189 * gst/net/gstnettimeprovider.c:
21190 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21191 provider, include it from gstnet.h, and add it to the build.
21193 * gst/net/gstnettimepacket.h:
21194 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21195 sending and receiving.
21197 2005-11-16 Wim Taymans <wim@fluendo.com>
21199 * check/Makefile.am:
21200 Enable valgrind check.
21202 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21203 (gst_fake_src_alloc_buffer):
21206 2005-11-16 Wim Taymans <wim@fluendo.com>
21208 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21209 Call parent finalize too.
21211 2005-11-16 Wim Taymans <wim@fluendo.com>
21213 * check/Makefile.am:
21214 Enable valgrind check that should work fine now.
21216 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21217 * gst/gstqueue.c: (gst_queue_init):
21218 Fix memleaks in pad allocation.
21220 2005-11-16 Andy Wingo <wingo@pobox.com>
21222 * gst/net/Makefile.am:
21223 * gst/net/gstnet.h: New part of core to hold network elements and
21224 objects. Put in core because it exposes API that applications want
21225 to use. The library is named libgstnet-tempname right now because
21226 of the existing libgstnet in gst-plugins-base. Solution is
21227 probably to rename the one in plugins-base; will file a bug for
21230 * gst/net/gstnettimeprovider.c:
21231 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21232 get_time call over the network.
21235 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21237 * check/Makefile.am:
21238 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21239 get additions shortly.
21241 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21243 * gst/gstpad.c: (gst_pad_new_from_static_template):
21245 add gst_pad_new_from_static_template functions
21246 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21247 (gst_check_setup_sink_pad):
21248 * gst/elements/gsttee.c: (gst_tee_init):
21251 2005-11-16 Wim Taymans <wim@fluendo.com>
21253 * gst/gstpad.c: (gst_pad_pause_task):
21254 Removed warning, it's not really an error either.
21256 2005-11-16 Wim Taymans <wim@fluendo.com>
21258 * gst/base/gstbasetransform.c:
21259 (gst_base_transform_prepare_output_buf),
21260 (gst_base_transform_event):
21261 Check if the caps are NULL, this can happen if the element
21262 is shutting down and the pad caps are set to NULL.
21264 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21266 * gst/elements/gsttee.c: (gst_tee_init):
21267 fix pad template leak in tee
21269 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21271 * gst/glib-compat.c: (g_value_dup_gst_object):
21272 * gst/glib-compat.h:
21273 * gst/gstpad.c: (gst_pad_set_property):
21274 use gst_object_ref when setting the pad template; this will
21275 trigger the pad template leaks on GLib 2.6 and the slaves
21277 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21279 * gst/glib-compat.c: (gst_flags_get_first_value):
21280 * gst/glib-compat.h:
21281 * gst/gstregistryxml.c:
21282 remove functions copied from GLib 2.6
21284 2005-11-16 Michael Smith <msmith@fluendo.com>
21287 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21288 do, but only breaks with newer valgrind versions. We're not a
21289 valgrind tool, we have no link-time dependencies on libcoregrind.
21291 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21293 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21295 * gst/gstmessage.h:
21298 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21300 * gst/base/gstbasesrc.c: (gst_base_src_init):
21301 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21302 * gst/gstqueue.c: (gst_queue_init):
21303 * gst/gstregistryxml.c: (load_feature):
21304 Revert all these unrefs, they don't even pass make check !
21306 2005-11-15 Johan Dahlin <johan@gnome.org>
21308 * gst/base/gstbasesrc.c: (gst_base_src_init):
21309 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21310 * gst/gstqueue.c: (gst_queue_init):
21311 Free pad templates, fixes a couple of leaks.
21313 2005-11-15 Daniel Fischer <dan at f3c dot com>
21315 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21317 * gst/gstpad.c: (gst_pad_get_property):
21318 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21319 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21322 2005-11-15 Wim Taymans <wim@fluendo.com>
21327 2005-11-15 Andy Wingo <wingo@pobox.com>
21329 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21331 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21332 using GST_CLOCK_TIME_NONE to disable base time management.
21333 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21334 time if it was NONE before.
21335 (gst_pipeline_change_state): Only munge the base time if
21336 stream_time != GST_CLOCK_TIME_NONE.
21338 * check/gst/gstpipeline.c (test_base_time): Punt around the
21339 problem of the probe not being called, because that's not the
21340 issue I'm looking at. Add a check that setting stream_time to NONE
21341 disables base time management.
21343 2005-11-15 Wim Taymans <wim@fluendo.com>
21345 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21346 segment_stop == -1 at startup.
21348 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21349 (gst_base_transform_change_state):
21350 Init segment values at start.
21352 2005-11-15 Wim Taymans <wim@fluendo.com>
21354 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21355 0 segment values are 0 in any format.
21357 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21358 * gst/base/gstbasetransform.h:
21359 Parse newsegment correctly in basetransform
21361 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21362 Sync to clock using updated segment values.
21364 2005-11-15 Andy Wingo <wingo@pobox.com>
21366 * check/gst/gstpipeline.c (test_base_time): Add check that the
21367 base time and stream time are reset correctly.
21369 2005-11-15 Wim Taymans <wim@fluendo.com>
21371 * docs/design/part-TODO.txt:
21372 Some more TODO items.
21374 2005-11-15 Andy Wingo <wingo@pobox.com>
21376 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21377 error if the user selected "no clock" as the clocking method.
21379 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21380 timestamps with live capture.
21382 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21383 is 0 but we are a live source, timestamp the buffers using the
21386 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21388 * docs/gst/gstreamer-sections.txt:
21390 * gst/gstghostpad.c:
21395 2005-11-14 Wim Taymans <wim@fluendo.com>
21398 add suppressions from Wim's Debian machine
21400 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21403 add suppressions from Andy's AMD64 Ubuntu machine
21405 2005-11-14 Andy Wingo <wingo@pobox.com>
21407 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21408 STATE_LOCK not necessary. Fixes #311489.
21410 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21413 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21414 this function is not implemented.
21416 2005-11-14 Julien MOUTTE <julien@moutte.net>
21418 * gst/base/gstbasetransform.c:
21419 (gst_base_transform_prepare_output_buf):
21420 Ref the source pad caps while we need them.
21423 2005-11-11 Wim Taymans <wim@fluendo.com>
21425 * docs/gst/gstreamer-sections.txt:
21426 Added some docs for GstCollectData.
21428 * gst/base/gstadapter.c:
21429 Some small code example fix.
21431 * gst/base/gstcollectpads.c:
21432 * gst/base/gstcollectpads.h:
21433 Document some more.
21435 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21437 * configure.ac: back to HEAD
21439 === release 0.9.5 ===
21441 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21444 releasing 0.9.5, "Bike Lunch Day"
21446 2005-11-11 Wim Taymans <wim@fluendo.com>
21448 * gst/gstbuffer.c: (_gst_buffer_copy):
21451 * gst/gstcaps.c: (gst_caps_is_equal):
21453 Make _is_equal fast in the trivial cases.
21455 * gst/gstminiobject.c:
21456 * gst/gstminiobject.h:
21457 More docs. Spifify .h file.
21462 2005-11-11 Wim Taymans <wim@fluendo.com>
21464 * gst/base/gstbasetransform.c:
21465 (gst_base_transform_prepare_output_buf),
21466 (gst_base_transform_handle_buffer):
21468 If we're processing a buffer and need to allocate an output
21469 buffer, we cannot accept a format change. If we did get a
21470 format change, we have to alloc a buffer ourselves of the
21473 2005-11-11 Wim Taymans <wim@fluendo.com>
21475 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21476 While checking the flag for reentrancy in the gstcaps function
21477 is nice to detect recursive invocations, it also makes it
21478 impossible to call getcaps from multiple threads, which must be
21479 possible. So, checking for recursive calls has to go.
21481 2005-11-11 Michael Smith <msmith@fluendo.com>
21483 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21484 Don't sync on buffers that fall partially outside our current
21485 segment. Prevents an assertion failure/abort playing some files.
21487 2005-11-10 Andy Wingo <wingo@pobox.com>
21489 * check/gst/gstbin.c (test_message_state_changed_children): Style
21492 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21493 gst_bus_poll with the signal watch. Ensures that poll and a signal
21494 watch see the same messages.
21496 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21497 a poll and a watch at the same time get the same messages.
21499 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21501 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21502 * gst/gstcaps.c: (gst_caps_intersect):
21503 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21504 and it's not needed.
21506 2005-11-10 Wim Taymans <wim@fluendo.com>
21508 * docs/design/part-TODO.txt:
21511 2005-11-10 Wim Taymans <wim@fluendo.com>
21513 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21514 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21515 (gst_base_src_do_sync), (gst_base_src_get_range):
21516 Implement clock sync in base class.
21518 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21520 patch by: Tim-Philipp Müller <tim at centricular dot net>
21522 * gst/gststructure.c: (gst_structure_parse_field),
21523 (gst_structure_from_string):
21524 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21525 so that gst_parse_launch() can deal with spaces in filtered link
21526 caps (fixes #164479)
21527 * check/gst/capslist.h:
21528 * check/gst/gststructure.c: (GST_START_TEST):
21529 add unit tests for this change
21531 2005-11-10 Wim Taymans <wim@fluendo.com>
21533 * docs/gst/gstreamer-sections.txt:
21534 * gst/gstelement.c:
21535 * gst/gstelement.h:
21536 Fix docs, move some STATE macros to private.
21538 2005-11-10 Wim Taymans <wim@fluendo.com>
21540 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21541 Added check for bug #317341
21545 Some more spiffifying.
21547 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21548 Call peer linkfunction if we are a source pad. Totally fixes
21552 Update docs, source pads should call the peer linkfunction
21553 so they can atomically perform the pad link.
21555 2005-11-09 Wim Taymans <wim@fluendo.com>
21559 Uber-spiffy-spiffify some more.
21561 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21563 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21564 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21565 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21566 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21567 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21568 * gst/gstpad.c: (gst_pad_init):
21569 Use GST_DEBUG_FUNCPTR() more extensively.
21571 2005-11-09 Wim Taymans <wim@fluendo.com>
21573 * gst/gstobject.c: (gst_object_class_init):
21575 Documentation fixes.
21577 2005-11-09 Edward Hervey <edward@fluendo.com>
21579 * gst/gsttypefindfactory.c:
21582 2005-11-09 Edward Hervey <edward@fluendo.com>
21584 * gst/base/gsttypefindhelper.c:
21585 * gst/gsttypefind.c:
21586 * gst/gsttypefind.h:
21589 2005-11-09 Wim Taymans <wim@fluendo.com>
21591 * gst/gstiterator.c:
21598 2005-11-09 Wim Taymans <wim@fluendo.com>
21604 2005-11-09 Wim Taymans <wim@fluendo.com>
21606 * docs/gst/gstreamer-sections.txt:
21607 Moved the message async delivery private lock and cond
21608 to the private section.
21610 * gst/gstmessage.c:
21611 * gst/gstmessage.h:
21614 2005-11-09 Edward Hervey <edward@fluendo.com>
21616 * docs/gst/gstreamer-sections.txt:
21619 Document GstURIHandler
21621 2005-11-09 Wim Taymans <wim@fluendo.com>
21623 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21624 (gst_iterator_find_custom):
21625 * gst/gstiterator.h:
21628 2005-11-09 Wim Taymans <wim@fluendo.com>
21631 Document another field.
21633 * gst/gststructure.c:
21634 * gst/gststructure.h:
21637 2005-11-09 Wim Taymans <wim@fluendo.com>
21640 Documented structs.
21642 2005-11-09 Wim Taymans <wim@fluendo.com>
21644 * docs/gst/gstreamer-sections.txt:
21645 Added some new macros.
21652 2005-11-09 Wim Taymans <wim@fluendo.com>
21654 * docs/design/part-TODO.txt:
21655 Some more items for the TODO
21661 2005-11-09 Andy Wingo <wingo@pobox.com>
21663 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21664 to work on something else now tho...
21666 * gst/base/gstadapter.c: More adapter docs.
21668 * gst/elements/gstfilesink.c (gst_file_sink_start)
21669 (gst_file_sink_stop): New functions, replace the state change
21671 (gst_file_sink_class_init): Hook up the start and stop functions.
21672 (gst_file_sink_base_init): Don't set the state change handler any
21673 more. It was a bit ugly too, being set from here...
21674 (gst_file_sink_get_property, gst_file_sink_set_property):
21676 (gst_file_sink_set_location): More robust check that doesn't call
21677 GST_STATE. Ugggggg.
21679 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21681 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21682 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21684 2005-11-08 Wim Taymans <wim@fluendo.com>
21686 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21687 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21688 (gst_base_sink_chain), (gst_base_sink_change_state):
21689 * gst/base/gstbasesink.h:
21690 * gst/base/gstbasesrc.h:
21691 * gst/gstelement.h:
21693 Avoid excessive typechecking in macros.
21695 * gst/gstminiobject.c: (gst_mini_object_get_type),
21696 (gst_mini_object_init), (gst_mini_object_new),
21697 (gst_mini_object_free):
21698 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21699 (gst_object_finalize):
21700 Remove cruft code, optimize alloc_trace.
21702 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21704 * docs/faq/gst-uninstalled:
21705 fix up PS1 for systems that try to reset it
21707 2005-11-07 Wim Taymans <wim@fluendo.com>
21709 * gst/base/gstbasesrc.c: (gst_base_src_init),
21710 (gst_base_src_get_range):
21711 Set the segment_end to -1 initially. Fixed typefind.
21713 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21715 * gst/base/gstadapter.c:
21716 Debug category should be 'adapter', not 'GstAdapter'.
21718 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21719 (gst_collectpads_class_init), (gst_collectpads_init),
21720 (gst_collectpads_peek), (gst_collectpads_pop),
21721 (gst_collectpads_event), (gst_collectpads_chain):
21722 Add debug category and some debugging output. Use boilerplate
21723 macros. Remove some extraneous words from docs.
21725 2005-11-05 Andy Wingo <wingo@pobox.com>
21727 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21730 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21732 * docs/gst/gstreamer-sections.txt:
21735 * gst/gstminiobject.h:
21740 2005-11-04 Wim Taymans <wim@fluendo.com>
21742 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21743 Small update to stop at the configured segment_end
21746 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21748 * gst/gstregistry.c:
21749 * gst/gstregistry.h:
21752 2005-11-04 Edward Hervey <edward@fluendo.com>
21754 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21755 Check if we are doing a segment seek and have arrived at the
21756 end of that segment.
21758 2005-11-04 Wim Taymans <wim@fluendo.com>
21760 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21761 Don't leak a mutex unlock in case of an error.
21766 2005-11-04 Wim Taymans <wim@fluendo.com>
21768 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21770 Get the context to wake up only once.
21772 2005-11-03 Wim Taymans <wim@fluendo.com>
21774 * check/states/sinks.c: (GST_START_TEST):
21775 Uncomment fixed check.
21777 * docs/design/part-TODO.txt:
21780 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21781 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21782 (gst_base_sink_get_position):
21783 If we are going to PLAYING, post the right pending state
21784 when we post the intermediate paused message.
21786 * gst/gstelement.c: (gst_element_continue_state),
21787 (gst_element_set_state_func), (gst_element_change_state):
21788 Don't post state changes that were between the same state
21789 and were not ASYNC.
21791 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21793 * docs/gst/gstreamer-sections.txt:
21796 * gst/gstminiobject.h:
21799 more docs and doc style fixes
21801 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21803 * docs/gst/gstreamer-sections.txt:
21804 * gst/gstelement.c:
21805 * gst/gstminiobject.c:
21808 2005-11-03 Andy Wingo <wingo@pobox.com>
21810 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21811 state-changed messages actually have the right order and the right
21814 2005-11-03 Wim Taymans <wim@fluendo.com>
21816 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21817 Added some more checks. Specifically the case where NO_PREROLL
21818 elements are in the pipeline.
21820 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21821 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21822 (gst_base_sink_get_position):
21823 Post READY->PAUSED state change messages too.
21824 Fix bug where VOID was posted as pending state...
21826 * gst/gstbin.c: (gst_bin_recalc_state):
21827 use _element_continue_state() to continue the state change.
21829 * gst/gstelement.c: (gst_element_continue_state),
21830 (gst_element_commit_state), (gst_element_set_state_func),
21831 (gst_element_change_state), (gst_element_change_state_func):
21832 Lots of state change cleanups, assign the STATE_RETURN in
21833 a new continue_state() function that also propagates the
21834 last return value from a state change to the app.
21835 Update some debug statements with proper category.
21837 2005-11-03 Wim Taymans <wim@fluendo.com>
21839 * docs/design/part-events.txt:
21840 * docs/design/part-gstpipeline.txt:
21841 * docs/design/part-messages.txt:
21842 * docs/design/part-overview.txt:
21843 * docs/design/part-seeking.txt:
21844 * docs/design/part-states.txt:
21845 * docs/design/part-trickmodes.txt:
21846 * docs/manual/advanced-position.xml:
21847 Small docs updates.
21850 People think !! is ugly, this looks better.
21852 * gst/gstpad.c: (gst_pad_set_blocked_async):
21853 Remove !! since it's fixed elsewhere now.
21855 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21857 * gst/gstminiobject.h:
21859 Add !! to _FLAG_IS_SET macros to make the result boolean.
21861 2005-11-03 Edward Hervey <edward@fluendo.com>
21863 * gst/gstpad.c: (gst_pad_set_blocked_async):
21864 comparing a flag and a gboolean rarely returns coherent results...
21865 Added two characters (!!) to make that work correctly.
21867 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21869 * gst/gstbus.c: (gst_bus_class_init):
21872 * gst/gstqueue.c: (gst_queue_loop):
21873 Don't assume a miniobject that isn't a buffer is an
21874 event (it could be that there is a refcounting
21875 problem somewhere and the pointer is stale and
21876 refers to an already destroyed miniobject).
21878 2005-11-03 Julien MOUTTE <julien@moutte.net>
21880 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21882 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21884 * docs/manual/advanced-position.xml:
21885 Update seek example and explanations to current 0.9 API.
21887 * gst/elements/gsttypefindelement.c:
21888 (gst_type_find_element_activate):
21889 Remove FIXME comment now that the found caps
21892 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21894 * gst/gstregistryxml.c: (load_feature):
21895 Add another GST_STR_NULL instance
21897 2005-11-02 Edward Hervey <edward@fluendo.com>
21899 * gst/gstpad.c: (handle_pad_block):
21900 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21902 2005-11-02 Wim Taymans <wim@fluendo.com>
21907 * gst/gstelement.c: (gst_element_commit_state):
21908 Remove unused value.
21910 * gst/gstiterator.c:
21911 Mention that the returned element is reffed in the docs.
21913 2005-11-02 Wim Taymans <wim@fluendo.com>
21915 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21916 (gst_pad_push), (gst_pad_push_event):
21917 Unlock blocked pads when they are flushed.
21919 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21922 * docs/gst/gstreamer-sections.txt:
21925 * gst/gstregistry.c: (gst_registry_scan_path_level):
21926 fix for a nasty little missed situation where an installed plug-in
21927 which was in the cache did not get overridden by an uninstalled one
21928 which was earlier in the plugin path because the newly created plugin
21929 for the uninstalled one (not in the registry) didn't get its
21930 ->registered set to TRUE
21932 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21934 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21935 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21936 (gst_collectpads_is_active), (gst_collectpads_collect),
21937 (gst_collectpads_collect_range), (gst_collectpads_start),
21938 (gst_collectpads_stop), (gst_collectpads_peek),
21939 (gst_collectpads_pop), (gst_collectpads_available),
21940 (gst_collectpads_read), (gst_collectpads_flush):
21941 Guard public API with assertions.
21944 Fix docs for gst_pad_set_link_function().
21946 2005-11-02 Johan Dahlin <johan@gnome.org>
21948 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21949 Unref found_caps after we used it.
21951 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21953 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21954 Don't try to ref NULL.
21956 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21958 * win32/common/config.h.in:
21959 provide a GST_FUNCTION that just gives a string for now
21961 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21963 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21964 (gst_object_flags_get_type), (register_gst_bin_flags),
21965 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21966 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21967 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21968 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21969 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21970 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21971 (gst_clock_flags_get_type), (register_gst_state),
21972 (gst_state_get_type), (register_gst_state_change_return),
21973 (gst_state_change_return_get_type), (register_gst_state_change),
21974 (gst_state_change_get_type), (register_gst_element_flags),
21975 (gst_element_flags_get_type), (register_gst_core_error),
21976 (gst_core_error_get_type), (register_gst_library_error),
21977 (gst_library_error_get_type), (register_gst_resource_error),
21978 (gst_resource_error_get_type), (register_gst_stream_error),
21979 (gst_stream_error_get_type), (register_gst_event_type),
21980 (gst_event_type_get_type), (register_gst_seek_type),
21981 (gst_seek_type_get_type), (register_gst_seek_flags),
21982 (gst_seek_flags_get_type), (register_gst_format),
21983 (gst_format_get_type), (register_gst_index_certainty),
21984 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21985 (gst_index_entry_type_get_type),
21986 (register_gst_index_lookup_method),
21987 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21988 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21989 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21990 (gst_index_flags_get_type), (register_gst_debug_level),
21991 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21992 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21993 (gst_iterator_result_get_type), (register_gst_iterator_item),
21994 (gst_iterator_item_get_type), (register_gst_message_type),
21995 (gst_message_type_get_type), (register_gst_mini_object_flags),
21996 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21997 (gst_pad_link_return_get_type), (register_gst_flow_return),
21998 (gst_flow_return_get_type), (register_gst_activate_mode),
21999 (gst_activate_mode_get_type), (register_gst_pad_direction),
22000 (gst_pad_direction_get_type), (register_gst_pad_flags),
22001 (gst_pad_flags_get_type), (register_gst_pad_presence),
22002 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22003 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22004 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22005 (gst_plugin_error_get_type), (register_gst_plugin_flags),
22006 (gst_plugin_flags_get_type), (register_gst_rank),
22007 (gst_rank_get_type), (register_gst_query_type),
22008 (gst_query_type_get_type), (register_gst_tag_merge_mode),
22009 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22010 (gst_tag_flag_get_type), (register_gst_task_state),
22011 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22012 (gst_alloc_trace_flags_get_type),
22013 (register_gst_type_find_probability),
22014 (gst_type_find_probability_get_type), (register_gst_uri_type),
22015 (gst_uri_type_get_type), (register_gst_parse_error),
22016 (gst_parse_error_get_type):
22017 * win32/common/gstversion.h:
22018 update win32 copies
22020 2005-11-01 Luca Ognibene <luogni@tin.it>
22023 fix docs. popt is dead, long live GOption.
22025 2005-10-31 Wim Taymans <wim@fluendo.com>
22030 2005-10-31 Andy Wingo <wingo@pobox.com>
22034 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22036 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22037 need to serialize property notifications on GLib 2.8. GLib 2.6 has
22038 the possibility of deadlocks here if code calling notify() or
22039 set() has a lock that can be taken in another notify handler (ABBA
22040 with class lock and e.g. python GIL state lock).
22042 2005-10-28 Julien MOUTTE <julien@moutte.net>
22044 * gst/gstbus.c: Doc updates.
22046 2005-10-28 Wim Taymans <wim@fluendo.com>
22048 * docs/design/part-TODO.txt:
22049 * gst/gstiterator.c:
22050 * gst/gstsystemclock.c:
22051 * gst/gstsystemclock.h:
22054 2005-10-28 Edward Hervey <edward@fluendo.com>
22056 * docs/gst/gstreamer-docs.sgml:
22057 * docs/gst/gstreamer-sections.txt:
22058 the GstURIType documentation page is private, it only defines GstURIType
22059 which should be defined in the GstURIHandler page
22061 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22063 * gst/gstbin.c: (gst_bin_class_init):
22066 Documentation updates.
22068 2005-10-28 Wim Taymans <wim@fluendo.com>
22070 * docs/gst/gstreamer-sections.txt:
22073 Documented the clocks.
22075 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22077 * docs/gst/gstreamer-sections.txt:
22078 move some macros to private sections
22079 * gst/gstminiobject.c:
22080 * gst/gstminiobject.h:
22081 add descriptions provided by ds and some more
22083 mark macro as to be removed
22085 2005-10-28 Wim Taymans <wim@fluendo.com>
22087 * docs/design/part-TODO.txt:
22088 Add an item to TODO.
22090 * gst/gstiterator.c: (gst_iterator_fold),
22091 (gst_iterator_find_custom):
22092 * gst/gstiterator.h:
22095 2005-10-28 Wim Taymans <wim@fluendo.com>
22097 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22098 (gst_base_transform_init):
22101 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22102 An EOS event marks the queue as completely filled.
22104 2005-10-27 Wim Taymans <wim@fluendo.com>
22106 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22107 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22108 Some more debugging.
22110 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22111 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22112 (gst_base_transform_event), (gst_base_transform_getrange),
22113 (gst_base_transform_chain):
22114 * gst/base/gstbasetransform.h:
22116 Protect transform and concurrent buffer alloc with a new lock.
22117 Try not to break ABI/API.
22119 2005-10-27 Wim Taymans <wim@fluendo.com>
22121 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22122 (gst_base_src_init), (gst_base_src_query),
22123 (gst_base_src_default_newsegment),
22124 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22125 (gst_base_src_send_event), (gst_base_src_event_handler),
22126 (gst_base_src_pad_get_range), (gst_base_src_loop),
22127 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22128 (gst_base_src_start), (gst_base_src_deactivate),
22129 (gst_base_src_activate_push), (gst_base_src_change_state):
22130 Move some stuff around and cleanup things.
22132 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22134 * gst/base/gstbasesrc.c: (gst_base_src_query):
22135 Add missing break statements.
22137 2005-10-27 Wim Taymans <wim@fluendo.com>
22139 * check/gst/gstbin.c: (GST_START_TEST):
22140 An extra refcount is taken in basesrc.
22142 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22143 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22144 (gst_base_src_loop):
22145 Small cleanups, check for flushing after being unlocked from the
22146 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22147 Don't send out EOS when going to READY.
22149 2005-10-27 Wim Taymans <wim@fluendo.com>
22151 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22152 (gst_base_sink_get_position):
22155 * gst/gstbin.c: (message_check), (bin_replace_message),
22156 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22157 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22158 (bin_query_duration_init), (bin_query_duration_fold),
22159 (bin_query_duration_done), (bin_query_generic_fold),
22161 * tools/gst-launch.c: (main):
22164 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22166 * examples/controller/audio-example.c: (main):
22167 * examples/queue/queue.c: (event_loop):
22168 * gst/base/gstbasetransform.h:
22169 * gst/gstelement.c: (gst_element_send_event):
22171 * gst/gstpad.c: (gst_pad_send_event):
22174 changing log priority in error situations
22176 2005-10-25 Wim Taymans <wim@fluendo.com>
22178 * gst/gstbin.c: (message_check), (bin_replace_message),
22179 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22180 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22181 (bin_query_duration_init), (bin_query_duration_fold),
22182 (bin_query_duration_done), (bin_query_generic_fold),
22184 Some doc and debug updates.
22185 Cache previously requested query DURATION for speed. invalidate
22186 cached duration if element posts a DURATION message.
22188 2005-10-25 Wim Taymans <wim@fluendo.com>
22190 * docs/design/part-TODO.txt:
22193 * gst/gstbin.c: (message_check), (bin_replace_message),
22194 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22195 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22196 (bin_query_duration_init), (bin_query_duration_fold),
22197 (bin_query_duration_done), (bin_query_generic_fold),
22199 Handle SEGMENT_START/DONE messages correctly.
22200 More evolved query algorithm that handles duration queries
22203 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22204 (gst_element_get_state_func), (gst_element_abort_state),
22205 (gst_element_commit_state), (gst_element_lost_state):
22206 Some more debugging.
22208 * gst/gstmessage.h:
22211 2005-10-25 Wim Taymans <wim@fluendo.com>
22213 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22214 Don't use invalid stream_time.
22216 * gst/gstevent.c: (gst_event_new_newsegment):
22217 stream_time in newsegment cannot be undefined.
22219 2005-10-24 Wim Taymans <wim@fluendo.com>
22224 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22226 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22228 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22230 * docs/libs/tmpl/gstdparam.sgml:
22231 * docs/libs/tmpl/gstdplinint.sgml:
22232 * docs/libs/tmpl/gstdpman.sgml:
22233 * docs/libs/tmpl/gstdpsmooth.sgml:
22234 * docs/libs/tmpl/gstunitconvert.sgml:
22237 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22242 === release 0.9.4 ===
22244 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22247 releasing 0.9.4, "Tyrannosaurus Rex"
22249 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22251 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22252 (gst_file_sink_get_current_offset):
22253 Use fseeko() and ftello() if available. When falling back on
22254 lseek() to get the current offset, fflush() first to make sure
22255 everything is up-to-date and we get the right offset.
22257 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22259 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22260 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22261 * gst/gsterror.c: (_gst_stream_errors_init):
22263 * gst/gstqueue.c: (gst_queue_loop):
22265 remove prematurely added error category and clean up the instances
22267 2005-10-21 Wim Taymans <wim@fluendo.com>
22269 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22270 (gst_base_sink_get_position), (gst_base_sink_query),
22271 (gst_base_sink_change_state):
22272 Simply set the right flag when going to playing, that's all
22273 we need to do instead of calling a function inside the object
22274 lock (that could take the lock as well and deadlock)
22276 2005-10-21 Wim Taymans <wim@fluendo.com>
22278 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22279 (gst_base_src_loop):
22280 Don't warn, the peer element knows what to do best when
22281 the seek failed, it might try something else.
22283 2005-10-21 Wim Taymans <wim@fluendo.com>
22285 * gst/base/gstbasesrc.c: (gst_base_src_init),
22286 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22289 2005-10-21 Wim Taymans <wim@fluendo.com>
22291 * docs/design/part-segments.txt:
22294 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22295 Correctly set caps, even on the subbufer.
22297 2005-10-21 Wim Taymans <wim@fluendo.com>
22299 * docs/gst/gstreamer-docs.sgml:
22300 * docs/gst/gstreamer-sections.txt:
22301 * gst/gstelement.h:
22304 * gst/gstmessage.h:
22307 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22311 And 2% more doc coverage.
22313 2005-10-21 Andy Wingo <wingo@pobox.com>
22315 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22316 position reporting.
22318 2005-10-20 Wim Taymans <wim@fluendo.com>
22320 * gst/gsterror.c: (gst_error_get_message):
22323 * gst/gststructure.c:
22328 2005-10-20 Wim Taymans <wim@fluendo.com>
22333 Another 1% more coverage.
22335 2005-10-20 Wim Taymans <wim@fluendo.com>
22337 * docs/gst/gstreamer-sections.txt:
22338 * gst/gstelement.c: (gst_element_get_state_func),
22339 (gst_element_abort_state), (gst_element_commit_state),
22340 (gst_element_lost_state):
22342 * gst/gstquery.c: (gst_query_set_position),
22343 (gst_query_parse_position), (gst_query_set_duration),
22344 (gst_query_parse_duration), (gst_query_new_convert):
22346 Yay! 1% more docs coverage.
22348 2005-10-20 Wim Taymans <wim@fluendo.com>
22351 * gst/gstquery.c: (gst_query_set_position),
22352 (gst_query_parse_position), (gst_query_set_duration),
22353 (gst_query_parse_duration), (gst_query_new_convert):
22355 * gst/gstutils.c: (gst_element_query_convert):
22357 Docs and consistency fixes.
22359 2005-10-20 Wim Taymans <wim@fluendo.com>
22365 2005-10-20 Wim Taymans <wim@fluendo.com>
22367 * gst/gstbin.c: (message_check), (bin_replace_message),
22368 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22369 (update_degree), (gst_bin_sort_iterator_next),
22370 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22371 Reworked the message handling a bit, cache the messages instead of
22372 only the senders. alows us to do more in the future.
22374 2005-10-20 Wim Taymans <wim@fluendo.com>
22376 * docs/design/part-TODO.txt:
22379 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22380 (gst_base_sink_query):
22381 Don't use clock time to report position when in EOS.
22383 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22385 * tools/gst-inspect.c: (print_interfaces),
22386 (print_element_properties_info), (print_element_info):
22387 Fix interface output with gst-inspect -a; don't print
22388 newlines after double/float properties.
22390 2005-10-20 Wim Taymans <wim@fluendo.com>
22392 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22393 (gst_base_sink_query):
22394 Speed up current position calculation.
22396 * gst/base/gstbasesrc.c: (gst_base_src_query),
22397 (gst_base_src_default_newsegment):
22398 Correctly set stream position in newsegment.
22400 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22401 (update_degree), (gst_bin_sort_iterator_next),
22402 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22403 * gst/gstmessage.c: (gst_message_new_custom):
22404 Clean up debugging info
22406 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22407 (gst_queue_loop), (gst_queue_handle_src_query):
22410 2005-10-19 Wim Taymans <wim@fluendo.com>
22412 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22413 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22414 Fix query handling again.
22416 2005-10-19 Wim Taymans <wim@fluendo.com>
22418 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22419 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22420 * gst/base/gstbasesrc.c: (gst_base_src_query):
22421 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22422 * gst/elements/gsttypefindelement.c:
22423 (gst_type_find_handle_src_query), (find_element_get_length),
22424 (gst_type_find_element_activate):
22427 * gst/gstquery.c: (gst_query_new_position),
22428 (gst_query_set_position), (gst_query_parse_position),
22429 (gst_query_new_duration), (gst_query_set_duration),
22430 (gst_query_parse_duration), (gst_query_set_segment),
22431 (gst_query_parse_segment):
22433 Bundling query position/duration is not a good idea since duration
22434 does not change much and we don't want to recalculate it for every
22435 position query, so they are separated again..
22436 Base value in segment query is not needed.
22438 * gst/gstqueue.c: (gst_queue_handle_src_query):
22439 * gst/gstutils.c: (gst_element_query_position),
22440 (gst_element_query_duration), (gst_pad_query_position),
22441 (gst_pad_query_duration):
22443 Updates for query API change.
22444 Added some docs here and there.
22446 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22448 * check/gst/gstbin.c: (GST_START_TEST):
22449 * check/gst/gstghostpad.c: (GST_START_TEST):
22450 * check/pipelines/cleanup.c: (GST_START_TEST):
22451 wait on thread to die so we can check refcount correctly
22453 2005-10-18 Wim Taymans <wim@fluendo.com>
22455 * check/pipelines/stress.c: (GST_START_TEST):
22456 Make check a little more time consuming.
22458 2005-10-18 Wim Taymans <wim@fluendo.com>
22460 * check/Makefile.am:
22461 * check/pipelines/stress.c: (GST_START_TEST),
22462 (simple_launch_lines_suite), (main):
22463 Small state change torture test.
22465 * docs/design/part-states.txt:
22466 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22467 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22468 (gst_base_sink_change_state):
22469 Never take state lock from streaming thread, clean up ugly
22470 hacks. Unfortunatly core does not yet support nice ways to
22471 async commit state.
22473 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22475 Start state recalc if a STATE_DIRTY message is posted, but only
22476 on the toplevel bin.
22478 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22479 (gst_element_get_state_func), (gst_element_abort_state),
22480 (gst_element_commit_state), (gst_element_lost_state),
22481 (gst_element_set_state_func), (gst_element_change_state):
22482 * gst/gstelement.h:
22483 State variables are now protected with the LOCK, the state
22484 lock is only used to serialize _set_state().
22486 2005-10-18 Wim Taymans <wim@fluendo.com>
22488 * check/gst/gstbin.c: (GST_START_TEST):
22489 * check/gst/gstmessage.c: (GST_START_TEST):
22490 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22491 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22493 * gst/gstelement.c: (gst_element_abort_state),
22494 (gst_element_commit_state), (gst_element_lost_state):
22495 * gst/gstmessage.c: (gst_message_new_state_changed),
22496 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22497 (gst_message_new_segment_done), (gst_message_new_duration),
22498 (gst_message_parse_state_changed),
22499 (gst_message_parse_segment_start),
22500 (gst_message_parse_segment_done), (gst_message_parse_duration):
22501 * gst/gstmessage.h:
22502 * tools/gst-launch.c: (event_loop):
22503 Seriously, this is better than a previous commit as we only need
22504 to notify the fact that an element changed state in a streaming
22505 thread, marking the state of the parents dirty, hence the
22506 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22509 2005-10-18 Wim Taymans <wim@fluendo.com>
22511 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22512 (gst_bin_recalc_func):
22513 * gst/gstelement.c: (gst_element_set_clock),
22514 (gst_element_abort_state), (gst_element_lost_state):
22515 Cleanups, prepare for state change fixes.
22517 2005-10-18 Wim Taymans <wim@fluendo.com>
22520 * gst/gstelement.c: (gst_element_class_init),
22521 (gst_element_set_state), (gst_element_set_state_func):
22522 * gst/gstelement.h:
22523 Pending ABI changes.
22524 GThreadPool in GstBinClass to monitor async state changes.
22525 state_cookie in GstElement to detect concurrent gst/set state.
22526 set_state is now virtual too in case a very complicated element
22527 has to be constructed.
22529 2005-10-18 Wim Taymans <wim@fluendo.com>
22531 * check/gst/gstbin.c: (GST_START_TEST):
22532 * check/gst/gstmessage.c: (GST_START_TEST):
22533 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22534 * gst/gstbin.c: (bin_bus_handler):
22535 * gst/gstelement.c: (gst_element_commit_state),
22536 (gst_element_lost_state):
22537 * gst/gstmessage.c: (gst_message_new_state_changed),
22538 (gst_message_new_segment_start), (gst_message_new_segment_done),
22539 (gst_message_new_duration), (gst_message_parse_state_changed),
22540 (gst_message_parse_segment_start),
22541 (gst_message_parse_segment_done), (gst_message_parse_duration):
22542 * gst/gstmessage.h:
22543 * tools/gst-launch.c: (event_loop):
22544 Make messages future proof.
22545 state-change gets a flag if it was a message comming from the
22547 segment-start/stop can also be specified in other formats.
22548 A message to notify an app that a pipeline changed playback
22550 Also fix a GstMessage leak in -launch
22552 2005-10-18 Andy Wingo <wingo@pobox.com>
22554 * gst/gstelement.c (gst_element_dispose): More helpful message.
22556 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22558 reviewed by: <delete if not using a buddy>
22560 * common/gtk-doc.mak:
22562 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22564 * gst/gstregistry.c: (gst_registry_scan_path_level):
22565 unref a plug-in we get that was already initialized
22567 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22569 * docs/gst/gstreamer-sections.txt:
22570 * docs/libs/gstreamer-libs-sections.txt:
22571 * gst/gstelement.h:
22572 add new api entries
22573 hide internal macro
22575 2005-10-17 Andy Wingo <wingo@pobox.com>
22577 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22580 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22582 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22584 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22585 (gst_element_get_state_func): Better debug message.
22586 (gst_element_commit_state): s/INFO/DEBUG/.
22587 (gst_element_lost_state, gst_element_change_state):
22589 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22590 (gst_message_new_custom): s/INFO/LOG/.
22592 2005-10-17 Michael Smith <msmith@fluendo.com>
22594 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22595 Check if end time is valid using end time, not start time.
22597 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22599 * check/gst-libs/controller.c: (GST_START_TEST),
22600 (gst_controller_suite):
22601 * libs/gst/controller/gstcontroller.c:
22602 (gst_controlled_property_set_interpolation_mode):
22603 * libs/gst/controller/gstcontroller.h:
22604 * libs/gst/controller/gstinterpolation.c:
22605 * testsuite/controller/.cvsignore:
22606 * testsuite/controller/Makefile.am:
22607 * testsuite/controller/interpolator.c:
22608 merge controller testsuites
22610 remove mem-chunk from docs
22612 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22614 * gst/gstmemchunk.c:
22615 * gst/gstmemchunk.h:
22616 * gst/gsttrashstack.c:
22617 * gst/gsttrashstack.h:
22618 out. get out. you're fired. to the Attic !
22620 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22622 * gst/gstcaps.c: (gst_caps_intersect):
22623 fix signedness issues in a (hopefully) correct way
22624 * gst/gstelement.c: (gst_element_pads_activate):
22626 * gst/gstobject.c: (gst_object_set_parent):
22629 2005-10-17 Julien MOUTTE <julien@moutte.net>
22631 * gst/gstvalue.h: Fix prototypes.
22633 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22635 * docs/gst/gstreamer-sections.txt:
22636 * gst/gst.c: (gst_version_string):
22638 * gst/gstversion.h.in:
22639 * win32/common/libgstreamer.def:
22640 add gst_version_string ()
22642 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22646 * gst/gst.c: (init_post):
22647 * win32/common/config.h.in:
22649 * gst/gstcaps.c: (gst_caps_intersect):
22650 use gint64, the range could be bigger than a guint
22652 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22655 document potential problem in 2038
22657 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22659 * gst/gstcaps.c: (gst_caps_intersect):
22660 Fix guint j diving under 0
22662 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22665 * win32/common/config.h:
22666 * win32/common/config.h.in:
22667 check for process.h, declares getpid() on Windows
22669 include process.h if we have it
22670 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22671 * gst/gstmemchunk.h:
22672 fix signedness issues
22673 * win32/common/libgstreamer.def:
22676 2005-10-16 Julien MOUTTE <julien@moutte.net>
22678 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22679 fix. Because of unsigned ints, caps intersection was going nuts and
22680 trying to access structures with G_MAXUINT index. That fixes
22681 videotestsrc ! ffmpegcolorspace ! fakesink
22682 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22685 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22688 use the gettext macro
22689 * gst/elements/gstelements.c:
22691 * gst/indexers/gstindexers.c:
22692 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22693 * win32/common/config.h:
22695 * win32/common/config.h.in:
22696 add the template to generate config.h
22697 * win32/common/gstenumtypes.c:
22698 * win32/common/gstversion.h:
22701 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22703 * gst/gst.c: (gst_version):
22704 * gst/gstversion.h.in:
22707 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22710 Oops, add missing closing bracket.
22712 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22715 use common m4's for argument checking
22717 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22719 * docs/gst/gstreamer-sections.txt:
22721 Add GST_EVENT_TYPE_NAME() macro.
22723 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22726 * gst/gstpluginfeature.c:
22728 privatize more symbols
22730 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22733 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22734 everything that uses GStreamer API should have the includes
22736 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22738 * docs/gst/gstreamer-sections.txt:
22739 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22741 give each value a _get_type, removes the DATA exports
22743 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22747 remove _gst_registry_auto_load, not used anymore
22748 * gst/gstbin.c: (gst_bin_get_type):
22750 * gst/gstelement.c: (gst_element_get_type):
22751 * gst/gstelement.h:
22752 * gst/gstobject.c: (gst_object_get_type):
22754 * gst/gstpad.c: (gst_pad_get_type):
22756 make _get_type functions similar, fixes data export from library
22758 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22761 correctly make conditionals
22762 * gst/elements/Makefile.am:
22763 * gst/elements/gstelements.c:
22764 fix typo causing fdsrc not to build
22766 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22768 * testsuite/Makefile.am:
22769 * testsuite/bytestream/.cvsignore:
22770 * testsuite/bytestream/Makefile.am:
22771 * testsuite/bytestream/filepadsink.c:
22772 * testsuite/bytestream/gstbstest.c:
22773 * testsuite/bytestream/test1.c:
22774 * testsuite/bytestream/testfile1:
22775 * testsuite/caps/normalisation.c:
22776 * testsuite/caps/random.c: (main):
22777 * testsuite/cleanup/.cvsignore:
22778 * testsuite/cleanup/Makefile.am:
22779 * testsuite/cleanup/cleanup1.c:
22780 * testsuite/cleanup/cleanup2.c:
22781 * testsuite/cleanup/cleanup3.c:
22782 * testsuite/cleanup/cleanup4.c:
22783 * testsuite/cleanup/cleanup5.c:
22784 * testsuite/controller/interpolator.c:
22785 * testsuite/debug/printf_extension.c: (main):
22786 * testsuite/elements/tee.c:
22787 * testsuite/negotiation/.cvsignore:
22788 * testsuite/negotiation/Makefile.am:
22789 * testsuite/negotiation/pad_link.c:
22790 * testsuite/pad/Makefile.am:
22791 * testsuite/pad/chainnopull.c:
22792 * testsuite/pad/getnopush.c:
22793 * testsuite/pad/link.c:
22794 * testsuite/refcounting/sched.c: (create_pipeline):
22795 * testsuite/registry/Makefile.am:
22796 * testsuite/registry/gst-print-formats.c:
22797 * testsuite/schedulers/.cvsignore:
22798 * testsuite/schedulers/142183-2.c:
22799 * testsuite/schedulers/142183.c:
22800 * testsuite/schedulers/143777-2.c:
22801 * testsuite/schedulers/143777.c:
22802 * testsuite/schedulers/147713.c:
22803 * testsuite/schedulers/147819.c:
22804 * testsuite/schedulers/147894-2.c:
22805 * testsuite/schedulers/147894.c:
22806 * testsuite/schedulers/Makefile.am:
22807 * testsuite/schedulers/group_link.c:
22808 * testsuite/schedulers/queue_link.c:
22809 * testsuite/schedulers/relink.c:
22810 * testsuite/schedulers/unlink.c:
22811 * testsuite/schedulers/unref.c:
22812 * testsuite/schedulers/useless_iteration.c:
22813 * testsuite/states/bin.c:
22814 clean out/remove some stuff from the testsuite directories
22816 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22819 check for some headers
22820 * gst/elements/Makefile.am:
22821 * gst/elements/gstelements.c:
22822 don't compile fdsrc without sys/socket.h
22823 * gst/indexers/Makefile.am:
22824 * gst/indexers/gstindexers.c: (plugin_init):
22825 don't compile fileindex without mmap
22827 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22834 * check/Makefile.am:
22835 * docs/gst/Makefile.am:
22836 * examples/helloworld/Makefile.am:
22838 * gst/base/Makefile.am:
22839 * gst/check/Makefile.am:
22840 * gst/elements/Makefile.am:
22841 * gst/indexers/Makefile.am:
22842 * gst/parse/Makefile.am:
22843 * libs/gst/controller/Makefile.am:
22844 * libs/gst/dataprotocol/Makefile.am:
22845 * examples/helloworld/helloworld.c: (event_loop):
22846 compile fixes, though it's not being compiled currently
22848 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22850 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22851 Add some simple tests for the new taglist date API.
22853 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22855 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22856 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22857 Beautify 'last-message' output: print 'none' for buffer timestamps
22858 and durations if none is set; improve alignment with next messages.
22860 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22862 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22863 * gst/gstpluginfeature.h:
22864 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22865 * gst/gstregistry.h:
22866 * docs/gst/gstreamer-sections.txt:
22867 Add new API to check plugin feature version requirements.
22869 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22870 Some basic tests for the above.
22872 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22874 * gst/gststructure.c: (gst_structure_to_string):
22875 guard against NULL printf - happens when for example
22876 a message structure with GstClock gets serialized
22878 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22880 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22881 Fix presumable copy'n'pasto.
22883 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22885 * gst/elements/gstfakesrc.h:
22886 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22887 * gst/elements/gsttypefindelement.c:
22888 fix some signedness
22889 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22890 I wonder if this could actually write +2GB files before
22892 2005-10-13 Andy Wingo <wingo@pobox.com>
22894 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22895 Fix Timmeke Waymans bug.
22896 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22897 string of the proper length to gst_caps_from_string. There's a
22898 potential for, before this fix, that this could cause someone
22899 connecting over the network to cause a segfault if the payload is
22900 not NUL-terminated.
22902 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22904 * docs/design/draft-push-pull.txt:
22905 * docs/design/part-overview.txt:
22906 * docs/random/TODO-pre-0.9:
22907 * docs/random/old/ChangeLog.gstreamer:
22908 * gst/base/gstpushsrc.c:
22912 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22914 * gst/glib-compat.c: (gst_flags_get_first_value):
22915 * gst/glib-compat.h:
22916 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22917 (gst_value_compare_double), (gst_value_serialize_flags):
22918 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22921 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22923 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22924 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22926 * tools/gst-launch.c: (event_loop):
22927 print out clock nicely
22929 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22931 * docs/gst/gstreamer-sections.txt:
22932 * gst/gsttaglist.h:
22933 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22934 (gst_tag_list_get_date_index):
22935 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22936 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22938 2005-10-13 Julien MOUTTE <julien@moutte.net>
22940 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22941 (gst_collectpads_chain):
22942 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22945 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22947 * docs/gst/gstreamer-sections.txt:
22950 * tools/gst-inspect.c: (main):
22951 * tools/gst-launch.c: (main):
22952 * tools/gst-run.c: (main):
22953 * tools/gst-xmlinspect.c: (main):
22954 fix GOption context leaks
22957 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22961 * win32/common/config.h:
22963 * win32/vs6/grammar.dsp:
22964 * win32/vs6/libgstelements.dsp:
22965 * win32/vs6/libgstreamer.dsp:
22968 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22970 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22971 * gst/base/gstbasesrc.c: (gst_base_src_query):
22972 fix more guint64<->gdouble conversions
22974 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22977 add win32-update target
22978 * win32/common/gstconfig.h:
22979 * win32/common/gstenumtypes.c:
22980 * win32/common/gstenumtypes.h:
22981 * win32/common/gstversion.h:
22982 add files that visual studio can't generate
22984 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22987 add a win32-update target
22990 2005-10-12 Wim Taymans <wim@fluendo.com>
22992 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22993 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22994 * gst/gstelement.c: (gst_element_commit_state),
22995 (gst_element_set_state):
22996 Protect flags with proper lock.
22997 unref provided cached clock in dispose.
22999 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23002 * gst/gstminiobject.h:
23004 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23005 removed unused flags from miniobject
23008 2005-10-12 Wim Taymans <wim@fluendo.com>
23010 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23011 (gst_file_sink_event), (gst_file_sink_render):
23012 Flush before seeking.
23014 2005-10-12 Andy Wingo <wingo@pobox.com>
23016 * gst/gst.c (gst_init_check): Ignore unknown options, as has
23017 always been the case.
23019 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23021 * check/gst/gstbin.c: (GST_START_TEST):
23022 * docs/gst/gstreamer-sections.txt:
23023 * gst/base/gstbasesink.c: (gst_base_sink_init):
23024 * gst/base/gstbasesrc.c: (gst_base_src_init),
23025 (gst_base_src_get_range), (gst_base_src_check_get_range),
23026 (gst_base_src_start), (gst_base_src_stop):
23027 * gst/base/gstbasesrc.h:
23028 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23029 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23030 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23034 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23036 * gst/gstelement.c: (gst_element_is_locked_state),
23037 (gst_element_set_locked_state), (gst_element_commit_state),
23038 (gst_element_set_state):
23039 * gst/gstelement.h:
23040 * gst/gstindex.c: (gst_index_init):
23042 * gst/gstminiobject.h:
23043 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23044 (gst_object_set_parent):
23046 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23047 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23049 * gst/gstpadtemplate.h:
23050 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23051 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23052 * gst/gstpipeline.h:
23053 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23054 (gst_file_index_commit):
23055 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23056 * testsuite/pad/link.c: (gst_test_src_init),
23057 (gst_test_filter_init), (gst_test_sink_init):
23058 * testsuite/states/locked.c: (main):
23059 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23060 moved bitshift from macro to enum definition
23062 2005-10-12 Wim Taymans <wim@fluendo.com>
23064 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23065 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23066 (gst_file_sink_render):
23067 Some more debugging info.
23069 2005-10-12 Wim Taymans <wim@fluendo.com>
23071 * docs/design/part-states.txt:
23072 * tools/gst-launch.c: (main):
23074 Revert non-intentional change.
23076 2005-10-12 Wim Taymans <wim@fluendo.com>
23078 * check/gst/gstbin.c: (GST_START_TEST):
23079 * check/gst/gstelement.c: (GST_START_TEST):
23080 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23081 * check/gst/gstghostpad.c: (GST_START_TEST):
23082 * check/gst/gstpipeline.c: (GST_START_TEST):
23083 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23084 * check/states/sinks.c: (GST_START_TEST):
23085 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23086 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23087 (gst_bin_remove_func), (gst_bin_get_state_func),
23088 (gst_bin_recalc_state), (gst_bin_change_state_func),
23090 * gst/gstelement.c: (gst_element_get_state_func),
23091 (gst_element_get_state), (gst_element_abort_state),
23092 (gst_element_commit_state), (gst_element_set_state),
23093 (gst_element_change_state), (gst_element_change_state_func):
23094 * gst/gstelement.h:
23095 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23096 (gst_pipeline_provide_clock_func):
23097 * gst/gstutils.c: (gst_element_link_pads_filtered):
23098 * tools/gst-launch.c: (main):
23099 * tools/gst-typefind.c: (main):
23100 Use GstClockTime in _get_state() instead of GTimeVal.
23101 Remove old code in gstutils.c
23103 2005-10-12 Andy Wingo <wingo@pobox.com>
23105 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23108 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23109 there is no task. Shouldn't affect any code, as nothing in our
23110 plugins checks this return value.
23111 (gst_pad_stop_task): Also take the stream lock if the pad has no
23112 task. Docs updated.
23114 2005-10-12 Wim Taymans <wim@fluendo.com>
23116 * gst/gstpad.c: (pre_activate), (post_activate),
23117 (gst_pad_activate_pull), (gst_pad_activate_push):
23118 Cleanup activation code. Reset old state if
23121 2005-10-12 Wim Taymans <wim@fluendo.com>
23123 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23124 (gst_base_sink_change_state):
23125 No need to prerol after receiving EOS.
23127 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23128 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23129 * gst/elements/gstidentity.c: (gst_identity_event):
23130 Print events more verbosely.
23132 2005-10-12 Wim Taymans <wim@fluendo.com>
23134 * check/Makefile.am:
23135 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23136 * check/states/sinks2.c:
23137 Moved sinks2 testcode in sinks check.
23139 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23140 (gst_bin_remove_func), (gst_bin_recalc_state),
23141 (gst_bin_change_state_func), (bin_bus_handler):
23142 Fix potential race condition when _get_state() iterated over an
23143 ASYNC element right before it posted a state completion.
23146 Do proper cast here.
23148 * gst/gstevent.c: (gst_event_new_newsegment),
23149 (gst_event_parse_newsegment):
23150 A playback rate of 0.0 is not allowed.
23152 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23154 * win32/common/config.h:
23155 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23156 (_trewinddir), (_ttelldir), (_tseekdir):
23157 * win32/common/dirent.h:
23158 * win32/common/gtchar.h:
23159 * win32/common/libgstbase.def:
23160 * win32/common/libgstreamer.def:
23161 * win32/vs6/grammar.dsp:
23162 * win32/vs6/gst_inspect.dsp:
23163 * win32/vs6/gst_launch.dsp:
23164 * win32/vs6/gstreamer.dsw:
23165 * win32/vs6/libgstbase.dsp:
23166 * win32/vs6/libgstelements.dsp:
23167 * win32/vs6/libgstreamer.dsp:
23168 Visual Studio 6 project files, and a new common directory.
23171 2005-10-11 Wim Taymans <wim@fluendo.com>
23173 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23174 (gst_base_sink_do_sync), (gst_base_sink_query),
23175 (gst_base_sink_change_state):
23176 * gst/base/gstbasesink.h:
23177 Correctly parse newsegment info.
23179 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23181 * gst/gst.c: (init_post):
23182 split plugin paths correctly
23184 2005-10-11 Wim Taymans <wim@fluendo.com>
23186 * check/gst/gstevent.c: (GST_START_TEST):
23187 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23188 (gst_base_sink_change_state):
23189 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23190 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23191 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23192 * gst/gstevent.c: (gst_event_new_newsegment),
23193 (gst_event_parse_newsegment):
23195 Added extra flag to newsegment for future API freeze.
23196 Updated check and base elements.
23198 2005-10-11 Julien MOUTTE <julien@moutte.net>
23200 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23201 (gst_collectpads_add_pad), (gst_collectpads_pop),
23202 (gst_collectpads_event), (gst_collectpads_chain):
23203 * gst/base/gstcollectpads.h: Handle EOS correctly.
23205 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23207 * tools/gst-launch.c: (main):
23208 more null protecting
23210 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23212 * gst/gst-i18n-lib.h:
23213 check for ENABLE_NLS, not GETTEXT_PACKAGE
23214 * gst/gstregistry.c: (gst_registry_add_plugin),
23215 (gst_registry_scan_path_level),
23216 (_gst_registry_remove_cache_plugins):
23217 protect possibly NULL strings
23218 * gst/parse/types.h:
23219 config.h already included before
23220 * tools/gst-inspect.c: (main):
23221 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23222 check for ENABLE_NLS, not GETTEXT_PACKAGE
23223 * tools/gst-launch.c: (main):
23224 check for ENABLE_NLS, not GETTEXT_PACKAGE
23226 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23229 if we don't have glib, fail before testing 2.8
23230 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23231 fix a leak, should fix plugins-base testsuite
23233 2005-10-11 Andy Wingo <wingo@pobox.com>
23235 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23236 take the mode we're going to as an arg. Go head and set the mode
23237 and flushing flags now, so that if the activate function starts a
23238 thread all the flags will be in the right state.
23239 (post_activate): Renamed also. Just handle making sure streaming
23240 finishes for the deactivation case, and setting the deactivated
23242 (gst_pad_set_active): Complain loudly if deactivation fails.
23243 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23244 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23245 remove the terrible hack.
23247 2005-10-11 Wim Taymans <wim@fluendo.com>
23249 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23250 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23251 (gst_bin_recalc_state), (gst_bin_change_state_func),
23252 (gst_bin_dispose), (bin_bus_handler):
23254 Prepare to make current EOS message queue more generic.
23257 * gst/gstevent.c: (gst_event_new_newsegment),
23258 (gst_event_parse_newsegment):
23260 Rename base to stream_time.
23262 * gst/gstmessage.h:
23265 2005-10-11 Wim Taymans <wim@fluendo.com>
23267 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23268 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23269 (gst_bin_change_state_func), (bin_bus_handler):
23271 Work on proper clock selection.
23273 2005-10-11 Edward Hervey <edward@fluendo.com>
23275 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23276 * libs/gst/controller/gstcontroller.h:
23277 Added GList* version of _remove_properties() in order to be able to wrap
23280 2005-10-11 Wim Taymans <wim@fluendo.com>
23282 * docs/design/part-states.txt:
23285 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23286 (gst_bin_change_state_func), (bin_bus_handler):
23287 Doc updates. Don't distribute the same clock over and over again.
23293 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23294 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23295 (gst_pad_send_event):
23297 Make probe emission threadsafe again.
23298 Register quarks and move _get_name() from utils.
23301 * gst/gstpipeline.c: (gst_pipeline_class_init),
23302 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23303 Only redistribute the clock of it changed.
23305 * gst/gstsystemclock.h:
23310 Moved the _flow_get_name() to GstPad.
23312 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23314 * check/gst-libs/gdp.c: (GST_START_TEST):
23315 * check/gst/gstcaps.c: (GST_START_TEST):
23316 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23317 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23318 (gst_dp_packet_from_caps):
23319 fix more valgrind warnings before turning up the heat
23321 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23323 * gst/parse/grammar.y:
23324 some cleanup before the hacking
23326 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23328 * gst/base/gstbasesrc.c: (gst_base_src_query):
23330 * gst/gstutils.c: (gst_guint64_to_gdouble),
23331 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23333 externalize, basesrc uses it
23334 obviously the implementation needs testing
23336 2005-10-10 Wim Taymans <wim@fluendo.com>
23338 * tests/sched/Makefile.am:
23339 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23340 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23342 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23344 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23345 apparently converting from guint64 to double is not implemented
23348 2005-10-10 Wim Taymans <wim@fluendo.com>
23350 * check/Makefile.am:
23351 * check/generic/states.c: (GST_START_TEST):
23352 * check/gst/gstbin.c: (GST_START_TEST):
23353 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23354 * check/states/sinks.c: (GST_START_TEST):
23355 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23357 Check fixes, use API as stated in design docs, remove hacks.
23359 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23360 (gst_base_sink_change_state):
23361 Catch stopping our task while we're shutting down.
23363 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23364 (gst_bin_remove_func), (gst_bin_get_state_func),
23365 (gst_bin_recalc_state), (gst_bin_change_state_func),
23368 * gst/gstelement.c: (gst_element_init),
23369 (gst_element_get_state_func), (gst_element_abort_state),
23370 (gst_element_commit_state), (gst_element_lost_state),
23371 (gst_element_set_state), (gst_element_change_state),
23372 (gst_element_change_state_func):
23373 * gst/gstelement.h:
23374 New state change algorithm (see #318116)
23376 * gst/gstpipeline.c: (gst_pipeline_class_init),
23377 (gst_pipeline_init), (gst_pipeline_set_property),
23378 (gst_pipeline_get_property), (do_pipeline_seek),
23379 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23380 * gst/gstpipeline.h:
23381 Remove crude state change hacks.
23384 Remove crude hacks.
23386 * tools/gst-launch.c: (main):
23387 Fixes for state change. Needs some more work to fully use the
23390 2005-10-10 Andy Wingo <wingo@pobox.com>
23392 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23394 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23395 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23398 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23400 * gst/gstiterator.c: (gst_iterator_new):
23401 Fix my previous commit: GTypes passed to gst_iterator_new()
23402 can be fundamental types.
23404 2005-10-10 Wim Taymans <wim@fluendo.com>
23406 * gst/gstelement.c: (gst_element_iterate_pad_list),
23407 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23408 (gst_element_iterate_sink_pads):
23409 Use src/sink pads lists for the respective iterators instead
23412 2005-10-10 Andy Wingo <wingo@pobox.com>
23414 Merged in popt removal + GOption addition patch from Ronald, bug
23417 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23418 GstElement macros around, remove popt-related symbols, add goption
23421 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23423 * docs/gst/Makefile.am:
23424 * docs/libs/Makefile.am: No POPT_CFLAGS.
23426 * examples/manual/Makefile.am:
23427 * docs/manual/basics-init.xml: Doc updates with an example.
23429 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23430 (gst_init), (parse_one_option), (parse_goption_arg):
23431 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23432 bit of hand merging and debugging to get the GOption stuff working
23435 * tests/Makefile.am:
23436 * tools/Makefile.am:
23437 * tools/gst-inspect.c: (main):
23438 * tools/gst-launch.c: (main):
23439 * tools/gst-run.c: (main):
23440 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23442 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23444 * gst/gstiterator.c: (gst_iterator_new):
23445 Add assertions to make sure passed GType is likely to really
23446 be a GType (as the compiler won't catch it if the size and
23447 GType arguments get mixed up, see #318447).
23449 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23451 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23453 * gst/gstbin.c: (gst_bin_iterate_sorted):
23454 Pass GType and size arguments to gst_iterator_new() in the right
23455 order (maybe we should make _new() take the GType as first argument
23456 just like _new_list()?) (#318447).
23459 2005-10-10 Wim Taymans <wim@fluendo.com>
23461 * gst/gstelement.c: (gst_element_finalize):
23462 And free the GStaticRecMutex too
23464 2005-10-10 Andy Wingo <wingo@pobox.com>
23466 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23467 Allocate and free the mutex properly.
23469 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23471 (GstElement): The state_lock is now recursive. Rebuild your
23472 plugins, suckers. Old macros adapted.
23474 * docs/gst/gstreamer-sections.txt: Doc updates.
23477 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23478 (g_static_rec_cond_wait): Ported from state changes patch, while
23479 we wait on bug #317802 to be solved in a well-distributed GLib.
23481 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23482 gst_element_change_state, variable name changes.
23483 (gst_element_change_state): Split out of gst_element_set_state in
23484 preparation for the state change merge. Doesn't pay attention to
23485 the 'transition' argument.
23486 (gst_element_set_state): Updates, hopefully purely cosmetic.
23487 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23488 state change patch.
23489 (gst_element_get_state_func): Renamed from get_state, cosmetic
23492 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23494 * gst/elements/gstelements.c:
23495 * win32/GStreamer.vcproj:
23497 * win32/dirent.c: (_tseekdir):
23498 * win32/gst-inspect.vcproj:
23499 * win32/gst-launch.vcproj:
23500 * win32/gstconfig.h:
23501 * win32/gstelements.vcproj:
23502 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23503 * win32/gstreamer.def:
23504 * win32/msvc71.sln:
23505 updates for the win32 build (patch from Sebastien Moutte)
23507 2005-10-10 Andy Wingo <wingo@pobox.com>
23509 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23510 gst_bin_get_state, cleaned up (but no logic changes).
23511 (bin_element_is_sink): Comment updates.
23512 (sink_iterator_filter): Remove needless cast.
23513 (gst_bin_iterate_sinks): Doc update.
23514 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23515 cleaned up (but no logic changes).
23517 * check/states/sinks.c (test_src_sink): Cleanups from the state
23519 (test_livesrc_sink): Sync on the state.
23521 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23522 the state change patch.
23524 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23527 * check/gst/gstbin.c: Merge in some style fixes and additional
23528 checks from Wim's state change patch.
23530 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23532 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23533 (gst_type_find_helper):
23534 Check whether we have the requested data already in our list of
23535 cached buffers before pulling a new buffer; also make the buffer
23536 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23538 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23543 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23544 don't use long long, it's not portable. Replacing with
23545 gint64 seems to work; let's hope no skeletons fall out of the closet.
23547 2005-10-10 Andy Wingo <wingo@pobox.com>
23549 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23551 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23553 * docs/gst/gstreamer-sections.txt:
23558 * gst/gstmessage.c: (gst_message_parse_state_changed):
23561 more docs, fix compilation
23563 2005-10-09 Philippe Khalaf <burger@speedy.org>
23564 * gst/gstmessage.c:
23565 Fixed a few forgotten variables on previous commit
23567 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23569 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23570 Fix evil typefind crasher: getrange() might return a short
23571 buffer at the end of a file, but gst_type_find_peek() must
23572 either return the full data as requested or NULL, but
23573 never a short buffer.
23575 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23577 * gst/gstmessage.c: (gst_message_new_state_changed),
23578 (gst_message_parse_state_changed):
23579 * gst/gstmessage.h:
23580 don't use "new", it's a C++ keyword
23582 2005-10-08 Wim Taymans <wim@fluendo.com>
23584 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23585 * gst/gstelement.c: (gst_element_post_message):
23586 * gst/gstpipeline.c: (gst_pipeline_change_state):
23587 Small docs and debug updates.
23589 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23591 * docs/gst/gstreamer-sections.txt:
23592 * gst/gstelementfactory.c:
23594 * gst/gsttaglist.c:
23597 2005-10-08 Wim Taymans <wim@fluendo.com>
23599 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23600 (gst_bin_dispose), (bin_bus_handler):
23601 Fix typos, add comments.
23602 Clear EOS list when going to PAUSED from any direction and do it
23603 in a threadsafe way.
23604 Get base time in a threadsafe way too.
23605 Fix confusing debug in the change_state function.
23606 Various other small cleanups.
23608 * gst/gstelement.c: (gst_element_post_message):
23609 Fix very verbose bus posting code.
23611 * gst/gstpipeline.c: (gst_pipeline_class_init),
23612 (gst_pipeline_set_property), (gst_pipeline_get_property),
23613 (gst_pipeline_change_state):
23614 Small ARG_ -> PROP_ cleanup
23616 2005-10-08 Wim Taymans <wim@fluendo.com>
23618 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23619 Do a less CPU demanding EOS check because we can.
23621 2005-10-08 Wim Taymans <wim@fluendo.com>
23623 * libs/gst/dataprotocol/dataprotocol.c:
23624 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23625 (gst_dp_packet_from_event):
23626 * libs/gst/dataprotocol/dataprotocol.h:
23627 * libs/gst/dataprotocol/dp-private.h:
23628 It's about time we bump the version number.
23629 Since event types don't fit in the guint8 anymore describing
23630 the payload type, make payload type 16 bits wide.
23632 2005-10-08 Wim Taymans <wim@fluendo.com>
23634 * docs/design/part-TODO.txt:
23635 * docs/design/part-clocks.txt:
23636 * docs/design/part-events.txt:
23637 * docs/design/part-gstbin.txt:
23638 * docs/design/part-gstelement.txt:
23639 * docs/design/part-gstpipeline.txt:
23640 * docs/design/part-live-source.txt:
23641 * docs/design/part-messages.txt:
23642 * docs/design/part-overview.txt:
23643 * docs/design/part-states.txt:
23646 2005-10-08 Wim Taymans <wim@fluendo.com>
23650 Fix event quark registration.
23651 Add some space between events so we can insert them in the
23654 2005-10-08 Wim Taymans <wim@fluendo.com>
23656 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23657 (gst_base_sink_handle_buffer):
23658 Better log message.
23661 * gst/gstelement.h:
23664 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23665 (gst_queue_set_property), (gst_queue_get_property):
23667 Remove old unused properties.
23669 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23670 * docs/gst/gstreamer-sections.txt:
23671 * gst/gstmessage.c:
23672 * gst/gstmessage.h:
23673 * gst/gstminiobject.c:
23674 * gst/gstminiobject.h:
23678 lots of new docs and doc fixes
23680 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23682 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23684 * gst/gstregistry.c: (gst_registry_lookup_locked),
23685 (gst_registry_scan_path_level):
23686 * gst/gstregistryxml.c: (load_plugin):
23687 Only ever load one plugin for a given plugin basename.
23688 This ensures correct overriding of GST_PLUGIN_PATH over
23689 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23690 system installed plugins.
23692 2005-10-08 Wim Taymans <wim@fluendo.com>
23694 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23695 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23696 Prepare for doing QOS.
23698 2005-10-08 Wim Taymans <wim@fluendo.com>
23700 * check/gst/gstbin.c: (GST_START_TEST):
23701 * check/pipelines/cleanup.c: (GST_START_TEST):
23702 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23703 Allow new clock message too.
23705 2005-10-08 Wim Taymans <wim@fluendo.com>
23707 * gst/gstmessage.c: (gst_message_new_error),
23708 (gst_message_new_warning), (gst_message_new_tag),
23709 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23710 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23711 (gst_message_new_segment_start), (gst_message_new_segment_done),
23712 (gst_message_parse_state_changed),
23713 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23714 (gst_message_parse_new_clock):
23715 * gst/gstmessage.h:
23716 Also carry the clock in question.
23718 2005-10-08 Wim Taymans <wim@fluendo.com>
23720 * gst/gstmessage.c: (gst_message_new_custom),
23721 (gst_message_new_eos), (gst_message_new_error),
23722 (gst_message_new_warning), (gst_message_new_tag),
23723 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23724 (gst_message_new_new_clock), (gst_message_new_segment_start),
23725 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23726 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23727 * gst/gstmessage.h:
23729 Added clock related messages.
23731 * gst/gstpipeline.c: (gst_pipeline_change_state):
23732 Post message when the clock changed.
23734 * tools/gst-launch.c: (event_loop):
23737 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23739 * tools/gst-inspect.c: (print_element_properties_info):
23740 Can't pass NULL strings to g_print() on windows.
23742 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23744 * docs/Makefile.am:
23745 * docs/gst/Makefile.am:
23746 * docs/gst/gstreamer-docs.sgml:
23747 * docs/gst/running.xml:
23748 * docs/version.entities.in:
23749 add a chapter on running GStreamer.
23750 document GST_DEBUG and GST_PLUGIN* env vars
23752 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23757 remove PLUGINS_BUILDDIR stuff
23758 * gst/gst.c: (init_post):
23759 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23761 remove, it was condescending and not needed
23763 2005-10-08 Wim Taymans <wim@fluendo.com>
23765 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23766 (gst_base_sink_handle_object), (gst_base_sink_event),
23767 (gst_base_sink_wait), (gst_base_sink_handle_event),
23768 (gst_base_sink_change_state):
23769 * gst/base/gstbasesink.h:
23770 Repost EOS message while going to PLAYING if still EOS.
23771 Make sure that when receiving a FLUSH_START we don't attempt
23772 to sync on the clock anymore.
23774 2005-10-08 Wim Taymans <wim@fluendo.com>
23776 * tools/gst-launch.c: (event_loop):
23777 Better message printout.
23779 2005-10-08 Wim Taymans <wim@fluendo.com>
23781 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23782 (gst_bin_child_proxy_get_children_count):
23783 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23784 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23785 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23786 (gst_child_proxy_set_valist):
23787 * gst/parse/grammar.y:
23788 Make ChildProxy threadsafe and fix mem leaks.
23790 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23792 * gst/gst.c: (init_post):
23793 debug the GST_PLUGIN_ env vars
23795 2005-10-08 Wim Taymans <wim@fluendo.com>
23797 * check/gst/gstbin.c: (GST_START_TEST):
23798 * check/gst/gstmessage.c: (GST_START_TEST):
23799 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23800 * gst/gstelement.c: (gst_element_commit_state),
23801 (gst_element_lost_state):
23802 * gst/gstmessage.c: (gst_message_new_state_changed),
23803 (gst_message_parse_state_changed):
23804 * gst/gstmessage.h:
23805 * tools/gst-launch.c: (event_loop):
23806 Added extra field to STATE_CHANGE message with the pending
23807 state, which will be different from the new state soon.
23809 2005-10-08 Wim Taymans <wim@fluendo.com>
23811 * gst/gstbus.c: (gst_bus_pop):
23813 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23814 Small cleanups and doc updates.
23816 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23818 * gst/gst.c: (init_pre):
23819 * gst/gstbin.c: (gst_bin_add_func):
23820 log distributing clocks and base time
23821 * gst/gstregistry.c: (gst_registry_add_plugin),
23822 (gst_registry_scan_path_level), (gst_registry_scan_path):
23823 clean up the debugging output a little
23824 * gst/gstutils.c: (gst_element_state_get_name):
23825 warn about a memleak (I've actually seen this be used, though
23826 it was probably a bug)
23828 2005-10-07 Wim Taymans <wim@fluendo.com>
23830 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23831 (gst_base_src_init), (gst_base_src_default_newsegment),
23832 (gst_base_src_newsegment), (gst_base_src_do_seek),
23833 (gst_base_src_loop), (gst_base_src_start):
23834 * gst/base/gstbasesrc.h:
23835 Make the newsegment event customizable by subclasses.
23837 2005-10-07 Wim Taymans <wim@fluendo.com>
23839 * gst/gstevent.c: (gst_event_new_buffersize),
23840 (gst_event_parse_buffersize):
23842 New event for future idea.
23844 2005-10-07 Andy Wingo <wingo@pobox.com>
23846 * gst/gstelement.c (gst_element_post_message): Doc update.
23848 * docs/gst/gstreamer-sections.txt: Update.
23850 * gst/gstmessage.c (gst_message_new_application): Made into a
23851 function like honest API calls.
23852 (gst_message_new_element): New message type.
23854 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23856 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23857 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23860 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23861 NO_PREROLL from gst_element_change_state to fall through.
23863 2005-10-07 Wim Taymans <wim@fluendo.com>
23865 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23866 (gst_ghost_pad_do_activate_push):
23867 Activating a ghostpad with no internal pad in push mode
23870 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23873 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23874 Fixes compilation on Windows.
23876 2005-10-07 Michael Smith <msmith@fluendo.com>
23878 * tools/gst-inspect.c:
23879 Print out feature and plugin count at the end when printing out
23882 2005-10-04 Michael Smith <msmith@fluendo.com>
23884 * gst/gsterror.c: (_gst_stream_errors_init):
23885 Add another error string used in a few existing plugins.
23888 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23889 * tools/gst-inspect.c: (print_element_info):
23890 When a feature disappears from a plugin (and the feature exists in
23891 the cached registry file), things went horribly wrong. This isn't a
23892 complete fix, we should actually be removing the 'missing' features
23893 from the features list when we load the actual plugin. That's not
23896 2005-10-04 Johan Dahlin <johan@gnome.org>
23898 * check/gst/gstiterator.c: (GST_START_TEST):
23899 * gst/gstbin.c: (gst_bin_iterate_elements),
23900 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23901 * gst/gstelement.c: (gst_element_iterate_pads):
23902 * gst/gstformat.c: (gst_format_iterate_definitions):
23903 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23904 (gst_iterator_new_list), (gst_iterator_filter):
23905 * gst/gstiterator.h:
23906 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23907 Add a GType to GstIterator, update callsites and tests.
23909 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23911 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23912 give events a chance to be handled by event probes when the pad
23915 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23917 * gst/gstevent.c: (gst_event_type_get_name),
23918 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23920 add string representations for event types
23922 2005-10-06 Wim Taymans <wim@fluendo.com>
23924 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23925 Don't use NULL pointers.
23927 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23929 * gst/gst_private.h:
23931 * gst/gstelement.c:
23933 * gst/gstpluginfeature.c:
23934 widen the debug category in output to fit the biggest one we have
23935 add a bus category and use it
23936 play with the colors
23937 fix up some categories
23939 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23941 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23942 add push activation of sink ghost pads.
23943 Andye, please verify
23945 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23947 * gst/gstutils.c: (gst_element_link_pads):
23948 fix a bug in the case where neither element has a pad
23949 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23950 add a test for that case
23952 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23954 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23955 emit have-data before checking for peers. This allows
23956 for probe handlers to connect elements. This helps autopluggers.
23957 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23959 add six checks, linked/unlinked with no/true/false probe
23961 2005-10-04 Wim Taymans <wim@fluendo.com>
23963 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23964 (gst_fake_sink_event), (gst_fake_sink_preroll),
23965 (gst_fake_sink_render), (gst_fake_sink_change_state):
23966 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23967 (gst_fake_src_get_property), (gst_fake_src_create),
23968 (gst_fake_src_stop):
23969 * gst/elements/gstidentity.c: (gst_identity_stop):
23970 Protect last_message with lock.
23972 2005-10-04 Edward Hervey <edward@fluendo.com>
23975 Added precision in the comments for GST_FORMAT_DEFAULT
23977 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23979 * tools/gst-launch.c: (main):
23980 Don't try to run erroneous pipelines.
23982 2005-10-04 Julien MOUTTE <julien@moutte.net>
23984 * gst/gstbus.c: We don't need this header.
23986 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23989 back to development
23991 === release 0.9.3 ===
23993 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23997 Releasing 0.9.3, "Unregistered"
23999 2005-10-03 Andy Wingo <wingo@pobox.com>
24001 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24002 whereby calling a pad's activatepush() function can start a thread
24003 that starts to push or pull before the pad gets the FLUSHING flag
24004 unset. Hack around it by holding the stream lock until the flag is
24005 set. Need to replace this with a proper solution. Together with
24006 the ghost pad fixes, this fixes mp3 playing/tagreading.
24008 * docs/design/part-gstghostpad.txt: Add a note about activation of
24009 proxy pads outside of ghost pads.
24011 * gst/gstghostpad.c: Implement the ghost pad activation design.
24013 2005-10-02 Andy Wingo <wingo@pobox.com>
24015 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24016 It is volatile, after all.
24018 * docs/design/part-gstghostpad.txt: Flesh out activation with
24021 * gst/base/gstbasesrc.c (gst_base_src_init): Use
24024 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
24027 Fix (unused) AM_CONDITIONAL tests.
24029 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
24031 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24033 * gst/gstutils.c: (gst_pad_query_convert):
24034 Add assertion that makes sure src_val is >=0, just like
24035 gst_query_new_convert() has. (#315895)
24037 2005-09-30 Edward Hervey <edward@fluendo.com>
24039 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24040 Let's not iterate pads we're not interested in, it avoids getting
24041 sky-high refcounts on sinkpad.
24043 2005-09-30 Wim Taymans <wim@fluendo.com>
24045 * gst/gstelement.c: (gst_element_set_state),
24046 (gst_element_change_state):
24047 Small tweak, element in ASYNC remains ASYNC.
24049 2005-09-30 Wim Taymans <wim@fluendo.com>
24051 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24052 Only error is an error.
24054 * gst/gstbin.c: (gst_bin_change_state):
24057 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24058 Also call pad_block in pad alloc.
24060 * gst/gstutils.c: (gst_flow_get_name):
24063 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24065 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24066 (gst_base_src_get_range):
24067 Fix documentation typos. Add some more debug info.
24069 2005-09-29 David Schleef <ds@schleef.org>
24071 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24072 more end-user friendly.
24073 * tools/gst-inspect.c: (main): Check if command-line argument is
24074 a file and attempt to load that file as a plugin.
24076 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24078 * check/gst/gstbin.c:
24079 * check/states/sinks.c:
24080 fix tests for the new warning
24081 * check/gst/gstpipeline.c:
24082 add a test for pipeline and bus interaction
24083 * gst/gstelement.c:
24084 elements should be NULL if they get disposed; add a warning if not
24086 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24089 for 2.6 refcounting, make debug log more correct by printing
24090 the actual refcounts at the time of swap (Wim)
24092 2005-09-29 Andy Wingo <wingo@pobox.com>
24094 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24095 removes signal watches previously added via
24096 gst_bus_add_signal_watch.
24097 (gst_bus_add_signal_watch): Don't return the source id, just store
24098 it on the bus if there wasn't an id already.
24100 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24101 add_signal_watch and remove_signal_watch.
24103 2005-09-29 Edward Hervey <edward@fluendo.com>
24105 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24106 Better if we actually iterate the list :)
24108 2005-09-29 Wim Taymans <wim@fluendo.com>
24110 * check/gst/gstbin.c: (GST_START_TEST):
24111 Change for new bus API.
24113 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24114 (send_messages), (GST_START_TEST), (gstbus_suite):
24115 Change for new bus signal API.
24117 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24118 (gst_bus_source_prepare), (gst_bus_source_check),
24119 (gst_bus_create_watch), (gst_bus_add_watch_full),
24120 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24121 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24123 Remove support for multiple GSources operating on different
24124 message types as it is too complex and unneeded when using
24126 Added support for receiving signals from the bus.
24128 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24130 * docs/libs/tmpl/gstdataprotocol.sgml:
24131 * docs/manual/advanced-dataaccess.xml:
24132 * gst/elements/gstcapsfilter.c:
24134 rename filter-caps to caps property
24136 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24138 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24139 More robust fraction string parsing.
24141 * docs/pwg/appendix-porting.xml:
24142 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24144 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24146 * gst/gstcaps.c: (gst_caps_do_simplify):
24147 Thou shalt not free a structure and then continue using it
24148 in the next loop iteration.
24150 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24152 Add test case for caps simplification.
24154 2005-09-29 Wim Taymans <wim@fluendo.com>
24156 * check/gst/gstbin.c: (GST_START_TEST):
24159 2005-09-29 Wim Taymans <wim@fluendo.com>
24161 * check/gst/gstbin.c: (GST_START_TEST):
24164 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24165 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24166 (find_element), (gst_bin_sort_iterator_next),
24167 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24168 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24169 (gst_bin_change_state), (gst_bin_dispose):
24170 A bin does not have a bus, it gets the bus from the parent.
24172 * gst/gstelement.c: (gst_element_requires_clock),
24173 (gst_element_provides_clock), (gst_element_is_indexable),
24174 (gst_element_is_locked_state), (gst_element_change_state),
24175 (gst_element_set_bus_func):
24178 * gst/gstpipeline.c: (gst_pipeline_class_init),
24179 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24180 The pipeline provides a bus.
24182 2005-09-28 Johan Dahlin <johan@gnome.org>
24184 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24185 gst_structure_get_enum instead of gst_structure_get_int
24187 * gst/gststructure.c (gst_structure_get_enum): Impl.
24189 * gst/gststructure.h (gst_structure_get_enum): Add
24191 * docs/gst/gstreamer-sections.txt: Ditto
24193 * gst/gstmessage.c (gst_message_new_state_changed): Use
24194 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24195 which does introspection.
24196 Reviewed by Christian Schaller
24198 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24200 * gst/gstinfo.c: (gst_debug_log_default):
24201 don't do dummy g_strdup()s
24202 * libs/gst/controller/gstcontroller.c:
24203 (on_object_controlled_property_changed),
24204 (gst_controlled_property_new), (gst_controller_new_valist),
24205 (gst_controller_new_list),
24206 (gst_controller_remove_properties_valist), (gst_controller_set),
24207 (gst_controller_get), (gst_controller_sync_values),
24208 (gst_controller_get_value_array), (_gst_controller_class_init),
24209 (gst_controller_get_type):
24210 * libs/gst/controller/gstcontroller.h:
24211 * libs/gst/controller/gstinterpolation.c:
24212 (gst_controlled_property_find_timed_value_node):
24213 convert // to /**/ comments
24215 2005-09-28 Wim Taymans <wim@fluendo.com>
24217 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24218 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24219 (gst_bus_sync_signal_handler):
24221 Added async-message and sync-message signals to the bus.
24222 Added helper BusFunc to emit signals for all posted messages.
24224 * gst/gstmessage.c: (gst_message_type_get_name),
24225 (gst_message_type_to_quark), (gst_message_get_type):
24226 * gst/gstmessage.h:
24227 Register quarks for message names.
24229 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24231 * docs/libs/gstreamer-libs-sections.txt:
24232 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24233 (gst_controller_new_list):
24234 * libs/gst/controller/gstcontroller.h:
24235 added another constructor for language bindings
24237 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24239 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24243 * gst/gstinfo.c: (_gst_debug_init):
24244 slightly more readable color for refcount debugging
24246 2005-09-28 Wim Taymans <wim@fluendo.com>
24248 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24249 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24250 (find_element), (gst_bin_sort_iterator_next),
24251 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24252 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24253 (gst_bin_change_state), (gst_bin_dispose):
24254 Small doc fixes. get_clock -> provide_clock.
24256 * gst/gstelement.c: (gst_element_class_init),
24257 (gst_element_provides_clock), (gst_element_provide_clock),
24258 (gst_element_get_clock), (gst_element_commit_state),
24259 (gst_element_lost_state):
24260 * gst/gstelement.h:
24261 Make get/set_clock() symetric. Add provide_clock vmethod since
24262 that is actually what this function does.
24264 * gst/gstpipeline.c: (gst_pipeline_class_init),
24265 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24266 (gst_pipeline_get_clock):
24267 get_clock -> provide_clock.
24269 2005-09-28 Andy Wingo <wingo@pobox.com>
24271 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24272 lieu of real docs...
24274 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24276 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24278 * gst/elements/gstcapsfilter.c:
24279 * gst/elements/gstfakesink.c:
24280 * gst/elements/gstfakesrc.c:
24281 * gst/elements/gstfdsink.c:
24282 * gst/elements/gstfdsrc.c:
24283 * gst/elements/gstfilesink.c:
24284 * gst/elements/gstfilesrc.c:
24285 * gst/elements/gstidentity.c:
24286 * gst/elements/gsttee.c:
24287 * gst/elements/gsttypefindelement.c:
24288 Make element details static.
24290 2005-09-28 Wim Taymans <wim@fluendo.com>
24292 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24293 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24294 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24295 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24296 (gst_bin_change_state), (gst_bin_dispose):
24297 Some documentation updates.
24298 Clean up dispose handlers.
24300 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24301 * gst/gstpad.c: (gst_pad_dispose):
24302 Clean up dispose handler.
24304 * gst/gstpipeline.c: (gst_pipeline_change_state):
24305 Removed spurious UNLOCK.
24307 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24309 * docs/gst/gstreamer-sections.txt:
24310 * gst/base/gstbasesrc.h:
24311 * gst/gstelement.h:
24315 * gst/gstpipeline.c:
24316 * gst/gstpipeline.h:
24319 added two new functions to the docs
24320 documents all undocumented GstXXXFlags
24321 completed some incomplete docs
24323 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24325 * gst/gstbin.c: (gst_bin_dispose):
24326 * gst/gstelement.c: (gst_element_dispose):
24327 remove now useless and leaky resurrection code in dispose
24328 * gst/base/gstbasesrc.c: (gst_base_src_init):
24329 * gst/gstelementfactory.c: (gst_element_factory_create):
24330 * gst/gstobject.c: (gst_object_set_parent):
24333 2005-09-27 Wim Taymans <wim@fluendo.com>
24335 * docs/design/part-TODO.txt:
24338 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24339 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24340 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24341 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24342 (gst_bin_change_state):
24343 * gst/gstelement.h:
24344 Remove element variable, we keep element info in the iterator now.
24346 2005-09-27 Andy Wingo <wingo@pobox.com>
24348 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24351 2005-09-27 Wim Taymans <wim@fluendo.com>
24353 * check/gst/gstbin.c: (GST_START_TEST):
24354 Enable check that works now.
24356 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24357 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24358 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24359 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24360 (gst_bin_change_state):
24362 Redid the state change algorithm using a topological sort algo.
24363 Handles all cases correctly.
24364 Exposed iterator for state change order.
24366 * gst/gstelement.h:
24367 Temp storage for state changes. Need to get rid of this soon.
24369 2005-09-27 Wim Taymans <wim@fluendo.com>
24371 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24372 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24373 (link_fold_func), (gst_pad_proxy_setcaps):
24374 Leak fixes, the fold functions need to unref the passed object and
24375 _get_parent_*() returns ref to parent.
24377 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24379 * check/gst/gstbuffer.c: (test_make_writable):
24380 Plug leak in test case and fix 'make check-valgrind'
24382 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24384 * gst/gstbuffer.c: (gst_subbuffer_init):
24385 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24386 works correctly in all circumstances (we could have just copied
24387 the parent buffer's readonly flag, but conceptually it seems
24388 cleaner to mark all subbuffers as read-only). (based on patch
24389 by Alessandro Decina, #314710).
24391 * check/gst/gstbuffer.c: (create_read_only_buffer),
24392 (test_make_writable), (test_subbuffer_make_writable),
24394 Add some tests for gst_buffer_make_writable().
24396 2005-09-27 Wim Taymans <wim@fluendo.com>
24398 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24399 use gst_object_has_ancestor().
24401 * gst/gstobject.c: (gst_object_has_ancestor):
24403 gst_object_has_ancestor() copied from gstbin.c as it is a
24406 * tests/instantiate/create.c: (create_all_elements):
24407 * tests/lat.c: (handoff_src), (handoff_sink):
24408 * tests/sched/runxml.c: (main):
24409 * tests/seeking/seeking1.c: (main):
24410 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24412 Fix compilation of some tests.
24414 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24417 Remove comment. GST_TYPE_G_ERROR is here to stay,
24418 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24419 (#316961, #300610).
24421 2005-09-26 Wim Taymans <wim@fluendo.com>
24423 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24424 Added check that shows error in state change order.
24426 2005-09-26 Wim Taymans <wim@fluendo.com>
24428 * gst/gstbin.c: (gst_bin_change_state):
24429 Make state change function use 3 queues again, we were
24430 adding elements in the wrong order.
24432 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24435 * gst/gstpad.c: (gst_pad_dispose):
24436 Added some debug info first.
24438 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24440 * docs/design/draft-push-pull.txt:
24441 * docs/design/part-events.txt:
24442 * docs/design/part-overview.txt:
24443 * docs/design/part-scheduling.txt:
24444 Replace all _pull_region() with _pull_range()
24446 2005-09-26 Andy Wingo <wingo@pobox.com>
24448 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24450 * check/gst-libs/controller.c: Update for controller api change.
24453 * tests/Makefile.am:
24454 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24455 over by GLib bug 118439.
24457 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24458 routines to a function.
24460 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24462 * libs/gst/controller/gsthelper.c:
24463 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24464 (gst_object_sync_values): Renamed from sink_values. Ugh.
24466 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24468 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24469 Renamed from controller_key, as it is exported.
24471 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24473 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24478 * gst/gstpadtemplate.h:
24481 * gst/gstqueryutils.c:
24482 * gst/gstqueryutils.h:
24483 remove queryutils headers after moving the two used functions
24484 to gstquery. also fixes build problem for gstsiddec
24486 2005-09-26 Michael Smith <msmith@fluendo.com>
24488 * tools/gst-launch.1.in:
24489 Correct documentation in manpage of debug syntax
24491 2005-09-26 Wim Taymans <wim@fluendo.com>
24493 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24494 (gst_base_src_is_seekable), (gst_base_src_change_state):
24495 Some more debugging info.
24497 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24499 * docs/gst/gstreamer-sections.txt:
24500 * gst/base/gstbasetransform.h:
24504 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24506 * docs/gst/.cvsignore:
24507 * docs/gst/tmpl/.cvsignore:
24508 * docs/gst/tmpl/gstpipeline.sgml:
24509 * docs/gst/tmpl/gstplugin.sgml:
24510 * gst/gstpipeline.c:
24513 inlined the last two docs files
24514 removed the tmpl directory from cvs (no more conflicts here!)
24516 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24518 * docs/gst/gstreamer-sections.txt:
24519 * docs/gst/tmpl/.cvsignore:
24520 * docs/gst/tmpl/gstpad.sgml:
24521 * docs/gst/tmpl/gstpadtemplate.sgml:
24523 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24524 (gst_pad_finalize), (gst_pad_set_pad_template):
24526 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24527 (gst_pad_template_class_init), (gst_pad_template_init),
24528 (gst_pad_template_dispose), (name_is_valid),
24529 (gst_static_pad_template_get), (gst_pad_template_new),
24530 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24531 (gst_pad_template_pad_created):
24532 * gst/gstpadtemplate.h:
24533 inlined two more docs
24534 factored gstpadtemplate out of gstpad
24536 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24538 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24539 (test_children_state_change_order_semi_sink):
24540 Fix test case: we can't rely on a fixed state change order when
24541 going from READY => PAUSED because the sink might commit its
24542 new state first when the first buffer created by the source
24543 reaches the sink before the source has finished its change state.
24544 (Test case still fails at times, see #316856, comment 5 onwards)
24546 2005-09-24 Wim Taymans <wim@fluendo.com>
24548 * docs/design/part-events.txt:
24549 * docs/design/part-gstbus.txt:
24550 * docs/design/part-gstpipeline.txt:
24551 * docs/design/part-messages.txt:
24552 * docs/design/part-overview.txt:
24553 * docs/design/part-segments.txt:
24557 * gst/gstelement.c:
24560 * gst/gstiterator.c:
24561 Various documentation updates.
24563 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24566 Well, that's embarassing. Luckily we weren't using
24567 GST_CLOCK_DIFF anywhere.
24569 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24571 * common/gtk-doc.mak:
24572 don't fail on building XML, FC4 slave shows a bunch of doc
24573 missing bits that I don't get
24575 * gst/gstpipeline.c:
24576 * gst/gststructure.c:
24579 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24581 * docs/design/part-gstbin.txt:
24582 * docs/design/part-gstbus.txt:
24584 Add blurb about how the bus goes into flushing mode and
24585 drops all messages when its bin goes from READY into NULL
24588 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24590 * docs/gst/gstreamer-sections.txt:
24591 * gst/gststructure.c: (gst_structure_get_clock_time):
24592 * gst/gststructure.h:
24593 add a method to get a GstClockTime out of a structure
24595 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24597 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24598 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24599 Added test to check state change order in bins (can still be made
24600 to fail here under heavy disk load; bails out with 'Push on pad
24601 fakesink:sink0, but it was not activated in push mode').
24603 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24604 Fix state change order when there is only a semi sink (#316856)
24606 * gst/gstbus.c: (gst_bus_class_init):
24607 Use _class_peek_parent(), not _class_ref(); fix docs to say
24608 'default main context' instead of 'mainloop' where that is
24611 * gst/gstelement.c: (gst_element_commit_state),
24612 (gst_element_set_state):
24613 Fix typos in debug messages
24615 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24618 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24619 * gst/gstpluginfeature.c:
24621 various doc updates
24622 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24623 change an assert into an error until it gets fixed properly
24625 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24627 * docs/gst/gstreamer-sections.txt:
24628 * docs/gst/tmpl/.cvsignore:
24629 * docs/gst/tmpl/gstelement.sgml:
24630 * docs/gst/tmpl/gstinfo.sgml:
24631 * docs/gst/tmpl/gstobject.sgml:
24632 * gst/gstelement.c:
24633 * gst/gstelement.h:
24636 * gst/gstobject.c: (gst_object_class_init):
24638 inlined 3 more biiiig doc files and added some missing docs on the fly
24640 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24642 * check/gst/.cvsignore:
24643 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24644 * gst/gstregistryxml.c: (load_plugin),
24645 (gst_registry_xml_save_plugin):
24646 put back source in registry. add checks for find_plugin.
24647 * testsuite/states/bin.c: (assert_state), (empty_bin),
24648 (test_adding_one_element), (main):
24649 * testsuite/states/locked.c: (main):
24650 some compile/run fixes
24652 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24654 * check/gst/gstvalue.c: (GST_START_TEST):
24655 fix leaks in the test itself
24657 2005-09-22 Wim Taymans <wim@fluendo.com>
24659 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24660 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24661 (gst_base_sink_query):
24662 Prepare for more accurate position reporting and query
24665 * gst/gstelement.c: (gst_element_send_event),
24666 (gst_element_set_state):
24669 2005-09-22 Wim Taymans <wim@fluendo.com>
24671 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24672 (gst_query_parse_segment):
24674 More documentation.
24675 Add segment query for future use.
24677 2005-09-22 Wim Taymans <wim@fluendo.com>
24679 * gst/gstbin.c: (gst_bin_add_func):
24680 Some more debug info.
24682 * gst/gstelement.c: (gst_element_send_event):
24683 Simplify send_event
24685 * gst/gstelement.h:
24686 Don't know how flags got broken.
24691 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24693 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24694 Add simplistic test suite for GST_TYPE_DATE serialisation and
24697 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24699 * docs/gst/gstreamer-sections.txt:
24700 * gst/gststructure.c: (gst_structure_set_valist),
24701 (gst_structure_get_date):
24702 * gst/gststructure.h:
24703 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24704 (gst_date_copy), (gst_value_compare_date),
24705 (gst_value_serialize_date), (gst_value_deserialize_date),
24706 (gst_value_transform_date_string),
24707 (gst_value_transform_string_date), (_gst_value_initialize):
24709 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24710 bunch of utility functions along with a hack that checks that
24711 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24712 is required. Part of the grand scheme in #170777.
24714 2005-09-22 Andy Wingo <wingo@pobox.com>
24716 * gst/gstconfig.h.in: Psych out gtk-doc.
24718 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24720 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24722 * tools/gst-inspect.c (print_element_list): Plug some
24723 inconsequential leaks.
24725 * gst/gstregistry.c (gst_registry_get_default): Doc.
24727 * check/gst/gstplugin.c:
24728 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24729 * gst/gstelementfactory.c (gst_element_factory_create):
24730 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24733 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24734 (gst_plugin_feature_load): Doc, don't eat refs.
24736 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24737 (gst_plugin_list_free): Doc.
24738 (gst_plugin_load_file): Doc updates.
24740 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24741 accessors returning refcounted objects, return a ref.
24743 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24744 accessor for caps. IDEMPOTENCE. Oh yes.
24746 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24748 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24750 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24751 (_gst_debug_register_funcptr):
24752 Add mutex to serialise access to the hash table with
24753 the function pointer => function name string mapping;
24754 make that hash table static scope (#316809).
24756 * gst/registries/.cvsignore:
24757 Remove left-over file.
24759 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24761 * docs/pwg/appendix-porting.xml:
24762 And something about newsegment events and caps-on-buffers to
24763 the porting guide (feel free to improve).
24765 2005-09-21 Andy Wingo <wingo@pobox.com>
24767 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24768 data and event probes on the same pad.
24769 (test_buffer_probe_once): Test that removing probes from within
24770 the probe functions works.
24772 2005-09-21 Andy Wingo <wingo@pobox.com>
24774 * check/gst/gstutils.c: New file.
24775 (test_buffer_probe_n_times): A simple buffer probe test. More to
24778 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24779 have-data::buffer, not have-data.
24780 (gst_pad_add_event_probe): Likewise for have-data::event.
24781 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24782 peer' isn't quite right yet though.
24783 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24784 (gst_pad_remove_data_probe): Change to take the guint handler_id
24785 as their arg, not the function+data, which is more glib-like.
24787 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24788 the signal emission to indicate if the data is a buffer or an
24790 (gst_pad_get_type): Initialize buffer and event quarks.
24791 (gst_pad_class_init): have-data is now a detailed signal, yes it
24794 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24796 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24797 * gst/gstutils.c: (gst_util_set_value_from_string),
24798 (gst_util_set_object_arg):
24799 Don't put functional code in g_return_if_fail() or
24800 g_return_val_if_fail() statements, otherwise things will
24801 break when G_DISABLE_CHECKS is defined during compilation.
24803 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24805 * docs/gst/tmpl/.cvsignore:
24806 * docs/gst/tmpl/gstvalue.sgml:
24809 inlied another one and added some obvious docs
24811 2005-09-21 Wim Taymans <wim@fluendo.com>
24813 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24814 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24815 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24816 (gst_fdsrc_get_property), (gst_fdsrc_create):
24817 * gst/elements/gstfdsrc.h:
24818 Properly implement fdsrc. Removed signal and timeout,
24819 better implemented somewhere else.
24821 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24823 * docs/gst/tmpl/.cvsignore:
24824 * docs/gst/tmpl/gstimplementsinterface.sgml:
24825 * gst/gstinterface.c:
24828 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24830 * docs/gst/gstreamer-sections.txt:
24831 * docs/gst/tmpl/.cvsignore:
24832 * docs/gst/tmpl/gstenumtypes.sgml:
24833 remove obsolete doc file
24835 2005-09-21 David Schleef <ds@schleef.org>
24837 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24838 little beer, fix a little leak.
24840 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24842 * docs/gst/gstreamer-docs.sgml:
24843 * docs/gst/gstreamer-sections.txt:
24844 * docs/gst/tmpl/.cvsignore:
24848 * gst/gstelement.h:
24849 * gst/gstindex.c: (gst_index_class_init):
24851 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24852 (gst_index_factory_class_init), (gst_index_factory_init),
24853 (gst_index_factory_finalize), (gst_index_factory_new),
24854 (gst_index_factory_destroy), (gst_index_factory_find),
24855 (gst_index_factory_create), (gst_index_factory_make):
24856 * gst/gstindexfactory.h:
24857 * gst/gstpluginfeature.c:
24858 * gst/gstpluginfeature.h:
24859 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24860 more docs inlined, splitted gstindex.{c,h}
24862 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24864 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24867 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24869 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24870 Set sync to FALSE by default.
24872 2005-09-20 Wim Taymans <wim@fluendo.com>
24874 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24875 (gst_base_sink_init):
24876 Make sync property settable from subclass.
24878 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24879 (gst_fake_sink_change_state):
24880 Set sync to FALSE by default.
24882 2005-09-20 Wim Taymans <wim@fluendo.com>
24884 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24885 * tools/gst-launch.c: (main):
24886 The timeout handler should have lower priority than the source
24887 so we don't timeout before popping a message with 0 timeout.
24888 Dump error messages after failed state change.
24890 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24892 * tools/gst-inspect.c: (print_element_properties_info):
24895 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24897 * check/gst/gstevent.c:
24898 * gst/elements/gstfakesink.c:
24899 * gst/elements/gstfakesink.h:
24900 remove the sync property from fakesink.
24901 has the side effect of setting sync TRUE
24902 for fakesink, which is a change. Anyone who knows how
24903 to fix this nicely in a GObject-y way, feel free.
24905 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24907 * docs/gst/gstreamer-docs.sgml:
24908 remove probe refsection
24910 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24912 * check/Makefile.am:
24913 disable valgrinding the controller test again
24914 * docs/gst/gstreamer-sections.txt:
24915 update for api-changes
24917 2005-09-20 Wim Taymans <wim@fluendo.com>
24919 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24920 (gst_base_sink_set_property), (gst_base_sink_get_property),
24921 (gst_base_sink_do_sync):
24922 * gst/base/gstbasesink.h:
24923 Added sync property to basesink to disable clock sync.
24925 2005-09-20 Andy Wingo <wingo@pobox.com>
24927 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24928 eating the caller's refcount.
24930 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24931 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24934 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24935 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24936 of GLib 2.8 public, so we can know which refcount to check in
24939 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24940 (gst_object_init): Only set the gst refcount if we're going ahead
24941 with the refcount hack.
24943 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24945 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24946 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24947 more leaks plumbed, added more debug-logging
24951 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24953 * gst/gstmessage.c:
24954 remove include of gstmemchunk.h
24956 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24958 * gst/gstclock.c: (_gst_clock_id_free):
24959 Commit from the Political Party For More Atomic CVS Commits,
24960 so that people don't waste too much of their day fishing
24961 out obvious leaks out of massive commits.
24962 Oh, and fix a pretty damn obvious leak in the memchunk
24965 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24967 * check/Makefile.am:
24968 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24969 plug mem-leak, re-add to valgrindable tests
24971 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24974 unbreak the build for those who have chronic arthritis
24975 and typing "make check" is just too taxing on the hands
24977 2005-09-20 Andy Wingo <wingo@pobox.com>
24979 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24980 really want it out, you should fix plugins at the same time.
24982 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24985 * docs/gst/gstreamer-sections.txt:
24987 added missing symbols to api docs
24988 disable ref-count hack if we have glib >= 2.8
24990 2005-09-19 David Schleef <ds@schleef.org>
24992 * docs/gst/Makefile.am: Ignore a few more internal headers
24993 * docs/gst/gstreamer-docs.sgml: Remove old sections
24994 * docs/gst/gstreamer-sections.txt: Remove old sections
24995 * docs/gst/tmpl/gstobject.sgml: update
24996 * docs/gst/tmpl/gstplugin.sgml: update
24997 * docs/gst/tmpl/gstpluginfeature.sgml: update
24998 * docs/random/ds/0.9-suggested-changes: update.
24999 * gst/Makefile.am: remove memchunk and trashstack, since they're
25001 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25002 * gst/gst.h: don't include some headers
25003 * gst/gstchildproxy.c: add gstmarshal.h
25004 * gst/gstclock.c: Don't use memchunks
25005 * gst/gstminiobject.c: Add some docs
25006 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25007 * gst/gstobject.h: same
25008 * gst/gstplugin.c: include gstmacros.h
25009 * gst/gstplugin.h: don't include gstmacros.h, since it's private
25010 * gst/gstquery.c: don't use memchunks
25011 * gst/gstregistry.c: rename gst_registry_deinit()
25012 * gst/gstregistry.h: same
25014 2005-09-19 David Schleef <ds@schleef.org>
25016 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25017 * docs/libs/gstreamer-libs-sections.txt:
25018 * docs/libs/tmpl/gstgetbits.sgml:
25019 * docs/libs/tmpl/gstputbits.sgml:
25021 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
25023 * win32/gstenumtypes.c:
25024 * win32/gstenumtypes.h:
25027 2005-09-19 Wim Taymans <wim@fluendo.com>
25029 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25030 Automatically PAUSE and RESUME a pipeline when a flushing seek
25033 2005-09-19 Andy Wingo <wingo@pobox.com>
25035 * gst/gstregistry.h: Spacing fixen.
25037 2005-09-19 Wim Taymans <wim@fluendo.com>
25039 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25040 Handle state change failure more correctly.
25042 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25044 * check/Makefile.am:
25045 * check/pipelines/cleanup.c: (run_pipeline):
25046 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25048 enable cleanup again after fixing the leak
25050 some more info on docs
25052 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25054 * check/Makefile.am:
25055 re-enable tests now that leaks are plugged
25057 * check/gst/gstbin.c:
25058 * check/gst/gstpipeline.c:
25059 add some more tests while fixing leaks
25060 * common/check.mak:
25061 make sure binaries are uptodate when valgrinding/gdbing
25063 * gst/gstelementfactory.c:
25064 remove a ref too many, and add a FIXME for when we get
25065 round to disposing of classes
25067 fix the refcounting when loading a plugin from a file and
25068 the code pretends that the pointer is the same even though
25069 of course it can change
25070 * gst/gstpluginfeature.c:
25071 unref plugins marked cached (a bit confusing as a name)
25072 as the docs state should be done
25073 various doc additions to explain refcounting
25074 * gst/gstregistry.c:
25075 * gst/gstregistryxml.c:
25078 2005-09-19 Wim Taymans <wim@fluendo.com>
25080 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25081 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25082 (send_messages), (GST_START_TEST), (gstbus_suite):
25083 * check/gst/gstpipeline.c: (GST_START_TEST):
25084 * check/pipelines/cleanup.c: (run_pipeline):
25085 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25087 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25088 (gst_bus_source_check), (gst_bus_source_dispatch),
25089 (gst_bus_create_watch), (gst_bus_add_watch_full),
25090 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25092 * tools/gst-launch.c: (event_loop):
25093 * tools/gst-md5sum.c: (event_loop):
25094 GstBusHandler -> GstBusFunc, return value has the same meaning as
25095 any other GSource (FALSE == remove source).
25096 _add_watch() and _add_watch_full() now take a MessageType mask to
25097 only handle specific types of messages.
25098 _poll() returns the GstMessage instead of the message type to avoid
25100 _have_pending() takes a MessageType mask now too.
25101 Added testsuite for multiple bus watches.
25102 Fix testsuites and applications for new bus API.
25104 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25106 * check/Makefile.am:
25107 mark a bunch of the tests as to fix until we fix them
25109 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25111 * common/check.mak:
25112 use GST_PLUGIN settings for valgrind tests as well, so we're
25113 valgrinding the correct thing
25114 * gst/gst.c: (init_post):
25117 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25119 * gst/gst.c: (init_post), (gst_deinit):
25120 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25121 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25122 * gst/gstindex.c: (gst_index_factory_class_init),
25123 (gst_index_factory_finalize):
25124 * gst/gstobject.c: (gst_object_dispose):
25125 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25126 (gst_plugin_load_file), (gst_plugin_desc_free):
25127 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25128 (gst_plugin_feature_finalize):
25129 * gst/gstregistry.c: (gst_registry_class_init),
25130 (gst_registry_init), (gst_registry_finalize),
25131 (gst_registry_get_default), (gst_registry_deinit):
25132 * gst/gstregistry.h:
25133 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25134 various cleanups and memleak plugging. make valgrind is happy now.
25136 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25138 * common/check.mak:
25139 add a check-valgrind target
25141 2005-09-18 David Schleef <ds@schleef.org>
25143 * tools/gst-inspect.c: Revert the GOption code.
25145 2005-09-17 David Schleef <ds@schleef.org>
25147 * check/Makefile.am: Fix environment variables.
25148 * check/gst/gstplugin.c: Fix for API changes.
25149 * tools/gst-inspect.c: Fix for API changes.
25150 * tools/gst-xmlinspect.c: Fix for API changes.
25151 * gst/gstelementfactory.c:
25154 * gst/gstpluginfeature.c:
25155 * gst/gstpluginfeature.h:
25156 * gst/gstregistry.c:
25157 * gst/gstregistry.h:
25158 * gst/gstregistryxml.c:
25159 * gst/gsttypefind.c:
25160 * gst/gsttypefindfactory.c:
25161 * gst/indexers/gstfileindex.c:
25162 * gst/indexers/gstmemindex.c:
25163 * gst/schedulers/Makefile.am:
25164 Change registry to keep track of both plugins and features,
25165 removing the feature tracking from plugins themselves.
25167 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25169 * check/Makefile.am:
25170 * tools/gst-register.1.in:
25171 remove gst-register
25173 2005-09-15 David Schleef <ds@schleef.org>
25175 * check/gst/gstplugin.c:
25176 * gst/gstelementfactory.c:
25178 * gst/gstpluginfeature.c:
25179 * gst/gstregistry.c:
25180 Getting tired of debugging. Disabled all the unreffing of
25181 plugins and features, which fixes the segfaults, but of
25182 course leaks like crazy. At least playbin works.
25184 2005-09-15 David Schleef <ds@schleef.org>
25186 * check/gst/gstplugin.c: (register_check_elements),
25187 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25189 * gst/elements/gsttypefindelement.c: Fix refcounting.
25190 * gst/gsttypefind.c:
25191 * gst/gsttypefindfactory.c:
25192 * gst/gsttypefindfactory.h:
25194 2005-09-15 David Schleef <ds@schleef.org>
25196 * gst/gstindex.c: get refcounting correct.
25197 * gst/gstregistry.c: Handle the case where a feature/plugin is
25200 2005-09-15 David Schleef <ds@schleef.org>
25202 * check/Makefile.am:
25203 * check/gst/gstplugin.c: Add test
25204 * gst/gstplugin.c: Fix problems noticed by testsuite
25206 * gst/gstregistry.c:
25207 * gst/gstregistry.h:
25209 2005-09-15 David Schleef <ds@schleef.org>
25211 * gst/gstplugin.c: Implement semi-decent recounting and locking
25212 in plugins and plugin features.
25214 * gst/gstpluginfeature.c:
25215 * gst/gstpluginfeature.h:
25216 * gst/gstregistry.c:
25218 2005-09-15 Michael Smith <msmith@fluendo.com>
25220 * gst/gstregistry.c: (gst_registry_get_feature_list):
25221 Implement this. Makes oggdemux work; decodebin still broken.
25223 2005-09-14 David Schleef <ds@schleef.org>
25225 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25227 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25228 * gst/check/Makefile.am:
25229 * libs/gst/controller/Makefile.am:
25230 * libs/gst/dataprotocol/Makefile.am:
25232 2005-09-14 David Schleef <ds@schleef.org>
25234 * configure.ac: Remove getbits library. Nothing uses it, and
25235 it should be in something like liboil if someone did want
25237 * libs/gst/Makefile.am:
25238 * libs/gst/getbits/Makefile.am:
25239 * libs/gst/getbits/gbtest.c:
25240 * libs/gst/getbits/getbits.c:
25241 * libs/gst/getbits/getbits.h:
25242 * libs/gst/getbits/gstgetbits_generic.c:
25243 * libs/gst/getbits/gstgetbits_i386.s:
25244 * libs/gst/getbits/gstgetbits_inl.h:
25246 2005-09-14 David Schleef <ds@schleef.org>
25248 * gst/Makefile.am: Dist glib-compat.h
25250 2005-09-14 David Schleef <ds@schleef.org>
25252 * configure.ac: Remove gst/registries, since it's no longer used.
25253 * gst/registries/Makefile.am:
25254 * gst/registries/gstlibxmlregistry.c:
25255 * gst/registries/gstlibxmlregistry.h:
25256 * gst/registries/gstxmlregistry.c:
25257 * gst/registries/gstxmlregistry.h:
25258 * gst/registries/registrytest.c:
25260 2005-09-14 David Schleef <ds@schleef.org>
25262 * gst/glib-compat.h:
25263 * gst/gstregistryxml.c:
25264 Convergence is near. Seriously.
25266 2005-09-14 David Schleef <ds@schleef.org>
25268 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25269 * gst/glib-compat.h:
25270 Attempt #4 to appease the buildbots.
25272 2005-09-14 David Schleef <ds@schleef.org>
25274 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25277 2005-09-14 David Schleef <ds@schleef.org>
25279 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25282 2005-09-14 David Schleef <ds@schleef.org>
25284 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25287 2005-09-14 David Schleef <ds@schleef.org>
25289 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25290 * gst/glib-compat.h: Add some functions that are in newer versions
25291 of glib than we care to require.
25292 * gst/gstregistryxml.c: Use them.
25294 2005-09-14 David Schleef <ds@schleef.org>
25296 * po/POTFILES.in: remove gst-register.c
25298 2005-09-14 David Schleef <ds@schleef.org>
25300 * docs/gst/gstreamer-docs.sgml:
25301 * docs/gst/gstreamer-sections.txt:
25302 * docs/gst/gstreamer.types:
25303 * docs/gst/tmpl/gstelement.sgml:
25304 * docs/gst/tmpl/gstplugin.sgml:
25305 * docs/gst/tmpl/gstpluginfeature.sgml:
25306 Documentation updates for registry changes.
25308 2005-09-14 David Schleef <ds@schleef.org>
25310 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25311 because we don't require glib-2.8.
25313 2005-09-14 David Schleef <ds@schleef.org>
25315 * gst/gstregistryxml.c: Added. Essentially moved out of the
25316 registries directory.
25318 2005-09-14 David Schleef <ds@schleef.org>
25320 * check/Makefile.am:
25321 * check/generic/states.c:
25325 * gst/gst_private.h:
25326 * gst/gstelementfactory.c:
25331 * gst/gstpluginfeature.c:
25332 * gst/gstpluginfeature.h:
25333 * gst/gstregistry.c:
25334 * gst/gstregistry.h:
25335 * gst/gstregistrypool.c: remove
25336 * gst/gstregistrypool.h: remove
25337 * gst/gsttypefind.c:
25338 * gst/gsttypefindfactory.c:
25340 * tools/Makefile.am:
25341 * tools/gst-compprep.c:
25342 * tools/gst-inspect.c:
25343 * tools/gst-register.c: remove
25344 * tools/gst-xmlinspect.c:
25345 Registry rewrite. Changes registry from being a file created
25346 by a tool into a simple cache file created automatically by
25347 libgstreamer. Removed gst-register (because it's no longer
25348 needed). Remove registry pools, because we only have one
25349 registry implementation (XML). Fix up other subsystems as
25352 2005-09-13 Michael Smith <msmith@fluendo.com>
25354 * gst/gstconfig.h.in:
25355 Don't Use windows linking attributes for MinGW. Fixes #316157
25357 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25359 * gst/gstutils.c: (set_state_async_thread_func),
25360 (gst_element_set_state_async):
25361 Apparently people think it's better if this function doesn't
25362 try to set the state to whatever state was asked for on the first
25363 call to this function for any object. Seriously.
25365 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25367 * check/gst/gstpipeline.c: (GST_START_TEST):
25368 * docs/gst/gstreamer-sections.txt:
25369 * gst/gstutils.c: (set_state_async_thread_func),
25370 (gst_element_set_state_async):
25372 add a "gst_element_set_state_async" method that
25373 sets the state and starts a thread to make sure the state
25374 change completes as best as it can
25376 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25378 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25379 codify design+behaviour in testsuite after discussion
25381 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25383 * docs/gst/tmpl/gstelement.sgml:
25384 * docs/manual/appendix-quotes.xml:
25386 * gst/gstelement.c: (gst_element_set_state):
25389 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25391 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25392 (gst_base_transform_prepare_output_buf),
25393 (gst_base_transform_handle_buffer):
25394 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25395 (gst_capsfilter_prepare_buf):
25396 Remove the requirement for sub-classes to call the parent
25397 implementation of prepare_output_buffer with a wrapper function.
25399 * gst/gsttaglist.h:
25400 * gst/gsttagsetter.h:
25401 Fix #define wrapper
25403 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25405 * docs/gst/gstreamer-sections.txt:
25408 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25410 * docs/gst/gstreamer-sections.txt:
25411 * docs/gst/tmpl/gstelement.sgml:
25412 * docs/gst/tmpl/gstplugin.sgml:
25413 * gst/gstminiobject.c:
25415 docs now stop throwing warnings
25417 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25419 * docs/gst/gstreamer-sections.txt:
25420 * docs/gst/gstreamer.types:
25421 * docs/gst/tmpl/gstpad.sgml:
25422 * docs/gst/tmpl/gsttypes.sgml:
25423 * gst/base/gstadapter.h:
25424 * gst/base/gstbasesink.h:
25425 * gst/base/gstbasesrc.h:
25431 * gst/gstelement.h:
25433 * gst/gstmessage.h:
25435 * gst/gststructure.c:
25436 * gst/registries/gstlibxmlregistry.h:
25437 various documentation fixes
25439 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25441 * docs/gst/gstreamer-sections.txt:
25442 * docs/gst/tmpl/gstvalue.sgml:
25443 rearrange gstvalue section
25444 * gst/gstutils.c: (gst_element_state_get_name):
25446 * gst/gstvalue.c: (_gst_value_initialize):
25450 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25452 * check/gst-libs/controller.c:
25453 Header include fix.
25454 * gst/base/gstbasetransform.c:
25455 (gst_base_transform_default_prepare_buf),
25456 (gst_base_transform_handle_buffer):
25457 * gst/base/gstbasetransform.h:
25458 Some more basetransform changes and fixes to enable sub-classes
25459 that modify buffer metadata only.
25460 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25461 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25462 (gst_capsfilter_prepare_buf):
25463 If the output pad has fixed allowed caps and input buffers
25464 don't have any, set the fixed caps on outgoing buffers.
25466 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25467 * check/elements/identity.c: (GST_START_TEST):
25468 Make the error a little clearer when the test fails because
25469 identity made a copy of the buffer.
25470 * docs/gst/gstreamer-sections.txt:
25471 New symbols in gstbasetransform.h
25472 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25473 (gst_base_transform_init), (gst_base_transform_transform_size),
25474 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25475 (gst_base_transform_default_prepare_buf),
25476 (gst_base_transform_get_unit_size),
25477 (gst_base_transform_buffer_alloc),
25478 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25479 (gst_base_transform_change_state),
25480 (gst_base_transform_set_passthrough),
25481 (gst_base_transform_set_in_place),
25482 (gst_base_transform_is_in_place):
25483 * gst/base/gstbasetransform.h:
25484 Change BaseTransform to separate in_place operate from same_caps
25485 output. in_place implies that the element can perform the transform
25486 on incoming buffers in-place, even if the caps on the output are
25488 Sub-class elements can now implement special buffer allocation
25489 methods for outgoing buffers if they wish to.
25490 Big documentation addition.
25491 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25492 * gst/elements/gstelements.c:
25493 Changes for basetransform modifications.
25494 * gst/elements/Makefile.am:
25495 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25496 Compile fix. Extra debug output.
25498 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25500 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25502 add tests for valid pad naming
25503 * gst/check/gstcheck.c: (gst_check_log_message_func),
25504 (gst_check_log_critical_func):
25506 remove printing of code, it is fragile when the code contains
25507 % and the line number is enough info
25508 * gst/check/gstcheck.h:
25509 * gst/gstpad.c: (gst_pad_template_new):
25512 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25515 say what CHECK flags we use
25516 * docs/libs/gstreamer-libs.types:
25517 * libs/gst/controller/Makefile.am:
25518 * libs/gst/controller/gst-controller.c:
25519 * libs/gst/controller/gst-controller.h:
25520 * libs/gst/controller/gst-helper.c:
25521 * libs/gst/controller/gst-interpolation.c:
25522 * libs/gst/controller/gstcontroller.c:
25523 * libs/gst/controller/gsthelper.c:
25524 * libs/gst/controller/gstinterpolation.c:
25525 * tools/gst-inspect.c: (print_plugin_info):
25526 we don't use dashes in header names
25528 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25530 * check/Makefile.am:
25531 * check/gst/.cvsignore:
25532 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25533 (gst_pipeline_suite), (main):
25534 adding a test for pipelines and state changes
25535 * gst/gstutils.c: (get_state_func):
25537 * gstreamer.spec.in:
25540 2005-09-08 Michael Smith <msmith@fluendo.com>
25542 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25543 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25544 (gst_file_src_is_seekable), (gst_file_src_get_size),
25545 (gst_file_src_start):
25546 * gst/elements/gstfilesrc.h:
25547 Various fixes for unseekable, unmmapable, and non-normal files, so
25548 that fallback to read() rather than mmap() works.
25549 * gst/gstevent.c: (gst_event_new_newsegment):
25550 Allow newsegment events with segment_start == segment_end, as will
25551 correctly happen if you use filesrc on a zero-size file, for
25554 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25556 * gst/gstplugin.c: (gst_plugin_load_file):
25557 Call g_module_close when we don't load the module
25559 * gst/registries/gstlibxmlregistry.c:
25560 (gst_xml_registry_get_property):
25561 Port leak fix from 0.8
25563 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25565 * docs/gst/gstreamer-docs.sgml:
25566 * docs/gst/tmpl/.cvsignore:
25567 * docs/gst/tmpl/gsttrace.sgml:
25568 * docs/gst/tmpl/gsttrashstack.sgml:
25571 * gst/gstelement.h:
25573 * gst/gstmessage.c:
25574 * gst/gstmessage.h:
25577 * gst/gsttaginterface.c:
25578 * gst/gsttaginterface.h:
25579 * gst/gsttaglist.c:
25580 * gst/gsttaglist.h:
25581 * gst/gsttagsetter.c:
25582 * gst/gsttagsetter.h:
25585 * gst/gsttrashstack.c:
25586 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25587 inlined docs for gsttrace, gsttrashstack
25589 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25592 * gst/elements/gstbufferstore.h:
25593 * gst/elements/gsttypefindelement.c:
25594 * gst/elements/gsttypefindelement.h:
25596 * gst/gsttypefind.c:
25597 * gst/gsttypefind.h:
25598 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25599 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25600 (gst_type_find_factory_dispose),
25601 (gst_type_find_factory_unload_thyself),
25602 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25603 (gst_type_find_factory_get_caps),
25604 (gst_type_find_factory_get_extensions),
25605 (gst_type_find_factory_call_function):
25606 * gst/gsttypefindfactory.h:
25607 * gst/registries/gstlibxmlregistry.c:
25608 * gst/registries/gstxmlregistry.c:
25609 splitted gsttypefind into gsttypefind, gsttypefindfactory
25611 2005-09-07 Andy Wingo <wingo@pobox.com>
25613 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25614 condition whereby the pad's task function is entered before the
25615 pad_mode variable was set.
25617 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25619 * gst/gstpad.c: (gst_pad_alloc_buffer):
25620 Catch misbehaving pad_alloc functions that don't
25621 set up caps and do it for them.
25623 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25625 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25626 test for pipe!=NULL
25627 * docs/gst/tmpl/.cvsignore:
25628 * docs/gst/tmpl/gstmemchunk.sgml:
25629 * docs/gst/tmpl/gstparse.sgml:
25630 * docs/gst/tmpl/gsttaglist.sgml:
25631 * docs/gst/tmpl/gsttagsetter.sgml:
25632 * docs/gst/tmpl/gsttypefind.sgml:
25633 * docs/gst/tmpl/gsttypefindfactory.sgml:
25634 * gst/gstmemchunk.c:
25637 * gst/gsttaginterface.c:
25638 * gst/gsttypefind.c:
25639 * gst/gsttypefind.h:
25642 === release 0.9.2 ===
25644 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25649 releasing 0.9.2, "South"
25651 2005-09-05 Andy Wingo <wingo@pobox.com>
25653 * gst/registries/gstxmlregistry.h:
25654 * gst/registries/gstxmlregistry.c: Um... resurrect...
25656 * gst/registries/gstxmlregistry.h:
25657 * gst/registries/gstxmlregistry.c: and update to newer API.
25658 Incidentally they should be a bit faster now that they don't have
25661 2005-09-05 Andy Wingo <wingo@pobox.com>
25663 * gst/registries/gstxmlregistry.h:
25664 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25665 replaced by the libxml registry a while back
25667 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25669 * docs/gst/tmpl/gstplugin.sgml:
25670 * gst/elements/gstelements.c:
25672 * gst/gstplugin.c: (gst_plugin_register_func),
25673 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25674 (gst_plugin_get_source):
25676 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25677 (gst_xml_registry_save_plugin):
25678 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25679 (gst_xml_registry_save_plugin):
25680 * tools/gst-inspect.c: (print_plugin_info):
25681 add a "source" plugin description field, to represent the source
25682 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25683 will set it to PACKAGE, which is automake's idea of the name of
25684 the source project.
25686 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25691 * docs/Makefile.am:
25692 * docs/faq/Makefile.am:
25693 * docs/gst/tmpl/gstelement.sgml:
25694 * docs/gst/tmpl/gsttypes.sgml:
25695 * docs/htmlinstall.mak:
25696 * docs/manual/Makefile.am:
25697 * docs/pwg/Makefile.am:
25698 reorganize doc build a little
25699 split out docbook and gtk-doc stuff
25700 have two separate --enable's and enable them through autogen
25701 but disable by default in configure (to be similar to other
25703 * gstreamer.spec.in:
25704 clean up docs install
25722 translation updates
25724 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25726 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25729 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25730 (gst_fake_sink_change_state):
25731 Make state change function thread-safe.
25733 * gst/gstpad.c: (gst_pad_alloc_buffer):
25734 Set offset on generic buffer allocated by fallback.
25736 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25738 * docs/gst/gstreamer-sections.txt:
25739 * docs/gst/tmpl/gstelement.sgml:
25741 * libs/gst/controller/gst-controller.c:
25742 (gst_controlled_property_set_interpolation_mode),
25743 (gst_controlled_property_new),
25744 (gst_controller_find_controlled_property):
25745 run the wingo-magic script against the docs
25747 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25749 * docs/gst/gstreamer-docs.sgml:
25750 * docs/gst/gstreamer-sections.txt:
25751 * docs/gst/tmpl/.cvsignore:
25752 * docs/gst/tmpl/gstelementdetails.sgml:
25753 * docs/gst/tmpl/gstelementfactory.sgml:
25756 * gst/gstelementfactory.c:
25757 * gst/gstelementfactory.h:
25758 merged elementdetails docs into elementfactory docs
25761 2005-09-02 Andy Wingo <wingo@pobox.com>
25763 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25764 consider this enum an enum and not a flags.
25766 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25768 * docs/gst/gstreamer-docs.sgml:
25769 * docs/gst/tmpl/.cvsignore:
25770 * docs/gst/tmpl/gstghostpad.sgml:
25771 * docs/gst/tmpl/gstiterator.sgml:
25772 * docs/gst/tmpl/gstmacros.sgml:
25773 * docs/gst/tmpl/gstrealpad.sgml:
25774 * docs/gst/tmpl/gstregistry.sgml:
25775 * docs/gst/tmpl/gstregistrypool.sgml:
25776 * docs/gst/tmpl/gststructure.sgml:
25777 * docs/gst/tmpl/gstsystemclock.sgml:
25778 * docs/gst/tmpl/gsttrace.sgml:
25779 * gst/gstghostpad.c:
25781 * gst/gstmemchunk.c:
25782 * gst/gstmemchunk.h:
25784 * gst/gstregistry.c:
25785 * gst/gstregistrypool.c:
25786 * gst/gststructure.c:
25787 * gst/gstsystemclock.c:
25790 2005-09-02 Andy Wingo <wingo@pobox.com>
25792 * gst/gstelement.h (GstState): Renamed from GstElementState,
25793 changed to be a normal enum instead of flags.
25794 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25795 munged to be GST_STATE_CHANGE_*.
25796 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25797 work with the new state representation.
25798 (GstStateChange): New enumeration of possible state transitions.
25799 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25800 (GstElementClass::change_state): Pass the GstStateChange along as
25801 an argument. Helps language bindings, so they don't have to use
25802 tricky lock-needing macros like GST_STATE_CHANGE ().
25804 * scripts/update-states (file): New script. Run it on a file to
25805 update it for state naming and API changes. Updates files in
25808 * All files updated for the new API.
25810 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25812 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25813 * gst/gstutils.c: (gst_util_set_value_from_string),
25814 (gst_util_set_object_arg):
25815 fix a bunch of unchecked return values
25816 * tools/gst-complete.c: (main):
25817 * gstreamer.spec.in:
25820 2005-09-01 Wim Taymans <wim@fluendo.com>
25822 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25823 (gst_base_sink_event), (gst_base_sink_do_sync),
25824 (gst_base_sink_handle_event):
25825 * gst/base/gstbasesink.h:
25826 Handle newsegments more correctly.
25831 * gst/gstevent.c: (gst_event_new_newsegment):
25832 A newsegment cannot have a start_time of -1
25834 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25836 * win32/gstenumtypes.c:
25837 * win32/gstenumtypes.h:
25840 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25842 * libs/gst/controller/gst-controller.c:
25843 (gst_controlled_property_set_interpolation_mode),
25844 (gst_controlled_property_new):
25845 fixed boolean again
25847 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25849 * docs/faq/gst-uninstalled:
25854 * gst/gstutils.c: (gst_element_link_filtered):
25856 add gst_element_link_filtered
25858 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25860 * docs/gst/gstreamer-docs.sgml:
25861 * docs/gst/gstreamer-sections.txt:
25862 * docs/gst/tmpl/.cvsignore:
25863 * docs/gst/tmpl/gsterror.sgml:
25864 * docs/gst/tmpl/gstfilter.sgml:
25865 * docs/gst/tmpl/gsturihandler.sgml:
25866 * docs/gst/tmpl/gsturitype.sgml:
25867 * docs/gst/tmpl/gstutils.sgml:
25868 * docs/gst/tmpl/gstxml.sgml:
25873 * gst/gsturitype.c:
25876 inlined more docs, fixed double id-ref
25878 2005-08-31 Wim Taymans <wim@fluendo.com>
25880 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25881 (gst_base_transform_handle_buffer):
25882 Passthrough elements don't need the caps as they don't care.
25884 2005-08-31 Wim Taymans <wim@fluendo.com>
25886 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25887 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25888 Don't leak refcounts on buffers.
25890 2005-08-31 Wim Taymans <wim@fluendo.com>
25892 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25893 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25894 (gst_base_transform_chain), (gst_base_transform_change_state):
25895 * gst/base/gstbasetransform.h:
25896 Handle the case where we are not negotiated more gracefully.
25898 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25900 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25901 (gst_file_src_map_region):
25902 Set READONLY flag on mmap'ed buffers, otherwise
25903 gst_buffer_make_writable() won't work properly (#314708).
25905 2005-08-31 Wim Taymans <wim@fluendo.com>
25907 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25908 passthrough elements can even do inplace on non writable
25909 buffers (as they don't touch them).
25911 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25913 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25914 (gst_test_mono_source_set_property),
25915 (gst_test_mono_source_class_init), (GST_START_TEST),
25916 (gst_controller_suite):
25917 more tests (hehe I have the most)
25919 describe popping messages whenusing mulltiple sources
25920 * libs/gst/controller/gst-controller.c:
25921 (gst_controlled_property_set_interpolation_mode),
25922 (gst_controlled_property_new):
25923 * libs/gst/controller/gst-controller.h:
25924 * libs/gst/controller/gst-interpolation.c:
25925 implement boolean properties
25927 2005-08-31 Wim Taymans <wim@fluendo.com>
25929 * gst/gstminiobject.c: (gst_mini_object_ref):
25930 Cannot assert that the refcount has to be positive
25931 since a disposed object can be resurrected.
25933 2005-08-31 Wim Taymans <wim@fluendo.com>
25935 * gst/gstpad.c: (gst_pad_init):
25936 Revert change, need to first fix badly behaving
25939 2005-08-30 Wim Taymans <wim@fluendo.com>
25941 * check/elements/fakesrc.c: (setup_fakesrc):
25942 * check/elements/identity.c: (setup_identity):
25943 Activate pads before using them.
25945 2005-08-30 Wim Taymans <wim@fluendo.com>
25947 * gst/base/gstadapter.c: (gst_adapter_flush):
25948 Flushing out 0 bytes is ok for this function.
25950 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25951 no newsegment gives a warning and sets the start/stop to
25954 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25955 (gst_base_transform_set_passthrough):
25958 * gst/gstminiobject.c: (gst_mini_object_ref):
25959 Check refcount here too.
25961 * gst/gstpad.c: (gst_pad_init):
25962 Pads are initially flushing and refusing data.
25964 * gst/gstutils.c: (gst_element_link_pads_filtered):
25965 When adding a capsfilter element make sure it has the
25966 same state as the parent bin.
25968 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25970 * docs/gst/tmpl/.cvsignore:
25971 * docs/gst/tmpl/gstformat.sgml:
25972 * docs/gst/tmpl/gstversion.sgml:
25976 * gst/gstversion.h.in:
25977 more docs and two more inlined
25979 2005-08-30 Wim Taymans <wim@fluendo.com>
25981 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25982 Don't sync to clock.
25984 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25986 * docs/gst/gstreamer-sections.txt:
25987 ultral33t func10ns deserve to appear in the docs actually
25988 * docs/gst/tmpl/.cvsignore:
25989 * docs/gst/tmpl/gstcompat.sgml:
25990 * docs/gst/tmpl/gstconfig.sgml:
25991 * gst/check/gstcheck.c:
25993 * gst/gstconfig.h.in:
25996 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25998 * docs/gst/tmpl/.cvsignore:
25999 * docs/gst/tmpl/gstquery.sgml:
26000 * docs/gst/tmpl/gstutils.sgml:
26003 inlined and extended docs
26005 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26007 * check/gst-libs/controller.c: (GST_START_TEST),
26008 (gst_controller_suite):
26010 * docs/gst/tmpl/gstutils.sgml:
26011 * docs/libs/gstreamer-libs-sections.txt:
26012 * docs/libs/tmpl/gstdataprotocol.sgml:
26014 * examples/controller/audio-example.c: (main):
26015 controller example works now
26018 * tools/gst-inspect.c: (print_element_properties_info):
26019 show param spec flags
26021 2005-08-29 Andy Wingo <wingo@pobox.com>
26023 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26025 2005-08-28 Andy Wingo <wingo@pobox.com>
26027 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26028 as having two arguments instead of just one. Allows superclasses
26029 to access information on subclasses -- see the terrible for() loop
26030 in gtype.c:g_type_create_instance for the reason why. All callers
26033 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26035 * docs/design/part-messages.txt:
26037 * docs/gst/tmpl/.cvsignore:
26038 * docs/gst/tmpl/gstcaps.sgml:
26039 * docs/gst/tmpl/gstclock.sgml:
26045 * gst/gstmessage.c:
26046 added descriptions for bus and message
26047 inline caps and clock docs
26049 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26051 * gst/gstmessage.c:
26052 * gst/gstmessage.h:
26055 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26057 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26060 2005-08-26 Andy Wingo <wingo@pobox.com>
26062 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26063 element_set_state's return val.
26064 (test_2_elements): Add test that's been disabled for months.
26066 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26067 can-activate-pull properties.
26069 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26070 can-activate-pull properties. Implement is_seekable so fakesrc can
26071 operate in pull mode.
26073 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26075 (gst_base_sink_activate, gst_base_sink_activate_pull)
26076 (gst_base_sink_activate_push): Make activation mode choosing work.
26078 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26079 is right. Make pull mode work. Post an eos before pausing in pull
26081 (gst_base_sink_change_state): Pay attention to the core's
26082 change_state() return val.
26084 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26085 has-getrange properties. Cleanups.
26087 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26088 has_getrange and replace with can_activate_pull and
26091 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26092 locking comments. Remove has_loop, has_chain and replace with
26093 can_activate_pull and can_activate_push.
26095 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26098 * examples/Makefile.am:
26099 * examples/metadata/Makefile.am:
26100 * examples/metadata/read-metadata.c: (message_loop),
26101 (have_pad_handler), (make_pipeline), (print_tag), (main):
26102 Add metadata reading example that loops over a list of filenames,
26103 dumping any tags found.
26105 * gst/gstbus.c: (gst_bus_dispose):
26106 * gst/gstelement.c: (gst_element_dispose):
26107 Release a few potentially-held references in dispose.
26109 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26111 * docs/gst/tmpl/gstminiobject.sgml:
26112 do *not* add tmpl/*.sgml files to CVS!
26114 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26116 * libs/gst/bytestream/.cvsignore:
26117 * libs/gst/bytestream/Makefile.am:
26118 * libs/gst/bytestream/adapter.c:
26119 * libs/gst/bytestream/adapter.h:
26120 * libs/gst/bytestream/bytestream.c:
26121 * libs/gst/bytestream/bytestream.h:
26122 * libs/gst/bytestream/filepad.c:
26123 * libs/gst/bytestream/filepad.h:
26124 removing obsolete files
26126 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26128 * docs/gst/gstreamer-docs.sgml:
26129 * docs/libs/gstreamer-libs-docs.sgml:
26130 disabed additional index entries again, as this makes docs-gen just
26131 slow and they aren't useful yet
26132 * docs/libs/gstreamer-libs-sections.txt:
26133 little -section.txt cleanup for libs
26135 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26137 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26138 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26139 fix up some debugging
26140 (gst_base_transform_get_unit_size),
26141 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26142 (gst_base_transform_handle_buffer):
26143 * gst/base/gstbasetransform.h:
26144 handle and store timed NEWSEGMENT events so that subclasses that
26145 calculate time by counting samples have a segment_start time they
26146 need to add to their timestamps - see audioresample
26148 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26151 removed ';' from the end of macro defs
26152 * docs/gst/gstreamer-docs.sgml:
26153 * docs/gst/gstreamer-sections.txt:
26154 * docs/gst/tmpl/.cvsignore:
26156 * gst/gstelement.c: (gst_element_class_init),
26157 (gst_element_set_state), (activate_pads),
26158 (gst_element_save_thyself):
26159 * gst/gstevent.c: (gst_event_new_newsegment):
26161 * gst/gstiterator.c:
26162 * gst/gstiterator.h:
26165 * gst/gstutils.c: (gst_pad_query_convert):
26167 fixed parameter name mismatches between source, header and docs
26168 added some more docs, resolved the last batch of unused elements in
26169 docs (now someone needs to doc them)
26171 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26173 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26174 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26175 don't walk through the plugins backwards. Where is all this
26176 reversed logic coming from ?
26178 2005-08-25 Wim Taymans <wim@fluendo.com>
26180 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26181 (gst_base_transform_transform_size),
26182 (gst_base_transform_configure_caps),
26183 (gst_base_transform_get_unit_size),
26184 (gst_base_transform_buffer_alloc),
26185 (gst_base_transform_change_state):
26186 * gst/base/gstbasetransform.h:
26187 Cache caps unit_size.
26188 Make sure we cannot negotiate up and downstream at the
26191 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26193 * gst/gst.c: (init_pre), (init_post):
26194 register the installed plugin path after the env var
26195 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26196 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26197 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26198 directories, so the tests can prefer uninstalled over installed
26200 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26202 * gst/base/gstbasetransform.h:
26207 2005-08-25 Wim Taymans <wim@fluendo.com>
26209 * gst/gstbin.c: (bin_bus_handler):
26210 Be a bit more conservative about the posted message.
26212 * gst/gstbus.c: (gst_bus_post):
26213 Some cleanups, warn wrong return values.
26215 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26217 * check/gst/gstbin.c: (GST_START_TEST):
26218 * gst/gstbin.c: (bin_bus_handler):
26219 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26220 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26221 (gst_message_new_warning), (gst_message_new_tag),
26222 (gst_message_new_state_changed), (gst_message_new_segment_start),
26223 (gst_message_new_segment_done), (gst_message_new_custom):
26224 * gst/gstmessage.h:
26225 * tools/gst-launch.c: (event_loop):
26226 * tools/gst-md5sum.c: (event_loop):
26227 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26229 2005-08-25 Wim Taymans <wim@fluendo.com>
26231 * check/generic/states.c: (GST_START_TEST):
26232 Cleanup can be done at the end.
26234 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26235 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26236 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26237 Oh boy.. Thanks for finding this, Thomas.
26239 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26241 * docs/gst/gstreamer.types:
26242 added missing types
26244 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26246 * docs/gst/gstreamer-docs.sgml:
26247 * docs/gst/gstreamer-sections.txt:
26248 * docs/gst/tmpl/.cvsignore:
26250 * gst/gstiterator.c:
26252 * gst/registries/gstxmlregistry.h:
26253 added missing classes and symbols (123 more to go)
26254 removed removed symbols from section file
26255 fixed many doc-comments
26257 2005-08-24 Wim Taymans <wim@fluendo.com>
26259 * check/generic/states.c: (GST_START_TEST):
26260 Make sure all tasks are stopped.
26262 * check/gst/gstbin.c: (GST_START_TEST):
26263 Unref after usage for proper valgrinding.
26265 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26266 Really wait for the task to stop before destroying the
26269 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26270 (gst_queue_src_activate_push):
26271 Small cleanups. Don't stop the task when we did not start
26274 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26275 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26276 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26279 Protect the stream lock with the object lock.
26280 Disallow setting the stream lock when running.
26281 Add cleanup_all to wait for the threadpool to finish.
26282 Remove code to autoallocate a mutex if none was provided.
26283 Add _join() to wait for a task to stop.
26284 Protect the thread pool with a global lock.
26286 2005-08-24 Wim Taymans <wim@fluendo.com>
26288 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26289 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26290 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26291 * gst/base/gstbasesink.h:
26292 Handle newsegment events correctly.
26293 Drop buffers out of the segment range.
26295 2005-08-22 Andy Wingo <wingo@pobox.com>
26297 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26298 macro, implements an interface and gstimplementsinterface for a
26301 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26303 * check/Makefile.am:
26304 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26305 add a test that does a bunch of state changes on elements
26306 needs some fixing for valgrind
26307 * check/states/sinks.c: (gst_object_suite):
26310 add prototype for gst_caps_is_equal_fixed
26312 * gst/gstregistrypool.c:
26315 2005-08-24 Andy Wingo <wingo@pobox.com>
26317 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26318 convert a negative value. Doesn't make much sense. Mostly this is
26319 here to force callers to ensure -1 maps to -1.
26321 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26323 * docs/pwg/advanced-types.xml:
26324 Well done to Michael for catching my deliberate introduction
26325 of this spelling mistake.
26326 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26327 * gst/gstelement.h:
26328 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26329 unlink pads before removing the element from the bin.
26331 2005-08-24 Andy Wingo <wingo@pobox.com>
26333 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26334 the same thing as GST_DEBUG=*:4.
26335 (parse_debug_level, parse_debug_category): New helper parsers.
26337 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26339 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26340 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26341 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26342 (gst_base_transform_buffer_alloc),
26343 (gst_base_transform_handle_buffer):
26344 use gboolean return values and pointers to size so we can use the
26345 full GST_BUFFER_SIZE range (guint) for buffer sizes
26346 use GstPadDirection for transform_caps
26347 * gst/base/gstbasetransform.h:
26348 rename get_size to get_unit_size since that's what it is
26349 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26350 use GstPadDirection for transform_caps
26351 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26353 cleanup and debugging
26355 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26357 * gst/gstelement.c: (gst_element_class_init),
26358 (gst_element_set_state), (activate_pads),
26359 (gst_element_save_thyself):
26360 * tools/gst-compprep.c: (main):
26361 * tools/gst-inspect.c: (print_element_properties_info):
26362 * tools/gst-xmlinspect.c: (print_element_properties):
26363 Fixed long standing mem-leak
26365 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26367 * check/gst/gstbin.c: (GST_START_TEST):
26368 * gst/gstbin.c: (bin_bus_handler):
26369 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26370 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26371 (gst_message_new_warning), (gst_message_new_tag),
26372 (gst_message_new_state_changed), (gst_message_new_segment_start),
26373 (gst_message_new_segment_done), (gst_message_new_custom):
26374 * gst/gstmessage.h:
26375 * tools/gst-launch.c: (event_loop):
26376 * tools/gst-md5sum.c: (event_loop):
26377 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26378 that applications can sensibly post custom messages with references
26379 to their own objects.
26381 2005-08-24 Andy Wingo <wingo@pobox.com>
26383 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26386 2005-08-24 Wim Taymans <wim@fluendo.com>
26388 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26389 (gst_base_transform_transform_caps),
26390 (gst_base_transform_transform_size),
26391 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26392 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26393 (gst_base_transform_handle_buffer):
26394 * gst/base/gstbasetransform.h:
26395 Many fixes and new features added by Thomas. Can now also do
26396 transforms with variable sizes and a custom fixate_caps function.
26398 2005-08-24 Wim Taymans <wim@fluendo.com>
26400 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26404 Cast to ClockTime before formatting to time.
26409 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26411 * check/gst-libs/controller.c: (GST_START_TEST),
26412 (gst_controller_suite):
26413 * docs/gst/tmpl/gstcaps.sgml:
26414 * docs/gst/tmpl/gstghostpad.sgml:
26415 * docs/gst/tmpl/gstquery.sgml:
26416 * docs/gst/tmpl/gstutils.sgml:
26417 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26418 (gst_object_sink_values), (gst_object_get_value_arrays),
26419 (gst_object_get_value_array):
26420 gracefully handle helper method calls to objects that are not beeing
26421 controlled, added test case for that
26423 2005-08-23 Wim Taymans <wim@fluendo.com>
26425 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26426 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26427 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26428 (gst_event_parse_qos), (gst_event_new_seek),
26429 (gst_event_parse_seek):
26431 Some more debugging output and doc cleanups.
26433 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26434 Fix possible deadlock.
26436 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26438 * docs/gst/gstreamer-docs.sgml:
26439 * docs/gst/gstreamer-sections.txt:
26440 * docs/gst/gstreamer.types:
26441 * docs/gst/tmpl/.cvsignore:
26444 * gst/gstelement.c:
26446 added 100 symbols from gstreamer-unused.txt to the right sections
26447 fixed more broken comments
26448 added GstBus to docs
26450 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26452 * docs/gst/gstreamer-sections.txt:
26453 * docs/gst/tmpl/.cvsignore:
26454 * docs/gst/tmpl/gstbin.sgml:
26455 * docs/gst/tmpl/gstbuffer.sgml:
26456 * gst/base/gstbasesrc.c:
26457 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26460 * tools/gst-launch.1.in:
26461 inlined more doc comments, added missing comments and fixed comments
26464 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26466 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26470 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26472 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26473 * gst/gststructure.h:
26474 add a fixate function for booleans; add a FIXME that these func
26475 names should probably be gst_structure_fixate_*
26477 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26479 * docs/gst/gstreamer-docs.sgml:
26480 * docs/gst/gstreamer-sections.txt:
26482 * gst/gstbin.c: (gst_bin_get_type),
26483 (gst_bin_child_proxy_get_child_by_index),
26484 (gst_bin_child_proxy_get_children_count),
26485 (gst_bin_child_proxy_init):
26486 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26487 (gst_child_proxy_get_child_by_index),
26488 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26489 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26490 (gst_child_proxy_get), (gst_child_proxy_set_property),
26491 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26492 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26493 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26494 * gst/gstchildproxy.h:
26495 * gst/parse/grammar.y:
26496 * tools/gst-inspect.c: (print_interfaces),
26497 (print_element_properties_info), (print_element_info):
26498 ported gstchildproxy over from 0.8
26499 ported gst-inspect fixes and enhancements over from 0.8
26501 2005-08-22 Wim Taymans <wim@fluendo.com>
26503 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26504 (gst_base_transform_handle_buffer):
26505 Also call the transform function if we have ANY caps.
26507 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26510 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26512 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26513 Don't pretend to handle seek events if the source is not seekable
26515 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26517 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26518 Remove extra parameter to debug output
26520 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26521 (gst_base_src_do_seek), (gst_base_src_activate_push):
26522 Fix seek event handling.
26524 * gst/gstpipeline.c: (gst_pipeline_change_state):
26525 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26526 (gst_queue_src_activate_push):
26527 Don't start the src pad task on FLUSH_STOP if the pad
26531 2005-08-22 Wim Taymans <wim@fluendo.com>
26533 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26534 Added check for gst_static_caps_get() refcounting.
26536 2005-08-22 Wim Taymans <wim@fluendo.com>
26538 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26539 Make _static_caps_get() refcounting sane.
26541 * gst/gstelement.c: (gst_element_set_state):
26542 Add g_return_val_if_fail() to protect against segfaults.
26544 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26546 * docs/gst/tmpl/gstevent.sgml:
26549 inlined remaining docs, added missing doc comments
26551 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26553 * check/gst/gstbin.c: (GST_START_TEST):
26554 since we don't know when preroll is done, use refcount range
26556 * gst/check/gstcheck.h:
26557 add macro for checking refcount range
26559 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26561 * check/Makefile.am:
26562 clean up environment for when registry gets built versus
26563 when actual tests are run; valgrind seems to not report
26564 leaks if GST_PLUGIN_PATH is set to some specific values
26565 * check/gst/gstbin.c: (GST_START_TEST):
26566 add more refcounting checks; maybe this exposes a
26568 * common/check.mak:
26569 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26570 * gst/check/gstcheck.h:
26571 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26572 (gst_bin_change_state):
26573 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26574 add/fix debugging/whitespace
26576 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26578 * check/gst/gstevent.c: (event_probe), (test_event),
26580 Er, don't call gst_bin_watch_for_state_change you idiot.
26582 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26584 * check/Makefile.am:
26585 Use CHECK_CFLAGS and CHECK_LIBS
26586 * check/gst/gstevent.c: (event_probe), (test_event),
26589 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26590 (gst_base_src_start), (gst_base_src_stop),
26591 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26592 (gst_base_src_change_state):
26593 Sprinkle gst_base_src_stop liberally around error paths to fix
26594 problems reusing a source after failed state changes.
26595 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26596 (helper_find_suggest), (gst_type_find_helper):
26597 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26599 * docs/gst/tmpl/gstevent.sgml:
26600 Migrate part of the docs from the SGML file. Wait for ensonic to
26601 tell me how I did it wrong ;)
26602 * tools/gst-typefind.c: (main):
26603 Extra robustness to state changes between files.
26605 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26607 * check/Makefile.am:
26608 don't valgrind the controller test - it's leaking - Stefan, HELP
26609 * gst/check/gstcheck.c: (gst_check_message_error),
26610 (gst_check_chain_func), (gst_check_setup_element),
26611 (gst_check_teardown_element), (gst_check_setup_src_pad),
26612 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26613 (gst_check_teardown_sink_pad):
26614 * gst/check/gstcheck.h:
26615 add a bunch of methods to set up elements, and src and sink pads
26616 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26617 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26620 * gst/gstmessage.c:
26622 whitespace/doc fixes
26624 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26626 * gst/gstelement.h:
26627 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26628 be handled by the application and not always printed as well
26630 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26632 * check/Makefile.am:
26634 * gst/check/gstcheck.c: (gst_check_message_error):
26635 * gst/check/gstcheck.h:
26636 add a fail_unless_equals_int
26637 add fail_unless for error messages
26639 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26641 * check/Makefile.am:
26643 * common/Makefile.am:
26644 * common/check.mak:
26646 factor out some of the common stuff so we can use it
26648 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26650 * check/Makefile.am:
26651 * check/gst/gstiterator.c: (GST_START_TEST):
26652 * check/gst/gstsystemclock.c: (GST_START_TEST),
26653 (gst_systemclock_suite):
26654 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26656 valgrind more tests
26658 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26660 * check/elements/.cvsignore:
26661 * check/elements/gstfakesrc.c:
26662 rename to name of element
26663 * check/elements/identity.c: (chain_func), (event_func),
26664 (setup_identity), (cleanup_identity), (GST_START_TEST),
26665 (identity_suite), (main):
26666 add a test for identity
26667 * check/Makefile.am:
26668 * pkgconfig/Makefile.am:
26669 * pkgconfig/gstreamer-check.pc.in:
26670 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26674 move the check stuff to a library that gets installed
26675 * check/gst-libs/controller.c: (GST_START_TEST):
26676 * check/gst-libs/gdp.c:
26677 * check/gst/gst.c: (GST_START_TEST):
26678 * check/gst/gstbin.c:
26679 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26680 * check/gst/gstbus.c:
26681 * check/gst/gstcaps.c: (GST_START_TEST):
26682 * check/gst/gstelement.c:
26683 * check/gst/gstghostpad.c:
26684 * check/gst/gstiterator.c:
26685 * check/gst/gstmessage.c:
26686 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26687 * check/gst/gstobject.c:
26688 * check/gst/gstpad.c: (GST_START_TEST):
26689 * check/gst/gststructure.c: (GST_START_TEST):
26690 * check/gst/gstsystemclock.c: (GST_START_TEST),
26691 (gst_systemclock_suite):
26692 * check/gst/gsttag.c: (gst_tag_suite):
26693 * check/gst/gstvalue.c:
26694 * check/pipelines/cleanup.c:
26695 * check/pipelines/simple_launch_lines.c:
26696 * check/states/sinks.c:
26697 change include statement
26699 * docs/gst/gstreamer-sections.txt:
26700 * docs/gst/tmpl/gstpad.sgml:
26701 document more pad stuff
26702 * gst/gstminiobject.c: (gst_mini_object_ref),
26703 (gst_mini_object_unref):
26706 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26708 * docs/gst/tmpl/gst.sgml:
26710 eliminate another tmpl file, fix spelling in the long-description
26712 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26714 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26715 (test_event), (timediff), (gstevents_suite):
26716 Should fix build on 64-bit arch's
26718 2005-08-18 Andy Wingo <wingo@pobox.com>
26720 Make sure that when a pipeline goes to PLAYING, that data has
26721 actually hit the sink.
26723 * check/states/sinks.c (test_sink): A sink that doesn't get any
26724 data shouldn't return SUCCESS for going to either PLAYING or
26725 PAUSED. Test also the return values on the way back down.
26727 * gst/gstelement.c (gst_element_set_state): When changing the
26728 state of an element currently changing state asynchronously, go to
26729 lost-state after commiting the pending state. Makes future calls
26730 to get_state continue to return ASYNC.
26732 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26733 ASYNC when going to PLAYING if we still don't have preroll, as can
26734 happen with live sources.
26736 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26738 * docs/pwg/advanced-types.xml:
26739 Hack long paragraph into 2 chunks as a workaround for buggy
26740 jadetex version in sid and breezy that loops infinitely and
26743 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26745 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26746 (test_event), (timediff), (gstevents_suite):
26747 Provide more error margin in clock measurements to allow for
26748 g_get_current_time inaccuracies.
26750 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26752 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26753 (test_event), (timediff), (gstevents_suite):
26754 Fix error message output so I might be able to tell why the
26755 test works here but fails on the build farm.
26757 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26759 * check/Makefile.am:
26760 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26761 (test_event), (timediff), (gstevents_suite), (main):
26764 * docs/design/part-seeking.txt:
26765 Spelling correction
26767 * docs/gst/tmpl/gstevent.sgml:
26768 * docs/gst/tmpl/gstfakesrc.sgml:
26771 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26772 Treat a buffer-without-newsegment the same as a receiving
26773 a newsegment not in time format, and disable syncing to the clock
26776 * gst/gstbus.c: (gst_bus_set_sync_handler):
26777 Assert if anyone tries to replace the existing sync_handler for bus,
26778 as only the owner should be setting it.
26781 Have a fixed set of custom event enums with events identified by
26782 their structure name (as in 0.8), rather than a free-for-all
26783 allowing collisions between enum values from different plugins.
26785 * gst/gstpad.c: (gst_pad_class_init):
26788 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26789 Handle out-of-band downstream events from the sending thread.
26791 2005-08-17 Andy Wingo <wingo@pobox.com>
26793 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26794 play-timeout==0 to mean no timeout at all. In that case, don't
26795 bother with a get_state or a warning, just return directly, even
26798 * gst/base/gstbasetransform.c: Debug changes.
26801 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26802 ensure bins post state change messages. A bit of a hack but I can't
26803 think of a way to avoid it.
26805 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26807 2005-08-16 Andy Wingo <wingo@pobox.com>
26809 * gst/base/gstadapter.h:
26810 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26811 peek() but you own the data. Not terribly efficient atm.
26813 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26815 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26816 (gst_element_found_tags):
26818 Add two utility functions for tag handling.
26820 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26822 * docs/manual/advanced-dataaccess.xml:
26823 * docs/manual/basics-helloworld.xml:
26824 Fix docs to use _bin_add() before _link(), which fixes the examples
26825 with recent core versions (reported by Madhan Raj M
26826 <raj_madan@rediffmail.com>, #313199).
26828 2005-08-16 Wim Taymans <wim@fluendo.com>
26830 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26831 Added subtract checks.
26833 * docs/design/part-events.txt:
26834 Some more docs about newsegment
26836 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26839 * gst/gstcaps.c: (gst_caps_to_string):
26840 Add comments, cleanups.
26842 * gst/gstelement.c: (gst_element_save_thyself):
26845 * gst/gstvalue.c: (gst_value_collect_int_range),
26846 (gst_string_unwrap), (gst_value_union_int_int_range),
26847 (gst_value_union_int_range_int_range),
26848 (gst_value_intersect_int_int_range),
26849 (gst_value_intersect_int_range_int_range),
26850 (gst_value_intersect_double_double_range),
26851 (gst_value_intersect_double_range_double_range),
26852 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26853 (gst_value_subtract_int_range_int),
26854 (gst_value_subtract_double_range_double),
26855 (gst_value_subtract_double_range_double_range),
26856 (gst_value_subtract_from_list), (gst_value_subtract_list),
26857 (gst_value_can_compare), (gst_value_compare_fraction):
26858 Cleanups, add comments, remove unneeded asserts.
26860 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26862 * tools/gst-launch.c: (event_loop):
26863 don't convert NULL structures to strings
26865 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26867 * docs/gst/gstreamer-sections.txt:
26868 made some defines private
26869 * docs/gst/tmpl/gstconfig.sgml:
26870 * docs/gst/tmpl/gstqueue.sgml:
26871 * docs/gst/tmpl/gsttaglist.sgml:
26872 * docs/gst/tmpl/gsttypes.sgml:
26873 * docs/gst/tmpl/gstutils.sgml:
26874 * docs/pwg/appendix-porting.xml:
26875 * gst/base/gstbasesink.h:
26876 * gst/base/gstbasesrc.c:
26877 * gst/base/gstbasesrc.h:
26878 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26879 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26880 * gst/gstelement.c: (gst_element_class_init):
26881 * gst/gstpad.c: (gst_pad_class_init):
26882 * gst/gstqueue.c: (gst_queue_class_init):
26883 * gst/gstxml.c: (gst_xml_class_init):
26884 documented all undocumented signal inline
26885 * libs/gst/controller/gst-controller.h:
26888 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26890 * docs/pwg/appendix-porting.xml:
26891 Document _set_link_function -> _set_setcaps_function.
26893 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26895 * check/Makefile.am:
26896 add a .check target for running the check
26897 * check/gst-libs/controller.c: (GST_START_TEST):
26899 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26900 complete checks for gstbuffer; would be nice if I could get the
26901 gcov stuff to work so I can see if I actually completed gstbuffer.c
26902 * check/gstcheck.h:
26903 add ASSERT_BUFFER_REFCOUNT
26905 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26907 * docs/gst/gstreamer-sections.txt:
26908 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26910 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26911 spew out a warning if a tag that is already registered
26912 is re-registered, unless it is re-registered with a
26913 different type (#308438).
26915 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26917 * docs/pwg/appendix-porting.xml:
26918 * docs/pwg/building-state.xml:
26919 Add some paragraphs about state changes in 0.9 to the PWG
26920 and the porting guide, in particular about the new meaning
26921 of GST_STATE_PAUSED and how to write state change functions
26922 with concurrent access by multiple threads in mind.
26924 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26926 * docs/gst/gstreamer-docs.sgml:
26927 * docs/libs/gstreamer-libs-docs.sgml:
26928 added deprecation and since indexes
26929 * libs/gst/controller/gst-controller.c:
26930 * libs/gst/controller/gst-helper.c:
26934 2005-08-11 Wim Taymans <wim@fluendo.com>
26936 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26937 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26938 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26939 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26940 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26941 (gst_ghost_pad_set_target):
26942 Actually implement (re)setting the target on a ghostpad
26943 as described in the docs.
26945 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26947 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26948 Check whether GST_DEBUG_NO_COLOR environment variable is
26949 set and disable coloured debug output if that is the case.
26951 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26953 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26954 (gst_type_find_helper):
26955 The memory returned by gst_type_find_peek() needs to
26956 stay valid until the end of a typefind function, and
26957 typefind functions may keep results from different
26958 offsets around, so we can't just unref the buffer from
26959 the previous _peek(), but have to save all buffers
26960 returned by _peek() until typefinding is done and only
26963 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26965 * docs/gst/gstreamer-sections.txt:
26967 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26969 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26971 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26972 Fix a pretty good memleak.
26974 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26976 * gst/gstiterator.h:
26977 Fix wrong include and 'make distcheck'.
26979 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26981 * gst/gstbin.c: (bin_bus_handler):
26982 Use gst_element_post_message() instead.
26984 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26986 * gst/base/gstadapter.h:
26987 * gst/base/gstbasesink.h:
26988 * gst/base/gstbasesrc.h:
26989 * gst/base/gstbasetransform.h:
26990 * gst/base/gstcollectpads.h:
26991 * gst/base/gstpushsrc.h:
26992 * gst/gstiterator.h:
26993 Add padding to our base elements' class and instance structs and
26994 to GstIterator (you will need to rebuild all plugins and apps!)
26996 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26998 * gst/gstbin.c: (bin_bus_handler):
26999 Make default message forwarding from child->bus to bin->bus
27000 threadsafe and make it not emit warnings if the parent has no bus.
27002 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27004 * gst/gstelement.c: (activate_pads):
27005 On paused->ready, set pad->caps to NULL, as is the documented
27006 behaviour in this state change. Fixes playback of series of
27007 media files when visualization is enabled in Totem.
27009 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27011 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27012 Allow NULL as filter-caps (which means "any").
27014 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27016 * docs/libs/gstreamer-libs-sections.txt:
27017 * libs/gst/controller/gst-controller.c:
27018 * libs/gst/controller/gst-controller.h:
27019 * libs/gst/controller/gst-helper.c:
27020 adding more entries to the docs and fix small doc-bugs
27022 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27024 * docs/gst/gstreamer-docs.sgml:
27025 * docs/gst/gstreamer-sections.txt:
27026 * docs/gst/gstreamer.types:
27027 * docs/gst/tmpl/gstbasesink.sgml:
27028 * docs/gst/tmpl/gstbasesrc.sgml:
27029 * docs/gst/tmpl/gstbasetransform.sgml:
27030 * docs/gst/tmpl/gstfakesrc.sgml:
27031 * gst/base/gstcollectpads.c:
27032 * gst/base/gstcollectpads.h:
27033 * libs/gst/controller/gst-controller.c:
27034 * libs/gst/controller/gst-controller.h:
27035 * libs/gst/controller/gst-helper.c:
27036 * libs/gst/controller/gst-interpolation.c:
27037 * libs/gst/controller/lib.c:
27038 added long/short desc for controller docs
27039 added collectpads base class docs
27040 added correct includes to base-class docs
27042 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27044 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27045 (gst_test_mono_source_set_property),
27046 (gst_test_mono_source_class_init), (GST_START_TEST),
27047 (gst_controller_suite):
27048 * docs/gst/gstreamer-docs.sgml:
27049 * docs/gst/gstreamer-sections.txt:
27050 * docs/gst/gstreamer.types:
27051 * docs/libs/gstreamer-libs-docs.sgml:
27052 * docs/libs/gstreamer-libs-sections.txt:
27053 * gst/base/gstadapter.c:
27054 * libs/gst/controller/gst-controller.c:
27055 (gst_controlled_property_new), (gst_controlled_property_free),
27056 (gst_controller_new_valist),
27057 (gst_controller_remove_properties_valist),
27058 (gst_controller_sink_values), (_gst_controller_finalize):
27059 * libs/gst/controller/gst-controller.h:
27060 * libs/gst/controller/gst-helper.c:
27061 (gst_object_control_properties), (gst_object_uncontrol_properties),
27062 (gst_object_get_controller), (gst_object_set_controller),
27063 (gst_object_sink_values), (gst_object_get_value_arrays),
27064 (gst_object_get_value_array):
27065 more tests (and fixes) for the controller
27066 more docs for the controller
27067 integrated companies docs for the adapter
27069 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27071 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27072 (GST_START_TEST), (fakesrc_suite):
27073 add tests for sizetype
27075 2005-08-04 Andy Wingo <wingo@pobox.com>
27077 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27078 fixes buffer_alloc proxying among other things.
27080 * gst/base/gstbasetransform.c:
27081 * gst/base/gstbasetransform.h:
27082 Revert patch to gstbasetransform from 7-28 removing
27085 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27086 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27087 Semantics changed, should return not the size of the output buffer
27088 but the byte size of a buffer with a given caps.
27090 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27092 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27093 out) are not the pad caps until setcaps finishes.
27094 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27095 not-in-place case as well. Deal with changing from in-place to
27096 not-in-place within calling pad_alloc_buffer. Still a bit
27097 concerned about the overhead here...
27099 2005-08-03 Andy Wingo <wingo@pobox.com>
27101 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27102 fixating is an error.
27104 2005-08-04 Edward Hervey <edward@fluendo.com>
27106 * gst/base/gstadapter.h:
27107 Added gst_adapter_get_type() to the header
27109 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27111 * check/Makefile.am:
27112 * check/gst-libs/controller.c:
27113 * libs/gst/controller/gst-controller.c:
27114 (gst_controller_new_valist):
27115 added check test suite for the controller
27116 * gst/base/gstpushsrc.c:
27119 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27121 * docs/gst/Makefile.am:
27122 * docs/gst/gstreamer-docs.sgml:
27123 * docs/gst/gstreamer-sections.txt:
27124 * docs/gst/gstreamer.types:
27125 * docs/gst/tmpl/gstfakesrc.sgml:
27127 * gst/base/gstbasesink.c:
27128 * gst/base/gstbasesink.h:
27129 * gst/base/gstbasesrc.c:
27130 * gst/base/gstbasesrc.h:
27131 * gst/base/gstbasetransform.c:
27132 * gst/base/gstpushsrc.c:
27133 * gst/base/gstpushsrc.h:
27134 add short/long description docs to base classes
27135 add pushsrc to the docs
27136 remove consolidated doc fragments
27138 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27141 * docs/libs/Makefile.am:
27142 * docs/libs/gstreamer-libs-docs.sgml:
27143 * docs/libs/gstreamer-libs-sections.txt:
27144 * docs/libs/gstreamer-libs.types:
27145 * examples/Makefile.am:
27146 * examples/controller/.cvsignore:
27147 * examples/controller/Makefile.am:
27148 * examples/controller/audio-example.c: (main):
27149 * libs/gst/Makefile.am:
27150 * libs/gst/controller/.cvsignore:
27151 * libs/gst/controller/Makefile.am:
27152 * libs/gst/controller/gst-controller.c:
27153 (on_object_controlled_property_changed), (gst_timed_value_compare),
27154 (gst_timed_value_find),
27155 (gst_controlled_property_set_interpolation_mode),
27156 (gst_controlled_property_new), (gst_controlled_property_free),
27157 (gst_controller_find_controlled_property),
27158 (gst_controller_new_valist), (gst_controller_new),
27159 (gst_controller_remove_properties_valist),
27160 (gst_controller_remove_properties), (gst_controller_set),
27161 (gst_controller_set_from_list), (gst_controller_unset),
27162 (gst_controller_get), (gst_controller_get_all),
27163 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27164 (gst_controller_get_value_array),
27165 (gst_controller_set_interpolation_mode),
27166 (_gst_controller_finalize), (_gst_controller_init),
27167 (_gst_controller_class_init), (gst_controller_get_type):
27168 * libs/gst/controller/gst-controller.h:
27169 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27170 (g_object_uncontrol_properties), (g_object_get_controller),
27171 (g_object_set_controller), (g_object_sink_values),
27172 (g_object_get_value_arrays), (g_object_get_value_array):
27173 * libs/gst/controller/gst-interpolation.c:
27174 (gst_controlled_property_find_timed_value_node),
27175 (interpolate_none_get), (interpolate_trigger_get),
27176 (interpolate_trigger_get_value_array):
27177 * libs/gst/controller/lib.c: (gst_controller_init):
27178 * pkgconfig/Makefile.am:
27179 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27180 * pkgconfig/gstreamer-control.pc.in:
27181 * testsuite/Makefile.am:
27182 * testsuite/controller/.cvsignore:
27183 * testsuite/controller/Makefile.am:
27184 * testsuite/controller/interpolator.c: (main):
27185 added controller code
27186 removed dparam pc files
27188 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27189 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27190 (gst_collectpads_stop):
27191 Broadcast the condition when shutting down, to make sure we wake all
27192 threads up. Shut down pads on finalize, for safety.
27194 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27195 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27196 (gst_base_transform_handle_buffer),
27197 (gst_base_transform_change_state):
27198 Handle PAUSED->READY->PAUSED transition after negotiation
27200 * gst/gstmessage.c: (gst_message_init):
27201 Extra piece of debug for new messages.
27203 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27206 * docs/gst/tmpl/gstbasesrc.sgml:
27207 * docs/gst/tmpl/gstelement.sgml:
27208 * docs/gst/tmpl/gstevent.sgml:
27209 * docs/gst/tmpl/gstfakesrc.sgml:
27210 * docs/gst/tmpl/gstformat.sgml:
27211 * docs/gst/tmpl/gstghostpad.sgml:
27212 * docs/gst/tmpl/gstpad.sgml:
27213 * docs/gst/tmpl/gstquery.sgml:
27214 * docs/gst/tmpl/gststructure.sgml:
27215 * docs/gst/tmpl/gsttaglist.sgml:
27216 * docs/gst/tmpl/gstvalue.sgml:
27217 * docs/libs/gstreamer-libs-docs.sgml:
27218 * docs/libs/gstreamer-libs-sections.txt:
27219 * docs/libs/gstreamer-libs.types:
27220 * libs/gst/Makefile.am:
27221 * libs/gst/control/.cvsignore:
27222 * libs/gst/control/Makefile.am:
27223 * libs/gst/control/control.c:
27224 * libs/gst/control/control.h:
27225 * libs/gst/control/dparam.c:
27226 * libs/gst/control/dparam.h:
27227 * libs/gst/control/dparam_smooth.c:
27228 * libs/gst/control/dparam_smooth.h:
27229 * libs/gst/control/dparamcommon.h:
27230 * libs/gst/control/dparammanager.c:
27231 * libs/gst/control/dparammanager.h:
27232 * libs/gst/control/dplinearinterp.c:
27233 * libs/gst/control/dplinearinterp.h:
27234 * libs/gst/control/unitconvert.c:
27235 * libs/gst/control/unitconvert.h:
27236 * testsuite/Makefile.am:
27237 * testsuite/dynparams/.cvsignore:
27238 * testsuite/dynparams/Makefile.am:
27239 * testsuite/dynparams/dparamstest.c:
27240 * tools/Makefile.am:
27241 * tools/gst-inspect.c: (print_element_info), (main):
27242 * tools/gst-xmlinspect.c: (print_element_info), (main):
27243 deactivate and remove dparams (libgstcontrol)
27245 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27247 * gst/elements/gsttypefindelement.c:
27248 (gst_type_find_element_have_type), (gst_type_find_element_init),
27249 (stop_typefinding), (gst_type_find_element_handle_event),
27250 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27251 * gst/elements/gsttypefindelement.h:
27252 Set caps on all outgoing buffers, not just the first one.
27254 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27256 * gst/elements/gsttypefindelement.c:
27257 (gst_type_find_element_have_type),
27258 (gst_type_find_element_check_set_buffer_caps),
27259 (gst_type_find_element_init), (stop_typefinding),
27260 (gst_type_find_element_handle_event),
27261 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27262 * gst/elements/gsttypefindelement.h:
27263 Set caps on first outgoing buffer when we've found the type.
27265 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27267 * docs/gst/gstreamer-docs.sgml:
27268 * docs/gst/gstreamer-sections.txt:
27269 * docs/gst/tmpl/gstscheduler.sgml:
27270 * docs/gst/tmpl/gstschedulerfactory.sgml:
27271 Remove some old cruft from docs.
27273 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27276 Fix inline docs for GstPadLinkReturn.
27278 * gst/gststructure.c: (gst_structure_has_name):
27279 * gst/gststructure.h:
27280 * docs/gst/gstreamer-sections.txt:
27281 New API: gst_structure_has_name().
27283 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27286 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27287 and _LARGEFILE_SOURCE in config.h as required. Do not
27288 export those flags in our .pc files any longer (#142209).
27290 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27292 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27293 (gst_file_sink_do_seek), (gst_file_sink_event),
27294 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27295 Redo seek/tell calls with large file support in mind; add some
27296 debugging messages; add log message that tells us when large
27297 file support is unavailable or not enabled for some reason.
27299 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27300 Add log message that tells us when large file support
27301 is unavailable or not enabled for some reason.
27303 2005-07-29 Wim Taymans <wim@fluendo.com>
27305 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27306 Added test for removing an element with ghostpad from a bin.
27307 Fixed test as current implementation does the right thing.
27309 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27310 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27311 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27312 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27313 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27314 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27315 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27316 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27317 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27318 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27319 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27320 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27321 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27322 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27323 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27324 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27325 * gst/gstghostpad.h:
27326 Clean up ghostpads, remove properties for internal stuff.
27329 Prepare for switching targets, not all use cases work yet.
27331 2005-07-29 Wim Taymans <wim@fluendo.com>
27333 * docs/design/part-gstghostpad.txt:
27336 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27337 (gst_bin_remove_func):
27338 Unlinking pads while holding the bin LOCK is not a good
27341 * gst/gstpad.c: (gst_pad_class_init),
27342 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27343 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27344 No prob setting template after creating the pad.
27346 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27348 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27349 (gst_bus_peek), (gst_bus_source_dispatch),
27350 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27351 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27352 gst_bus_poll may be called from other threads. Handle
27353 this nicely by not making poll_data disappear off the
27354 stack once gst_bus_poll returns.
27355 gst_bus_peek now increments the refcount on the returned
27358 2005-07-29 Wim Taymans <wim@fluendo.com>
27360 * docs/design/part-gstghostpad.txt:
27361 Overview of current GhostPad datastructures and use
27362 cases for changing the target.
27364 2005-07-28 Wim Taymans <wim@fluendo.com>
27366 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27367 Added checks for hierarchy consistency whan adding linked
27370 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27371 Added check to test element scheduling without bin/pipeline.
27373 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27374 First add elements to bin, then link.
27376 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27377 (gst_bin_remove_func):
27378 Unlink pads from elements added/removed from bin to maintain
27379 hierarchy consistency.
27381 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27383 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27384 (gst_base_transform_handle_buffer):
27385 * gst/base/gstbasetransform.h:
27386 Remove broken delay_configure (fixes renegotiation of software
27387 scaling pipelines); remove some leftover printf()s.
27389 2005-07-28 Wim Taymans <wim@fluendo.com>
27391 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27392 Added some more tests for wrong hierarchy
27394 * docs/design/part-overview.txt:
27397 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27400 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27401 (gst_element_dispose):
27402 Some more cleanups.
27404 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27405 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27406 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27407 (gst_pad_set_caps), (gst_pad_send_event):
27408 Check for correct hierarchy when linking pads. Moving to
27409 strict requirement for ghostpads when linking elements in
27413 Clean ups. Added WRONG_HIERARCHY return value.
27415 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27417 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27418 Better debug if no transform is possible.
27420 2005-07-27 Wim Taymans <wim@fluendo.com>
27422 * docs/random/wtay/network-transp:
27423 Some old doc I had.
27425 2005-07-27 Wim Taymans <wim@fluendo.com>
27427 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27428 (gst_dp_event_from_packet):
27429 Fix serialization of seek events.
27431 2005-07-27 Wim Taymans <wim@fluendo.com>
27433 * check/gst-libs/gdp.c: (GST_START_TEST):
27434 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27435 Fix compilation and fix event serialization.
27437 2005-07-27 Wim Taymans <wim@fluendo.com>
27440 * docs/design/part-TODO.txt:
27441 * docs/design/part-events.txt:
27444 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27445 (gst_base_sink_event), (gst_base_sink_do_sync),
27446 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27447 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27448 (gst_base_src_do_seek), (gst_base_src_event_handler),
27449 (gst_base_src_loop):
27450 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27451 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27452 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27453 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27454 (gst_base_transform_set_passthrough),
27455 (gst_base_transform_is_passthrough):
27456 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27457 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27463 * gst/gstelement.c: (gst_element_seek):
27464 * gst/gstelement.h:
27465 Update gst_element_seek.
27467 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27468 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27469 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27470 (gst_event_new_eos), (gst_event_new_newsegment),
27471 (gst_event_parse_newsegment), (gst_event_new_tag),
27472 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27473 (gst_event_parse_qos), (gst_event_new_seek),
27474 (gst_event_parse_seek), (gst_event_new_navigation):
27476 Make GstEvent use GstStructure. Add parsing code, make sure the
27477 API is sufficiently generic.
27478 Mark possible directions of events and serialization.
27480 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27481 (_gst_message_copy), (gst_message_new_segment_start),
27482 (gst_message_new_segment_done), (gst_message_new_custom),
27483 (gst_message_parse_segment_start),
27484 (gst_message_parse_segment_done):
27487 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27488 (gst_pad_set_caps), (gst_pad_send_event):
27489 Update for new events.
27490 Catch events sent in wrong directions.
27492 * gst/gstqueue.c: (gst_queue_link_src),
27493 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27494 (gst_queue_handle_src_query):
27499 Remove event code from this file.
27501 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27502 (gst_dp_event_from_packet):
27505 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27507 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27508 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27509 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27510 Make debugging actually useful.
27512 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27514 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27515 (gst_pad_fixate_caps):
27516 Implement default fixation once again, so that gst_pad_fixate()
27517 actually does anything at all. This probably needs to be some
27518 sort of a last resort, and use profile-based fixation first, but
27519 since that doesn't exist yet, this is the best we have. Fixes
27520 visualization in Totem.
27522 2005-07-22 Wim Taymans <wim@fluendo.com>
27524 * docs/design/part-events.txt:
27527 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27528 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27529 (gst_base_sink_activate_pull):
27530 Some more comments.
27532 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27533 (gst_fake_src_create):
27534 Fix handoff marshall.
27536 * gst/elements/gstidentity.c: (gst_identity_class_init),
27537 (gst_identity_transform_ip):
27538 We're a real inplace element.
27540 * gst/gstbus.c: (gst_bus_post):
27541 Added some comments.
27543 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27544 * tests/muxing/case1.c: (main):
27545 * tests/sched/dynamic-pipeline.c: (main):
27546 * tests/sched/interrupt1.c: (main):
27547 * tests/sched/interrupt2.c: (main):
27548 * tests/sched/interrupt3.c: (main):
27549 * tests/sched/runxml.c: (main):
27550 * tests/sched/sched-stress.c: (main):
27551 * tests/seeking/seeking1.c: (event_received), (main):
27552 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27554 * tests/threadstate/threadstate3.c: (main):
27555 * tests/threadstate/threadstate4.c: (main):
27556 * tests/threadstate/threadstate5.c: (main):
27559 2005-07-21 Wim Taymans <wim@fluendo.com>
27561 * docs/design/part-seeking.txt:
27562 Some small additions.
27564 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27565 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27566 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27567 * gst/base/gstbasesink.h:
27568 discont values are gint64, handle the math correctly.
27570 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27571 Make the basesrc report error if the source pad is not linked.
27573 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27574 (gst_queue_loop), (gst_queue_handle_src_query),
27575 (gst_queue_src_activate_push):
27576 Make queue collect data even if the srcpad is not linked.
27577 Start pushing out data as soon as it is linked.
27579 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27581 Added gst_flow_get_name() to ease error reporting.
27583 2005-07-20 Wim Taymans <wim@fluendo.com>
27585 * gst/gstmessage.c: (gst_message_new_segment_start),
27586 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27587 (gst_message_parse_segment_done):
27588 * gst/gstmessage.h:
27589 Added a bunch of messages for advanced seeking.
27591 * gst/parse/grammar.y:
27592 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27593 (gst_dpman_state_changed):
27594 Fix some new-pad -> pad-added signals
27596 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27598 * docs/manual/appendix-porting.xml:
27599 * docs/pwg/appendix-porting.xml:
27600 Document new-pad/state-change signal renames and the FixedList
27603 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27605 * docs/manual/advanced-autoplugging.xml:
27606 * docs/manual/basics-helloworld.xml:
27607 * docs/manual/basics-pads.xml:
27608 * docs/random/ds/0.9-suggested-changes:
27609 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27610 * gst/gstelement.h:
27614 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27615 (gst_structure_parse_array), (gst_structure_parse_value):
27616 * gst/gstvalue.c: (gst_type_is_fixed),
27617 (gst_value_list_prepend_value), (gst_value_list_append_value),
27618 (gst_value_list_get_size), (gst_value_list_get_value),
27619 (gst_value_transform_array_string), (gst_value_serialize_array),
27620 (gst_value_deserialize_array), (gst_value_intersect_array),
27621 (gst_value_is_fixed), (_gst_value_initialize):
27623 GstElement::new-pad -> pad-added, GstElement::state-change ->
27624 state-changed, GstValueFixedList -> GstValueArray, add format and
27625 flags as their own arguments in gst_element_seek() (should improve
27626 "bindeability"), remove function generators since they don't work
27627 under a whole bunch of compilers (they were deprecated already
27630 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27632 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27633 (_gst_debug_register_funcptr):
27635 Fix illegal cast on some platforms (#309253).
27637 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27639 * gst/gstmessage.c: (gst_message_new_custom):
27640 * gst/gstmessage.h:
27641 Add _new_custom, make _new_application a macro to _new_custom.
27643 2005-07-20 Wim Taymans <wim@fluendo.com>
27645 * gst/base/gstbasesrc.c: (gst_base_src_init),
27646 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27647 * gst/base/gstbasesrc.h:
27648 Add a gboolean to decide when to push out a discont.
27650 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27651 (gst_queue_loop), (gst_queue_handle_src_query),
27652 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27653 (gst_queue_set_property), (gst_queue_get_property):
27656 * tests/threadstate/threadstate1.c: (main):
27657 Make a thread test compile and run... very silly..
27660 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27662 * docs/manual/appendix-porting.xml:
27663 Mention removal of libgstgconf-0.9.la and existence of gconf
27666 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27668 * docs/pwg/advanced-clock.xml:
27669 * docs/pwg/appendix-porting.xml:
27670 * docs/pwg/intro-preface.xml:
27671 * docs/pwg/other-base.xml:
27672 * docs/pwg/other-manager.xml:
27673 * docs/pwg/other-nton.xml:
27674 * docs/pwg/other-ntoone.xml:
27675 * docs/pwg/other-oneton.xml:
27676 * docs/pwg/pwg.xml:
27677 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27678 demuxer), remove n-to-n (was never written), fix some code examples
27679 and links and update the porting section to include all this.
27681 2005-07-19 Wim Taymans <wim@fluendo.com>
27683 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27684 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27685 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27686 (gst_queue_src_activate_push), (gst_queue_change_state),
27687 (gst_queue_get_property):
27689 Propagate GstFlowReturn more intelligently upstream and output
27690 an ERROR/EOS when streaming stopped due to fatal error.
27692 2005-07-19 Wim Taymans <wim@fluendo.com>
27694 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27695 Don't block forever for the state change to complete, the
27696 pipeline already did with a sensible timeout.
27698 2005-07-19 Wim Taymans <wim@fluendo.com>
27700 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27701 Make sure we never call the create function is we
27704 2005-07-19 Andy Wingo <wingo@pobox.com>
27706 * gst/parse/parse.l: Attempt to solve bug #172815.
27708 2005-07-19 Wim Taymans <wim@fluendo.com>
27710 * docs/design/part-clocks.txt:
27711 * docs/design/part-events.txt:
27712 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27713 Small docs updates.
27714 Only update the seeking values when we are not
27717 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27719 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27720 Oops, ignore the result of gst_pad_push_event here.
27722 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27724 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27725 (gst_base_src_activate_push):
27726 Send discont event from the loop function, as pads
27727 aren't activated yet in the activate_push handler.
27729 * gst/gstbin.c: (bin_bus_handler):
27730 Don't leak element name.
27732 2005-07-18 Andy Wingo <wingo@pobox.com>
27734 * configure.ac: Use AS_LIBTOOL_TAGS.
27736 2005-07-18 Wim Taymans <wim@fluendo.com>
27738 * docs/gst/gstreamer.types:
27739 Remove deleted types.
27741 2005-07-18 Wim Taymans <wim@fluendo.com>
27743 * check/elements/gstfakesrc.c: (GST_START_TEST):
27746 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27747 (init_popt_callback):
27749 * gst/gst_private.h:
27750 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27751 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27754 * gst/gstconfig.h.in:
27755 * gst/gstelement.c: (gst_element_class_init),
27756 (gst_element_set_base_time), (gst_element_get_base_time),
27757 (iterator_fold_with_resync), (gst_element_change_state),
27758 (gst_element_dispose), (gst_element_get_bus):
27759 * gst/gstelement.h:
27760 * gst/gstelementfactory.h:
27761 * gst/gsterror.c: (_gst_core_errors_init):
27764 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27766 * gst/gstinfo.c: (_gst_debug_init):
27767 * gst/gstmessage.c: (_gst_message_copy):
27768 * gst/gstmessage.h:
27769 * gst/gstminiobject.h:
27772 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27773 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27776 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27777 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27778 (gst_pipeline_get_last_stream_time):
27779 * gst/gstpipeline.h:
27780 * gst/gstpluginfeature.h:
27782 * gst/gstscheduler.c:
27783 * gst/gstscheduler.h:
27784 * gst/gststructure.h:
27785 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27786 (gst_task_finalize), (gst_task_func), (gst_task_create),
27787 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27788 (gst_task_stop), (gst_task_pause):
27790 * gst/gsttypefind.h:
27792 * gst/registries/gstlibxmlregistry.c: (load_feature),
27793 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27794 * gst/registries/gstxmlregistry.c:
27795 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27796 * gst/schedulers/threadscheduler.c:
27797 * libs/gst/control/dparammanager.h:
27798 * tools/gst-inspect.c: (print_element_list),
27799 (print_plugin_features), (print_element_features):
27800 * tools/gst-xmlinspect.c: (print_element_list),
27801 (print_plugin_info), (main):
27802 Removed plugable schedulers.
27803 Removed Scheduler/Manager from elements.
27804 Removed gsttypes.h, rearranged includes.
27805 Removed dependency pad<->element, element<>pipeline, and
27806 various others, fix includes.
27807 implement gst_pad_get_parent() with gst_object_get_parent()
27808 Make GstTask sefcontained.
27809 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27811 Fix endless loop in iterator_fold_with_resync.
27814 2005-07-18 Wim Taymans <wim@fluendo.com>
27820 2005-07-18 Wim Taymans <wim@fluendo.com>
27823 No more cothreads.h
27825 2005-07-18 Wim Taymans <wim@fluendo.com>
27829 Let's remove these.
27831 2005-07-18 Wim Taymans <wim@fluendo.com>
27833 * docs/design/part-dynamic.txt:
27834 * docs/design/part-events.txt:
27835 * docs/design/part-seeking.txt:
27836 Some more docs in the works.
27838 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27839 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27840 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27841 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27842 (gst_base_transform_handle_buffer),
27843 (gst_base_transform_sink_activate_push),
27844 (gst_base_transform_src_activate_pull),
27845 (gst_base_transform_set_passthrough),
27846 (gst_base_transform_is_passthrough):
27849 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27852 * gst/gstevent.c: (gst_event_finalize):
27855 * gst/gstutils.c: (gst_element_unlink),
27856 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27857 (gst_pad_proxy_setcaps):
27859 Add _get_parent_element() to get a pads parent as an element.
27861 2005-07-18 Wim Taymans <wim@fluendo.com>
27863 * check/gst/gstbin.c: (GST_START_TEST):
27866 2005-07-18 Wim Taymans <wim@fluendo.com>
27868 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27869 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27870 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27871 (gst_base_sink_event), (gst_base_sink_do_sync),
27872 (gst_base_sink_chain), (gst_base_sink_loop),
27873 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27874 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27876 Fix logic for returning ASYNC when not prerolled.
27878 2005-07-18 Wim Taymans <wim@fluendo.com>
27880 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27881 Fix nasty refcount bug.
27883 2005-07-16 Philippe Khalaf <burger@speedy.org>
27885 * gst/elements/gstfdsrc.c:
27886 * gst/elements/gstfdsrc.h:
27887 * gst/elements/gstelements.c:
27888 * gst/elements/Makefile.am:
27889 Ported fdsrc to 0.9.
27891 2005-07-16 Wim Taymans <wim@fluendo.com>
27893 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27894 (gst_base_sink_do_sync):
27897 2005-07-16 Wim Taymans <wim@fluendo.com>
27899 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27900 (gst_base_sink_event), (gst_base_sink_get_times),
27901 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27902 * gst/base/gstbasesink.h:
27903 Store and use discont values when syncing buffers as described
27906 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27907 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27908 (gst_base_src_activate_push):
27909 Push discont event when starting.
27911 * gst/elements/gstidentity.c: (gst_identity_transform):
27914 * gst/gstbin.c: (gst_bin_change_state):
27915 Small cleanups in base_time distribution.
27917 * gst/gstelement.c: (gst_element_set_base_time),
27918 (gst_element_get_base_time), (gst_element_change_state):
27919 * gst/gstelement.h:
27920 Added methods for the base_time of the element.
27923 * gst/gstpipeline.c: (gst_pipeline_send_event),
27924 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27925 (gst_pipeline_get_last_stream_time):
27926 * gst/gstpipeline.h:
27928 Handle seeking as described in design doc, remove stream_time
27930 Cleanups clock and stream_time selection code. Added accessors
27931 for the stream_time.
27934 2005-07-16 Andy Wingo <wingo@pobox.com>
27936 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27939 2005-07-16 Wim Taymans <wim@fluendo.com>
27941 * check/gst/gstbin.c: (GST_START_TEST):
27942 Make elements silent as the deep_notify refs the
27943 parent, which might make the test fail.
27945 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27946 Don't hold the lock for too long.
27948 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27950 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27951 Don't unref the caps we passed to gst_caps_make_writable() after
27952 passing them. gst_caps_make_writable() will do that for us.
27954 2005-07-15 Andy Wingo <wingo@pobox.com>
27956 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27959 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27960 own marshalling function for the handoff signal. Properly type the
27961 buffer as a buffer. Fixes some warnings. Should do a more general
27963 (gst_identity_class_init): Plug into the right marshaller.
27965 2005-07-15 Wim Taymans <wim@fluendo.com>
27967 * docs/design/part-TODO.txt:
27968 * docs/design/part-clocks.txt:
27969 * docs/design/part-element-sink.txt:
27970 * docs/design/part-events.txt:
27971 * docs/design/part-gstpipeline.txt:
27972 Updated docs, mostly DISCONT related.
27974 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27976 * docs/pwg/building-pads.xml:
27977 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27979 2005-07-15 Andy Wingo <wingo@pobox.com>
27981 * tools/gst-typefind.c: Update, add copyright block.
27983 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27984 Normalize and truncate caps before fixation.
27987 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27988 discards all but the first structure from its argument.
27990 2005-07-15 Wim Taymans <wim@fluendo.com>
27992 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27993 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27994 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27995 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27996 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27997 (gst_base_transform_chain), (gst_base_transform_change_state),
27998 (gst_base_transform_set_passthrough),
27999 (gst_base_transform_is_passthrough):
28000 * gst/base/gstbasetransform.h:
28001 Make passthrough work using the bufferpools.
28002 Changed API a bit, subclasses have to write into a buffer
28003 provided by the base class.
28004 More debug info in nego functions.
28006 * gst/elements/gstidentity.c: (gst_identity_init),
28007 (gst_identity_transform):
28008 Port to new base class.
28010 2005-07-15 Wim Taymans <wim@fluendo.com>
28012 * gst/gstmessage.c: (gst_message_new_state_changed):
28013 * tools/gst-launch.c: (event_loop), (main):
28014 Totally dump messages in -launch with the -m option.
28015 Fix message name for State messages,
28017 2005-07-14 Wim Taymans <wim@fluendo.com>
28019 * gst/base/gstbasesrc.c: (gst_base_src_loop):
28020 Post error messages on errors.
28022 2005-07-14 Wim Taymans <wim@fluendo.com>
28024 * gst/gstcaps.c: (gst_caps_do_simplify):
28028 Define error for stream stopped.
28030 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28031 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28032 Do proper return values.
28034 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28035 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28036 (gst_pad_get_range):
28037 Better return values.
28040 Reorganise return values, add macro to check for fatal errors.
28042 * gst/gstqueue.c: (gst_queue_chain):
28043 Return proper GstFlowReturn values,
28045 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
28047 * docs/gst/gstreamer-sections.txt:
28048 * docs/gst/gstreamer.types:
28049 * docs/gst/tmpl/gst.sgml:
28050 * docs/gst/tmpl/gstbasesink.sgml:
28051 * docs/gst/tmpl/gstbasesrc.sgml:
28052 * docs/gst/tmpl/gstbasetransform.sgml:
28053 * docs/gst/tmpl/gstbin.sgml:
28054 * docs/gst/tmpl/gstbuffer.sgml:
28055 * docs/gst/tmpl/gstcaps.sgml:
28056 * docs/gst/tmpl/gstclock.sgml:
28057 * docs/gst/tmpl/gstcompat.sgml:
28058 * docs/gst/tmpl/gstconfig.sgml:
28059 * docs/gst/tmpl/gstelement.sgml:
28060 * docs/gst/tmpl/gstelementdetails.sgml:
28061 * docs/gst/tmpl/gstelementfactory.sgml:
28062 * docs/gst/tmpl/gstenumtypes.sgml:
28063 * docs/gst/tmpl/gsterror.sgml:
28064 * docs/gst/tmpl/gstevent.sgml:
28065 * docs/gst/tmpl/gstfakesink.sgml:
28066 * docs/gst/tmpl/gstfakesrc.sgml:
28067 * docs/gst/tmpl/gstfilesink.sgml:
28068 * docs/gst/tmpl/gstfilesrc.sgml:
28069 * docs/gst/tmpl/gstfilter.sgml:
28070 * docs/gst/tmpl/gstformat.sgml:
28071 * docs/gst/tmpl/gstghostpad.sgml:
28072 * docs/gst/tmpl/gstimplementsinterface.sgml:
28073 * docs/gst/tmpl/gstindex.sgml:
28074 * docs/gst/tmpl/gstindexfactory.sgml:
28075 * docs/gst/tmpl/gstinfo.sgml:
28076 * docs/gst/tmpl/gstiterator.sgml:
28077 * docs/gst/tmpl/gstmacros.sgml:
28078 * docs/gst/tmpl/gstmemchunk.sgml:
28079 * docs/gst/tmpl/gstminiobject.sgml:
28080 * docs/gst/tmpl/gstobject.sgml:
28081 * docs/gst/tmpl/gstpad.sgml:
28082 * docs/gst/tmpl/gstpadtemplate.sgml:
28083 * docs/gst/tmpl/gstparse.sgml:
28084 * docs/gst/tmpl/gstpipeline.sgml:
28085 * docs/gst/tmpl/gstplugin.sgml:
28086 * docs/gst/tmpl/gstpluginfeature.sgml:
28087 * docs/gst/tmpl/gstquery.sgml:
28088 * docs/gst/tmpl/gstqueue.sgml:
28089 * docs/gst/tmpl/gstregistry.sgml:
28090 * docs/gst/tmpl/gstregistrypool.sgml:
28091 * docs/gst/tmpl/gstscheduler.sgml:
28092 * docs/gst/tmpl/gstschedulerfactory.sgml:
28093 * docs/gst/tmpl/gststructure.sgml:
28094 * docs/gst/tmpl/gstsystemclock.sgml:
28095 * docs/gst/tmpl/gsttaglist.sgml:
28096 * docs/gst/tmpl/gsttagsetter.sgml:
28097 * docs/gst/tmpl/gsttrace.sgml:
28098 * docs/gst/tmpl/gsttrashstack.sgml:
28099 * docs/gst/tmpl/gsttypefind.sgml:
28100 * docs/gst/tmpl/gsttypefindfactory.sgml:
28101 * docs/gst/tmpl/gsttypes.sgml:
28102 * docs/gst/tmpl/gsturihandler.sgml:
28103 * docs/gst/tmpl/gsturitype.sgml:
28104 * docs/gst/tmpl/gstutils.sgml:
28105 * docs/gst/tmpl/gstvalue.sgml:
28106 * docs/gst/tmpl/gstversion.sgml:
28107 * docs/gst/tmpl/gstxml.sgml:
28108 * docs/libs/tmpl/gstcontrol.sgml:
28109 * docs/libs/tmpl/gstdataprotocol.sgml:
28110 * docs/libs/tmpl/gstdparam.sgml:
28111 * docs/libs/tmpl/gstdplinint.sgml:
28112 * docs/libs/tmpl/gstdpman.sgml:
28113 * docs/libs/tmpl/gstdpsmooth.sgml:
28114 * docs/libs/tmpl/gstgetbits.sgml:
28115 * docs/libs/tmpl/gstunitconvert.sgml:
28116 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28117 (gst_push_src_base_init), (gst_push_src_class_init),
28118 (gst_push_src_init), (gst_push_src_create):
28119 * gst/base/gstpushsrc.h:
28120 * gst/elements/gstelements.c:
28121 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28122 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28123 (gst_fake_sink_init), (gst_fake_sink_set_property),
28124 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28125 (gst_fake_sink_event), (gst_fake_sink_preroll),
28126 (gst_fake_sink_render), (gst_fake_sink_change_state):
28127 * gst/elements/gstfakesink.h:
28128 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28129 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28130 (gst_fake_src_base_init), (gst_fake_src_class_init),
28131 (gst_fake_src_init), (gst_fake_src_event_handler),
28132 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28133 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28134 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28135 (gst_fake_src_create_buffer), (gst_fake_src_create),
28136 (gst_fake_src_start), (gst_fake_src_stop):
28137 * gst/elements/gstfakesrc.h:
28138 * gst/elements/gstfilesink.c: (_do_init),
28139 (gst_file_sink_base_init), (gst_file_sink_class_init),
28140 (gst_file_sink_init), (gst_file_sink_dispose),
28141 (gst_file_sink_set_location), (gst_file_sink_set_property),
28142 (gst_file_sink_get_property), (gst_file_sink_open_file),
28143 (gst_file_sink_close_file), (gst_file_sink_query),
28144 (gst_file_sink_event), (gst_file_sink_render),
28145 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28146 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28147 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28148 * gst/elements/gstfilesink.h:
28149 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28150 (gst_file_src_class_init), (gst_file_src_init),
28151 (gst_file_src_finalize), (gst_file_src_set_location),
28152 (gst_file_src_set_property), (gst_file_src_get_property),
28153 (gst_file_src_map_region), (gst_file_src_map_small_region),
28154 (gst_file_src_create_mmap), (gst_file_src_create_read),
28155 (gst_file_src_create), (gst_file_src_is_seekable),
28156 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28157 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28158 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28159 (gst_file_src_uri_handler_init):
28160 * gst/elements/gstfilesrc.h:
28161 more autistic cleanliness in functions/names/defines
28163 2005-07-13 Andy Wingo <wingo@pobox.com>
28165 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28166 source couldn't negotiate.
28168 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28172 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28173 function. I am channeling Hades. Put your boots on suckers!!!
28175 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28177 * testsuite/caps/Makefile.am:
28178 * testsuite/caps/value_compare.c:
28179 * testsuite/caps/value_intersect.c:
28180 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28181 move two testsuite apps over to the check dir
28183 2005-07-12 Wim Taymans <wim@fluendo.com>
28185 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28186 Added more debug info in the negotiate process.
28188 * gst/gstmessage.h:
28189 Prepare for segment playback.
28191 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28197 * tools/gst-launch.c: (main):
28198 NULL pipeline on errors.
28200 2005-07-12 Andy Wingo <wingo@pobox.com>
28202 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28203 not it comes from a malloc region. Make sure our copy gets freed.
28205 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28207 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28208 * check/gst/gstmessage.c: (GST_START_TEST):
28209 * check/gst/gststructure.c: (GST_START_TEST),
28210 (gst_structure_suite), (main):
28212 * gst/gstelement.c: (gst_element_message_full):
28213 clean up GError and debug string now that they get copied
28214 * gst/gstmessage.c: (gst_message_new_error),
28215 (gst_message_new_warning), (gst_message_parse_error),
28216 (gst_message_parse_warning):
28217 use GST_TYPE_G_ERROR for structure_new, and take copies of
28218 arguments, so that we don't mess up refcounting
28220 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28222 * check/Makefile.am:
28223 add per-test valgrind targets
28224 * check/gst-libs/gdp.c: (GST_START_TEST),
28225 (gst_data_protocol_suite), (main):
28228 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28230 * check/Makefile.am:
28231 instate more valgrindable tests
28232 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28233 (GST_START_TEST), (fakesrc_suite):
28234 * check/gst/gstpad.c: (GST_START_TEST):
28235 * check/gst/gststructure.c: (GST_START_TEST):
28237 * docs/gst/tmpl/gstminiobject.sgml:
28238 * gst/gstpad.c: (gst_pad_finalize):
28239 fix the static mutex leak
28241 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28243 * check/Makefile.am:
28244 add two more tests for valgrinding
28245 * check/gst/gstvalue.c: (GST_START_TEST):
28246 test refcount of deserialized buffer, found a leak
28247 * docs/gst/gstreamer-docs.sgml:
28248 * docs/gst/gstreamer-sections.txt:
28249 * docs/gst/gstreamer.types:
28250 * docs/gst/tmpl/gstminiobject.sgml:
28251 add miniobject to docs
28252 * gst/gstminiobject.c:
28254 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28255 (gst_string_unwrap):
28256 fix a hard-to-find invalid write for one of the tests
28257 fix a leak for deserialized buffers
28259 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28261 * docs/pwg/advanced-events.xml:
28262 * docs/pwg/advanced-request.xml:
28263 * docs/pwg/advanced-scheduling.xml:
28264 * docs/pwg/appendix-porting.xml:
28265 * docs/pwg/building-boiler.xml:
28266 * docs/pwg/intro-preface.xml:
28267 * docs/pwg/other-ntoone.xml:
28268 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28269 of example code and explanation for pad activation, loop() and
28270 getrange() functions and a bit more. Remove old comments pointing
28272 * examples/pwg/Makefile.am:
28273 Add loop/getrange examples.
28275 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28278 check for valgrind binary + some fixes
28280 valgrind suppressions for the tests
28281 * check/Makefile.am:
28282 add a valgrind: target that valgrinds the unit tests
28283 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28284 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28285 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28286 * check/gst/gstghostpad.c:
28288 * check/gst/gstdata.c:
28290 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28291 (thread_unref), (gst_mini_object_suite), (main):
28293 * gst/gst.c: (gst_deinit):
28295 add a method to clean up.
28296 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28297 (gst_system_clock_obtain):
28298 allow for disposing the system clock.
28299 * tools/gst-launch.c: (main):
28302 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28304 * docs/gst/tmpl/gstbasesrc.sgml:
28305 * docs/gst/tmpl/gstfakesrc.sgml:
28306 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28307 (gst_base_src_init), (gst_base_src_set_property),
28308 (gst_base_src_get_property), (gst_base_src_get_range),
28309 (gst_base_src_start):
28310 * gst/base/gstbasesrc.h:
28311 add num-buffers property
28312 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28313 (gst_fakesrc_init), (gst_fakesrc_set_property),
28314 (gst_fakesrc_get_property), (gst_fakesrc_create),
28315 (gst_fakesrc_start):
28316 remove num-buffers property
28318 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28320 * docs/gst/gstreamer-sections.txt:
28321 * docs/gst/tmpl/gstbasesink.sgml:
28322 * docs/gst/tmpl/gstbasesrc.sgml:
28323 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28324 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28325 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28326 (gst_base_sink_set_property), (gst_base_sink_get_property),
28327 (gst_base_sink_handle_object), (gst_base_sink_event),
28328 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28329 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28330 (gst_base_sink_loop), (gst_base_sink_deactivate),
28331 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28332 (gst_base_sink_change_state):
28333 * gst/base/gstbasesink.h:
28334 * gst/base/gstbasesrc.h:
28335 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28336 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28337 (gst_filesink_init):
28338 more macro splitting
28340 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28342 * gst/gstelement.c: (gst_element_get_bus):
28344 * tools/gst-launch.c: (check_intr), (event_loop):
28347 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28349 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28352 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28354 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28355 (gst_base_src_finalize):
28356 add finalize method and clean up properly
28357 * gst/gstpipeline.c: (gst_pipeline_dispose):
28360 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28362 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28364 add more things to check
28365 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28366 * gst/gstelement.c:
28369 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28371 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28372 (GST_START_TEST), (fakesrc_suite):
28373 * check/gst-libs/gdp.c: (GST_START_TEST):
28374 * check/gst/gst.c: (GST_START_TEST):
28375 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28376 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28377 * check/gst/gstbus.c: (GST_START_TEST):
28378 * check/gst/gstcaps.c: (GST_START_TEST):
28379 * check/gst/gstdata.c: (GST_START_TEST):
28380 * check/gst/gstelement.c: (GST_START_TEST):
28381 * check/gst/gstghostpad.c: (GST_START_TEST):
28382 * check/gst/gstiterator.c: (GST_START_TEST):
28383 * check/gst/gstmessage.c: (GST_START_TEST):
28384 * check/gst/gstobject.c: (GST_START_TEST):
28385 * check/gst/gstpad.c: (GST_START_TEST):
28386 * check/gst/gststructure.c: (GST_START_TEST):
28387 * check/gst/gstsystemclock.c: (GST_START_TEST),
28388 (gst_systemclock_suite):
28389 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28390 * check/gst/gstvalue.c: (GST_START_TEST):
28391 * check/pipelines/cleanup.c: (GST_START_TEST):
28392 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28393 * check/states/sinks.c: (GST_START_TEST):
28394 * check/gstcheck.c: (gst_check_init):
28395 * check/gstcheck.h:
28396 add debugging category
28397 use GST_START_TEST now, so we add a debug line
28399 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28401 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28402 add test for state change message on a bin
28403 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28405 * gst/gstbin.c: (gst_bin_init):
28406 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28407 * gst/gstelement.c: (gst_element_post_message),
28408 (gst_element_set_state):
28409 * gst/gstelementfactory.c: (gst_element_factory_create):
28410 * gst/gstmessage.c: (gst_message_new):
28411 * gst/gstscheduler.c:
28412 various debugging additions and cleanups
28414 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28416 * check/Makefile.am:
28417 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28419 adding tests for elements
28420 * gst/gstelement.c: (gst_element_dispose):
28422 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28424 * gst/registries/gstlibxmlregistry.c: (load_feature):
28425 plug more leaks. A simple gst_init() now is leakfree, yay.
28427 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28429 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28430 (gst_xml_registry_load):
28431 plug another memleak
28433 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28436 use GST_SET_ERROR_CFLAGS
28437 * docs/faq/cvs.xml:
28438 change to ERROR_CFLAGS
28440 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28443 make GST_ERROR_CFLAGS overridable and re-enable Werror
28444 * docs/faq/cvs.xml:
28445 add a note about error CFLAGS
28446 * docs/gst/tmpl/gstfakesrc.sgml:
28447 * gst/elements/gstfakesrc.c:
28448 comment out some unused code
28449 * gst/gst.c: (split_and_iterate):
28450 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28454 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28456 * common/Makefile.am:
28457 * common/gtk-doc.mak:
28458 * docs/gst/Makefile.am:
28459 factor out gtk-doc.mak
28461 2005-07-07 Wim Taymans <wim@fluendo.com>
28463 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28464 (gst_thread_scheduler_dispose):
28465 Unlock the STREAM_LOCK completely.
28467 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28469 * check/Makefile.am:
28470 * check/elements/.cvsignore:
28471 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28472 (START_TEST), (fakesrc_suite), (main):
28473 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28474 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28475 (gst_fakesrc_create), (gst_fakesrc_start):
28476 * gst/elements/gstfakesrc.h:
28477 adding a first element test
28479 2005-07-07 Andy Wingo <wingo@pobox.com>
28481 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28484 2005-07-07 Wim Taymans <wim@fluendo.com>
28490 2005-07-07 Wim Taymans <wim@fluendo.com>
28492 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28493 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28494 Allow subclasses to implement their own negotiation.
28496 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28498 * docs/design/part-gstbin.txt:
28499 * docs/design/part-gstpipeline.txt:
28500 Update design notes to reflect the movement of
28501 responsibility for bus handling from GstPipeline to
28504 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28507 Remove unnecessary queue2/3/4 examples.
28509 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28511 * examples/Makefile.am:
28512 * examples/helloworld/helloworld.c: (event_loop), (main):
28513 * examples/queue/queue.c: (event_loop), (main):
28514 * examples/queue2/queue2.c: (main):
28515 Update a couple of the examples to work again.
28517 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28518 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28519 Spelling corrections and extra debug.
28521 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28522 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28523 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28525 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28526 (gst_pipeline_change_state):
28527 * gst/gstpipeline.h:
28528 Move the bus handler for children to the GstBin, and create a
28529 separate bus for receiving messages from children to the one the
28530 bus sends 'upwards' on.
28532 2005-07-06 Wim Taymans <wim@fluendo.com>
28535 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28536 (gst_base_sink_handle_object), (gst_base_sink_loop),
28537 (gst_base_sink_change_state):
28538 * gst/base/gstbasesink.h:
28539 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28540 (gst_base_src_init), (gst_base_src_setcaps),
28541 (gst_base_src_getcaps), (gst_base_src_loop),
28542 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28543 (gst_base_src_start), (gst_base_src_change_state):
28544 * gst/base/gstbasesrc.h:
28545 Make basesrc negotiate.
28546 Handle the case where preroll fails in basesink.
28549 2005-07-06 Wim Taymans <wim@fluendo.com>
28551 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28552 Implement the fixate function.
28553 Clean up acceptcaps.
28555 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28557 * docs/pwg/building-filterfactory.xml:
28558 * docs/pwg/pwg.xml:
28559 Remove never-written filter-factory chapter; I'll add the various
28560 base classes to part 4 ("other element types") later on.
28562 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28564 * docs/pwg/advanced-negotiation.xml:
28565 * docs/pwg/building-boiler.xml:
28566 * docs/pwg/building-pads.xml:
28567 * docs/pwg/pwg.xml:
28568 * examples/pwg/Makefile.am:
28569 Add a chapter on caps negotiation, simplify the original code
28570 samples a bit w.r.t. caps negotiation, add link to the advanced
28571 section. Add a bunch of examples showing different use cases of
28572 different types of caps negotiation. Upstream renegotiation isn't
28573 fully documented yet since nobody knows how that works.
28575 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28577 * check/gst/gstpad.c:
28578 * check/gstcheck.c:
28579 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28580 if pad has no parent, return NULL as list of internal links
28582 2005-07-05 Andy Wingo <wingo@pobox.com>
28584 * gst/elements/gstfilesrc.c:
28585 * gst/elements/gstfakesrc.c:
28586 * gst/base/gstpushsrc.c:
28587 * gst/base/gstbasesrc.h:
28588 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28590 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28593 better report generation target (lcov needs a patch)
28595 2005-07-05 Andy Wingo <wingo@pobox.com>
28597 * gst/elements, testsuite: Null if we got it...
28599 2005-07-05 Wim Taymans <wim@fluendo.com>
28602 * libs/gst/dataprotocol/Makefile.am:
28603 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28604 * libs/gst/dataprotocol/dataprotocol.h:
28605 * pkgconfig/Makefile.am:
28606 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28607 * pkgconfig/gstreamer-dataprotocol.pc.in:
28608 Ported dataprotol to 0.9.
28609 Added pkgconfig files.
28611 2005-07-05 Andy Wingo <wingo@pobox.com>
28613 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28614 Default to returning TRUE for the case when tranform_caps returns
28615 a fixed caps, like for identity or volume.
28617 * check/gst/gstbus.c (pound_bus_with_messages):
28618 * check/gst/gstmessage.c (START_TEST):
28619 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28620 message API change.
28622 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28623 logic weaks here: always run transform_caps, trying passthrough
28624 operation only if the original caps intersects with the transform.
28626 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28627 source and sink caps.
28629 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28630 Intersect the peer caps with the pad template before going into
28632 (gst_base_transform_transform_caps): More debugging.
28634 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28637 2005-07-04 Edward Hervey <edward@fluendo.com>
28641 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28644 2005-07-04 Andy Wingo <wingo@pobox.com>
28646 * check/gst/gstpad.c: Only set explicit caps on pads.
28648 2005-07-01 Andy Wingo <wingo@pobox.com>
28650 * tests/network-clock.scm: Commentary update.
28652 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28653 Didn't really make sense, not implementable with basetransform,
28655 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28656 attempt at implementing the sync property, needs an unlock method.
28658 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28659 New func, by default returns the same caps (the identity
28661 (gst_base_transform_getcaps): Uses transform_caps to return
28662 something sensible.
28663 (gst_base_transform_setcaps): Complicated logic to get caps on
28664 both pads, even if they are different, and to call set_caps once
28665 for every time both pads get their caps set.
28666 (gst_base_transform_handle_buffer): Give the ref to the transform
28667 function. Allows in-place modification of the buffer.
28669 * gst/base/gstbasetransform.h (transform_caps): New class method.
28670 Given caps on one side, what can I do on the other.
28671 (set_caps): Take two caps, one for each side of the element.
28674 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28675 caps in place. This is safe because we can check the mutability of
28676 the caps, and a good idea because fixate functions are just called
28677 as a matter of last resort. (Not actually implemented.)
28678 (gst_pad_set_caps): If the caps we're setting is actually the same
28679 as the existing pad caps, just update the pointer without calling
28680 setcaps. Assert that caps is either NULL or fixed, as per the
28683 * gst/gstghostpad.c: Update for fixate changes.
28685 2005-07-02 Andy Wingo <wingo@pobox.com>
28688 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28689 two refcounts makes it immutable, which is enough. Doc more.
28691 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28693 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28694 Put the mini_object into GValue as a mini_object,
28695 not a gpointer, since that's how we declared
28698 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28700 * examples/pwg/Makefile.am:
28701 Fix buildbot again.
28703 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28705 * docs/pwg/building-testapp.xml:
28707 * examples/pwg/Makefile.am:
28710 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28713 * examples/Makefile.am:
28714 * examples/pwg/Makefile.am:
28715 * examples/pwg/extract.pl:
28716 Enable building the PWG examples.
28717 * docs/pwg/advanced-interfaces.xml:
28718 Add URI interface stub.
28719 * docs/pwg/advanced-types.xml:
28720 * docs/pwg/other-autoplugger.xml:
28721 * docs/pwg/appendix-porting.xml:
28722 * docs/pwg/pwg.xml:
28723 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28724 * docs/pwg/building-boiler.xml:
28725 * docs/pwg/building-chainfn.xml:
28726 * docs/pwg/building-pads.xml:
28727 * docs/pwg/building-props.xml:
28728 * docs/pwg/building-state.xml:
28729 * docs/pwg/building-testapp.xml:
28730 Update the building-*.xml parts for 0.9 changes. All examples
28731 code blocks compile in examples/pwg/*.
28733 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28735 * docs/manual/advanced-autoplugging.xml:
28736 * docs/manual/appendix-checklist.xml:
28737 * docs/manual/appendix-integration.xml:
28738 * docs/manual/highlevel-components.xml:
28739 Fix playbin/decodebin examples, update docs a bit, mention bus
28740 instead of signals in various places, mention kmplayer and
28741 kaffeine since they have a working GStreamer backend in the KDE
28744 2005-06-30 Wim Taymans <wim@fluendo.com>
28747 * docs/design/draft-ghostpads.txt:
28748 * docs/design/draft-push-pull.txt:
28749 * docs/design/draft-query.txt:
28750 * docs/design/part-TODO.txt:
28751 * docs/design/part-query.txt:
28752 Added CHANGES-0.9 doc, updated status of other docs.
28757 2005-06-30 Wim Taymans <wim@fluendo.com>
28759 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28760 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28761 (gst_base_sink_change_state):
28762 * gst/base/gstbasesink.h:
28763 Some tweaks, only EOS and a buffer complete a preroll.
28765 2005-06-30 Andy Wingo <wingo@pobox.com>
28767 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28768 activate_push down to the internal pad as well.
28770 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28772 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28774 * gst/gsttaginterface.c:
28775 Some documentation fixes (#307394 and #307397).
28777 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28779 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28781 * gst/gstvalue.c: (gst_value_intersect_list):
28782 Fix memleak (#309125).
28784 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28786 * docs/manual/advanced-dataaccess.xml:
28787 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28788 * docs/manual/basics-pads.xml:
28789 Add reference for filtered caps to above chapter.
28791 2005-06-30 Wim Taymans <wim@fluendo.com>
28793 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28794 (gst_bin_change_state):
28796 Lame attempt at making the state change function a bit
28799 2005-06-30 Wim Taymans <wim@fluendo.com>
28801 * docs/design/part-clocks.txt:
28802 * docs/design/part-element-sink.txt:
28803 * docs/design/part-events.txt:
28804 * docs/design/part-preroll.txt:
28805 * docs/design/part-states.txt:
28806 Some more tweeks and additions to the docs.
28808 2005-06-30 Wim Taymans <wim@fluendo.com>
28810 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28811 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28812 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28813 (gst_pad_check_pull_range), (gst_pad_get_range),
28814 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28816 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28817 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28818 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28819 (gst_pad_remove_buffer_probe):
28820 Removed atomic operations, use existing LOCK.
28821 Move exception handling out of main code path.
28823 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28825 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28826 (silly_return_true_function), (gst_pad_class_init),
28827 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28828 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28829 (gst_pad_send_event):
28830 Fix accumulator, add default value by using _emitv() instead
28831 of _emit() for signal emission.
28833 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28835 * docs/manual/advanced-dataaccess.xml:
28836 * examples/manual/Makefile.am:
28838 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28841 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28843 * gst/elements/gstfilesink.c: (gst_filesink_render):
28844 Simplify code so that we don't have to handle short
28845 writes and return GST_FLOW_ERROR if an error occured.
28847 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28849 * docs/gst/gstreamer-docs.sgml:
28850 Remove probes more.
28852 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28854 * docs/gst/gstreamer-sections.txt:
28855 * docs/gst/tmpl/gstpad.sgml:
28856 * docs/gst/tmpl/gstprobe.sgml:
28858 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28859 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28860 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28861 (gst_pad_push_event), (gst_pad_send_event):
28863 * gst/gstutils.c: (gst_pad_add_data_probe),
28864 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28865 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28866 (gst_pad_remove_buffer_probe):
28868 Remove old probes, add new g-signal-based probes and some utility
28871 2005-06-29 Edward Hervey <edward@fluendo.com>
28873 * gst/gstelementfactory.c:
28876 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28877 the definition to the header file.
28879 2005-06-29 Andy Wingo <wingo@pobox.com>
28881 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28882 plugins from the source directory.
28884 2005-06-29 Wim Taymans <wim@fluendo.com>
28886 * docs/gst/tmpl/gstbuffer.sgml:
28887 * docs/gst/tmpl/gstclock.sgml:
28888 Some fixings for blantently wrong text.
28890 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28892 * check/Makefile.am:
28893 * gst/gst.c: (add_path_func), (init_pre):
28894 * gst/gstregistry.c: (gst_registry_add_path):
28895 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28896 only scan the GST_PLUGIN_PATH locations, and not add
28899 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28901 * docs/gst/gstreamer-sections.txt:
28902 * docs/gst/tmpl/gstbasesrc.sgml:
28903 * gst/gstelement.c:
28904 * gst/gstelement.h:
28909 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28911 * docs/manual/advanced-autoplugging.xml:
28912 Fix autoplugging example.
28914 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28916 * docs/manual/advanced-autoplugging.xml:
28917 * docs/manual/mime-world.fig:
28918 Try to get autoplugging working, fix type detection. Fix text
28919 in hello-world image.
28921 2005-06-29 Wim Taymans <wim@fluendo.com>
28923 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28924 (gst_base_sink_change_state):
28928 map SIGNAL and BROADCAST to the right function.
28931 Remove redundant braces.
28933 * gst/gstpad.c: (gst_pad_set_caps):
28934 Don't call setcaps function when reseting caps to NULL.
28936 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28937 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28938 (gst_system_clock_id_unschedule):
28939 Use BROADCAST as this is what we do.
28941 2005-06-29 Wim Taymans <wim@fluendo.com>
28943 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28944 We are actually prerolling before commiting the state
28947 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28949 * docs/manual/advanced-clocks.xml:
28950 * docs/manual/advanced-interfaces.xml:
28951 * docs/manual/advanced-metadata.xml:
28952 * docs/manual/advanced-position.xml:
28953 * docs/manual/advanced-schedulers.xml:
28954 * docs/manual/advanced-threads.xml:
28955 * docs/manual/appendix-porting.xml:
28956 * docs/manual/basics-bins.xml:
28957 * docs/manual/basics-bus.xml:
28958 * docs/manual/basics-elements.xml:
28959 * docs/manual/basics-helloworld.xml:
28960 * docs/manual/basics-pads.xml:
28961 * docs/manual/highlevel-components.xml:
28962 * docs/manual/manual.xml:
28963 * docs/manual/thread.fig:
28964 Update (until threads/scheduling) Application Development Manual;
28965 remove GstThread, add GstBus, add simple porting checklist, add
28966 documentation for tag writing, clocks, make all examples until this
28967 part compile and run.
28968 * examples/manual/Makefile.am:
28969 Update from changes to Application Development Manual; add bus
28970 example, remove thread example.
28972 2005-06-28 Wim Taymans <wim@fluendo.com>
28974 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28975 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28976 (gst_bus_source_dispatch):
28977 Add debugging messages.
28978 Make internal methods static.
28979 Handle the case where the bus is flushed in the handler.
28981 * gst/gstelement.c: (gst_element_get_bus):
28982 Fix refcount in _get_bus();
28984 * gst/gstpipeline.c: (gst_pipeline_change_state),
28985 (gst_pipeline_get_clock_func):
28986 Clock refcounting fixes.
28987 Handle the case where preroll timed out more gracefully.
28989 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28990 Clean up the internal thread in dispose. This is needed
28991 for subclasses that actually get disposed.
28993 * gst/schedulers/threadscheduler.c:
28994 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28995 (gst_thread_scheduler_dispose):
28996 Free thread pool in dispose.
28998 2005-06-28 Andy Wingo <wingo@pobox.com>
29000 * tests/network-clock-utils.scm (debug, print-event): New utils.
29002 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29003 (*packet-loss*): Unified loss probability.
29004 (network-time): Report out-of-band events.
29006 * tests/plot-data: Add support for out-of-band events. Hack it
29007 into this script instead of passing it down the pipe; should fix
29010 2005-06-28 Wim Taymans <wim@fluendo.com>
29012 * docs/gst/gstreamer.types:
29013 * docs/gst/tmpl/gstbasesrc.sgml:
29014 * docs/gst/tmpl/gstpad.sgml:
29017 2005-06-28 Wim Taymans <wim@fluendo.com>
29019 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29020 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29021 (gst_proxy_pad_do_fixatecaps):
29022 Correctly proxy the check_pull_range function.
29024 2005-06-28 Andy Wingo <wingo@pobox.com>
29026 * tests/network-clock.scm: Removed need for slib.
29028 2005-06-28 Wim Taymans <wim@fluendo.com>
29030 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29031 (gst_basesink_preroll_queue_flush):
29032 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29033 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29034 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29035 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29036 (gst_proxy_pad_set_property):
29039 * gst/gstqueue.c: (gst_queue_init):
29040 The deprecated pad loop function is removed now.
29042 2005-06-28 Andy Wingo <wingo@pobox.com>
29044 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29045 New parameters, simulate network packet loss.
29047 * tests/network-clock-utils.scm: Initialize the RNG.
29049 2005-06-28 Wim Taymans <wim@fluendo.com>
29051 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29052 (gst_basesink_event), (gst_basesink_deactivate):
29053 Flushing the preroll queue always needs to unlock the waiters.
29055 2005-06-28 Edward Hervey <edward@fluendo.com>
29057 * gst/gstpipeline.c: (gst_pipeline_send_event):
29058 Wheen a seek was successful on a pipeline, set the stream_time to the
29059 seek offset in order to have a synchronized stream_time.
29061 2005-06-28 Wim Taymans <wim@fluendo.com>
29063 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29064 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29065 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29066 (gst_proxy_pad_do_fixatecaps):
29067 Call wrapper function instead of just calling the function
29068 pointers. This takes care of any locking and whatmore.
29070 2005-06-28 Wim Taymans <wim@fluendo.com>
29072 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29073 (gst_pad_pull_range):
29075 CONNECTED -> LINKED.
29077 2005-06-28 Andy Wingo <wingo@pobox.com>
29079 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29080 source-munging commit!!!
29082 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29083 (gst_object_sink): Take gpointer arguments, not GstObject --
29084 avoids casts. Like GLib.
29086 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29089 2005-06-27 Andy Wingo <wingo@pobox.com>
29091 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29094 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29095 returns a sorted copy of the trace list.
29096 (gst_alloc_trace_print_live): New API, only prints traces with
29097 live objects. Sort the list.
29098 (gst_alloc_trace_print_all): Sort the list.
29099 (gst_alloc_trace_print): Align columns.
29101 * gst/elements/gstttypefindelement.c:
29102 * gst/elements/gsttee.c:
29103 * gst/base/gstbasesrc.c:
29104 * gst/base/gstbasesink.c:
29105 * gst/base/gstbasetransform.c:
29106 * gst/gstqueue.c: Adapt for pad activation changes.
29108 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29110 (gst_pipeline_dispose): Drop ref on sched.
29112 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29113 (gst_pad_activate_default): Push mode by default.
29114 (pre_activate_switch, post_activate_switch): New stubs, things to
29115 do before and after switching activation modes on pads.
29116 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29117 the pad's activate function to choose which mode to activate.
29118 Shortcut on deactivation and call the right function directly.
29119 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29121 (gst_pad_activate_push): New API, same for push mode.
29122 (gst_pad_set_activate_function)
29123 (gst_pad_set_activatepull_function)
29124 (gst_pad_set_activatepush_function): Setters for new API.
29126 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29127 Trace all miniobjects.
29128 (gst_mini_object_make_writable): Unref the arg if we copy, like
29129 gst_caps_make_writable.
29131 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29133 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29134 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29135 Adapt for new pad API.
29137 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29139 * gst/gstelement.h:
29140 * gst/gstelement.c (gst_element_iterate_src_pads)
29141 (gst_element_iterate_sink_pads): New API functions.
29143 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29144 should fold into gstiterator.c in some form.
29145 (gst_element_pads_activate): Simplified via use of fold and
29146 delegation of decisions to gstpad->activate.
29148 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29151 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29152 class once in init, like gstmessage. Didn't run into this issue
29153 but it seems correct. Don't initialize a trace, gstminiobject does
29156 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29157 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29159 (assert_live_count): New util function, uses alloc traces to check
29162 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29163 To be modified when unlink drops the internal pad.
29165 2005-06-27 Wim Taymans <wim@fluendo.com>
29167 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29168 (gst_bin_change_state):
29169 Cleanup the get_state() function a little, make sure it
29170 iterates the same set of elements.
29171 Added stub iterate_state_order().
29173 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29175 * docs/gst/gstreamer-docs.sgml:
29176 * docs/gst/gstreamer-sections.txt:
29177 * docs/gst/gstreamer.types:
29178 * docs/gst/tmpl/gstbasesink.sgml:
29179 * docs/gst/tmpl/gstbasesrc.sgml:
29180 * docs/gst/tmpl/gstbasetransform.sgml:
29181 * docs/gst/tmpl/gstelement.sgml:
29182 * docs/gst/tmpl/gstiterator.sgml:
29183 * gst/base/gstbasesrc.c:
29184 * gst/base/gstbasesrc.h:
29185 * gst/base/gstbasetransform.h:
29186 * gst/gstelement.c:
29187 * gst/gstiterator.h:
29188 adding basetransform and iterator docs
29190 2005-06-27 Andy Wingo <wingo@pobox.com>
29192 * docs/design/part-activation.txt: Notes on how activation should
29193 work -- not quite implemented yet.
29195 2005-06-25 Wim Taymans <wim@fluendo.com>
29197 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29198 At least get the chain function correct, needs more
29201 2005-06-25 Wim Taymans <wim@fluendo.com>
29203 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29204 (gst_basesink_handle_object), (gst_basesink_event),
29205 (gst_basesink_do_sync), (gst_basesink_handle_event),
29206 (gst_basesink_change_state):
29208 Right, two problems here: ghostpads don't take locks and
29209 glib _rec_mutex_lock_full() with depth==0 still locks.
29210 Catch illegal locking and g_warn them.
29212 2005-06-25 Wim Taymans <wim@fluendo.com>
29214 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29215 Have to check for completion now...
29217 2005-06-25 Wim Taymans <wim@fluendo.com>
29219 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29220 (gst_basesink_handle_object), (gst_basesink_event),
29221 (gst_basesink_do_sync), (gst_basesink_handle_event),
29222 (gst_basesink_change_state):
29224 Unlock STREAM_LOCK whatever the recursion was.
29226 2005-06-25 Wim Taymans <wim@fluendo.com>
29228 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29229 (gst_basesink_preroll_queue_empty),
29230 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29231 (gst_basesink_event), (gst_basesink_do_sync),
29232 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29233 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29234 (gst_basesink_change_state):
29235 Reworked the base sink, handle event and buffer serialisation
29236 correctly and removed possible deadlock.
29237 Handle EOS correctly.
29239 2005-06-25 Wim Taymans <wim@fluendo.com>
29241 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29242 (gst_pipeline_change_state):
29243 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29244 Allow elements to post EOS in the state change function.
29245 Fix up -launch, make it exit the poll loop when the
29246 pipeline actually changed state.
29247 Fix up warning parsing in -launch.
29249 2005-06-25 Wim Taymans <wim@fluendo.com>
29251 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29252 (gst_tee_sink_activate):
29253 Core takes STREAM_LOCK for us now.
29255 2005-06-25 Wim Taymans <wim@fluendo.com>
29257 * gst/gstelement.c: (gst_element_get_state_func),
29258 (gst_element_set_state):
29259 * gst/gstelement.h:
29260 * gst/gstmessage.c: (gst_message_parse_error),
29261 (gst_message_parse_warning):
29262 Keep track of current target state while performing a state
29263 change so that subclasses can do something interesting.
29264 Fix parsing of warning/error messages when GError is NULL.
29266 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29268 * docs/gst/Makefile.am:
29269 * docs/gst/gstreamer-docs.sgml:
29270 * docs/gst/gstreamer-sections.txt:
29271 * docs/gst/gstreamer.types:
29272 * docs/gst/tmpl/gstbasesink.sgml:
29273 * docs/gst/tmpl/gstbasesrc.sgml:
29274 * docs/gst/tmpl/gstbin.sgml:
29275 * docs/gst/tmpl/gstcompat.sgml:
29276 * docs/gst/tmpl/gstfakesink.sgml:
29277 * docs/gst/tmpl/gstfakesrc.sgml:
29278 * docs/gst/tmpl/gstfilesink.sgml:
29279 * docs/gst/tmpl/gstfilesrc.sgml:
29280 * docs/gst/tmpl/gstindex.sgml:
29281 * docs/manual/appendix-quotes.xml:
29282 * gst/base/gstbasesrc.h:
29283 * gst/elements/gstfakesrc.h:
29284 * gst/gstmessage.h:
29285 start pulling in base classes and elements in our docs
29287 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29289 * docs/gst/Makefile.am:
29290 * docs/libs/Makefile.am:
29291 fixed make distcheck with gtk-doc 1.3
29293 2005-06-23 Wim Taymans <wim@fluendo.com>
29295 * gst/gstelement.c: (gst_element_get_state_func),
29296 (gst_element_set_state), (gst_element_change_state):
29297 When the state did not change, also report NO_PREROLL
29300 2005-06-23 Wim Taymans <wim@fluendo.com>
29302 * gst/gstpad.c: (gst_pad_event_default):
29303 * gst/gstqueue.c: (gst_queue_loop):
29304 No unsafe task pausing please.
29306 2005-06-23 Wim Taymans <wim@fluendo.com>
29308 * gst/schedulers/threadscheduler.c:
29309 (gst_thread_scheduler_task_start),
29310 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29311 Ref the task before pushing it on the threadpool. This
29312 makes sure that we have a ref when the threadfunction is
29315 2005-06-23 Andy Wingo <wingo@pobox.com>
29317 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29318 offset is greater than the file's size.
29320 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29321 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29322 * gst/gstobject.c (gst_object_class_init): Make the class lock
29323 recursive. Wim won't let me drop deep_notify. Decodebin works
29324 again, whoopdy doo.
29326 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29327 internal pad, and hacks accordingly. Doesn't do it on the target
29328 pad because we change its caps. Probably catches all cases of
29330 (gst_ghost_pad_set_property): Connect to notify::caps as
29333 * tests/network-clock.scm (plot-simulation): Pipe data to the
29334 elite python skript.
29336 * tests/network-clock-utils.scm (define-parameter): New macro,
29337 defines a parameter that can be set via the command line.
29338 (set-parameter!, parse-parameter-arguments): Command line args
29341 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29344 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29346 * gst/elements/gsttypefindelement.c:
29347 (gst_type_find_element_handle_event):
29348 Don't restart typefinding on a discont.
29349 * gst/gstelement.c: (gst_element_set_state):
29350 Debug spelling fix.
29351 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29352 Allow changing mode of an active pad.
29353 Debug output fixes.
29354 * gst/registries/gstlibxmlregistry.c: (load_feature):
29355 Don't cast a static pad template to a normal pad template.
29357 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29359 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29360 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29361 remove gst_strtoll completely, since it didn't actually do
29362 anything more than what g_ascii_strtoull already does.
29363 check for range errors when deserializing
29364 do a cast for the unsigned cases; but further fixing needs
29365 a decision on what the interpretation of "(int)" and
29366 deserialization should be for values that fall outside the
29367 type's boundaries (ie, refuse, or interpret as casting)
29369 2005-06-23 Wim Taymans <wim@fluendo.com>
29371 * check/Makefile.am:
29372 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29373 * docs/design/part-live-source.txt:
29374 * docs/design/part-states.txt:
29375 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29376 (gst_basesrc_set_live), (gst_basesrc_is_live),
29377 (gst_basesrc_get_range), (gst_basesrc_activate),
29378 (gst_basesrc_change_state):
29379 * gst/base/gstbasesrc.h:
29380 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29381 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29382 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29383 * gst/gstelement.c: (gst_element_get_state_func),
29384 (gst_element_set_state):
29385 * gst/gstelement.h:
29387 * tools/gst-launch.c: (event_loop), (main):
29388 Added support for live sources and other elements that
29390 Updated design docs, added live-source design doc.
29391 Implemented live source functionality in basesrc
29392 Fix error condition in _bin_get_state()
29393 Implement live source handling in -launch.
29394 Added check for live sources.
29395 Fixed case in GstBin where elements were changed state
29399 2005-06-23 Andy Wingo <wingo@pobox.com>
29401 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29402 borken refcounting.
29404 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29405 gst_caps_replace takes care of this for us.
29407 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29408 gst_pad_set_caps on the target, not just its setcaps() function.
29410 * tests/network-clock.scm:
29411 * tests/network-clock-utils.scm: A network clock simulator.
29412 Something of an algorithmic testbed before doing something in C.
29414 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29416 * check/Makefile.am:
29417 * check/gst/capslist.h:
29418 copy over from 0.8, and add two with bitmasks specified with
29420 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29421 add test to parse everything from capslist.h
29422 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29424 add test for structure deserialization
29425 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29426 add tests for deserialization of strings to int types
29427 * gst/gststructure.c: (gst_structure_nth_field_name):
29428 * gst/gststructure.h:
29429 add a way to get the name of a field referenced by index
29430 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29431 instead of checking if the resulting long long lies between
29432 min and max, we check if the long long would fit into
29433 a number of bytes for the final type.
29434 This fixes cases where a string represents 2^32 - 1, which
29435 when cast to int would be the (valid) -1, but is bigger than
29438 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29440 * gst/parse/grammar.y:
29441 add a log line for type deserialization
29443 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29445 * check/gst/gstvalue.c: (START_TEST):
29446 * gst/gstvalue.c: (gst_value_deserialize):
29447 return long long, not int, so gint64 deserialization actually
29448 works. Is there any flag that makes the compiler check this ?
29451 2005-06-22 Wim Taymans <wim@fluendo.com>
29454 Added convenience macros for setting buffers in GValue.
29456 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29458 * check/gst/.cvsignore:
29459 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29460 add a test deserializing int64, and comment part out because
29463 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29465 * check/Makefile.am:
29466 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29467 * testsuite/Makefile.am:
29468 * testsuite/caps/Makefile.am:
29469 * testsuite/caps/value_serialize.c:
29470 * testsuite/test_gst_init.c:
29471 move a value_serialize test over
29473 2005-06-20 Wim Taymans <wim@fluendo.com>
29478 * gst/gstvalue.c: (gst_value_compare_buffer),
29479 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29480 (gst_value_compare_flags), (gst_value_serialize_flags),
29481 (gst_value_deserialize_flags), (_gst_value_initialize):
29482 Fix serialisation of buffers, they are not boxed types anymore
29484 2005-06-20 Wim Taymans <wim@fluendo.com>
29486 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29487 Testcase to show error in buffer-on-caps serialisation.
29489 2005-06-20 Andy Wingo <wingo@pobox.com>
29491 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29492 will be adding to later.
29494 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29495 if its socks fill with rocks.
29496 (gst_system_clock_obtain): Set the name on object construction.
29497 Avoid double-checked locking.
29499 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29501 * gst/gsturi.c: (gst_element_make_from_uri):
29502 Fix potential endless loop.
29504 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29506 * check/Makefile.am:
29508 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29510 move over from testsuite dir and clean up
29513 * testsuite/Makefile.am:
29514 * testsuite/tags/.cvsignore:
29515 * testsuite/tags/Makefile.am:
29516 * testsuite/tags/merge.c:
29517 remove testsuite/tags
29519 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29521 * docs/gst/gstreamer-sections.txt:
29522 * docs/gst/tmpl/gstenumtypes.sgml:
29523 * win32/gstenumtypes.c:
29524 clean up documentation build a little
29526 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29528 * check/gstcheck.h:
29529 add macros for checking refcounts on objects and caps
29530 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29531 add some more unit tests
29532 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29533 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29534 fix leaked refcounts (I hope :)) so unittest works
29538 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29540 * configure.ac: back to HEAD
29542 === release 0.9.1 ===
29544 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29550 2005-06-17 Andy Wingo <wingo@pobox.com>
29552 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29553 assert; it's always possible that the pad gets deactivated in
29554 between the checks in gstpad.c and the implementation. Rely on
29555 finish_preroll() to return a FLUSHING or similar instead of on the
29558 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29559 clock and post an EOS message if we come out of finish_preroll in
29562 2005-06-16 David Schleef <ds@schleef.org>
29564 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29565 (gst_capsfilter_set_property): Allow NULL as possible value
29566 for filter_caps property, indicating GST_CAPS_ANY.
29568 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29570 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29572 * gst/schedulers/Makefile.am:
29574 * gstreamer.spec.in:
29577 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29579 * gstreamer.spec.in:
29582 2005-06-08 Andy Wingo <wingo@pobox.com>
29584 * gst/gstutils.c: RPAD fixes all around.
29585 (gst_element_link_pads): Refcounting fixes.
29587 * tools/gst-inspect.c:
29588 * tools/gst-xmlinspect.c:
29590 * gst/base/gsttypefindhelper.c:
29591 * gst/base/gstbasesink.c:
29592 * gst/gstqueue.c: RPAD fixes.
29594 * gst/gstghostpad.h:
29595 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29596 pads. The tricky thing is they provide both source and sink
29597 interfaces, since they proxy the internal pad for the external
29598 pad, and vice versa. Implement with lower-level ProxyPad objects,
29599 with the interior proxy pad as a child of the exterior ghost pad.
29600 Should write a doc on this.
29602 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29603 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29606 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29607 pads are real pads. No ghost pads in this file. Not documenting
29608 the myriad s/RPAD/PAD/ and REALIZE fixes.
29609 (gst_pad_class_init): Add properties for "direction" and
29610 "template". Both are construct-only, so they can't change during
29611 the life of the pad. Fixes properly deriving from GstPad.
29612 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29613 derived objects, just set properties when creating the objects via
29615 (gst_pad_get_parent): Implement as a function, return NULL if the
29616 parent is not an element.
29617 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29618 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29620 * gst/gstobject.c (gst_object_class_init): Make name a construct
29621 property. Don't set it in the object init.
29623 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29624 with UNKNOWN direction.
29625 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29626 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29627 (gst_element_remove_pad): Remove ghost-pad special cases.
29628 (gst_element_pads_activate): Remove rpad cruft.
29630 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29631 catch the pad's-parent-not-an-element case.
29633 * gst/gst.h: Include gstghostpad.h.
29635 * gst/gst.c (init_post): No more real, ghost pads.
29637 * gst/Makefile.am: Add gstghostpad.[ch].
29639 * check/Makefile.am:
29640 * check/gst/gstbin.c:
29641 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29642 into a bin creates ghost pads, and that the refcounts are right.
29643 Partly moved from gstbin.c.
29645 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29647 * check/gst-libs/.cvsignore:
29648 * check/gst/.cvsignore:
29649 * check/pipelines/.cvsignore:
29651 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29652 (START_TEST), (cleanup_suite), (main):
29653 add some tests related to cleanup after running pipelines
29655 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29657 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29658 add a testsuite for GstBuffer
29660 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29662 * gst/gstminiobject.h:
29663 add defines for accessing the refcount
29665 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29667 * Makefile.am: added support for html unit test coverage reports
29669 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29671 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29672 Free existing caps if the capsfilter changes. Add a FIXME about
29673 setting those caps on the pads.
29675 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29676 Before adding a ghost pad to a parent bin, check that there isn't
29677 already one for the element on the bin. Prevents infinite recursion
29678 when using decodebin in parse pipelines. Andy says he'll rewrite the
29679 way this works anyway, so ignore the hack.
29681 2005-06-02 Andy Wingo <wingo@pobox.com>
29683 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29684 file size, pass it on to the type find helper.
29686 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29687 segment_start and segment_end properly according to the seek
29688 method. Segment_end is still a bit flaky because offset can be
29689 negative for CUR and END cases, but it takes -1 as an "unset"
29692 2005-06-02 Wim Taymans <wim@fluendo.com>
29694 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29695 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29696 (gst_basesink_activate):
29697 * gst/base/gstbasesink.h:
29698 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29699 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29700 (gst_pad_query), (gst_pad_start_task):
29702 * gst/gstqueue.c: (gst_queue_bufferalloc),
29703 (gst_queue_handle_sink_event), (gst_queue_chain):
29704 Bufferalloc: return GstFlowReturn to more accuratly report
29705 why allocation failed.
29707 2005-06-02 Wim Taymans <wim@fluendo.com>
29709 * gst/gstpipeline.c: (gst_pipeline_send_event):
29710 Take snapshot of state without blocking.
29712 2005-06-02 Wim Taymans <wim@fluendo.com>
29714 * docs/design/part-TODO.txt:
29715 * docs/design/part-caps.txt:
29716 * docs/design/part-clocks.txt:
29717 * docs/design/part-negotiation.txt:
29718 * docs/design/part-preroll.txt:
29721 2005-05-30 Wim Taymans <wim@fluendo.com>
29723 * gst/elements/gstidentity.c: (gst_identity_event),
29724 (gst_identity_transform), (gst_identity_get_property):
29725 Protect last_message property as it is accessed from
29728 2005-05-30 Wim Taymans <wim@fluendo.com>
29730 * gst/gstelement.c: (gst_element_init),
29731 (gst_element_pads_activate), (gst_element_change_state):
29732 Slicker pad activation code.
29734 2005-05-30 Wim Taymans <wim@fluendo.com>
29737 * gst/gstelement.h:
29738 * gst/gstelementfactory.h:
29740 Move elementfactory methods to separate .h file.
29742 2005-05-30 Wim Taymans <wim@fluendo.com>
29744 * docs/design/part-overview.txt:
29745 * gst/gstsystemclock.h:
29746 Small typo fixes, doc updates.
29748 2005-05-30 Wim Taymans <wim@fluendo.com>
29750 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29751 (init_popt_callback):
29752 Remove cpu-opt flag.
29754 2005-05-30 Wim Taymans <wim@fluendo.com>
29756 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29757 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29759 Avoid typechecking in places where not needed.
29760 Added accessor for malloc_data.
29762 2005-05-30 Wim Taymans <wim@fluendo.com>
29764 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29765 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29766 (gst_pad_configure_sink), (gst_pad_configure_src),
29767 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29768 (gst_pad_start_task):
29769 Propagate errors from _set_caps() in configure_src/sink
29770 functions instead of returning TRUE.
29771 FLUSH events can travel up and downstream
29774 2005-05-30 Wim Taymans <wim@fluendo.com>
29776 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29777 (gst_basesink_activate):
29778 Handle EOS in preroll.
29780 2005-05-30 Wim Taymans <wim@fluendo.com>
29782 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29783 (gst_queue_loop), (gst_queue_handle_src_event):
29784 Remove old pieces of code
29785 Flushing the queue in an upstream event is a very bad idea.
29787 2005-05-26 Andy Wingo <wingo@pobox.com>
29789 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29790 gst_value_set_mini_object so as to add a ref on the object (which
29791 will be removed when the value is unset).
29793 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29794 arg type in ::handoff.
29796 * gst/gstelement.c (gst_element_change_state): Also deactivate
29797 pads in READY->NULL, just in case the element didn't make it to
29798 PAUSED. Wingo tested, Wim approved.
29800 2005-05-26 Wim Taymans <wim@fluendo.com>
29802 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29803 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29804 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29805 A flushing pad cannot be used to alloc_buffer from.
29807 2005-05-26 Wim Taymans <wim@fluendo.com>
29809 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29810 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29811 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29812 (gst_bus_create_watch), (gst_bus_add_watch_full):
29814 Implement a real GSource and use g_main_context_wakeup() to
29815 signal new messages instead of the socketpair.
29817 2005-05-25 Wim Taymans <wim@fluendo.com>
29819 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29820 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29821 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29822 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29823 (gst_pad_send_event), (gst_pad_start_task):
29824 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29825 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29826 (gst_queue_sink_activate), (gst_queue_src_activate),
29827 (gst_queue_change_state):
29829 Fix state changes for non sinks. We now change sinks, then elements
29830 with unconnected srcpads, then the rest.
29831 More efficient queue unlocking in flush and state changes.
29832 Set the pad activate mode even if it does not have an activate
29835 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29837 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29838 Don't go in pull mode for non-seekable sources.
29839 * gst/elements/gsttypefindelement.h:
29840 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29841 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29842 (free_entry), (stop_typefinding),
29843 (gst_type_find_element_handle_event), (find_peek),
29844 (gst_type_find_element_chain), (do_pull_typefind),
29845 (gst_type_find_element_change_state):
29846 Allow typefinding (w/o seeking) in push-mode, simplified version
29847 of what was in 0.8.
29848 * gst/gstutils.c: (gst_buffer_join):
29850 gst_buffer_join() from 0.8.
29852 2005-05-25 Wim Taymans <wim@fluendo.com>
29854 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29855 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29856 (gst_pad_send_event), (gst_pad_start_task):
29857 Disable attempt at mode switching until it is figured out.
29859 2005-05-25 Wim Taymans <wim@fluendo.com>
29861 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29862 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29863 (gst_basesink_finish_preroll), (gst_basesink_chain),
29864 (gst_basesink_loop), (gst_basesink_activate),
29865 (gst_basesink_change_state):
29866 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29867 (gst_basesrc_get_range), (gst_basesrc_loop),
29868 (gst_basesrc_activate):
29869 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29870 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29871 (gst_real_pad_init), (gst_real_pad_set_property),
29872 (gst_real_pad_get_property), (gst_pad_set_active),
29873 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29874 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29875 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29876 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29877 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29878 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29879 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29880 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29881 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29882 (gst_pad_stop_task):
29884 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29885 (gst_queue_loop), (gst_queue_src_activate):
29886 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29887 (gst_task_get_state):
29889 * gst/schedulers/threadscheduler.c:
29890 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29891 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29893 Remove ACTIVE pad flag, use FLUSHING everywhere
29894 Added _pad_chain(), _pad_get_range() to call chain/getrange
29896 Add locks around IS_FLUSHING when reading.
29897 Take STREAM lock in chain(), get_range() functions so plugins
29898 don't need to take it anymore.
29902 2005-05-25 Wim Taymans <wim@fluendo.com>
29904 * tools/gst-launch.c: (event_loop):
29905 Unref message after using its contents instead of
29908 2005-05-24 Wim Taymans <wim@fluendo.com>
29910 * docs/design/draft-ghostpads.txt:
29911 * docs/design/draft-push-pull.txt:
29912 * docs/design/draft-query.txt:
29913 * docs/design/part-overview.txt:
29914 Docs updates, added general overview doc.
29916 2005-05-21 David Schleef <ds@schleef.org>
29918 * docs/gst/tmpl/old/GstBin.sgml:
29919 * docs/gst/tmpl/old/GstBuffer.sgml:
29920 * docs/gst/tmpl/old/GstCaps.sgml:
29921 * docs/gst/tmpl/old/GstClock.sgml:
29922 * docs/gst/tmpl/old/GstCompat.sgml:
29923 * docs/gst/tmpl/old/GstData.sgml:
29924 * docs/gst/tmpl/old/GstElement.sgml:
29925 * docs/gst/tmpl/old/GstEvent.sgml:
29926 * docs/gst/tmpl/old/GstIndex.sgml:
29927 * docs/gst/tmpl/old/GstStructure.sgml:
29928 * docs/gst/tmpl/old/GstTag.sgml:
29929 * docs/gst/tmpl/old/cothreads.sgml:
29930 * docs/gst/tmpl/old/cothreads_compat.sgml:
29931 * docs/gst/tmpl/old/gettext.sgml:
29932 * docs/gst/tmpl/old/gobject2gtk.sgml:
29933 * docs/gst/tmpl/old/grammar.tab.sgml:
29934 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29935 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29936 * docs/gst/tmpl/old/gst_private.sgml:
29937 * docs/gst/tmpl/old/gstaggregator.sgml:
29938 * docs/gst/tmpl/old/gstarch.sgml:
29939 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29940 * docs/gst/tmpl/old/gstbufferstore.sgml:
29941 * docs/gst/tmpl/old/gstdata_private.sgml:
29942 * docs/gst/tmpl/old/gstdisksink.sgml:
29943 * docs/gst/tmpl/old/gstdisksrc.sgml:
29944 * docs/gst/tmpl/old/gstelementfactory.sgml:
29945 * docs/gst/tmpl/old/gstextratypes.sgml:
29946 * docs/gst/tmpl/old/gstfakesink.sgml:
29947 * docs/gst/tmpl/old/gstfakesrc.sgml:
29948 * docs/gst/tmpl/old/gstfdsink.sgml:
29949 * docs/gst/tmpl/old/gstfdsrc.sgml:
29950 * docs/gst/tmpl/old/gstfilesink.sgml:
29951 * docs/gst/tmpl/old/gstfilesrc.sgml:
29952 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29953 * docs/gst/tmpl/old/gstidentity.sgml:
29954 * docs/gst/tmpl/old/gstindexfactory.sgml:
29955 * docs/gst/tmpl/old/gstmarshal.sgml:
29956 * docs/gst/tmpl/old/gstmd5sink.sgml:
29957 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29958 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29959 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29960 * docs/gst/tmpl/old/gstpipefilter.sgml:
29961 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29962 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29963 * docs/gst/tmpl/old/gstshaper.sgml:
29964 * docs/gst/tmpl/old/gstspider.sgml:
29965 * docs/gst/tmpl/old/gstspideridentity.sgml:
29966 * docs/gst/tmpl/old/gststatistics.sgml:
29967 * docs/gst/tmpl/old/gsttee.sgml:
29968 * docs/gst/tmpl/old/gsttimecache.sgml:
29969 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29970 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29971 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29972 * docs/gst/tmpl/old/types.sgml:
29973 I didn't intend to add these or check them in.
29975 2005-05-19 David Schleef <ds@schleef.org>
29977 * configure.ac: Use -no-common everywhere. In a sane world, it
29978 would be the default in libtool, because without it, you can't
29979 build DLLs on Windows.
29980 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29981 * docs/gst/gstreamer-sections.txt:
29982 * docs/gst/tmpl/gstcpu.sgml:
29983 * docs/gst/tmpl/gstdata.sgml:
29984 * docs/gst/tmpl/gstthread.sgml:
29986 2005-05-19 David Schleef <ds@schleef.org>
29988 * gst/gstminiobject.c: (gst_value_set_mini_object),
29989 (gst_value_take_mini_object), (gst_value_get_mini_object):
29990 * gst/gstminiobject.h: Add GValue set/get functions.
29992 2005-05-19 Wim Taymans <wim@fluendo.com>
29994 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29995 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29996 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29998 * gst/gstbus.c: (gst_bus_post):
29999 * gst/gstelement.c: (gst_element_get_random_pad):
30000 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30001 Make subbufer unref the parent in finalize.
30002 some more debugging info.
30005 2005-05-19 Wim Taymans <wim@fluendo.com>
30007 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30008 (gst_basesink_init), (gst_basesink_finalize),
30009 (gst_basesink_activate), (gst_basesink_change_state):
30010 Don't free preroll queue too early.
30012 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30016 Hi, I'm outdated. Please shoot me.
30018 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30020 * gst/gstpipeline.c: (gst_pipeline_send_event):
30021 Do not access variables after they have been deleted.
30023 2005-05-19 Wim Taymans <wim@fluendo.com>
30025 * tools/gst-inspect.c: (print_plugin_features):
30026 A plugin feature does unfortunatly not use the
30029 2005-05-18 Wim Taymans <wim@fluendo.com>
30031 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30032 Port _span() functions to new subbuffers.
30034 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30036 * gst/gstbin.c: (gst_bin_add_func):
30037 Fix clock settery in bins when adding kids after the clock has
30040 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30042 * gst/elements/gstidentity.c: (gst_identity_class_init):
30043 Workaround until signals support GstMiniObject.
30045 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30048 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30050 2005-05-18 Wim Taymans <wim@fluendo.com>
30052 * gst/base/Makefile.am:
30053 * gst/base/gstadapter.c: (gst_adapter_base_init),
30054 (gst_adapter_class_init), (gst_adapter_init),
30055 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30056 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30057 (gst_adapter_flush), (gst_adapter_available),
30058 (gst_adapter_available_fast):
30059 * gst/base/gstadapter.h:
30060 Ported and added adapter to the base classes.
30062 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30065 * gst/gstmessage.c:
30066 Make sure the class is reffed/unreffed once before threads can be
30067 used. Fixes #304551.
30069 2005-05-17 Wim Taymans <wim@fluendo.com>
30071 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30072 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30073 * gst/gstminiobject.c: (gst_mini_object_get_type),
30074 (gst_mini_object_free):
30075 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30076 (gst_pad_push), (gst_pad_push_event):
30077 * gst/gstqueue.c: (gst_queue_change_state):
30078 Don't queue buffers in basesink when we are flushing.
30079 Unref buffer when flushing in basesink.
30080 Flush queue when going to READY
30081 Unref buffer when _push() returns an error.
30082 Don't free MiniObject instance when refcount is incremented
30083 in _finalize() so that we can recover objects.
30085 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30087 * docs/manual/advanced-schedulers.xml:
30088 * docs/manual/appendix-checklist.xml:
30089 * docs/pwg/advanced-clock.xml:
30090 * docs/pwg/advanced-interfaces.xml:
30091 * docs/pwg/advanced-request.xml:
30092 * docs/pwg/advanced-types.xml:
30093 * docs/pwg/intro-preface.xml:
30094 * examples/plugins/example.c: (gst_example_get_type),
30095 (gst_example_class_init), (gst_example_chain),
30096 (gst_example_set_property), (gst_example_get_property),
30097 (gst_example_change_state), (plugin_init):
30098 * examples/plugins/example.h:
30101 2005-05-17 Wim Taymans <wim@fluendo.com>
30103 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30104 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30105 * gst/gstqueue.c: (gst_queue_change_state):
30106 Clear queue when going to READY.
30107 Remove IN_SETCAPS flag too.
30109 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30111 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30112 Remove implicit cast from gboolean to GstElementStateReturn;
30113 make sure we still return failure in paused => ready case if
30114 the parent class fails to change state and our own stop
30117 2005-05-17 Wim Taymans <wim@fluendo.com>
30119 * tools/gst-launch.c: (event_loop):
30120 Message was unreffed too soon.
30122 2005-05-16 Andy Wingo <wingo@pobox.com>
30124 * gst/gstbin.c (sink_iterator_filter): Err... um...
30126 * check/gst/gstbin.c (test_ghost_pads): New test for the
30127 ghosting-if-elements-not-in-same-bin behavior.
30129 2005-05-16 David Schleef <ds@schleef.org>
30131 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30132 accessing refcount directly.
30134 2005-05-15 David Schleef <ds@schleef.org>
30136 * check/Makefile.am: remove GstData checks
30137 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30138 * gst/Makefile.am: add miniobject, remove data
30139 * gst/gst.h: add miniobject, remove data
30140 * gst/gstdata.c: remove
30141 * gst/gstdata.h: remove
30142 * gst/gstdata_private.h: remove
30143 * gst/gsttypes.h: remove GstEvent and GstMessage
30144 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30145 * gst/gstmarshal.list: change BOXED -> OBJECT
30147 Implement GstMiniObject.
30148 * gst/gstminiobject.c:
30149 * gst/gstminiobject.h:
30151 Modify to be subclasses of GstMiniObject.
30152 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30153 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30154 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30155 (gst_subbuffer_get_type), (gst_subbuffer_init),
30156 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30159 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30160 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30161 (_gst_event_copy), (gst_event_new):
30163 * gst/gstmessage.c: (_gst_message_initialize),
30164 (gst_message_get_type), (gst_message_class_init),
30165 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30166 (gst_message_new), (gst_message_new_error),
30167 (gst_message_new_warning), (gst_message_new_tag),
30168 (gst_message_new_state_changed), (gst_message_new_application):
30169 * gst/gstmessage.h:
30170 * gst/gstprobe.c: (gst_probe_perform),
30171 (gst_probe_dispatcher_dispatch):
30173 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30174 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30175 (_gst_query_copy), (gst_query_new):
30177 Update elements for GstData -> GstMiniObject changes
30179 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30180 (gst_queue_chain), (gst_queue_loop):
30181 * gst/elements/gstbufferstore.c:
30182 (gst_buffer_store_add_buffer_func),
30183 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30184 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30185 (gst_fakesink_render):
30186 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30187 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30188 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30189 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30190 (gst_filesrc_create_read):
30191 * gst/elements/gstidentity.c: (gst_identity_class_init):
30192 * gst/elements/gsttypefindelement.c:
30193 (gst_type_find_element_src_event), (free_entry_buffers),
30194 (gst_type_find_element_handle_event):
30195 * libs/gst/dataprotocol/dataprotocol.c:
30196 (gst_dp_header_from_buffer):
30197 * libs/gst/dataprotocol/dataprotocol.h:
30198 * libs/gst/dataprotocol/dp-private.h:
30200 2005-05-15 David Schleef <ds@schleef.org>
30202 * gst/elements/gstelements.c: Don't include headers that were
30205 2005-05-15 David Schleef <ds@schleef.org>
30207 * gst/elements/Makefile.am: Remove some elements that don't
30208 need to be in the core (or even exist at all).
30209 * gst/elements/gstaggregator.c:
30210 * gst/elements/gstaggregator.h:
30211 * gst/elements/gstmd5sink.c:
30212 * gst/elements/gstmd5sink.h:
30213 * gst/elements/gstmultifilesrc.c:
30214 * gst/elements/gstmultifilesrc.h:
30215 * gst/elements/gstpipefilter.c:
30216 * gst/elements/gstpipefilter.h:
30217 * gst/elements/gstshaper.c:
30218 * gst/elements/gstshaper.h:
30219 * gst/elements/gststatistics.c:
30220 * gst/elements/gststatistics.h:
30221 * po/POTFILES.in: Remove above files.
30223 2005-05-14 Andy Wingo <wingo@pobox.com>
30225 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30226 so as to get the refs right.
30227 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30228 unreffing objects that don't pass the filter.
30230 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30231 gst_element_set_bus.
30232 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30233 normal cases, this will destroy the bus.
30235 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30238 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30241 2005-05-13 Andy Wingo <wingo@pobox.com>
30243 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30244 gst_pad_link, call pad_link_maybe_ghosting,
30245 (pad_link_maybe_ghosting): Links pads, making sure that the
30246 elements being linked are in the same bin.
30247 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30248 Helpers for pad_link_maybe_ghosting.
30250 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30253 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30255 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30257 * docs/design/part-element-source.txt:
30260 2005-05-12 Wim Taymans <wim@fluendo.com>
30262 * gst/base/gstbasesink.c: (gst_basesink_init),
30263 (gst_basesink_activate):
30264 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30265 (gst_basesrc_is_seekable):
30266 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30267 (bin_element_is_sink), (gst_bin_change_state):
30268 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30269 * gst/gstelement.h:
30270 Identify sinks by their flag to avoid overly complicated
30272 Do state changes even for elements not reachable from the
30274 BaseSink is a sink now :)
30275 Some more debugging info in the basesrc.
30278 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30280 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30281 Implement _query on a bin, similar to _send_event.
30283 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30285 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30286 Discont event offset format should be GST_FORMAT_BYTES,
30287 not GST_FORMAT_TIME.
30289 2005-05-12 Wim Taymans <wim@fluendo.com>
30291 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30292 Same fix as Ronald's but without the signal.
30294 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30296 * gst/gstutils.c: (gst_element_query_position):
30297 No, an element is not a pad.
30299 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30301 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30302 (gst_bin_get_state):
30303 If a child is removed from a bin while we remove the child from
30304 the bin and while we're retrieving its state, signal this to the
30305 get_state function so we abort the wait (instead of waiting for
30306 a timeout) and can immediately re-iterate over all other elements.
30308 2005-05-12 Wim Taymans <wim@fluendo.com>
30310 * gst/base/Makefile.am:
30311 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30312 (gst_basesrc_start):
30313 * gst/base/gstbasesrc.h:
30314 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30315 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30316 (gst_pushsrc_init), (gst_pushsrc_create):
30317 * gst/base/gstpushsrc.h:
30318 Added is_seekable to BaseSrc
30319 Added simple PushSrc.
30321 2005-05-11 Wim Taymans <wim@fluendo.com>
30323 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30324 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30325 (gst_element_link_pads), (gst_element_query_position),
30326 (gst_element_query_convert), (intersect_caps_func),
30327 (gst_pad_query_position), (gst_pad_query_convert):
30328 Fix refcounting in utils function.
30329 No point in trying to activate a pad when it's added, it could
30330 be added from the state change function and then we deadlock, the
30331 element has to decide what to do.
30333 2005-05-10 Andy Wingo <wingo@pobox.com>
30335 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30336 *all* the arguments.
30338 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30339 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30340 lock (according to the docs -- if this is wrong change the docs).
30342 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30343 flush messages in the NULL state.
30345 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30346 message immediately and return.
30347 (gst_bus_set_flushing): New function. If a bus is flushing, it
30348 flushes out any queued messages and immediately unrefs new
30349 messages. This is so when an element goes to NULL, all of the
30350 unhandled messages coming from it can be freed, and their
30351 references to the element dropped. In other words: message source
30352 ref considered harmful :P
30354 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30355 we're finished with it.
30357 * gst/gstmessage.c (gst_message_new_state_changed):
30359 2005-05-10 Wim Taymans <wim@fluendo.com>
30361 * gst/gstvalue.c: (gst_value_compare_flags),
30362 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30363 (_gst_value_initialize):
30364 Added flags serialize/deserialize/compare code.
30366 2005-05-09 Andy Wingo <wingo@pobox.com>
30368 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30369 Intersect the peer's caps with our caps.
30371 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30373 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30374 * gst/elements/gsttypefindelement.c: (find_peek):
30375 Handle negative offsets better. Fixes decodebin.
30377 2005-05-09 Wim Taymans <wim@fluendo.com>
30379 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30380 (gst_base_transform_event):
30381 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30382 Implement accept_caps.
30383 Fix silly lock/unlock mismatch in base class.
30385 2005-05-09 Wim Taymans <wim@fluendo.com>
30387 * docs/design/draft-push-pull.txt:
30388 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30389 * gst/elements/gstfilesink.c: (gst_filesink_init),
30390 (gst_filesink_query):
30391 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30392 (gst_type_find_handle_src_query), (find_element_get_length):
30393 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30394 * gst/gstelement.h:
30395 * gst/gstmessage.c:
30396 * gst/gstmessage.h:
30397 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30398 (gst_real_pad_get_caps_unlocked),
30399 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30400 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30401 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30402 (gst_real_pad_dispose), (gst_real_pad_finalize),
30403 (gst_pad_load_and_link), (gst_pad_save_thyself),
30404 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30405 (gst_pad_check_pull_range), (gst_pad_pull_range),
30406 (gst_pad_template_get_type), (gst_pad_template_class_init),
30407 (gst_pad_template_init), (gst_pad_template_dispose),
30408 (name_is_valid), (gst_static_pad_template_get),
30409 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30410 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30411 (gst_pad_get_element_private), (gst_pad_start_task),
30412 (gst_pad_pause_task), (gst_pad_stop_task),
30413 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30414 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30415 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30416 (gst_ghost_pad_new):
30418 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30419 (gst_query_new_position), (gst_query_set_position),
30420 (gst_query_parse_position), (gst_query_new_convert),
30421 (gst_query_set_convert), (gst_query_parse_convert):
30423 * gst/gstqueryutils.c:
30424 * gst/gstqueryutils.h:
30425 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30426 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30427 (gst_queue_handle_src_query):
30428 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30429 (gst_element_query_position), (gst_element_query_convert),
30430 (intersect_caps_func), (gst_pad_query_position),
30431 (gst_pad_query_convert):
30433 * tools/gst-inspect.c: (print_pad_info):
30434 * tools/gst-xmlinspect.c: (print_element_info):
30435 Remove old query functions. Ported old code.
30436 Added position/convert helper functions to gstutils.
30437 Reordered gstpad.c code, grouping relevant things.
30438 Remove gst_message_new(), always need to speficy a specific
30442 2005-05-09 Andy Wingo <wingo@pobox.com>
30444 * gst/gstiterator.h: Add some includes.
30446 * gst/gstqueryutils.h: Include more headers.
30449 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30450 some uses of gst_pad_query.
30452 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30453 NULL out parameters.
30454 (gst_query_new_position): New proc, allocates a new position
30457 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30458 gstqueryutils.c to the build.
30460 * gst/gststructure.c (gst_structure_set_valist): Implement with
30461 the generic G_VALUE_COLLECT.
30463 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30465 * gst/Makefile.am: (gst_headers):
30466 Added gstqueryutils.h to the list of headers to install, that was
30467 a 'nachty' move wingo :)
30469 2005-05-06 Andy Wingo <wingo@pobox.com>
30472 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30473 GstData, init a memchunk.
30474 (standard_definitions): Add a few query types, deprecate a few.
30475 (gst_query_get_type): New proc.
30476 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30478 (gst_query_new_application, gst_query_get_structure): New public
30481 * docs/design/draft-query.txt: Removed LINKS from the query types,
30482 because all the rest can be dispatched to other pads -- seemed
30483 ugly to have a query that couldn't be dispatched. internal_links
30484 is fine as a pad method.
30486 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30487 in gstpad.c, but maintain binary compatibility for the moment.
30488 Will fix before 0.9 is out.
30490 * gst/gstqueryutils.c:
30491 * gst/gstqueryutils.h: New files, implement 3 methods for each
30492 query type: parse_query, parse_response, and set. Probably need an
30495 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30497 * gst/elements/gstfilesink.c (gst_filesink_query2):
30498 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30499 query_types, and formats methods.
30501 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30502 (gst_pad_set_query2_function): New functions.
30503 (gst_real_pad_init): Set query2_default as the default query2
30504 function. Basically just dispatches to internally linked pads.
30508 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30509 without using the atomic operations. Only one thread can possibly
30510 be accessing the data at this point. Changed so as to avoid
30511 gst_atomic operations.
30513 2005-05-06 Wim Taymans <wim@fluendo.com>
30515 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30516 Also set caps if we use the fallback buffer alloc.
30518 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30520 * docs/gst/Makefile.am:
30521 * docs/gst/gstreamer-docs.sgml:
30522 * docs/gst/gstreamer-sections.txt:
30523 * docs/gst/tmpl/gstatomic.sgml:
30524 * docs/gst/tmpl/gstmemchunk.sgml:
30525 * testsuite/elements/struct_i386.h:
30526 * win32/GStreamer.vcproj:
30528 Purge GstAtomic stuff from docs and win32 makefiles as well
30530 2005-05-06 Wim Taymans <wim@fluendo.com>
30532 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30533 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30534 * gst/gstpad.c: (gst_pad_peer_get_caps):
30535 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30536 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30537 (gst_queue_src_activate), (gst_queue_change_state):
30539 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30540 (intersect_caps_func):
30541 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30542 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30543 Some fixes for the peer_get_caps() change.
30545 2005-05-06 Wim Taymans <wim@fluendo.com>
30547 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30548 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30549 (gst_basesink_activate):
30550 Actually do something with error codes returned from the push
30553 2005-05-06 Wim Taymans <wim@fluendo.com>
30555 * docs/design/part-element-sink.txt:
30556 * docs/design/part-element-source.txt:
30557 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30558 (gst_basesink_event), (gst_basesink_activate):
30559 * gst/base/gstbasesink.h:
30560 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30561 (gst_basesrc_activate):
30562 * gst/base/gstbasesrc.h:
30563 * gst/gstelement.c: (gst_element_pads_activate):
30564 Some more documentation.
30565 Fixed scheduling decision in _pads_activate().
30567 2005-05-05 Andy Wingo <wingo@pobox.com>
30569 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30572 2005-05-05 Wim Taymans <wim@fluendo.com>
30574 * gst/base/Makefile.am:
30575 * gst/base/gstbasesink.h:
30576 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30577 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30578 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30579 (gst_collectpads_class_init), (gst_collectpads_init),
30580 (gst_collectpads_finalize), (gst_collectpads_new),
30581 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30582 (find_pad), (gst_collectpads_remove_pad),
30583 (gst_collectpads_is_active), (gst_collectpads_collect),
30584 (gst_collectpads_collect_range), (gst_collectpads_start),
30585 (gst_collectpads_stop), (gst_collectpads_peek),
30586 (gst_collectpads_pop), (gst_collectpads_available),
30587 (gst_collectpads_read), (gst_collectpads_flush),
30588 (gst_collectpads_chain):
30589 * gst/base/gstcollectpads.h:
30590 * gst/elements/Makefile.am:
30591 * gst/elements/gstelements.c:
30592 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30593 (gst_fakesink_get_times), (gst_fakesink_event),
30594 (gst_fakesink_preroll), (gst_fakesink_render):
30595 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30596 (gst_filesink_init), (gst_filesink_set_location),
30597 (gst_filesink_open_file), (gst_filesink_close_file),
30598 (gst_filesink_pad_query), (gst_filesink_event),
30599 (gst_filesink_render), (gst_filesink_change_state):
30600 * gst/elements/gstfilesink.h:
30601 Added object to help in making collect pad based elements.
30603 Make event function in sink baseclass return gboolean.
30605 2005-05-05 Wim Taymans <wim@fluendo.com>
30607 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30608 (gst_bin_get_by_name):
30610 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30611 (gst_clock_finalize):
30612 * gst/gstdata.c: (gst_data_replace):
30614 * gst/gstelement.c: (gst_element_request_pad),
30615 (gst_element_pads_activate):
30616 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30617 (gst_object_unref):
30618 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30619 (gst_pad_set_checkgetrange_function),
30620 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30621 (gst_pad_check_pull_range), (gst_pad_pull_range),
30622 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30623 (gst_pad_pause_task), (gst_pad_stop_task):
30624 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30625 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30626 Fix name lookup in GstBin.
30627 Added _data_replace() function and _buffer_replace()
30628 Use finalize method to clean up clock.
30629 Fix refcounting on request pads.
30630 Fix pad schedule mode error.
30631 Some more object refcounting debug info,
30634 2005-05-04 Andy Wingo <wingo@pobox.com>
30636 * check/Makefile.am:
30637 * docs/gst/tmpl/gstatomic.sgml:
30638 * docs/gst/tmpl/gstplugin.sgml:
30639 * gst/base/gstbasesink.c: (gst_basesink_activate):
30640 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30641 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30642 (gst_basesrc_query), (gst_basesrc_set_property),
30643 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30644 (gst_basesrc_activate):
30645 * gst/base/gstbasesrc.h:
30646 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30647 (gst_base_transform_src_activate):
30648 * gst/elements/gstelements.c:
30649 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30650 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30651 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30652 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30653 (gst_type_find_element_checkgetrange),
30654 (gst_type_find_element_activate):
30655 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30656 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30657 (gst_caps_load_thyself):
30658 * gst/gstelement.c: (gst_element_pads_activate),
30659 (gst_element_save_thyself), (gst_element_restore_thyself):
30660 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30661 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30663 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30664 (gst_xml_parse_file), (gst_xml_parse_memory),
30665 (gst_xml_get_element), (gst_xml_make_element):
30666 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30667 (_file_index_id_save_xml), (gst_file_index_commit):
30668 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30669 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30671 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30672 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30673 * tools/gst-complete.c: (main):
30674 * tools/gst-compprep.c: (main):
30675 * tools/gst-inspect.c: (print_element_properties_info):
30676 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30677 * tools/gst-xmlinspect.c: (print_element_properties):
30680 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30682 * gst/gstplugin.c: (gst_plugin_check_module),
30683 (gst_plugin_check_file), (gst_plugin_load_file):
30684 apply patch from #172526 to make register work on MacOSX
30686 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30688 * docs/gst/tmpl/gstconfig.sgml:
30689 * gst/gstconfig.h.in:
30690 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30691 * testsuite/debug/printf_extension.c: (main):
30692 Do not use GST_PTR_FORMAT on pointers to types with
30693 sizeof < sizeof(gpointer). Fixes test on 64-bit
30694 * testsuite/elements/property.h:
30695 use correct printf format
30697 2005-05-02 Wim Taymans <wim@fluendo.com>
30699 * docs/design/draft-push-pull.txt:
30700 * docs/design/draft-query.txt:
30701 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30702 (gst_basesrc_start):
30703 Added draft for new query API.
30704 Added draft for better selecting scheduling methods.
30705 Make basesrc ignore length if the subclass does not support
30708 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30711 possible fixes for automake-1.5 - _LIBADD is reserved
30713 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30715 * docs/faq/Makefile.am:
30716 * docs/manual/Makefile.am:
30717 * docs/manuals.mak:
30718 * docs/pwg/Makefile.am:
30720 possible fixes for automake-1.5
30722 2005-04-28 Wim Taymans <wim@fluendo.com>
30724 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30725 (gst_basesink_pad_getcaps), (gst_basesink_init),
30726 (gst_basesink_do_sync):
30727 * gst/gstclock.c: (gst_clock_entry_new):
30728 * gst/gstevent.c: (gst_event_discont_get_value):
30729 * gst/gstpipeline.c: (pipeline_bus_handler),
30730 (gst_pipeline_change_state):
30731 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30732 Better debugging of clocking info.
30733 Allow NULL values when getting discont values.
30735 2005-04-27 Wim Taymans <wim@fluendo.com>
30737 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30738 * check/gst/gstpad.c: (gst_pad_suite):
30739 Increase timeout for checks.
30741 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30743 * check/Makefile.am:
30744 fix the broken rule for cleanup. Apparently this rule is
30745 only needed on FC2, so maybe this warrants further autotool
30748 2005-04-26 Wim Taymans <wim@fluendo.com>
30750 * gst/gsttrashstack.h:
30751 Ooohh. a nasty one! After having a failed pop() from the stack,
30752 it's possible that the stack is empty. In that case, don't
30753 follow the NULL pointer.
30755 2005-04-25 Wim Taymans <wim@fluendo.com>
30757 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30758 (gst_pad_set_checkgetrange_function),
30759 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30760 (gst_pad_check_pull_range), (gst_pad_pull_range),
30761 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30762 (gst_pad_pause_task), (gst_pad_stop_task):
30763 * gst/gstplugin.c: (gst_plugin_load):
30765 Remove gst_library_load as it does more harm than good with
30766 the new g_module flags.
30767 Revert bogus caps template check in pad linking, pad caps
30768 are important when linking not the template, which is more
30769 general than the current caps.
30771 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30773 * gst/autoplug/.cvsignore:
30774 * gst/autoplug/Makefile.am:
30775 * gst/autoplug/gstsearchfuncs.c:
30776 * gst/autoplug/gstsearchfuncs.h:
30777 * gst/autoplug/gstspider.c:
30778 * gst/autoplug/gstspider.h:
30779 * gst/autoplug/gstspideridentity.c:
30780 * gst/autoplug/gstspideridentity.h:
30781 * gst/autoplug/spidertest.c:
30784 2005-04-25 Wim Taymans <wim@fluendo.com>
30786 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30787 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30788 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30789 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30791 Added stubs for unimplemented functions.
30793 2005-04-24 David Schleef <ds@schleef.org>
30795 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30798 2005-04-24 David Schleef <ds@schleef.org>
30800 Convert everything from GstAtomicInt to g_atomic_int_*, and
30805 * gst/gstatomic_impl.h:
30813 * gst/gstdata_private.h:
30817 * gst/gstmessage.c:
30820 * gst/gststructure.c:
30821 * gst/gststructure.h:
30822 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30825 2005-04-24 David Schleef <ds@schleef.org>
30827 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30828 make the regressions tests work. Remove some code that is no
30830 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30831 Disable warning for pads without templates.
30833 2005-04-24 David Schleef <ds@schleef.org>
30835 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30836 functions that handle filtered links.
30837 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30839 * gst/gstutils.c: Fix/remove utility functions that handle
30842 * gst/gstvalue.c: Add serialization/deserialization of caps
30843 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30844 requires fixing so that the filter caps notation creates
30845 a capsfilter element and sets the filter_caps property. I
30846 think everyone probably wants to keep the shorthand notation.
30847 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30848 * docs/gst/tmpl/gstpad.sgml:
30850 * gst/elements/gstelements.c: Register capsfilter element.
30851 * gst/Makefile.am: fix spacing
30852 * docs/random/ds/0.9-suggested-changes: random
30854 2005-04-23 David Schleef <ds@schleef.org>
30856 * gst/elements/Makefile.am:
30857 * gst/elements/gstcapsfilter.c: New element that acts like an
30858 identity, but filters caps. Will eventually replace filtered
30859 caps in pad linking.
30860 * gst/gstutils.c: (gst_element_create_all_pads): New function
30861 to create all the ALWAYS pads that are registered with an
30862 element class. This functionality should eventually be
30863 merged in with GstElement initialization.
30865 * testsuite/trigger/README: part of trigger test code that should
30866 have been checked in a long time ago.
30868 2005-04-23 David Schleef <ds@schleef.org>
30870 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30871 needed with new versions of libtool (nobody will confirm this),
30872 and hard to carry around.
30873 * gst/autoplug/Makefile.am:
30874 * gst/base/Makefile.am:
30875 * gst/elements/Makefile.am:
30876 * gst/indexers/Makefile.am:
30877 * gst/schedulers/Makefile.am:
30878 * libs/gst/bytestream/Makefile.am:
30879 * libs/gst/control/Makefile.am:
30880 * libs/gst/dataprotocol/Makefile.am:
30881 * libs/gst/getbits/Makefile.am:
30883 2005-04-21 Wim Taymans <wim@fluendo.com>
30885 * docs/design/draft-push-pull.txt:
30886 * docs/design/part-MT-refcounting.txt:
30887 * docs/design/part-TODO.txt:
30888 * docs/design/part-caps.txt:
30889 * docs/design/part-events.txt:
30890 * docs/design/part-gstbus.txt:
30891 * docs/design/part-gstpipeline.txt:
30892 * docs/design/part-messages.txt:
30893 * docs/design/part-push-pull.txt:
30894 * docs/design/part-query.txt:
30897 2005-04-21 Wim Taymans <wim@fluendo.com>
30899 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30900 (gst_message_new), (gst_message_new_error),
30901 (gst_message_new_warning), (gst_message_new_tag),
30902 (gst_message_new_state_changed), (gst_message_new_application),
30903 (gst_message_get_structure):
30904 * gst/gstmessage.h:
30905 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30906 (gst_structure_copy_conditional):
30907 Use parent refcount in GstMessage to ensure GstStructure
30909 Cleaned up headers a bit.
30912 2005-04-20 Wim Taymans <wim@fluendo.com>
30914 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30915 (gst_basesink_pad_getcaps), (gst_basesink_init),
30916 (gst_basesink_chain_unlocked):
30917 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30918 (gst_type_find_helper):
30919 * gst/elements/gsttypefindelement.c:
30920 (gst_type_find_element_have_type), (gst_type_find_element_init),
30921 (stop_typefinding), (gst_type_find_element_handle_event),
30922 (find_suggest), (gst_type_find_element_chain),
30923 (gst_type_find_element_checkgetrange),
30924 (gst_type_find_element_getrange), (do_typefind),
30925 (gst_type_find_element_activate):
30926 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30927 (gst_buffer_default_free), (gst_buffer_default_copy),
30928 (gst_buffer_set_caps):
30929 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30930 (gst_caps_replace):
30931 * gst/gstmessage.c: (gst_message_new),
30932 (gst_message_new_state_changed):
30933 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30934 (gst_pad_set_checkgetrange_function),
30935 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30936 (gst_pad_set_caps), (gst_pad_check_pull_range),
30937 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30939 * gst/gsttypefind.c: (gst_type_find_register):
30940 Make gst_caps_replace() work like other _replace() functions.
30941 Use _caps_replace() where possible.
30942 Make sure _message_new() initialises its field.
30943 Add gst_static_pad_template_get_caps()
30946 2005-04-18 Andy Wingo <wingo@pobox.com>
30948 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30949 on the peer, not the pad. I think that was a typo. Pass an extra
30950 arg to see if random access is possible. Activate the pads as
30951 PULL_RANGE if possible.
30953 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30955 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30956 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30959 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30961 * docs/faq/using.xml:
30962 Add note on gstreamer-properties (#154996).
30964 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30966 * docs/random/bbb/optional-properties:
30967 Some analysis on optional properties.
30969 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30971 * docs/gst/tmpl/gstelementfactory.sgml:
30972 * gst/gstelement.h:
30973 * gst/gstelementfactory.c: (gst_element_factory_init),
30974 (gst_element_factory_cleanup), (gst_element_register),
30975 (__gst_element_factory_add_static_pad_template),
30976 (gst_element_factory_get_static_pad_templates),
30977 (gst_element_factory_can_src_caps),
30978 (gst_element_factory_can_sink_caps):
30979 * gst/registries/Makefile.am:
30980 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30981 (gst_xml_registry_class_init), (gst_xml_registry_init),
30982 (gst_xml_registry_new), (gst_xml_registry_set_property),
30983 (gst_xml_registry_get_property), (get_time), (make_dir),
30984 (gst_xml_registry_get_perms_func),
30985 (plugin_times_older_than_recurse), (plugin_times_older_than),
30986 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30987 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30988 (add_to_char_array), (read_string), (read_uint), (read_enum),
30989 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30990 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30991 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30992 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30993 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30994 (gst_xml_registry_rebuild):
30995 * gst/registries/gstlibxmlregistry.h:
30996 * tools/gst-compprep.c: (main):
30997 * tools/gst-inspect.c: (print_pad_templates_info):
30998 * tools/gst-xmlinspect.c: (print_element_info):
30999 Use libxml2 for registry parsing, use staticpadtemplates in
31000 elementfactories. Makes gst_init() +/- 10x faster.
31002 2005-04-12 Wim Taymans <wim@fluendo.com>
31004 * gst/base/Makefile.am:
31005 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31006 (gst_basesink_pad_getcaps), (gst_basesink_init),
31007 (gst_basesink_event), (gst_basesink_change_state):
31008 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31009 (gst_basesrc_init), (gst_basesrc_query),
31010 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31011 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31012 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31013 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31014 (gst_basesrc_stop), (gst_basesrc_activate),
31015 (gst_basesrc_change_state):
31016 * gst/base/gsttypefindhelper.c: (helper_find_peek),
31017 (helper_find_suggest), (gst_type_find_helper):
31018 * gst/base/gsttypefindhelper.h:
31019 * gst/elements/Makefile.am:
31020 * gst/elements/gstelements.c:
31021 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31022 (gst_fakesink_get_times), (gst_fakesink_event),
31023 (gst_fakesink_preroll), (gst_fakesink_render):
31024 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31025 (gst_fakesrc_init), (gst_fakesrc_event_handler),
31026 (gst_fakesrc_get_property), (gst_fakesrc_create),
31027 (gst_fakesrc_start), (gst_fakesrc_stop):
31028 * gst/elements/gstfakesrc.h:
31029 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31030 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31031 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31032 (gst_filesrc_create_read), (gst_filesrc_create),
31033 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31034 (gst_filesrc_start):
31035 * gst/elements/gsttypefindelement.c:
31036 (gst_type_find_element_have_type), (gst_type_find_element_init),
31037 (start_typefinding), (stop_typefinding), (push_buffer_store),
31038 (gst_type_find_element_handle_event),
31039 (gst_type_find_element_chain),
31040 (gst_type_find_element_checkgetrange),
31041 (gst_type_find_element_getrange), (do_typefind),
31042 (gst_type_find_element_activate),
31043 (gst_type_find_element_change_state):
31044 * gst/elements/gsttypefindelement.h:
31045 * gst/gstpipeline.c: (pipeline_bus_handler):
31046 Added typefind helper.
31047 Small preroll fix in the base sink.
31048 Disable typefind code in basesrc.
31049 Crude port of typefindelement.
31053 2005-04-11 Wim Taymans <wim@fluendo.com>
31055 * check/gst/gstbus.c: (gstbus_suite):
31056 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31057 * check/gstcheck.h:
31058 Fix up the timeout so that the test does not fail.
31060 2005-04-06 Wim Taymans <wim@fluendo.com>
31063 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31064 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31065 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31066 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31067 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31068 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31069 (gst_basesrc_stop), (gst_basesrc_activate),
31070 (gst_basesrc_change_state), (basesrc_find_peek),
31071 (basesrc_find_suggest), (gst_basesrc_type_find):
31072 * gst/base/gstbasesrc.h:
31073 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31074 (gst_filesrc_class_init), (gst_filesrc_init),
31075 (gst_filesrc_finalize), (gst_filesrc_set_location),
31076 (gst_filesrc_set_property), (gst_filesrc_get_property),
31077 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31078 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31079 (gst_filesrc_create_read), (gst_filesrc_create),
31080 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31081 * gst/elements/gstfilesrc.h:
31082 * gst/gstelement.c: (gst_element_get_state_func),
31083 (gst_element_lost_state), (gst_element_pads_activate):
31084 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31085 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31086 (gst_pad_pull_range):
31088 More work on the generic source base class, implement seeking,
31090 Make filesrc extend the base source class.
31091 Added gst_pad_set_checkgetrange_function to GstPad.
31093 2005-04-06 Andy Wingo <wingo@pobox.com>
31095 * pkgconfig/gstreamer-base.pc.in:
31096 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31098 * pkgconfig/Makefile.am:
31099 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31101 2005-04-04 Wim Taymans <wim@fluendo.com>
31103 * gst/base/Makefile.am:
31105 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31106 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31107 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31108 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31109 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31110 (gst_basesrc_base_init), (gst_basesrc_class_init),
31111 (gst_basesrc_init), (gst_basesrc_get_formats),
31112 (gst_basesrc_get_query_types), (gst_basesrc_query),
31113 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31114 (gst_basesrc_set_property), (gst_basesrc_get_property),
31115 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31116 (gst_basesrc_loop), (gst_basesrc_activate),
31117 (gst_basesrc_change_state):
31118 * gst/base/gstbasesrc.h:
31119 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31120 (gst_fakesrc_class_init), (gst_fakesrc_init),
31121 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31122 (gst_fakesrc_get_property), (gst_fakesrc_create):
31123 * gst/elements/gstfakesrc.h:
31124 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31125 (gst_filesrc_open_file), (gst_filesrc_loop),
31126 (gst_filesrc_activate), (filesrc_find_peek),
31127 (gst_filesrc_type_find):
31128 Made base source class, make fakesrc extend it.
31129 Add comments to basesink class.
31130 Some filesrc cleanup.
31132 2005-03-31 David Schleef <ds@schleef.org>
31134 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31135 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31136 expected to link against libgstreamer.
31137 * gst/base/Makefile.am: link against libgstreamer
31138 * gst/elements/Makefile.am: same
31140 2005-03-31 Andy Wingo <wingo@pobox.com>
31142 * tests/instantiate/Makefile.am:
31143 * tests/instantiate/caps.c: Add test to test speed of caps copy
31146 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31147 GMemChunk to be fair.
31149 * gst/gsttrashstack.h: Remove warning about using the fallback
31150 trash stack implementation, it's still faster than malloc.
31152 2005-03-30 Andy Wingo <wingo@pobox.com>
31154 * tests/complexity.c: Add a copyright.
31156 2005-03-31 Wim Taymans <wim@fluendo.com>
31158 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31159 (gst_base_transform_class_init), (gst_base_transform_init),
31160 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31161 (gst_base_transform_get_property),
31162 (gst_base_transform_sink_activate),
31163 (gst_base_transform_src_activate),
31164 (gst_base_transform_change_state):
31165 * gst/base/gstbasetransform.h:
31166 * gst/elements/gstidentity.c: (gst_identity_class_init),
31167 (gst_identity_event), (gst_identity_check_perfect),
31168 (gst_identity_transform), (gst_identity_start),
31169 (gst_identity_stop):
31170 Added start/stop methods to transform base class so subclasses
31171 don't need to deal with state changes even.
31173 2005-03-31 Wim Taymans <wim@fluendo.com>
31175 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31176 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31178 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31179 (gst_pad_pull_range):
31180 Added rate to the discont event to prepare for variable speed
31181 and reverse playback.
31183 2005-03-29 David Schleef <ds@schleef.org>
31186 * testsuite/trigger/Makefile.am:
31187 * testsuite/trigger/trigger.c: A little example program to show
31188 how trigger-based elements can work.
31190 2005-03-29 Wim Taymans <wim@fluendo.com>
31192 * gst/base/Makefile.am:
31194 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31195 (gst_basesink_base_init), (gst_basesink_class_init),
31196 (gst_basesink_pad_getcaps), (gst_basesink_init),
31197 (gst_basesink_activate), (gst_basesink_change_state):
31198 * gst/base/gstbasesink.h:
31199 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31200 (gst_base_transform_base_init), (gst_base_transform_finalize),
31201 (gst_base_transform_class_init), (gst_base_transform_init),
31202 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31203 (gst_base_transform_event), (gst_base_transform_getrange),
31204 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31205 (gst_base_transform_set_property),
31206 (gst_base_transform_get_property),
31207 (gst_base_transform_sink_activate),
31208 (gst_base_transform_src_activate),
31209 (gst_base_transform_change_state):
31210 * gst/base/gstbasetransform.h:
31211 * gst/elements/gstidentity.c: (gst_identity_finalize),
31212 (gst_identity_class_init), (gst_identity_init),
31213 (gst_identity_event), (gst_identity_check_perfect),
31214 (gst_identity_transform), (gst_identity_set_property),
31215 (gst_identity_get_property), (gst_identity_change_state):
31216 * gst/elements/gstidentity.h:
31217 * gst/gstelement.c: (gst_element_get_state_func),
31218 (gst_element_lost_state), (gst_element_pads_activate):
31219 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31220 (gst_pad_check_pull_range), (gst_pad_pull_range):
31222 Simplify pad activation.
31223 Added function to check if pull_range can be performed.
31224 Error out when pulling inactive or flushing pads.
31225 Removed const from refcounted types as it does not make sense.
31226 Simplify pad templates in basesink
31227 Added base class for simple 1-to-1 transforms.
31228 Make identity subclass the base transform.
31230 2005-03-29 Andy Wingo <wingo@pobox.com>
31232 * docs/libs/gstreamer-libs-overrides.txt:
31233 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31234 really don't understand what's going on, but like whatever. I want
31237 * docs/gst/Makefile.am:
31238 * docs/libs/Makefile.am: Dist the overrides files.
31240 * check/Makefile.am (clean-local): Remove .libs directories.
31242 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31243 elements to EXTRA_DIST, so po/ files are happy.
31245 * po/POTFILES.in: Er, remove it here.
31247 * po/POTFILES: Remove gstspider.c.
31249 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31251 * docs/libs/gstreamer-libs-docs.sgml:
31252 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31255 * tests/complexity.c (main): Set the length of the preroll queue
31256 on the sinks to prevent a lockup.
31258 * libs/gst/dataprotocol/Makefile.am:
31259 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31260 the same as the one in check/gst-libs/gdp.c.
31262 * po/, docs/gst/: Commit automatic changes to docs and po files.
31264 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31265 the versioned libgstbase.
31267 * check/Makefile.am: Depend on an unversioned gst-register, seems
31268 to make autoconf happier.
31270 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31272 2005-03-28 Wim Taymans <wim@fluendo.com>
31275 * docs/design/part-gstelement.txt:
31276 * docs/design/part-negotiation.txt:
31277 * docs/design/part-preroll.txt:
31278 * docs/design/part-scheduling.txt:
31279 * docs/design/part-states.txt:
31281 * gst/base/Makefile.am:
31283 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31284 (gst_basesink_base_init), (gst_basesink_class_init),
31285 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31286 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31287 (gst_basesink_set_pad_functions),
31288 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31289 (gst_basesink_set_property), (gst_basesink_get_property),
31290 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31291 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31292 (gst_basesink_preroll_queue_push),
31293 (gst_basesink_preroll_queue_empty),
31294 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31295 (gst_basesink_event), (gst_basesink_get_times),
31296 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31297 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31298 (gst_basesink_loop), (gst_basesink_activate),
31299 (gst_basesink_change_state):
31300 * gst/base/gstbasesink.h:
31301 * gst/elements/Makefile.am:
31302 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31303 (gst_fakesink_class_init), (gst_fakesink_init),
31304 (gst_fakesink_set_property), (gst_fakesink_get_property),
31305 (gst_fakesink_get_times), (gst_fakesink_event),
31306 (gst_fakesink_preroll), (gst_fakesink_render),
31307 (gst_fakesink_change_state):
31308 * gst/elements/gstfakesink.h:
31309 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31310 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31311 * gst/gstelement.c: (gst_element_add_pad),
31312 (gst_element_get_state_func), (gst_element_abort_state),
31313 (gst_element_commit_state), (gst_element_lost_state),
31314 (gst_element_set_state), (gst_element_pads_activate):
31315 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31316 * gst/gstpipeline.c: (gst_pipeline_send_event),
31317 (gst_pipeline_change_state):
31318 Added state change code.
31319 Added/updated docs.
31320 Added sink base class, make fakesink extend the base class.
31321 Small cleanups in GstPipeline.
31323 2005-03-26 David Schleef <ds@schleef.org>
31325 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31326 is broken and should be implemented in a different library.
31327 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31328 * gst/gst.h: remove gstcpu.h
31329 * gst/gstcpu.c: remove
31330 * gst/gstcpu.h: remove
31331 * gst/Makefile.am.future: Remove this file. It's ancient.
31333 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31335 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31336 (gst_bin_send_event):
31337 Add default event/set_manager handlers. The set_manager handler
31338 takes care that the manager is distributed over kids that were
31339 already in the bin before the manager was set. The event handler
31340 is a utility virtual function that sends the event over all sinks,
31341 so that gst_element_send_event (bin, event); has the expected
31343 * gst/gstpad.c: (gst_pad_event_default):
31344 Re-install default event handling for discontinuities, so that
31345 seeking works without requiring hacks in applications or extra
31347 * gst/gstpipeline.c: (gst_pipeline_class_init),
31348 (gst_pipeline_send_event):
31349 Half hack, half utility: set a pipeline to PAUSED for seek events,
31350 since that is the only way we can guarantee a/v sync. Means that
31351 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31352 and it "just works".
31354 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31356 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31357 Lock/unlock mismatch.
31359 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31361 * docs/faq/gst-uninstalled:
31362 add gst-plugins-base
31363 * docs/gst/Makefile.am:
31364 don't error out until docs are fixed
31365 * docs/gst/gstreamer.types:
31368 2005-03-22 Wim Taymans <wim@fluendo.com>
31370 * check/Makefile.am:
31371 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31372 * gst/gststructure.c: (gst_structure_set_valist),
31373 (gst_structure_copy_conditional):
31374 Activated more tests.
31375 Added message test.
31376 Added G_TYPE_POINTER to GstStructure.
31379 2005-03-22 Wim Taymans <wim@fluendo.com>
31381 * docs/design/part-TODO.txt:
31382 * docs/design/part-events.txt:
31383 * docs/design/part-gstbin.txt:
31384 * docs/design/part-gstbus.txt:
31385 * docs/design/part-gstpipeline.txt:
31386 * docs/design/part-messages.txt:
31388 * gst/gstmessage.c:
31391 2005-03-21 Wim Taymans <wim@fluendo.com>
31393 * gst/gstbus.c: (gst_bus_post):
31394 Fix copy-and-paste error.
31396 2005-03-21 Wim Taymans <wim@fluendo.com>
31398 * check/Makefile.am:
31400 * gst/elements/Makefile.am:
31401 * gst/elements/gstelements.c:
31402 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31403 (gst_fakesink_event), (gst_fakesink_chain):
31404 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31405 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31406 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31407 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31408 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31409 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31410 (gst_fakesrc_loop), (gst_fakesrc_activate),
31411 (gst_fakesrc_change_state):
31412 * gst/elements/gstfakesrc.h:
31413 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31414 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31415 (gst_filesrc_open_file), (gst_filesrc_loop),
31416 (gst_filesrc_activate), (gst_filesrc_change_state),
31417 (filesrc_find_peek), (filesrc_find_suggest),
31418 (gst_filesrc_type_find):
31419 * gst/elements/gstidentity.c: (gst_identity_finalize),
31420 (gst_identity_class_init), (gst_identity_init),
31421 (gst_identity_proxy_getcaps), (identity_queue_push),
31422 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31423 (gst_identity_getrange), (gst_identity_chain),
31424 (gst_identity_sink_loop), (gst_identity_src_loop),
31425 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31426 (gst_identity_set_property), (gst_identity_get_property),
31427 (gst_identity_change_state):
31428 * gst/elements/gstidentity.h:
31429 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31430 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31431 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31432 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31433 (gst_tee_sink_activate):
31434 * gst/elements/gsttee.h:
31435 * gst/gst.c: (gst_register_core_elements), (init_post):
31437 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31438 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31439 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31440 (gst_bin_change_state):
31442 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31443 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31444 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31445 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31446 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31447 (bus_watch_callback), (bus_watch_destroy),
31448 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31449 (poll_timeout), (gst_bus_poll):
31453 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31454 (gst_element_post_message), (gst_element_message_full),
31455 (gst_element_get_state_func), (gst_element_get_state),
31456 (gst_element_abort_state), (gst_element_commit_state),
31457 (gst_element_lost_state), (gst_element_set_state),
31458 (gst_element_pads_activate), (gst_element_change_state),
31459 (gst_element_dispose), (gst_element_set_manager_func),
31460 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31461 (gst_element_set_manager), (gst_element_get_manager),
31462 (gst_element_set_bus), (gst_element_get_bus),
31463 (gst_element_set_scheduler), (gst_element_get_scheduler):
31464 * gst/gstelement.h:
31465 * gst/gstevent.c: (gst_event_new_segment_seek),
31466 (gst_event_new_flush):
31468 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31469 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31470 (gst_message_new_eos), (gst_message_new_error),
31471 (gst_message_new_warning), (gst_message_new_tag),
31472 (gst_message_new_state_changed), (gst_message_new_application),
31473 (gst_message_get_structure), (gst_message_parse_tag),
31474 (gst_message_parse_state_changed), (gst_message_parse_error),
31475 (gst_message_parse_warning):
31476 * gst/gstmessage.h:
31477 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31478 (gst_real_pad_set_property), (gst_pad_set_active),
31479 (gst_pad_is_active), (gst_pad_set_blocked_async),
31480 (gst_pad_set_blocked), (gst_pad_is_blocked),
31481 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31482 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31483 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31484 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31485 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31486 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31487 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31488 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31489 (gst_pad_set_caps), (gst_pad_configure_sink),
31490 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31491 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31492 (gst_real_pad_dispose), (gst_real_pad_finalize),
31493 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31494 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31495 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31497 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31498 (pipeline_bus_handler), (gst_pipeline_change_state),
31499 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31500 * gst/gstpipeline.h:
31502 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31503 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31504 (gst_queue_link_src), (gst_queue_bufferalloc),
31505 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31506 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31507 (gst_queue_loop), (gst_queue_handle_src_event),
31508 (gst_queue_handle_src_query), (gst_queue_src_activate),
31509 (gst_queue_change_state):
31511 * gst/gstscheduler.c: (gst_scheduler_init),
31512 (gst_scheduler_dispose), (gst_scheduler_create_task),
31513 (gst_scheduler_factory_create):
31514 * gst/gstscheduler.h:
31515 * gst/gststructure.c: (gst_structure_get_type),
31516 (gst_structure_copy_conditional):
31517 * gst/gststructure.h:
31518 * gst/gsttaginterface.h:
31519 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31520 (gst_task_init), (gst_task_dispose), (gst_task_create),
31521 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31527 * gst/schedulers/Makefile.am:
31528 * gst/schedulers/cothreads_compat.h:
31529 * gst/schedulers/entryscheduler.c:
31530 * gst/schedulers/faircothreads.c:
31531 * gst/schedulers/faircothreads.h:
31532 * gst/schedulers/fairscheduler.c:
31533 * gst/schedulers/gstbasicscheduler.c:
31534 * gst/schedulers/gstoptimalscheduler.c:
31535 * gst/schedulers/gthread-cothreads.h:
31536 * gst/schedulers/threadscheduler.c:
31537 (gst_thread_scheduler_task_get_type),
31538 (gst_thread_scheduler_task_class_init),
31539 (gst_thread_scheduler_task_init),
31540 (gst_thread_scheduler_task_start),
31541 (gst_thread_scheduler_task_stop),
31542 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31543 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31544 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31545 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31547 * libs/gst/Makefile.am:
31548 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31549 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31550 (gst_file_pad_parent_set):
31551 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31552 (gst_dp_event_from_packet):
31553 * tests/complexity.c: (main):
31554 * tests/mass_elements.c: (main):
31555 * testsuite/states/locked.c: (message_received), (main):
31556 * testsuite/states/parent.c: (main):
31557 * tools/gst-inspect.c: (print_element_flag_info),
31558 (print_implementation_info), (print_pad_info):
31559 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31561 * tools/gst-md5sum.c: (event_loop), (main):
31562 * tools/gst-typefind.c: (main):
31563 * tools/gst-xmlinspect.c: (print_element_info):
31565 Added GstBus for mainloop integration.
31566 Added GstMessage for sending notifications on the bus.
31567 Added GstTask as an abstraction for pipeline entry points.
31569 Removed Schedulers.
31570 Simplified GstQueue for multithreaded core.
31571 Made _link threadsafe, removed old capsnego.
31572 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31573 Added pad blocking functions.
31574 Reworked scheduling functions in GstPad to prepare for
31575 scheduling updates soon.
31576 Moved events out of data stream.
31577 Simplified GstEvent types.
31578 Added return values to push/pull.
31579 Removed clocking from GstElement.
31580 Added prototypes for state change function for next merge.
31581 Removed iterate from bins and state change management.
31582 Fixed some elements, disabled others for now.
31583 Fixed -inspect and -launch.
31584 Added check for GstBus.
31586 2005-03-10 Wim Taymans <wim@fluendo.com>
31588 * docs/design/part-MT-refcounting.txt:
31589 * docs/design/part-clocks.txt:
31590 * docs/design/part-gstelement.txt:
31591 * docs/design/part-gstobject.txt:
31592 * docs/design/part-standards.txt:
31593 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31594 (gst_bin_remove_func), (gst_bin_remove):
31598 * testsuite/clock/clock1.c: (main):
31599 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31601 * testsuite/dlopen/loadgst.c: (do_test):
31602 * testsuite/refcounting/bin.c: (add_remove_test1),
31603 (add_remove_test2), (main):
31604 * testsuite/refcounting/element.c: (main):
31605 * testsuite/refcounting/element_pad.c: (main):
31606 * testsuite/refcounting/pad.c: (main):
31607 * tools/gst-launch.c: (sigint_handler_sighandler):
31608 * tools/gst-typefind.c: (main):
31610 Added doc about clock.
31611 removed gst_bin_iterate_recurse_up(), marked methods
31613 Fix more testsuites.
31615 2005-03-09 Wim Taymans <wim@fluendo.com>
31617 * gst/gstpad.c: (gst_pad_get_direction),
31618 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31619 (gst_pad_collect_valist):
31620 * testsuite/bins/interface.c: (main):
31621 * testsuite/caps/audioscale.c: (test_caps):
31622 * testsuite/caps/caps.c: (test1), (test2), (test3):
31623 * testsuite/caps/deserialize.c: (main):
31624 * testsuite/caps/enumcaps.c: (main):
31625 * testsuite/caps/filtercaps.c: (main):
31626 * testsuite/caps/intersect2.c: (main):
31627 * testsuite/caps/random.c: (main):
31628 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31629 * testsuite/caps/sets.c: (check_caps):
31630 * testsuite/caps/simplify.c: (check_caps), (main):
31631 * testsuite/caps/subtract.c: (check_caps):
31632 Fix _pad_get_direction wrt ghostpads.
31633 Fix caps testsuite.
31635 2005-03-09 Wim Taymans <wim@fluendo.com>
31637 * check/Makefile.am:
31638 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31639 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31640 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31641 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31642 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31643 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31644 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31645 (bin_element_is_sink), (gst_bin_iterate_sinks),
31646 (gst_bin_iterate_all_by_interface):
31648 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31649 (gst_element_change_state), (gst_element_dispose),
31650 (gst_element_finalize), (gst_element_set_loop_function):
31651 * gst/gstelement.h:
31652 * gst/gstiterator.c: (find_custom_fold_func):
31653 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31654 (gst_pad_collectv), (gst_pad_collect_valist),
31655 (gst_pad_template_new):
31656 * gst/gstpipeline.c: (gst_pipeline_class_init),
31657 (gst_pipeline_dispose), (gst_pipeline_set_property),
31658 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31659 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31660 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31662 * gst/schedulers/entryscheduler.c:
31663 * gst/schedulers/gstbasicscheduler.c:
31664 (gst_basic_scheduler_cothreaded_chain),
31665 (gst_basic_scheduler_chain_add_element):
31666 * testsuite/bins/interface.c: (main):
31668 Added GstSystemClock test.
31669 Implemented clock distribution code in GstBin.
31670 Implemented iterate sinks method for future use.
31671 Rearranged gstelement.h
31672 Fix GstIterator comparison bug.
31673 Moved some code to GstPipeline, mostly clocking related.
31675 2005-03-09 Wim Taymans <wim@fluendo.com>
31678 * gst/gst_private.h:
31679 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31680 (gst_bin_remove_func), (gst_bin_remove),
31681 (gst_bin_get_by_name_recurse_up):
31682 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31683 (gst_clock_id_compare_func), (gst_clock_id_wait),
31684 (gst_clock_id_wait_async), (gst_clock_init),
31685 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31686 * gst/gstelement.h:
31687 * gst/gstinfo.c: (_gst_debug_init):
31689 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31690 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31692 Bump version number, we're now 0.9.0
31693 Add future debugging category.
31694 Fix NULL _unref() in _get_by_name_recurse_up
31695 Rearrange gstpad.h.
31698 2005-03-08 Wim Taymans <wim@fluendo.com>
31700 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31701 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31702 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31703 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31704 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31705 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31706 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31707 * gst/elements/gstidentity.c: (gst_identity_class_init):
31708 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31709 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31710 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31711 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31712 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31714 * gst/gstelement.c: (gst_element_class_init),
31715 (gst_element_base_class_init), (gst_element_init),
31716 (gst_element_get_random_pad), (gst_element_wait_state_change),
31717 (gst_element_change_state), (gst_element_dispose),
31718 (gst_element_finalize), (gst_element_set_loop_function):
31719 * gst/gstelement.h:
31720 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31721 * gst/gstthread.c: (gst_thread_class_init),
31722 (gst_thread_release_children_locks), (gst_thread_change_state):
31723 * gst/schedulers/gstbasicscheduler.c:
31724 (gst_basic_scheduler_loopfunc_wrapper),
31725 (gst_basic_scheduler_chain_wrapper),
31726 (gst_basic_scheduler_src_wrapper),
31727 (gst_basic_scheduler_remove_element):
31728 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31729 Remove threadsafe properties. Fix elements because GObject
31730 complains when installing a property before declaring a
31731 set/get_property handler.
31732 Rearrange gstelement.h file, use STATE macros for state locks.
31733 Free mutexes in the finalize method instead of dispose.
31735 2005-03-08 Wim Taymans <wim@fluendo.com>
31737 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31738 * gst/gstthread.c: (gst_thread_release_children_locks):
31739 Added parentage check.
31740 Fix build og GstThread again.
31742 2005-03-08 Wim Taymans <wim@fluendo.com>
31744 * docs/design/part-MT-refcounting.txt:
31745 * docs/design/part-conventions.txt:
31746 * docs/design/part-gstobject.txt:
31747 * docs/design/part-relations.txt:
31748 * docs/design/part-standards.txt:
31749 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31750 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31751 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31752 (gst_bin_iterate_all_by_interface):
31755 * gst/gstelement.c: (gst_element_class_init),
31756 (gst_element_change_state), (gst_element_set_loop_function):
31757 * gst/gstelement.h:
31758 * gst/gstiterator.c:
31759 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31760 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31761 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31762 (gst_object_set_parent), (gst_object_unparent),
31763 (gst_object_check_uniqueness):
31765 Docs updates, clean up some headers.
31767 2005-03-07 Wim Taymans <wim@fluendo.com>
31769 * check/.cvsignore:
31770 * check/Makefile.am:
31771 * check/gst-libs/.cvsignore:
31772 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31773 * check/gst/.cvsignore:
31774 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31775 (START_TEST), (gstbus_suite), (main):
31776 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31777 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31778 (gst_data_suite), (main):
31779 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31780 (add_fold_func), (gstiterator_suite), (main):
31781 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31782 (thread_name_object), (thread_name_object_default),
31783 (gst_object_name_compare), (gst_object_suite), (main):
31784 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31785 (gst_pad_suite), (main):
31786 * check/gstcheck.c: (gst_check_log_message_func),
31787 (gst_check_log_critical_func), (gst_check_init):
31788 * check/gstcheck.h:
31789 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31790 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31793 2005-03-07 Wim Taymans <wim@fluendo.com>
31795 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31796 (gst_list_iterator_next), (gst_list_iterator_resync),
31797 (gst_list_iterator_free), (gst_iterator_new_list),
31798 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31799 (gst_iterator_free), (gst_iterator_push), (filter_next),
31800 (filter_resync), (filter_uninit), (filter_free),
31801 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31802 (gst_iterator_foreach), (find_custom_fold_func),
31803 (gst_iterator_find_custom):
31804 * gst/gstiterator.h:
31805 Added missing files.
31807 2005-03-07 Wim Taymans <wim@fluendo.com>
31811 * docs/design/part-MT-refcounting.txt:
31812 * docs/design/part-conventions.txt:
31813 * docs/design/part-gstobject.txt:
31814 * docs/design/part-relations.txt:
31815 * examples/mixer/mixer.c: (main):
31816 * examples/thread/thread.c: (eos), (main):
31818 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31819 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31820 (gst_spider_plug_from_srcpad):
31821 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31822 (gst_spider_identity_change_state),
31823 (gst_spider_identity_sink_loop_type_finding):
31824 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31825 * gst/elements/gstidentity.c: (gst_identity_init):
31826 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31827 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31828 * gst/elements/gsttypefindelement.c: (free_entry):
31831 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31832 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31833 (gst_bin_set_index), (gst_bin_set_element_sched),
31834 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31835 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31836 (gst_bin_iterate_elements), (iterate_child_recurse),
31837 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31838 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31839 (compare_interface), (gst_bin_get_by_interface),
31840 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31842 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31843 (gst_buffer_default_free), (gst_buffer_default_copy),
31844 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31845 (gst_buffer_create_sub):
31847 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31848 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31849 (gst_caps_unref), (gst_static_caps_get),
31850 (gst_caps_remove_and_get_structure), (gst_caps_append),
31851 (gst_caps_append_structure), (gst_caps_remove_structure),
31852 (gst_caps_copy_nth), (gst_caps_set_simple),
31853 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31854 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31855 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31856 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31857 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31858 (gst_caps_structure_figure_out_union),
31859 (gst_caps_switch_structures), (gst_caps_do_simplify),
31860 (gst_caps_replace), (gst_caps_from_string),
31861 (gst_caps_copy_conditional):
31863 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31864 (_gst_clock_id_free), (gst_clock_id_unref),
31865 (gst_clock_id_compare_func), (gst_clock_id_wait),
31866 (gst_clock_id_wait_async), (gst_clock_class_init),
31867 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31868 (gst_clock_get_time), (gst_clock_set_time_adjust),
31869 (gst_clock_set_property), (gst_clock_get_property):
31872 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31873 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31875 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31876 (gst_element_requires_clock), (gst_element_provides_clock),
31877 (gst_element_set_clock), (gst_element_clock_wait),
31878 (gst_element_wait), (gst_element_set_time_delay),
31879 (gst_element_is_indexable), (gst_element_add_pad),
31880 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31881 (pad_compare_name), (gst_element_get_static_pad),
31882 (gst_element_request_pad), (gst_element_get_request_pad),
31883 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31884 (gst_element_class_get_pad_template_list),
31885 (gst_element_class_get_pad_template), (gst_element_error_func),
31886 (gst_element_get_random_pad), (gst_element_get_event_masks),
31887 (gst_element_send_event), (gst_element_seek),
31888 (gst_element_get_query_types), (gst_element_query),
31889 (gst_element_get_formats), (gst_element_convert),
31890 (gst_element_is_locked_state), (gst_element_set_locked_state),
31891 (gst_element_sync_state_with_parent), (gst_element_change_state),
31892 (gst_element_finalize), (gst_element_yield),
31893 (gst_element_interrupt), (gst_element_set_scheduler),
31894 (gst_element_get_scheduler), (gst_element_set_loop_function):
31895 * gst/gstelement.h:
31897 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31898 (gst_format_get_by_nick), (gst_format_get_details),
31899 (gst_format_iterate_definitions):
31901 * gst/gstindex.c: (gst_index_gtype_resolver):
31904 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31905 (gst_mem_chunk_free):
31906 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31907 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31908 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31909 (gst_object_dispatch_properties_changed),
31910 (gst_object_set_name_default), (gst_object_set_name),
31911 (gst_object_get_name), (gst_object_set_name_prefix),
31912 (gst_object_get_name_prefix), (gst_object_set_parent),
31913 (gst_object_get_parent), (gst_object_unparent),
31914 (gst_object_check_uniqueness), (gst_object_save_thyself),
31915 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31916 (gst_object_set_property), (gst_object_get_property),
31917 (gst_object_get_path_string):
31919 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31920 (gst_real_pad_init), (gst_real_pad_get_property),
31921 (gst_pad_custom_new), (gst_pad_get_direction),
31922 (gst_pad_set_active), (gst_pad_is_active),
31923 (gst_pad_set_event_function), (gst_pad_is_linked),
31924 (gst_pad_link_free), (gst_pad_link_intersect),
31925 (gst_pad_link_fixate), (gst_pad_set_caps),
31926 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31927 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31928 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31929 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31930 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31931 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31932 (gst_pad_realize), (gst_pad_get_allowed_caps),
31933 (gst_real_pad_dispose), (gst_real_pad_finalize),
31934 (gst_pad_collectv), (gst_pad_collect_valist),
31935 (gst_pad_template_dispose), (gst_pad_template_new),
31936 (gst_pad_get_internal_links):
31938 * gst/gstpipeline.c: (gst_pipeline_dispose),
31939 (gst_pipeline_change_state):
31940 * gst/gstpipeline.h:
31942 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31943 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31944 * gst/gstpluginfeature.h:
31945 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31946 * gst/gstquery.c: (_gst_query_type_initialize),
31947 (gst_query_type_register), (gst_query_type_get_by_nick),
31948 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31950 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31951 * gst/gstscheduler.c: (gst_scheduler_add_element),
31952 (gst_scheduler_factory_create):
31953 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31954 (gst_structure_free), (gst_structure_set_name),
31955 (gst_structure_id_set_value), (gst_structure_set_value),
31956 (gst_structure_set_valist), (gst_structure_remove_field),
31957 (gst_structure_remove_fields),
31958 (gst_structure_remove_fields_valist),
31959 (gst_structure_remove_all_fields), (gst_structure_foreach),
31960 (gst_structure_map_in_place),
31961 (gst_caps_structure_fixate_field_nearest_int),
31962 (gst_caps_structure_fixate_field_nearest_double):
31963 * gst/gststructure.h:
31964 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31965 (gst_system_clock_init), (gst_system_clock_dispose),
31966 (gst_system_clock_async_thread),
31967 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31968 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31969 * gst/gstsystemclock.h:
31970 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31971 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31972 * gst/gsttaginterface.c:
31973 * gst/gstthread.c: (gst_thread_dispose),
31974 (gst_thread_release_children_locks), (gst_thread_change_state),
31975 (gst_thread_main_loop):
31976 * gst/gsttrashstack.h:
31977 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31979 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31980 (gst_element_request_pad), (gst_element_get_pad_from_template),
31981 (gst_element_request_compatible_pad),
31982 (gst_element_get_compatible_pad_filtered),
31983 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31984 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31985 (gst_element_link_many), (gst_element_link),
31986 (gst_element_link_pads), (gst_element_unlink_pads),
31987 (gst_element_unlink_many), (gst_element_unlink),
31988 (gst_pad_can_link_filtered), (gst_pad_can_link),
31989 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31990 (gst_object_default_error), (gst_bin_add_many),
31991 (gst_bin_remove_many), (gst_element_populate_std_props),
31992 (gst_element_class_install_std_props), (gst_buffer_merge),
31993 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31994 (link_fold_func), (gst_pad_proxy_setcaps):
31996 * gst/gstvalue.c: (gst_value_deserialize_string):
31997 * gst/parse/grammar.y:
31998 * gst/schedulers/gstbasicscheduler.c:
31999 (gst_basic_scheduler_cothreaded_chain),
32000 (gst_basic_scheduler_chain_recursive_add),
32001 (gst_basic_scheduler_pad_link):
32002 * gst/schedulers/gstoptimalscheduler.c:
32003 (get_group_schedule_function),
32004 (gst_opt_scheduler_state_transition),
32005 (gst_opt_scheduler_add_element), (element_get_reachables_func):
32006 * libs/gst/bytestream/bytestream.c:
32007 * libs/gst/dataprotocol/dataprotocol.c:
32008 (gst_dp_header_from_buffer):
32011 * tests/threadstate/threadstate2.c: (eos):
32012 * tools/gst-compprep.c: (main):
32013 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32014 (print_pad_info), (print_children_info):
32015 * tools/gst-launch.c: (idle_func), (main):
32016 * tools/gst-md5sum.c: (idle_func), (main):
32017 * tools/gst-xmlinspect.c: (print_element_info):
32018 First THREADED backport attempt, focusing on adding locks and
32019 making sure the API is threadsafe. Needs more work. More docs
32022 2005-02-24 Andy Wingo <wingo@pobox.com>
32024 * tests/bench-complexity.scm:
32025 * tests/complexity.gnuplot: New files, good for running complexity
32028 * tests/Makefile.am:
32029 * tests/complexity.c: New test, sets up N elements, at each level
32030 teeing into M streams per element. Eeeenteresting.
32032 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32033 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32034 running bench-mass_elements.scm.
32036 * tests/bench-mass_elements.scm: New script, runs mass_elements
32037 for various numbers of identities, outputting the results to a
32038 file. Requires guile 1.6. Just for testing.
32040 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
32042 * gst/schedulers/fairscheduler.c:
32043 compile with debug disabled
32045 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32048 hunting season on 0.9 is now OPEN