1 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
3 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
4 Check for changed pads-list before checking the last returned
5 GstFlowReturn because the pad could have been removed and we
6 need to ignore the value in that case.
8 2008-12-08 Wim Taymans <wim.taymans@collabora.co.uk>
10 * libs/gst/base/gstbasetransform.c:
11 (gst_base_transform_prepare_output_buffer),
12 (gst_base_transform_getrange), (gst_base_transform_chain):
13 * libs/gst/base/gstbasetransform.h:
14 Add vmethod that is called before we start the transform and which can
15 be used to configure the transform, such as dynamic properties.
17 2008-12-05 David Schleef <ds@schleef.org>
20 Search for plugins on win32 based on the location of the
21 gstreamer DLL. Fixes #548786
23 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
26 Apparently AC_CONFIG_MACRO_DIR breaks when using more
27 than one macro directory, reverting last change.
29 2008-12-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
32 Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
35 2008-11-29 Sebastian Dröge <sebastian.droege@collabora.co.uk>
37 Patch by: Cygwin Ports maintainer
38 <yselkowitz at users dot sourceforge dot net>
42 Require gettext 0.17 because older versions don't mix with libtool
43 2.2. At build time an older gettext version will still work.
46 2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
48 Patch by: 이문형 <iwings at gmail dot com>
50 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
51 Adds support for FD_CONNECT event (win32). See #562258.
53 2008-11-24 Stefan Kost <ensonic@users.sf.net>
55 * libs/gst/base/gstbasesink.c:
56 Turn comment into gtk-doc comment.
58 2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
60 * libs/gst/base/gstbasetransform.c:
61 (gst_base_transform_acceptcaps):
62 Revert quick accepcaps attempt, it's not fully equivalent to the old
63 behaviour and thus causes regressions.
65 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
67 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
70 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
72 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
74 * gst/gstregistry.c: (gst_registry_scan_path_level):
75 Reduce the number of stat() calls for every file from three times
76 to one time. Fixes bug #560360.
78 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
80 * libs/gst/base/gstbasetransform.c:
81 (gst_base_transform_acceptcaps):
82 Rename a variable to make the code clearer.
84 2008-11-21 Stefan Kost <ensonic@users.sf.net>
86 * plugins/elements/gstidentity.c:
87 Don't warning on offset==-1. Taken from _check_imperfect_offset().
89 2008-11-21 Michael Smith <msmith@songbirdnest.com>
91 * plugins/elements/gstfilesrc.c:
92 Check for localhost in URI was backwards, fix it. Fixes unit test.
94 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
96 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
97 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
98 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
99 Add beginnings of a more optimized acceptcaps function than the default
102 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
104 * gst/gstpad.c: (gst_pad_accept_caps):
105 Avoid getting the acceptcaps function too early.
107 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
109 * tools/gst-launch.c: (event_loop):
110 Make gst-launch handle LATENCY messages and make it recalculate the
113 2008-11-20 Michael Smith <msmith@songbirdnest.com>
115 * plugins/elements/gstfilesrc.c:
116 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
117 out own slightly incorrect version. Fixes use of some paths on
120 2008-11-20 Michael Smith <msmith@songbirdnest.com>
122 * gst/gstregistrybinary.c:
123 In win32 codepath, if we fail to write the registry, create the
124 directory for it and try again, matching the behaviour in non-win32
127 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
129 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
130 Changing the render delay changes the latency and so we must post a
133 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
137 Add GstQueryType for custom queries instead of having to use the
138 not-so-very-convenient registration infrastructure to register new
141 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
143 Patch by: Andrew Feren <acferen at yahoo dot com>
145 * gst/gstobject.c: (gst_object_default_deep_notify):
146 Unref the GEnumClass after usage again. Fixes bug #561501.
148 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
150 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
151 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
152 (gst_bin_change_state_func):
154 Add do-latency signal with the old default fallback implementation. This
155 allows for custom latency calculations for when the default is not
157 API: GstBin::do-latency signal.
159 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
161 * win32/common/libgstreamer.def:
162 Add new symbols to .def file.
164 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
166 * docs/gst/gstreamer-sections.txt:
167 * gst/gstbin.c: (gst_bin_recalculate_latency),
168 (gst_bin_change_state_func):
170 Add method to recalculate and redistribute the latency on a bin.
171 API: gst_bin_recalculate_latency().
173 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
176 Document the free_func.
178 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
180 * libs/gst/controller/gstinterpolation.c:
181 * libs/gst/controller/gstlfocontrolsource.c:
182 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
183 as it is mapped to a cast on non-win32 platforms.
185 2008-11-17 Stefan Kost <ensonic@users.sf.net>
187 * libs/gst/controller/gstcontroller.c:
188 * libs/gst/controller/gstcontrollerprivate.h:
189 Keep last-value and only call set_property if value has changed. This
190 supresses all the g_object_notifies we would trigger otherwise. It
191 also allows the user to chage the value while there is no controller
194 2008-11-17 Stefan Kost <ensonic@users.sf.net>
197 Don't crash if either of the string GValues is empty.
199 2008-11-17 Andy Wingo <wingo@pobox.com>
201 * tools/gst-inspect.c (print_all_uri_handlers): New function,
202 prints a summary of what URI schemes are supported by what
204 (main): Plumb in support for --uri-handlers or -u, and fix the
205 argc check for -a and -u.
207 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
210 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
211 conversion functions.
213 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
215 * gst/gstbuffer.c: (gst_buffer_finalize):
216 Avoid costly typechecking for trivially correct pointers.
218 * gst/gstpoll.c: (gst_poll_wait):
219 Add some G_LIKELY here and there.
221 * libs/gst/base/gstadapter.c: (gst_adapter_push):
224 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
226 * docs/random/wtay/poll-timeout:
229 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
231 * tests/old/testsuite/caps/intersection.c: (main):
232 * tests/old/testsuite/plugin/loading.c: (main):
233 Remove references to deprecated API g_mem_chunk*.
236 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
238 * tools/gst-inspect.c: (main):
239 Add --plugin option. Fixes #560301.
241 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
243 * docs/random/wtay/poll-timeout:
244 Quick braindump for a possible (not totally verified) atomic case.
246 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
248 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
249 (gst_registry_binary_initialize_magic),
250 (gst_registry_binary_write_cache),
251 (gst_registry_binary_check_magic):
252 * gst/gstregistrybinary.h:
253 Don't write and check a CRC for the binary registry file. It's
254 guaranteed that the registry is completely written (it's first written
255 to a temporary file and then moved) and if the registry was corrupted
256 by some hardware failure we would have bigger problems.
258 Bump binary registry version to 0.10.21.1 for this as it's an
259 incompatible change and to ensure that the registry gets rebuild
262 This saves some milliseconds for reading/writing the registry.
265 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
267 * docs/random/wtay/poll-timeout:
268 Some pseudo code for how we could implement clock timeouts with GstPoll.
270 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
272 * plugins/elements/gstfilesink.c:
273 Update Author string to match others.
275 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
277 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
278 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
279 being fixed and inline the trivial check.
281 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
283 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
284 (gst_caps_merge_structure), (gst_caps_get_structure),
285 (gst_caps_copy_nth), (gst_caps_set_simple),
286 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
287 (gst_caps_is_equal_fixed), (gst_caps_intersect),
288 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
289 (gst_caps_to_string):
290 Callgrind micro optimisations.
291 Avoid array bounds checks and force inline of trivial function.
293 * gst/gstobject.c: (gst_object_set_name_default):
294 -1 is equivalent to letting glib to the strlen but then there is more
295 room for optimisations and it's not our fault.
297 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
298 no need to clear the array, we're cool.
300 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
301 The most common _is_fixed() check is done on fundamental glib base
302 types so we check this first instead of doing a huge amount of
303 useless GST_TYPE_ARRAY calls.
305 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
308 Add a SKIP seek flag for use with advanced trickmodes.
309 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
311 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
313 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
314 No need to memset, we can clear the value ourselves.
316 * gst/gstvalue.c: (gst_type_is_fixed),
317 (gst_value_get_compare_func):
318 Some optimisations from a few callgrind sessions:
319 When checking if a type is fixed, check for trivial fundamental types
320 first before checking types for which we need to get the type followed
321 by the heavy duty type checks, this reduces the amount of
322 g_type_fundamental() calls a lot.
323 When getting the compare function, first check for our registered types.
324 If that fails, do the heavy duty g_type_is_a() checks, reduces the
325 amount of g_type_is_a() considerably.
327 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
329 * docs/design/part-TODO.txt:
330 Mumble something about removing GstXML.
332 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
334 * gst/gstbin.c: (gst_bin_handle_message_func):
335 Get the seqnum before we dispose the message.
337 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
339 * docs/design/part-TODO.txt:
340 Refer to the framestepping document.
342 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
344 * gst/gstbin.c: (bin_handle_async_start),
345 (gst_bin_handle_message_func), (gst_bin_query):
346 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
347 (gst_base_sink_event), (gst_base_sink_change_state):
348 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
349 (gst_base_src_loop), (gst_base_src_change_state):
350 Copy seqnums from events to messages so that they can all be related
353 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
355 * tools/gst-launch.c: (event_loop):
356 Print the message seqnums.
358 2008-11-04 Andy Wingo <wingo@pobox.com>
360 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
362 2008-11-04 Andy Wingo <wingo@pobox.com>
364 Add sequence numbers to events and messages. See #559250.
366 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
370 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
371 events with a new sequence number, and copy it when copying.
372 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
373 an event's sequence number.
376 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
377 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
380 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
382 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
384 * docs/manual/advanced-position.xml:
385 * docs/manual/basics-bins.xml:
386 * docs/manual/basics-bus.xml:
387 * docs/manual/basics-pads.xml:
388 * docs/manual/intro-gstreamer.xml:
389 * docs/manual/intro-preface.xml:
390 Some Application Development Manual fixes thanks to
391 Andrew Feren. Fixes #558459.
393 2008-11-03 Stefan Kost <ensonic@users.sf.net>
395 * gst/gstregistrybinary.c:
396 Don't bother with the GTimer if we don't output the results.
398 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
400 Patch by: David Schleef <ds@schleef.org>
402 * libs/gst/net/Makefile.am:
403 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
405 2008-10-31 Stefan Kost <ensonic@users.sf.net>
407 * gst/gstregistrybinary.c:
408 Oh my, studip, stupid me. Remove double stat() call.
410 2008-10-31 Stefan Kost <ensonic@users.sf.net>
413 Use g_unlink instead of unlink.
415 * gst/gststructure.c:
424 Formatting & whitespaces.
426 2008-10-31 Stefan Kost <ensonic@users.sf.net>
428 * plugins/elements/gstidentity.c:
429 Doc typo. Use return value of parent_class->event.
431 * plugins/elements/gsttypefindelement.c:
432 Chain up at the end for consistency.
434 2008-10-30 Stefan Kost <ensonic@users.sf.net>
437 * docs/gst/gstreamer-docs.sgml:
438 * docs/gst/gstreamer-sections.txt:
439 * docs/gst/running.xml:
440 * docs/libs/gstreamer-libs-docs.sgml:
441 Change to xinclude based build - its faster and easier to maintain.
443 2008-10-30 Stefan Kost <ensonic@users.sf.net>
445 * gst/gstregistrybinary.c:
446 * gst/gstregistryxml.c:
447 Use g_unlink() as none of these are directories.
449 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
451 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
454 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
456 * libs/gst/base/gstbasetransform.c:
457 (gst_base_transform_find_transform), (gst_base_transform_getrange):
458 If we have a fixate function, call it even if we already have fixed caps
459 because the subclass might add some caps. Makes audioconvert add a
460 default channel layout.
462 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
464 * libs/gst/base/gstbasetransform.c:
465 (gst_base_transform_prepare_output_buffer),
466 (gst_base_transform_getrange):
467 Clear the output buffer variable.
468 Cleanups to the error path in the getrange function.
471 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
473 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
474 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
475 Use gst_buffer_try_new_and_alloc() and handle errors instead of
476 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
479 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
481 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
482 Set the last_stop to a more meaningful position when configuring the
483 segment. ie. the start/stop of the segment or clipped against the
484 updated segment boundaries.
486 * tests/check/gst/gstsegment.c: (GST_START_TEST):
487 Add some unit tests for the last_stop.
489 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
491 * libs/gst/base/gstbytereader.c:
492 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
495 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
497 * docs/gst/gstreamer-sections.txt:
499 API: Move float endianness conversion macros from libgstfloatcast
500 to core as it's useful in general, even in core. Fixes bug #555196.
501 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
502 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
503 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
505 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
506 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
507 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
508 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
510 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
512 * docs/libs/gstreamer-libs-sections.txt:
513 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
514 (gst_byte_reader_peek_data):
515 * libs/gst/base/gstbytereader.h:
516 * win32/common/libgstbase.def:
517 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
518 to get a pointer to the data at the current position and have
521 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
524 Fix a bug in the output of the configure script summary
525 when --gst-disable-registry is supplied
527 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
529 * libs/gst/base/gstbitreader.c:
530 * libs/gst/base/gstbytereader.c:
531 Fix the names of 2 functions in the docs strings.
533 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
535 * libs/gst/base/gstbasetransform.c:
536 (gst_base_transform_prepare_output_buffer),
537 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
538 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
539 refcount problems as seen in banshee and maybe also in farsight2.
540 Remove atomic int now that we need to take the lock anyways.
542 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
544 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
545 (gst_base_sink_default_prepare_seek_segment),
546 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
547 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
548 (gst_base_sink_query):
549 Implement more seeking in pull mode.
550 Use pad convert functions to convert position to the requested format.
551 Fix position/duration reporting in pull mode.
552 Implement position and duration reporting in other formats than time.
554 * libs/gst/base/gstbasesink.h:
555 Add member to keep track of when the segment is playing.
557 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
559 * gst/gstpad.c: (gst_pad_configure_src):
560 When we use gst_pad_alloc_buffer() without wanting to set the caps we
561 also don't need to check if the caps are compatible because the caller
562 presumably is going to perform its own custom checks. Fixes some cases
563 where basetransform elements would error out when it was not needed.
565 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
567 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
570 * libs/gst/base/gstbasetransform.c:
571 (gst_base_transform_handle_buffer),
572 (gst_base_transform_reconfigure):
575 * win32/common/libgstbase.def:
578 2008-10-19 Stefan Kost <ensonic@users.sf.net>
580 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
581 Remove duplicated assignment and log a message in failure case.
583 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
585 Patch by: Dig Ge <dig.ge.cn at gmail com>
587 * tests/examples/helloworld/helloworld.c: (main):
588 Fix copy'n'paste bug in hello world example (#556900).
590 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
592 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
593 (gst_base_sink_query):
594 Query the total number of bytes when activating the pad in pull mode.
595 Implement duration query in pull mode by using the installed pad convert
596 function to convert from bytes to the requested format.
598 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
600 * docs/libs/gstreamer-libs-sections.txt:
601 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
602 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
603 (gst_base_sink_event), (gst_base_sink_perform_seek),
604 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
605 (gst_base_sink_send_event), (gst_base_sink_change_state):
606 * libs/gst/base/gstbasesink.h:
607 Add method to commit the state in subclasses.
608 Refactor the flush_start and flush_stop code because we need it for
609 flushing while seeking too.
610 Implement the beginnings of seeking in pull mode.
611 Use the segment last_stop field for the pulling offset.
612 Fix the pause method in pull mode.
613 Configure the segment to BYTES for pull mode.
614 API: GstBaseSink::gst_base_sink_do_preroll()
616 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
618 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
621 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
623 * gst/gstquark.c: (_priv_gst_quarks_initialize):
624 Fix printf format warning.
626 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
628 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
629 Fix flow aggregation of tee. Error out immediately for all flow returns
630 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
631 and return OK if at least one pad is linked.
633 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
634 and otherwise returned the flow return of the last pad, which is wrong.
636 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
637 (GST_START_TEST), (tee_suite):
638 Add unit tests for the flow aggregation.
640 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
642 * docs/design/part-TODO.txt:
643 Remove item from the todo list because it was fixed with the latency
644 state change rewrites.
646 * docs/design/part-seeking.txt:
647 * docs/design/part-segments.txt:
650 * gst/gstevent.c: (gst_event_new_new_segment_full),
651 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
652 (gst_event_parse_buffer_size), (gst_event_new_qos),
653 (gst_event_parse_qos), (gst_event_new_seek),
654 (gst_event_parse_seek), (gst_event_new_latency),
655 (gst_event_parse_latency):
656 Use quarks to construct and parse events.
658 * gst/gstquark.c: (_priv_gst_quarks_initialize):
660 Add some more quarks to the table.
661 Emit a warning when the quark tables are not in sync.
663 * tests/check/gst/gstbus.c: (GST_START_TEST):
666 2008-10-13 Stefan Kost <ensonic@users.sf.net>
668 * plugins/elements/Makefile.am:
669 * plugins/indexers/Makefile.am:
670 Don't install static libs for plugins. Fixes #550851 for core.
672 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
674 * gst/gstbus.c: (gst_bus_source_finalize),
675 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
676 (gst_bus_enable_sync_message_emission),
677 (gst_bus_disable_sync_message_emission),
678 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
679 Fix deadlock, g_source_get_id() cannot be called in finalize.
680 Keep track of the watch source by keeping a pointer to the source object
682 Use the bus lock to protect access to the pointer to the current
685 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
687 Base on Patch by: Olivier Crete <tester at tester dot ca>
689 * gst/gstbus.c: (gst_bus_source_finalize),
690 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
691 Only allow one bus watch to be set at a time. This is necessary
692 because the dispatcher pops the message from the bus and the second
693 watcher will then get NULL or the next message (and the first won't
694 get this next message then, etc). If more than one "watcher" is
695 required signal watches should be used. Fixes bug #526044.
697 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
699 * tools/gst-launch.c:
700 Change the printing of the 'buffering...' output to avoid putting
701 a \r in a translateable string (flagged by the TP).
703 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
706 Clarify that the save_thyself() and restore_thyself() virtual
707 functions of GstObject need to be overriden, not
708 gst_object_(save|restore)_thyself() which is impossible.
711 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
713 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
714 Revert a patch from 21 months ago that broke caps negotiation in pull
715 mode. Basically, having a buffer pass over a pad will trigger the
716 setcaps function when caps change, just like in push mode.
718 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
720 * docs/design/part-negotiation.txt:
721 Update the docs some more.
723 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
724 If we pull a buffer with non-trivial caps, suggest those caps with the
727 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
729 * docs/design/part-TODO.txt:
730 Add another limitation of pad-blocking with segment seeks not pushing
733 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
735 * win32/common/libgstbase.def:
736 * win32/common/libgstreamer.def:
737 Add new symbols to the win32 defs files
739 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
741 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
742 (gst_bin_handle_message_func):
743 The message src can be NULL, don't try to print the object names in that
746 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
747 Add some more debug info.
749 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
752 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
755 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
757 * docs/design/part-negotiation.txt:
760 * docs/libs/gstreamer-libs-sections.txt:
761 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
762 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
763 (gst_base_sink_init), (gst_base_sink_set_blocksize),
764 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
765 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
766 (gst_base_sink_loop), (gst_base_sink_pad_activate),
767 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
768 (gst_base_sink_change_state):
769 * libs/gst/base/gstbasesink.h:
770 Add blocksize property and methods to control the amount of data
772 Negotiate first before activating upstream in pull mode so that they can
773 negotiate themselves.
774 When we operate in pull mode, we only accept the caps that we
776 Make the sink go ASYNC to PAUSED, like all other sinks.
777 API: GstBaseSink::gst_base_sink_set_blocksize()
778 API: GstBaseSink::gst_base_sink_get_blocksize()
779 API: GstBaseSink::blocksize
781 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
782 (gst_base_src_set_live), (gst_base_src_is_live),
783 (gst_base_src_set_format), (gst_base_src_query_latency),
784 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
785 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
786 (gst_base_src_set_property), (gst_base_src_get_property):
787 * libs/gst/base/gstbasesrc.h:
788 Add typechecking in public API functions.
789 Add methods to control the blocksize in subclasses.
790 API: GstBaseSrc::gst_base_src_set_blocksize()
791 API: GstBaseSrc::gst_base_src_get_blocksize()
793 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
795 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
796 (buffer_probe), (event_probe), (GST_START_TEST):
797 We now see 3 events go through our pad, since basesink now sends
798 upstream latency events.
800 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
802 * gst/gstpipeline.c: (gst_pipeline_change_state):
803 Release the object lock before trying to flush the bus.
805 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
807 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
808 Forward LATENCY events upstreams so that elements know about the total
809 pipeline latency. Fixes #555307.
811 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
813 * plugins/elements/gstqueue.c:
814 Allow through queries when we don't know how
815 to adjust them (not TIME or BYTES), as otherwise it's
816 not possible to query the current position in order
817 to seek in other formats at all.
819 2008-10-08 Andy Wingo <wingo@pobox.com>
821 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
823 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
827 Unbreak -good build, private is a reserved c++ keyword.
829 2008-10-08 Andy Wingo <wingo@pobox.com>
831 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
832 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
833 removal: re-add GST_GHOST_PAD_CAST to the header.
835 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
836 (GstGhostPadClass): Publically expose these structures so as to
837 allow easy subclassing from C. Hide the member data behind a
838 private opaque data pointer.
840 * gst/gstghostpad.c: Adapt to store instance data in the type
841 instance's private data region, not in the public struct.
843 2008-10-08 Andy Wingo <wingo@pobox.com>
845 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
846 template via g_object_get(), be sure to unref it.
848 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
850 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
852 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
853 If we can't get a cache file don't try to save something to it.
854 Dereferencing NULL pointers usually isn't a good idea.
856 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
858 * tests/check/Makefile.am:
859 * tests/check/gst/gstabi.c:
860 * tests/check/gst/struct_sparc.h:
861 * tests/check/libs/libsabi.c:
862 * tests/check/libs/struct_sparc.h:
865 * tests/check/gst/gstvalue.c: (GST_START_TEST):
866 Cast signed integer to unsigned to avoid a compiler warning.
868 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
870 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
871 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
872 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
873 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
874 (gst_byte_reader_peek_int24_be):
875 Use new GST_READ_UINT24_(LE|BE) macros.
877 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
879 * docs/gst/gstreamer-sections.txt:
881 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
882 as it's too easy to break the ISO C strict aliasing rules with simple
883 casts to the corresponding type and this would introduce hard to debug
884 bugs. Fixes bug #545714.
886 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
888 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
890 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
891 * gst/gstghostpad.c: (gst_ghost_pad_construct):
892 Add 'Since' bits to gtk-doc chunks for new API.
894 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
896 * docs/gst/gstreamer-sections.txt:
899 2008-10-06 Andy Wingo <wingo@pobox.com>
901 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
902 that will be called on the malloc_data to free it. Basically a way
903 to avoid subclassing when all you need is a different free
904 function, i.e. free() instead of g_free().
906 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
907 calling the free function.
908 (gst_buffer_init): Initialize the free function to g_free.
910 2008-10-06 Andy Wingo <wingo@pobox.com>
913 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
914 finishes the initialization of ghost pad. Useful for language
915 bindings and subclassers of GstGhostPad. Fixes #539108.
916 (gst_ghost_pad_new_full): Use the new constructor.
918 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
920 Base on Patch by: Olivier Crete <tester at tester dot ca>
922 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
923 (gst_bin_remove_func), (update_degree),
924 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
925 Keep track of pads that are being linked/unlinked and resync the state
928 * gst/gstpad.c: (gst_pad_get_direction),
929 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
930 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
931 (gst_pad_link_prepare), (gst_pad_link),
932 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
933 (gst_pad_check_pull_range), (gst_pad_get_range),
934 (gst_pad_pull_range):
935 Some code cleanups, use macros to check pad direction.
936 Don't need to take the lock on the pad direction.
937 Post structure change when pads are linked/unlinked.
938 Change some checks into _return_if_fail().
940 * tests/check/gst/gstbin.c:
941 (test_link_structure_change_state_changed_sync_cb),
942 (GST_START_TEST), (gst_bin_suite):
943 Add testcase for pad link/unlinke resync during a state change.
946 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
948 * docs/gst/gstreamer-sections.txt:
949 * gst/gstmessage.c: (gst_message_new_structure_change),
950 (gst_message_parse_structure_change):
952 Implement STRUCTURE_CHANGED messages. These messages will be used to
953 signal the parent bin of link/unlink operations that could require a
954 resync when doing a state change. See ##510354.
955 API: gst_message_new_structure_change()
956 API: gst_message_parse_structure_change()
958 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
962 Add some more quarks for new message. See #510354.
964 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
966 * docs/libs/gstreamer-libs-docs.sgml:
967 * docs/libs/gstreamer-libs-sections.txt:
968 * libs/gst/base/Makefile.am:
969 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
970 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
971 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
972 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
973 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
974 (gst_bit_reader_skip_to_byte):
975 * libs/gst/base/gstbitreader.h:
976 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
977 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
978 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
979 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
980 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
981 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
982 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
983 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
984 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
985 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
986 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
987 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
988 * libs/gst/base/gstbytereader.h:
989 * tests/check/Makefile.am:
990 * tests/check/libs/bitreader.c: (GST_START_TEST),
991 (gst_bit_reader_suite):
992 * tests/check/libs/bytereader.c: (GST_START_TEST),
993 (gst_byte_reader_suite):
994 API: Add bit reader and byte reader classes, including documentation
995 and an extensive unit test suite. Fixes bug #553554.
997 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
999 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1000 (gst_base_sink_query):
1001 Improve position reporting while flushing and other intermediate state
1002 changes. Fixes #553874.
1004 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
1006 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1008 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1009 Original patch by : Simon Descaries
1010 Fix small refount leak in caps compatibility check.
1013 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1015 * docs/pwg/advanced-request.xml:
1016 Fix 0.8 api usage in example. Fixes #554561
1018 * docs/pwg/appendix-porting.xml:
1019 Change 0.9 to 0.10 here.
1021 2008-10-06 Stefan Kost <ensonic@users.sf.net>
1023 * docs/manual/basics-data.xml:
1024 Change "event-event interaction" to "element-element interaction".
1025 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1028 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
1031 Back to development -> 0.10.21.1
1033 === release 0.10.21 ===
1035 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
1038 releasing 0.10.21, "Take These Things From Me"
1040 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1043 0.10.20.4 pre-release
1045 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1047 * libs/gst/base/gstbasetransform.c:
1048 * plugins/elements/gstcapsfilter.c:
1049 * tests/check/Makefile.am:
1050 * tests/check/elements/.cvsignore:
1051 * tests/check/elements/capsfilter.c:
1052 Fix assertion in basetransform when the subclass chooses not to
1053 allocate a buffer in prepare_buffer(), and make capsfilter error out
1054 cleanly if requested to apply caps that don't completely specify the
1055 buffer. Fixes #551509
1057 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
1059 * libs/gst/base/gstbasetransform.c:
1060 (gst_base_transform_prepare_output_buffer):
1061 Take new caps ref because our old one might have been gone when the
1062 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1064 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1067 Do not probe availability of check unit test library when cross
1068 compiling, as test would not work anyway. Also cleanup verbose output
1069 of the check test. Fixes #551952.
1071 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1073 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1075 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1076 Avoid leaking the parent ref when we fail changing the state of the
1077 element using gst_element_sync_state_with_parent(). Fixes #551978.
1079 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1081 * docs/manual/intro-motivation.xml::
1082 Remove some bits that no longer apply, update others (#551642).
1084 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1087 0.10.20.2 pre-release
1095 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1097 * win32/common/config.h.in:
1098 Add GST_DATADIR, hard-code cpu to x86.
1100 * win32/common/libgstreamer.def:
1103 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1106 Fix Since: markers for new geo tags.
1108 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1111 Fix actual tag name define after renaming from altitude to elevation.
1113 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1115 * gst/gstpad.c: (add_unref_pad_to_list),
1116 (gst_pad_get_internal_links_default):
1117 Add fallback when calling the deprecated function on an element that
1118 implements the new internal_link handler.
1120 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1122 * docs/gst/gstreamer-sections.txt:
1125 Add new tags for geo location and clarify purpose of existing location
1128 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1130 Patch by: Olivier Crete <tester at tester dot ca>
1132 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1133 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1134 Use thread-safe internal links iterator. Fixes #549504.
1136 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1138 Based on patch by: Olivier Crete <tester at tester dot ca>
1140 * docs/gst/gstreamer-sections.txt:
1141 * win32/common/libgstreamer.def:
1142 * gst/gstpad.c: (gst_pad_init),
1143 (gst_pad_set_iterate_internal_links_function),
1144 (int_link_iter_data_free), (iterate_pad),
1145 (gst_pad_iterate_internal_links_default),
1146 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1148 Add threadsafe replacement functions for getting internal links of an
1149 element. Deprecate the old internal links functions.
1150 API:GstPad::gst_pad_set_iterate_internal_links_function()
1151 API:GstPad::GstPadIterIntLinkFunction
1152 API:GstPad::gst_pad_iterate_internal_links()
1153 API:GstPad::gst_pad_iterate_internal_links_default()
1155 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1156 (gst_proxy_pad_init):
1157 Implement threadsafe internal links.
1159 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1160 Unit test for internal links on tee. See #549504.
1162 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1164 * tests/check/Makefile.am:
1165 libs/transform1 test requires libs/test_transform.c
1167 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1169 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1170 Die evil deadlock, die !
1172 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1174 * gst/gstutils.c: (gst_element_get_compatible_pad):
1175 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1176 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1177 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1178 not steal the refcount of the given caps as stated.
1180 REVERT THIS COMMIT ONCE FIXED !
1181 REVERT THIS COMMIT ONCE FIXED !
1182 REVERT THIS COMMIT ONCE FIXED !
1183 REVERT THIS COMMIT ONCE FIXED !
1184 REVERT THIS COMMIT ONCE FIXED !
1185 REVERT THIS COMMIT ONCE FIXED !
1187 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1189 * gst/gstiterator.c:
1190 * gst/gstiterator.h:
1191 After 3 years it's about time to revise the documentation of the
1194 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1196 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1197 Make the internal links function less thread-unsafe and add some
1198 comments, dunno why.
1200 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1202 * gst/gst_private.h:
1203 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1204 build with --disable-gst-debug.
1206 2008-08-28 David Schleef <ds@schleef.org>
1208 * gst/gstpadtemplate.c: Revert last change, since it breaks
1209 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1210 but shouldn't be enabled until we've released fixed versions
1211 of -good and -ffmpeg.
1213 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1216 Put the gst_object_get_name() back in.
1218 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1220 * gst/gstpadtemplate.c:
1221 The old behaviour was that gst_pad_template_new() takes ownership of
1222 the caps. As we now call g_object_new() which calls g_object_set() and
1223 which copies the caps, we have to unref them to not leak them. Fixes
1224 make valgrid for me.
1226 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1229 Don't segfault on input like "tel:+1-123-555-1234".
1231 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1234 Due to popular request also include ObjectType in
1235 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1237 2008-08-26 David Schleef <ds@schleef.org>
1239 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1240 src_val must be positive, because that's not a requirement.
1241 This causes problems with converting negative granulepos
1243 * gst/gstquery.c: Same, gst_query_new_convert().
1245 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1247 * gst/gstclock.c: (gst_clock_add_observation):
1248 Add some more debugging to the clock slaving code.
1250 * win32/common/libgstbase.def:
1251 Add new basetransform method.
1253 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1255 * gst/gstbin.c: (gst_bin_element_set_state):
1256 Take the (recursive) state lock between getting the locked state of an
1257 element and changing the element state. This allows the application to
1258 lock an element's state and then change its state without races.
1260 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1262 * gst/gstbin.c: (gst_bin_element_set_state):
1263 When an element is in the locked state we still want to update the
1264 base_time of the element.
1266 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1268 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1269 Use the result from gst_pad_set_caps() instead of assuming the element
1270 always accepted the caps computed by the default negotiate function.
1272 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1274 * docs/libs/gstreamer-libs-sections.txt:
1275 * libs/gst/base/gstbasetransform.c:
1276 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1277 (gst_base_transform_chain), (gst_base_transform_suggest),
1278 (gst_base_transform_reconfigure):
1279 * libs/gst/base/gstbasetransform.h:
1280 Implement method for reconfiguring basetransform.
1281 API: GstBaseTransform::gst_base_transform_reconfigure()
1283 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1285 patch by: Murray Cumming <murrayc@murrayc.com>
1288 Mention that this is just like gst_buffer_merge() but with extra
1289 unreffing for C coders. Advise language bindings not to wrap it.
1292 Also fix file comment.
1294 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1296 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1298 * plugins/elements/gstfakesink.c:
1299 * plugins/elements/gstfakesrc.c:
1300 Call super::event() when not handling it. Fixes #544855.
1302 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1304 Patch by: Alessandro Decina <alessandro@nnva.org>
1305 * plugins/elements/gstfilesrc.c:
1306 Use 64 bit variants of stat functions on win32, to enable support
1307 of large files there.
1310 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1312 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1313 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1314 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1315 (gst_base_sink_get_position), (gst_base_sink_change_state):
1316 Improve position reporting in the flushing state.
1317 Also report the position when we are not yet prerolled but we
1318 have a newsegment event. Fixes #543444.
1319 Improve the pull-based negotiation code.
1321 * tests/check/elements/fakesink.c: (GST_START_TEST),
1323 Add testcase for position reporting while flushing in PAUSED and
1326 * tests/check/generic/sinks.c: (GST_START_TEST):
1327 Update unit-test, we can now query the position as soon as we receive a
1330 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1332 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1334 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1335 When the subclass event handler releases the PREROLL_LOCK, we could be
1336 in the flushing state and we have to ignore the event. Fixes #548394.
1338 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1340 * tools/gst-launch.1.in:
1341 Document GST_REGISTRY_UPDATE environment variable.
1343 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1345 * libs/gst/base/gstbasetransform.c:
1346 (gst_base_transform_prepare_output_buffer):
1347 If the element is configured in passthrough mode but the
1348 prepare_output_buffer gave us a new output buffer, discard that buffer
1349 and reuse the input buffer.
1351 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1353 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1355 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1356 (gst_tee_request_new_pad), (gst_tee_release_pad),
1357 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1358 * plugins/elements/gsttee.h:
1359 Protect pad_alloc with a new lock so that we can be sure that nothing is
1360 performing a pad_alloc when removing the pad. Fixes #547835.
1362 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1363 (buffer_alloc_harness_teardown), (app_thread_func),
1364 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1365 Added testcase for shutdown race.
1367 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1372 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1374 * libs/gst/base/gstbasetransform.c:
1375 (gst_base_transform_prepare_output_buffer),
1376 (gst_base_transform_buffer_alloc):
1377 Go over the buffer_alloc function again and make sure we always end up
1378 allocating a buffer.
1380 Avoid doing pad alloc when we have a pending suggestion because we
1381 cannot yet deal with changing caps in that case. Fixes #547728
1383 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1385 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1387 * docs/manual/advanced-clocks.xml:
1388 * docs/manual/clocks.png:
1389 * docs/manual/diagrams-clocks.svg:
1390 Add one more image showing different times together with a describing
1391 paragraph. Fixes #547729.
1393 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1395 * win32/common/libgstbase.def:
1398 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1400 * libs/gst/base/gstbasetransform.c:
1401 (gst_base_transform_transform_caps),
1402 (gst_base_transform_prepare_output_buffer),
1403 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1404 Don't overwrite the outsize when calculating the expected size of a new
1405 buffer because we still need it in case we cannot process the new
1407 When converting the size of the new buffer to an upstream size, actually
1408 use the expected size of the buffer, not some other random value.
1409 Use an atomic int to signal that a new upstream caps suggestion is
1411 When we can convert the current buffer to a new format, check if the
1412 buffer size is of the expected size and allocate a new buffer of the
1413 expected size when this is not the case. Fixes #546883.
1415 * tests/check/libs/transform1.c: (GST_START_TEST):
1416 remove ifdeffed code from the unit test.
1418 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1420 * pkgconfig/gstreamer-uninstalled.pc.in:
1421 * pkgconfig/gstreamer.pc.in:
1422 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1423 called gstcontroller-0.10.
1425 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1427 * gst/gstchildproxy.h:
1429 Remove double interface from doc-string.
1431 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1433 * libs/gst/base/gstbasesrc.c:
1434 * libs/gst/base/gstbasetransform.c:
1435 Fix headings in docs and gtk-doc warnings.
1437 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1439 * gst/gstregistrybinary.c:
1440 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1444 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1446 * libs/gst/base/gstbasetransform.c:
1447 (gst_base_transform_buffer_alloc):
1448 Fix a "may be used unitialized" warning.
1450 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1452 * docs/gst/gstreamer-sections.txt:
1454 Document preset-iface vmethods.
1456 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1458 * docs/manual/advanced-interfaces.xml:
1459 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1460 only used to discover devices.
1462 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1464 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1466 * gst/gst.c: (init_pre):
1467 Make sure gettext returns translations in UTF-8 encoding rather
1468 than in the current locale encoding (#546822).
1470 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1472 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1475 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1476 Improve unit test subset tests and add a testcase for the subset failure
1479 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1480 Improve subtraction unit test.
1482 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1484 * plugins/elements/gsttee.c:
1485 Unlock, instead of locking again.
1487 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1490 Clarify the docs a bit more.
1492 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1494 * tests/examples/metadata/read-metadata.c:
1495 Don't leak old taglist.
1497 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1499 Patch by: Olivier Crete <tester at tester dot ca>
1501 * gst/gststructure.c:
1502 (gst_structure_fixate_field_nearest_fraction):
1503 Avoid overflows in fixation code when dealing with MAXINT values, which
1504 v4l2src seems to do.
1507 * tests/check/gst/gststructure.c: (GST_START_TEST):
1508 Make a unit test to check the fix.
1510 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1512 * plugins/elements/gstcapsfilter.c: (copy_func),
1513 (gst_capsfilter_set_property):
1514 Use new caps suggestion feature of basetransform to request a caps
1515 negotiation upstream.
1517 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1519 * docs/libs/gstreamer-libs-sections.txt:
1521 API: GstBaseTransform::gst_base_transform_suggest()
1523 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1524 (gst_base_transform_init), (gst_base_transform_transform_caps),
1525 (gst_base_transform_transform_size),
1526 (gst_base_transform_configure_caps),
1527 (gst_base_transform_can_transform),
1528 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1529 (gst_base_transform_prepare_output_buffer),
1530 (gst_base_transform_buffer_alloc),
1531 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1532 (gst_base_transform_chain), (gst_base_transform_activate),
1533 (gst_base_transform_set_passthrough),
1534 (gst_base_transform_is_passthrough),
1535 (gst_base_transform_set_in_place),
1536 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1537 (gst_base_transform_set_qos_enabled),
1538 (gst_base_transform_is_qos_enabled),
1539 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1540 (gst_base_transform_reconfigure):
1541 * libs/gst/base/gstbasetransform.h:
1542 Rewrite of basetransform to perform negotiation outside of the
1543 buffer_alloc functions. Fixes #545853.
1545 * tests/check/libs/transform1.c: (GST_START_TEST),
1549 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1551 * tests/check/gst/gstpreset.c:
1552 Only run preset tests when $HOME is writable. Preliminary fix for
1555 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1557 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1558 (gst_bin_change_state_func), (bin_handle_async_done),
1559 (gst_bin_handle_message_func):
1560 Fix race for bins that simulate ASYNC state changes by inserting
1561 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1562 pending ASYNC messages even when the bin does not have ASYNC children.
1563 We note detect this behaviour because we will receive an ASYNC message
1564 that is originating from the bin itself.
1565 Fixes races with decodebin2 state changes.
1567 * tests/check/gst/gstbin.c: (GST_START_TEST):
1568 Add some more debug.
1570 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1572 * gst/gsttaglist.c: (_gst_tag_initialize):
1575 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1578 Argh. actually save the text before committing. Now adds
1579 gst_tag_merge_strings_with_comma() to gst_tag_register().
1581 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1585 Do as tim pointed out and actually register the new tag. Also improve
1586 te docs and use gst_tag_merge_strings_with_comma() method to allow
1587 retriving all keywords merged in one list.
1589 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1592 * docs/gst/gstreamer.types:
1593 Revert 'accidential' change of the configure option removal. We still
1594 need to generate the types file in configure --disable-load-save.
1596 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1598 * docs/gst/gstreamer-sections.txt:
1600 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1602 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1604 * gst/gstpadtemplate.c:
1605 (gst_pad_template_class_init), (gst_static_pad_template_get),
1606 (gst_pad_template_new), (gst_pad_template_pad_created),
1607 (gst_pad_template_set_property), (gst_pad_template_get_property):
1608 Add "name-template", "direction", "presence" and "caps" properties,
1609 so that gst_pad_template_new() is just a thin wrapper around
1610 g_object_new(), which is better for bindings. (Fixes: #539772)
1612 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1615 Be more liberal in what URIs we accept.
1616 Do not unescape bits of the URI for no apparent reason before passing to
1617 the element. Fixes #545352.
1619 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1621 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1624 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1626 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1629 * docs/gst/gstreamer-sections.txt:
1630 * docs/gst/gstreamer.types:
1631 * docs/gst/gstreamer.types.in:
1634 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1635 * gst/gstconfig.h.in:
1636 * gst/gstelement.c: (gst_element_get_index):
1637 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1638 (gst_registry_binary_load_feature),
1639 (gst_registry_binary_read_cache):
1640 * gst/gstregistryxml.c: (load_feature),
1641 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1642 * plugins/Makefile.am:
1644 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1645 (print_plugin_features), (print_element_features):
1646 * tools/gst-xmlinspect.c: (print_event_masks),
1647 (print_element_info):
1648 * win32/common/gstconfig.h:
1649 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1651 Disabling the indexers and URI handler code will only reduce the
1652 required amount of memory by a very small amount but on the other hand
1653 requires much more maintaince work. Apart from that many places of
1654 code are broken when disabling them.
1656 Disabling the enum types doesn't reduce the required amount of memory
1657 by more than a few bytes and makes it hard to fix bugs like #539772,
1658 i.e. use the enums as GObject properties.
1660 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1662 * docs/design/part-TODO.txt:
1663 Add some thoughts and problems with upstream renegotiation.
1665 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1667 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1668 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1669 Remove silly redundant debug.
1670 Add some more debug info.
1671 Clarify the docs regarding new caps received from pad_alloc.
1673 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1675 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1676 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1677 Make setting the caps more threadsafe.
1679 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1681 * docs/design/part-element-transform.txt:
1684 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1686 * plugins/elements/gstqueue.c: (gst_queue_init),
1687 (gst_queue_acceptcaps):
1688 Add and use a custom acceptcaps function instead of falling back to the
1689 potentially less optimized default implementation.
1691 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1693 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1694 Only sanity-check the buffer size if requested_caps == buffer_caps
1695 (ie. don't take pad caps into account, they're not relevant here)
1697 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1699 * plugins/elements/gsttee.c:
1700 * plugins/elements/gsttee.h:
1701 Reverting as not everything is clear yet. Needs some general design
1704 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1707 ChangeLog surgery for tee commit.
1709 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1711 * docs/gst/gstreamer-sections.txt:
1712 Cleanup section-file.
1714 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1716 * plugins/elements/gsttee.c:
1717 * plugins/elements/gsttee.h:
1718 Relay tag events in tee. Fixes parts of #474016.
1719 Downgrades 3 reoccurring debugs to log.
1721 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1724 * libs/gst/Makefile.am:
1725 Build the net library if we have winsock2.
1727 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1729 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1731 * docs/manual/advanced-threads.xml:
1732 * docs/manual/diagrams-pipelines.svg:
1733 * docs/manual/hello-world.png:
1734 * docs/manual/linked-elements.png:
1735 * docs/manual/mime-world.png:
1736 * docs/manual/queue.png:
1737 * docs/manual/thread-buffering.png:
1738 * docs/manual/thread-synchronizing.png:
1739 Replace one diagram with two separate ones and updates others.
1742 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1745 Fix link in documentation.
1747 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1750 Fix confusing documentation.
1752 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1754 * libs/gst/base/gstbasesrc.h:
1755 revert the changes to the header file for the ABI.
1757 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1759 * libs/gst/base/gstbasesrc.c:
1760 * libs/gst/base/gstbasesrc.h:
1761 Don't cache the seekable status.
1764 2008-07-24 Rene Stadler <mail@renestadler.de>
1766 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1767 code to close the pipeline graph. This prevents the program from
1768 printing internal data flow errors.
1770 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1772 * docs/manual/basics-bus.xml:
1773 Correct typo. Fixes bug #544320.
1775 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1778 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1779 Add check (taken from -base) for winsock, adds WIN32_LIBS
1781 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1783 Define GST_EXPORTS when building libgstreamer (only used on win32)
1784 * gst/gst_private.h:
1786 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1787 for symbols that we need to export in both these files.
1789 Include gst_private.h higher up to avoid some compile problems on win32.
1791 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1796 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1799 Previous commit was wrong NULL caps does not exist
1800 and indicate an error, so also add a FIXME to
1801 gst_caps_is_equal where NULL caps are accepted.
1803 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1806 Allow passing of NULL to gst_caps_union
1808 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1810 * gst/gstghostpad.c:
1811 Add in doc that gst_ghost_pad_set_target can accept
1812 NULL to clear target
1814 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1817 * gst/gstregistry.c:
1818 GstRegistryPool doesn't exist; don't refer to it in docs.
1819 Don't refer to functions that don't exist in docs, it's
1822 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1825 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1827 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1829 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1831 * docs/pwg/building-testapp.xml:
1832 Don't use an undeclared variable in the example program.
1835 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1837 * gst/gstdebugutils.c:
1838 Squeeze ghost-pad links and remove <> from classname labels to save
1839 more horizontal space.
1841 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1843 * gst/gstdebugutils.c:
1844 Give request and sometimes pads a different shpe style. Condense the
1845 graphs a little more.
1847 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1850 Don't require flex and bison if the parser is disabled.
1852 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1854 * libs/gst/controller/gstinterpolationcontrolsource.c:
1855 (_list_find_sorted_custom):
1856 Don't use declarations after statements.
1858 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1860 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1861 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1862 of the the child-added / -removed signals as GstChildProxy
1863 only supports GstObjects.
1865 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1867 * gst/gstdebugutils.c:
1870 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1872 Patch by: Alessandro Decina <alessandro at nnva dot org>
1875 Fix "ignored return value" compiler warning with newer glibc.
1877 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1879 * gst/gstchildproxy.c:
1880 Fix copy&paste error in gst_child_proxy_removed() documentation.
1882 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1884 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1885 Print error debug message if plugin description fields that should
1888 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1889 Don't crash if the string to serialise is NULL (it really should
1890 not be, but apparently this used to work with the xml registry ...).
1892 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1894 * tools/gst-plot-timeline.py:
1895 Fix parsing of log messages
1897 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1899 * win32/common/libgstbase.def::
1900 Sort alphabetically so make check-exports doesn't barf.
1902 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1905 Use gst_format_get_name() to improve debug output.
1908 Remove #ifdef'ed code. Add TODO comment.
1911 Add debug output to ease spotting format != segment.format assertions.
1913 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1915 * tests/check/libs/gdp.c: (gst_dp_suite):
1916 Also enable the GDP unit test again on PPC now that the bug
1919 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1921 * libs/gst/dataprotocol/dataprotocol.c:
1922 Don't write to the same region of memory as a uint64 and uint16
1923 as this breaks strict aliasing rules and apparantly breaks on PPC
1924 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1926 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1928 * libs/gst/controller/gstinterpolationcontrolsource.c:
1929 Optimize list handling. Use own find function. Exploit that fact that
1930 the list is sorted. Also pass back the node before, so that we can
1931 insert quickly. Have a fast path for append.
1933 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1935 * docs/design/draft-framestep.txt:
1936 * docs/design/part-negotiation.txt:
1939 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1942 Show configuration sumary after configure run. Based on patch by
1943 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1945 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1947 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1949 * docs/manual/advanced-autoplugging.xml:
1950 * docs/manual/advanced-threads.xml:
1951 * docs/manual/basics-bins.xml:
1952 * docs/manual/basics-elements.xml:
1953 * docs/manual/basics-helloworld.xml:
1954 * docs/manual/basics-pads.xml:
1955 Add scale factor for pdf output.
1957 * docs/manual/intro-basics.xml:
1958 Switched sections "pads" and "bins" and added a pipeline diagram.
1960 * docs/manual/intro-gstreamer.xml:
1961 Added more info on gstreamer.
1963 * docs/manual/intro-motivation.xml:
1964 Commented out the whole section "current problem", which sounds
1965 historical and somehow osolete; it could be turned in a positive
1966 way and reused to improve the design principles.
1968 * docs/manual/intro-preface.xml:
1969 - Update URLs to library.gnome.org.
1970 - Do not mention GTK+ in preliminary reading (irrelevant).
1971 - Mention Plugin Writer's Manual and further reading only in the
1973 - Added a list of most relevant GObject/glib topics.
1975 * docs/manual/Makefile.am:
1976 * docs/manual/bin-element-ghost.fig:
1977 * docs/manual/bin-element-ghost.png:
1978 * docs/manual/bin-element-noghost.fig:
1979 * docs/manual/bin-element-noghost.png:
1980 * docs/manual/bin-element.fig:
1981 * docs/manual/bin-element.png:
1982 * docs/manual/filter-element-multi.fig:
1983 * docs/manual/filter-element-multi.png:
1984 * docs/manual/filter-element.fig:
1985 * docs/manual/filter-element.png:
1986 * docs/manual/gstreamer-overview.png:
1987 * docs/manual/hello-world.fig:
1988 * docs/manual/hello-world.png:
1989 * docs/manual/linked-elements.fig:
1990 * docs/manual/linked-elements.png:
1991 * docs/manual/mime-world.fig:
1992 * docs/manual/mime-world.png:
1993 * docs/manual/queue.fig:
1994 * docs/manual/queue.png:
1995 * docs/manual/simple-player.png:
1996 * docs/manual/sink-element.fig:
1997 * docs/manual/sink-element.png:
1998 * docs/manual/src-element.fig:
1999 * docs/manual/src-element.png:
2000 * docs/manual/diagrams-general.svg:
2001 * docs/manual/diagrams-pipelines.svg:
2002 Removed .fig, added .png counterpart.
2006 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
2008 * plugins/elements/gstmultiqueue.c:
2009 * plugins/elements/gstmultiqueue.h:
2010 revert extra-size-buffers stuff, caused some race conditions
2011 and extra-size-buffers is not used anymore. Docs needs some updates
2013 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2015 * win32/common/config.h:
2016 * win32/common/gstenumtypes.c:
2017 * win32/common/gstenumtypes.h:
2018 * win32/common/gstversion.h:
2021 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
2023 * gst/gstdebugutils.h: (GstDebugGraphDetails),
2024 (GST_DEBUG_BIN_TO_DOT_FILE):
2025 Add missing Since' markers to gtk-doc blurbs.
2027 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
2029 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2030 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2031 (set_caps_1), (set_caps_ct1), (transform_ct1),
2032 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2033 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2034 (transform_size_ct2), (buffer_alloc_ct2):
2035 Add some more tests with switching caps in buffer_alloc.
2037 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2039 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2040 (gst_test_trans_class_init), (result_sink_chain),
2041 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2042 (gst_test_trans_push), (gst_test_trans_pop):
2043 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2044 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2045 (set_caps_1), (set_caps_ct1), (transform_ct1),
2046 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2047 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2048 (transform_size_ct2), (buffer_alloc_ct2),
2049 (gst_basetransform_suite):
2050 More tests, prepare for tests with switching caps in buffer_alloc.
2052 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
2054 * plugins/elements/gstmultiqueue.c:
2055 * plugins/elements/gstmultiqueue.h:
2056 Fix dead-lock in underrun_cb
2058 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2060 * docs/design/part-states.txt:
2061 Fix device open/close docs.
2063 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2066 Mention bugnumber for last commit.
2068 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2070 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2072 * docs/manual/manual.xml:
2073 - Reorganised the previous "introduction" bundle into Foreword,
2074 Introduction, and About GStreamer. The two first are <preface>
2075 docbook elements. The later is the first part of the book.
2076 - added intro-gstreamer.xml (content partially from
2078 - moved appendix-win32.xml into appendix-integration.xml
2080 * docs/manual/intro-preface.xml: gstreamer section moved...
2081 * docs/manual/intro-gstreamer.xml: ...here. new file.
2083 * docs/manual/appendix-win32.xml: removed file. Content moved...
2084 * docs/manual/appendix-integration.xml: ...here.
2086 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2087 * docs/manual/appendix-checklist.xml: ...here.
2091 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2093 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2095 * docs/manual/basics-helloworld.xml:
2096 * docs/manual/hello-world.fig:
2097 - Explicitely include glib.h.
2098 - Do not use global variables.
2099 - Use g_printerr() instead of g_print().
2100 - Minor formating/renaming to increase readibility.
2101 - Renamed new_pad() to on_pad_added()
2102 - Improved explenatory comments.
2103 - renamed ogg parser to ogg demuxer
2104 - Use "autoaudiosink" instead of "alsasink".
2107 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2110 Remove cvs conflict marker.
2112 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2115 Document that for plgin-docs we extraxt he short-desc from the element
2118 * docs/design/part-states.txt:
2119 Tell that devices should be closed in PAUSED -> READY.
2121 * docs/manual/README:
2122 Document how tests in the manual are handled.
2127 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2129 * gst/gstbin.c: (bin_query_latency_fold):
2130 Only care about latency min and max when the sink is actually a live
2133 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2135 * docs/design/part-block.txt:
2138 * docs/design/part-element-transform.txt:
2139 Add notes about why transform needs to know input/output sizes.
2140 Add some issues that need to be solved.
2141 Add some more use cases.
2143 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2144 (gst_test_trans_class_init), (result_sink_chain),
2145 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2146 (gst_test_trans_push), (gst_test_trans_pop):
2147 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2148 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2149 (set_caps_1), (set_caps_ct1), (transform_ct1),
2150 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2151 (gst_basetransform_suite):
2152 Add suport for different pad templates and buffer-alloc.
2153 Add more checks for caps and buffer-alloc.
2154 Add checks for proxy buffer alloc.
2155 Add unit test for copy transform.
2157 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2159 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2161 * docs/manual/appendix-integration.xml:
2162 * docs/manual/appendix-licensing.xml:
2163 * docs/manual/basics-elements.xml:
2164 * docs/manual/basics-helloworld.xml:
2165 * docs/manual/basics-pads.xml:
2166 * docs/manual/highlevel-components.xml:
2167 * docs/manual/highlevel-xml.xml:
2168 * docs/manual/intro-basics.xml:
2169 * docs/manual/intro-preface.xml:
2170 Typo and formatting fixes (#538594).
2172 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2174 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2175 Fix some memory leaks and uses of object instances that we don't
2178 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2180 * plugins/elements/gstmultiqueue.c:
2181 Add functionality to extra-size-buffers property.
2183 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2185 * plugins/elements/gstmultiqueue.c:
2186 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2187 activate the pads if they are added in STATE_NULL.
2189 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2191 * docs/libs/gstreamer-libs-sections.txt:
2193 * libs/gst/check/gstcheck.c:
2194 * libs/gst/check/gstcheck.h:
2195 API: gst_check_teardown_pad_by_name
2197 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2199 * libs/gst/check/gstcheck.c:
2200 * libs/gst/check/gstcheck.h:
2201 Also setup request pads and allow setup pads by name (#537812)
2202 API: gst_check_setup_src_pad_by_name
2203 API: gst_check_setup_sink_pad_by_name
2205 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2207 * tests/check/gst/gstbuffer.c:
2208 * tests/check/pipelines/parse-launch.c:
2209 Use HAVE_VALGRIND_H some more.
2211 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2213 * scripts/cvs-update.sh:
2214 Pass arguments to make.
2215 Run autoregen.sh if Makefile is not there.
2217 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2221 Don't assume that <valgrind/valgrind.h> exists just because
2222 the binary is there.
2224 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2226 * tests/check/Makefile.am:
2227 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2228 (gst_test_trans_class_init), (gst_test_trans_init),
2229 (gst_test_trans_set_data), (result_sink_chain),
2230 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2231 (gst_test_trans_pop):
2232 * tests/check/libs/transform1.c: (GST_START_TEST),
2233 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2234 Add some test basetransform element and the beginnings of various
2237 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2239 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2240 Increase code readability.
2241 Don't try to compare buffer offsets when ther are invalid.
2243 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2245 * docs/design/Makefile.am:
2246 Dist some more design docs.
2248 * docs/random/moving-plugins:
2249 Small addition: good plugins mustn't have functional code
2250 within assertion macros.
2252 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2254 * docs/design/draft-framestep.txt:
2255 Some ideas about a framestep API
2257 * docs/design/part-element-transform.txt:
2258 Start design and use cases for basetransform in order to get it
2261 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2264 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2265 be in UTF-8 encoding.
2267 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2270 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2272 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2274 * plugins/elements/gstcapsfilter.c:
2275 * plugins/elements/gstfakesink.c:
2276 * plugins/elements/gstfakesrc.c:
2277 * plugins/elements/gstfdsink.c:
2278 * plugins/elements/gstfdsrc.c:
2279 * plugins/elements/gstfilesink.c:
2280 * plugins/elements/gstfilesrc.c:
2281 * plugins/elements/gstidentity.c:
2282 * plugins/elements/gstmultiqueue.c:
2283 * plugins/elements/gstqueue.c:
2284 * plugins/elements/gsttee.c:
2285 * plugins/elements/gsttypefindelement.c:
2286 Remove short_description. Add basic docs for gsttypefindelement.
2287 Simplify markup for fakesrc/fdsrc.
2289 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2291 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2294 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2296 Patch by: Joel Larsson <tilljoel at gmail dot com>
2298 * docs/plugins/gstreamer-plugins.args:
2299 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2300 (gst_fd_src_init), (gst_fd_src_update_fd),
2301 (gst_fd_src_set_property), (gst_fd_src_get_property),
2302 (gst_fd_src_create):
2303 * plugins/elements/gstfdsrc.h:
2304 Add timeout property like udpsrc. Fixes #538628.
2305 Add some more docs and example pipelines.
2307 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2309 * docs/libs/gstreamer-libs-sections.txt:
2310 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2311 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2312 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2313 (gst_base_sink_do_sync):
2314 * libs/gst/base/gstbasesink.h:
2315 * win32/common/libgstbase.def:
2316 Add method to allow sinks to specify additional delay between the sync
2317 times and the actual rendering of the data.
2318 API: gst_base_sink_set_render_delay()
2319 API: gst_base_sink_get_render_delay()
2321 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2324 Bump version number back to dev -> 0.10.20.1
2326 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2328 * docs/gst/gstreamer-sections.txt:
2329 * gst/gsttaglist.c: (_gst_tag_initialize):
2331 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2334 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2336 * libs/gst/controller/gstcontroller.c:
2337 Revert one change, that make ret value possible uninitialized.
2339 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2341 * libs/gst/controller/gstcontroller.c:
2342 Use freeze/thaw notify to sync notify emission a bit (its also more
2343 efficient). Move debug output to LOG (is called a lot in a loop).
2344 Always unset g_values if the have been initialized.
2346 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2348 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2349 (gst_base_sink_wait_eos), (gst_base_sink_event):
2350 If we have not seen a buffer before EOS, use the segment values to
2351 report the current position instead of invalid positions.
2353 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2355 * docs/plugins/tmpl/.cvsignore:
2356 * tests/check/gst/.cvsignore:
2359 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2361 * libs/gst/controller/gstinterpolation.c:
2362 * libs/gst/controller/gstinterpolationcontrolsource.c:
2363 * tests/check/libs/controller.c:
2364 Rewrite handling of default values. Fix overflow with unsigned types
2365 in linear interpolation. Remove now obsolete _first_value() function.
2366 Add more tests. Fixes #538201.
2368 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2370 * libs/gst/base/gstbasetransform.c:
2371 (gst_base_transform_class_init), (gst_base_transform_init),
2372 (gst_base_transform_transform_caps),
2373 (gst_base_transform_prepare_output_buffer):
2375 When a buffer is writable, its metadata is also writable so we don't
2376 need to subbuffer (which then makes the buffer not-writable anymore).
2378 === release 0.10.20 ===
2380 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2383 releasing 0.10.20, "You Crazy Diamond"
2385 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2388 0.10.19.3 pre-release
2390 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2394 Rename DATADIR to GST_DATADIR to avoid build problems
2395 on win32. Patch By: David Schleef <ds@schleef.org>
2398 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2401 Explicitely link with -ldl if dladdr() is found there. Before it was
2402 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2403 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2405 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2407 * gst/gsterror.c: (_gst_stream_errors_init):
2408 Fix typo (spotted by Fabricio Godoy, #536723).
2410 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2413 0.10.19.2 pre-release
2415 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2417 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2418 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2420 Make sure we don't generate invalid QoS messages.
2422 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2424 * gst/gstevent.c: (gst_event_new_qos):
2425 Add some assert and docs for invalid input to the qos function.
2427 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2429 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2430 (gst_base_sink_get_position):
2431 The reported position must always be smaller than the last seen
2432 timestamps (or timestamp + duration for reverse).
2434 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2436 Patch by: Rob Bradford <rob at robster dot org dot uk>
2438 * gst/gstregistry.c: (gst_registry_scan_path_level):
2439 Don't recurse into .debug directories as some distros install
2440 the debugging symbols next to the plugins in .debug directories
2441 and dlopen() crashes on them sometimes. Fixes bug #508070.
2443 Add FIXME for 0.11 to not recurse into directories at all because
2444 it's very inconsistent to the behaviour of other PATH environment
2447 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2449 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2450 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2451 Fix position query range checks in reverse playback.
2453 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2457 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2458 clear of the reference to the resulting pad must be released later
2459 or not, resulting in possible leaks. Fixes bug #533865.
2461 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2463 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2465 * gst/gstelementfactory.c:
2466 Small doc fix. Fixes #535285.
2468 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2470 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2472 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2473 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2474 (gst_base_src_loop), (gst_base_src_set_flushing),
2475 (gst_base_src_change_state):
2476 Make sending an EOS event to the basesrc non-blocking even if the
2477 implementation does blocking waits in the create function. This is done
2478 by unlocking the create function when EOS is sent.
2481 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2483 * tools/gst-inspect.c: (print_element_properties_info):
2484 If possible print the element type of GValueArray properties.
2486 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2488 * gst/gstiterator.c:
2489 Remove an unused field from the private GstListIterator struct.
2491 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2493 * libs/gst/controller/gstcontroller.c:
2494 Add parameter guards.
2496 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2498 * tests/check/gst/gstpipeline.c:
2499 Revert test change and add comment why it should not work.
2501 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2503 * tests/check/gst/gstpipeline.c:
2504 Extending the test a little to verify that we also get the NULL state-
2507 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2509 * gst/gstpreset.c: (gst_preset_default_get_meta),
2510 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2511 (gst_preset_load_preset), (gst_preset_save_preset),
2512 (gst_preset_rename_preset), (gst_preset_delete_preset),
2513 (gst_preset_set_meta):
2514 Add Since: markers to docs blurbs.
2516 * win32/common/libgstreamer.def:
2517 Add recently-added API.
2519 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2521 Patch by: Stefan Kost <ensonic@users.sf.net>
2524 Add DATADIR for storing presets.
2526 * docs/gst/gstreamer-docs.sgml:
2527 * docs/gst/gstreamer-sections.txt:
2528 * docs/gst/gstreamer.types.in:
2529 Add GstPreset to docs.
2533 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2534 (preset_open_and_parse_header), (preset_parse_version),
2535 (preset_merge), (preset_get_keyfile),
2536 (gst_preset_default_get_preset_names),
2537 (gst_preset_default_get_property_names),
2538 (gst_preset_default_load_preset),
2539 (gst_preset_default_save_presets_file),
2540 (gst_preset_default_save_preset),
2541 (gst_preset_default_rename_preset),
2542 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2543 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2544 (gst_preset_default_reset), (gst_preset_get_preset_names),
2545 (gst_preset_get_property_names), (gst_preset_load_preset),
2546 (gst_preset_save_preset), (gst_preset_rename_preset),
2547 (gst_preset_delete_preset), (gst_preset_set_meta),
2548 (gst_preset_get_meta), (gst_preset_class_init),
2549 (gst_preset_base_init), (gst_preset_get_type):
2551 Add GstPreset to core. Fixes #396779
2553 * tests/check/Makefile.am:
2554 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2555 (gst_preset_test_set_property), (gst_preset_test_class_init),
2556 (gst_preset_test_base_init), (gst_preset_test_get_type),
2557 (gst_preset_test_plugin_init), (GST_START_TEST),
2558 (remove_preset_file), (test_setup), (test_teardown),
2560 Add GstPreset unit tests.
2562 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2564 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2565 The default event function on a sinkpad should return TRUE when
2566 there are no internal links but should collect the return values from
2567 the internal links otherwise.
2569 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2571 * plugins/elements/gsttypefindelement.c:
2572 (gst_type_find_element_src_event),
2573 (gst_type_find_element_handle_event):
2574 Use faster and safer _pad_push_event().
2576 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2578 * docs/gst/gstreamer-sections.txt:
2579 * gst/gstutils.c: (element_find_unlinked_pad),
2580 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2582 API: add gst_bin_find_unlinked_pad()
2583 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2585 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2591 Fixed a bunch of typos.
2593 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2596 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2597 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2598 (gst_parse_bin_from_description_full):
2600 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2602 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2604 * docs/pwg/advanced-tagging.xml:
2605 Small docs update, can't be bothered to rewrite the nonsensical
2608 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2611 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2613 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2615 * gst/parse/grammar.y:
2616 Remove unneeded casts.
2618 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2620 * gst/parse/grammar.y:
2621 * tests/check/pipelines/parse-launch.c:
2622 Get all missing elements from a parse launch string if possible
2623 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2625 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2627 * tests/check/Makefile.am:
2628 * tests/check/pipelines/parse-launch.c:
2629 Add some unit tests for the new gst_parse_launch*_full() API.
2630 (Exposes a previously-existing memory leak in the error code
2631 path, so adding to VALGRIND_TO_FIX for now).
2633 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2635 * docs/gst/gstreamer-sections.txt:
2636 * gst/gst.c: (init_post):
2637 * gst/gst_private.h: (_GstParseContext):
2638 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2639 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2640 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2641 (gst_parse_launch_full):
2642 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2643 (GstParseFlags), (GstParseContext):
2644 * gst/gstutils.c: (gst_parse_bin_from_description),
2645 (gst_parse_bin_from_description_full):
2647 * gst/parse/grammar.y:
2648 * gst/parse/types.h:
2649 * win32/common/libgstreamer.def:
2650 Add new gst_parse_*_full API (#528178):
2651 API: gst_parse_launch_full()
2652 API: gst_parse_launchv_full()
2653 API: gst_parse_bin_from_description_full()
2654 API: gst_parse_context_new()
2655 API: gst_parse_context_free()
2656 API: gst_parse_context_get_missing_elements()
2658 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2660 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2662 * docs/faq/gst-uninstalled:
2663 Also support ffmpeg in gst-uninstalled.
2665 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2668 After discussion on IRC use the binary registry as default
2669 but allow to disable it with --disable-binary-registry.
2671 * win32/common/libgstreamer.def:
2672 Add the two new symbols for the binary registry.
2674 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2676 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2677 * gst/gstutils.c: (gst_parse_bin_from_description):
2678 * gst/parse/grammar.y: (graph):
2679 More guards against bad input; typo fix; some minor clean-ups.
2681 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2683 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2685 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2686 If nothing else can be used, use the last buffer's start time as
2687 the segment's last stop. Fixes bug #534258.
2689 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2691 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2692 Move size sanity check to the right place: downstream may return
2693 a buffer with a smaller size if the buffer caps are different than
2694 the requested ones, as may happen when doing reverse negotiation.
2696 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2698 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2699 (gst_file_sink_render):
2700 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2701 (gst_file_src_start):
2702 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2705 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2707 * gst/gstpad.c: (gst_pad_load_and_link):
2708 * gst/gstutils.c: (gst_element_link_pads),
2709 (gst_element_unlink_pads):
2710 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2711 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2712 (gst_check_teardown_sink_pad),
2713 (gst_check_element_push_buffer_list):
2714 * tests/check/elements/fakesink.c: (GST_START_TEST):
2715 * tests/check/elements/filesink.c:
2716 * tests/check/elements/filesrc.c: (GST_START_TEST):
2717 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2718 (mq_sinkpad_to_srcpad):
2719 * tests/check/elements/tee.c: (GST_START_TEST):
2720 * tests/check/generic/sinks.c: (GST_START_TEST):
2721 * tests/check/gst/gstbin.c: (GST_START_TEST):
2722 * tests/check/gst/gstevent.c: (GST_START_TEST):
2723 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2724 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2725 * tests/check/gst/gstquery.c: (GST_START_TEST):
2726 * tests/check/gst/gstutils.c: (GST_START_TEST):
2727 * tests/check/libs/basesrc.c: (GST_START_TEST):
2728 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2729 (gst_parse_test_element_change_state):
2730 Don't use gst_element_get_pad().
2732 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2735 Fix installing plugin documentation when gtk-doc is disabled.
2737 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2739 * docs/manual/advanced-autoplugging.xml:
2740 * docs/manual/basics-helloworld.xml:
2741 * docs/manual/basics-pads.xml:
2742 * docs/manual/highlevel-components.xml:
2743 Avoid using a bad function in the example code.
2745 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2747 * gst/gstclock.c: (gst_clock_set_calibration):
2748 Fix debug of the new clock rate.
2750 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2752 * win32/common/libgstbase.def:
2753 Add gst_base_sink_wait_clock() to the exported symbols.
2755 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2757 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2759 * libs/gst/base/gstbasetransform.c:
2760 (gst_base_transform_sink_event):
2761 Unref events that the GstBaseTransform::event vfunc didn't want to
2762 have forwarded by the base class. Closes a leak in identity.
2765 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2767 * docs/libs/gstreamer-libs-sections.txt:
2768 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2769 * libs/gst/base/gstbasesink.h:
2770 Expose a method that was previously used internally to synchronize
2771 against the clock because it can be useful for subclasses too.
2772 API: GstBaseSink::gst_base_sink_wait_clock()
2774 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2776 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2777 Add sanity check to make sure we don't get smaller buffers
2778 than requested (and fallback to normal buffer alloc if we do).
2780 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2782 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2783 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2784 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2785 Refactor adjusting the running_time with latency and offset into a
2787 When doing clipping, we still want to use the subclass get_times method,
2788 just in case the DURATION or TIMESTAMP are not set.
2790 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2792 * docs/gst/gstreamer-sections.txt:
2793 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2794 * gst/gsttypefind.h:
2795 * win32/common/libgstreamer.def:
2796 API: add gst_type_find_suggest_simple(), #533740.
2798 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2800 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2801 Use right error code when typefinding fails, so we can use
2802 the default (translated) error messages.
2804 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2806 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2807 (gst_base_src_start):
2808 When the subclass did not set caps on outgoing buffers, configure the
2809 caps we negotiated on the source pad.
2810 When the typefind helper does not find caps, error out properly instead
2811 of doing things with NULL caps.
2813 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2815 * gst/gsttypefind.h:
2816 Tabs to spaces, oh yes!
2818 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2820 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2821 Add David's and Benjamin's tests for array intersection to the
2822 unit test suite (#147931).
2824 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2827 Document that gst_event_new_tag() and gst_event_new_navigation()
2828 take ownership of the taglist/structure passed to them. (#533635).
2830 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2833 Don't descend into the plugins dir if plugin docs building
2837 Add a note about the new type:GTypeName syntax for the plugin
2838 documentation .types file.
2840 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2842 * gst/gstmessage.c: (gst_message_new_error),
2843 (gst_message_new_warning), (gst_message_new_info):
2845 Mark the debug string parameters as const. Fixes bug #533490.
2847 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2849 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2850 Sort buffer cache list by end offsets. This makes sure that we don't
2851 stop to search for a cached buffer that contains the requested data
2853 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2854 more efficient. Fixes bug #459862.
2856 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2859 Explain why we copy the list.
2861 * gst/gstpipeline.c:
2865 Add one debug-log statement to help tracing probelms with linking pads.
2867 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2869 * tests/check/gst/gstinfo.c:
2870 Add a test for removing the default log handler. Seems to fail under
2873 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2875 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2876 Release pad lock before calling out to avoid a possible deadlock.
2878 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2880 * gst/parse/grammar.y:
2881 Remove unneeded value unset.
2883 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2884 Add unit test for de/serialization of caps.
2886 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2888 * plugins/elements/gstfakesink.c:
2889 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2890 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2891 (gst_fake_src_class_init):
2892 Use custom marshalers that take GstMiniObject as first parameter.
2893 Using OBJECT as parameter while a GstMiniObject is given will lead
2894 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2896 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2898 * plugins/elements/gsttypefindelement.c:
2899 (gst_type_find_element_handle_event),
2900 (gst_type_find_element_send_cached_events),
2901 (gst_type_find_element_change_state):
2902 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2905 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2907 * plugins/elements/gsttypefindelement.c:
2908 (gst_type_find_handle_src_query), (stop_typefinding),
2909 (gst_type_find_element_handle_event),
2910 (gst_type_find_element_send_cached_events),
2911 (gst_type_find_element_change_state):
2912 Forward FLUSH_START events immediately and clean up instead of
2915 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2917 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2919 * libs/gst/base/gstbasetransform.c:
2920 (gst_base_transform_buffer_alloc):
2921 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2922 fall back to default negotiation in the chain function if the caps
2923 are different from what was requested. Fixes bug #526768.
2925 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2928 * tests/check/gst/gstsegment.c:
2929 No, let's not use g_slice_{dup|copy} here, since they only exist
2930 since GLib 2.14 and we still depend only on >= 2.12. Also add
2931 unit test for gst_segment_copy().
2933 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2935 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2936 Try to fix 'dereferencing type-punned pointer will break strict
2937 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2938 changed the default GType typedef from gulong to gsize at some point,
2939 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2940 g_once_* functions all take a gsize * though, so work around the type
2941 mismatch for C++ by doing everything in gsize and casting to GType
2944 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2946 * plugins/elements/gstmultiqueue.c:
2947 Add documentation for the signals to push our core plugin docs
2948 coverage back up to 100%.
2950 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2952 * gst/gstinfo.h (GST_FUNCTION):
2953 Reverted GST_FUNCTION to the old version as we don't want the
2954 full signature in C++ code. Also added support for MSVC.
2956 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2959 Intern the type name string, similar to what G_DEFINE_TYPE does.
2961 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2964 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2966 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2968 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2970 * libs/gst/base/gstbasetransform.c:
2971 (gst_base_transform_buffer_alloc):
2972 Don't passthrough buffer allocation too easily if the caps change.
2973 This breaks when working in passthrough mode and upstream changes
2974 it's caps. Fixes bug #526768.
2976 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2978 * gst/gstinfo.c (gst_debug_log_valist):
2979 Improved the __FILE__ part of debug output for MSVC.
2981 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2983 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2984 Declaration after statement fix for compilers like MSVC.
2986 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2988 * win32/common/config.h.in:
2989 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2990 use the real thing than having "???" unconditionally.
2992 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2994 * gst/gstinfo.h (GST_FUNCTION):
2995 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2997 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2999 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3002 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3003 (gst_base_sink_set_flushing):
3004 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3007 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
3009 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3010 (gst_fake_src_init), (gst_fake_src_set_property),
3011 (gst_fake_src_get_property), (gst_fake_src_start):
3012 * plugins/elements/gstfakesrc.h:
3013 Added format property to control the format of the newsegment events.
3014 API: GstFakeSrc:format
3016 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3018 * win32/common/libgstreamer.def:
3019 Add gst_pad_has_name() to the exported symbols.
3021 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
3023 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3024 * libs/gst/base/gstbasetransform.c:
3025 (gst_base_transform_prepare_output_buffer):
3026 Don't allow negative sizes when allocating new buffers.
3029 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3031 Patch by: Sjoerd Simons <sjoerd at luon net>
3033 * gst/gstbus.c: (gst_bus_source_dispatch):
3034 Don't print a warning if the queue is empty when we try to pop
3035 here. That could happen if another thread or callback set the
3036 bus to flushing between the source's check/prepare and the
3037 dispatch being called (#531538).
3039 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
3041 * plugins/elements/gstmultiqueue.c:
3044 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
3046 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3047 Add unit test for deserializing uint64s and check some really large
3048 numbers in the int64 test.
3050 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3052 * tools/gst-inspect.c: (n_print), (print_hierarchy),
3053 (print_interfaces), (print_element_properties_info),
3054 (print_signal_info):
3055 Use "%s" as format string instead of printing strings directly.
3057 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3059 * gst/gstclock.c: (gst_clock_set_calibration):
3060 Make some checks actually useful.
3062 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3063 Remove some unused code. Unsigned integers tend to be >= 0.
3065 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3067 * gst/gstminiobject.c: (gst_value_get_mini_object):
3068 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3069 function was not in the unscheduled 0.10.19 release.
3071 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3073 * gst/gstregistry.c: (gst_registry_scan_path_level):
3074 Only print one log message per non-plugin file.
3076 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3078 * gst/gstinfo.c: (gst_debug_log_default):
3079 Fix alignment of debug log columns on 64-bit.
3081 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3083 * docs/libs/Makefile.am:
3084 * docs/libs/gstreamer-libs-sections.txt:
3085 Ignore private controller headers for docs.
3087 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3089 * libs/gst/controller/gstcontrollerprivate.h:
3090 * libs/gst/controller/gsthelper.c:
3091 * libs/gst/controller/gstinterpolation.c:
3092 * libs/gst/controller/gstinterpolationcontrolsource.c:
3093 (gst_interpolation_control_source_set_interpolation_mode):
3094 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3095 * libs/gst/controller/lib.c:
3096 Move some private declarations into private headers.
3098 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3100 * gst/gstdebugutils.c: (debug_dump_element_pad):
3101 Remove some code that is unused after Stefan's refactoring and uses
3102 uninitialized variables now, resulting in a compiler warning.
3104 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3106 * gst/gstregistry.c: (gst_registry_scan_path_level):
3107 Run g_str_has_suffix() only on the file name, not the
3110 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3112 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3113 Since we're not called only from the chain function any longer,
3114 we can't assume that there's always data in the queue, so move
3115 the is_full check to the beginning of the loop (otherwise we'd
3116 hit the assert when changing the limit properties while the
3117 queue is empty or not running yet).
3118 Also, only set a discont if items were actually removed from
3121 * tests/check/elements/queue.c: (test_leaky_downstream):
3122 Test case for the above.
3124 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3126 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3128 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3129 (gst_queue_chain), (queue_capacity_change),
3130 (gst_queue_set_property):
3131 When changing thr max capacity of a leaky queue, immediatly drop buffers
3132 instead of waiting for a push on the sinkpad. Fixes #530637.
3134 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3136 * gst/gstdebugutils.c:
3137 Refactor code and fix handling of ghostpads and their proxypads.
3139 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3141 * docs/gst/gstreamer-sections.txt:
3142 * gst/gstevent.c: (gst_event_has_name):
3144 * tests/check/gst/gstevent.c: (GST_START_TEST):
3145 Add method to conveniently check the name of a custom event with
3146 gst_event_has_name().
3147 Reformat the event docs so that related methods are put together instead
3148 of the default alphabetical sort.
3149 Update unit test with new method.
3150 API: GstEvent::gst_event_has_name()
3152 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3154 * libs/gst/check/Makefile.am:
3155 Don't add an explicit link to libgstreamer-0.10.la; it's already
3156 included in GST_OBJ_LIBS.
3158 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3161 Register GstClock type from a type-safe context. Fixes bug #530317.
3163 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3165 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3167 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3169 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3171 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3173 Use the GLib stuff to create a private structure.
3174 Add some locking around some dispose methods to make them a little
3175 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3177 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3179 * libs/gst/base/gstbasesink.h:
3180 * libs/gst/base/gstbasesrc.h:
3181 * libs/gst/base/gstbasetransform.h:
3182 * libs/gst/base/gstcollectpads.h:
3183 Fix doc typos and unify caps a bit.
3185 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3187 * tools/gst-launch.1.in:
3188 Forgot to also add the envvar docs here.
3190 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3192 * gst/gst.c: (init_post), (gst_deinit):
3193 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3194 (test_concurrent_create), (gst_pipeline_suite):
3195 Ref some more classes in gst_init() to work around thread-safety
3196 issues in pre-2.16 GLibs, and add basic unit test.
3198 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3200 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3201 (gst_base_sink_send_event):
3202 Rearrange the latency query code. We always want to do the upstream
3203 query, even if we are not live so that the upstream elements can get the
3204 latency results too. If we fail doing the query and we are live, we
3205 return TRUE afterwards.
3207 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3209 patch by: Jason Zhao <e3423c@motorola.com>
3211 * docs/gst/running.xml:
3213 Enable/disable scan_and_update_registry() based on commandline switch
3214 or environment variable. Fixes #520468.
3217 Fix typo in my previous commit.
3219 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3221 * gst/gstregistrybinary.c:
3222 Add a warning if we hit unhandled factories when saving.
3223 More debug logging detail, but move to LOG category.
3225 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3227 * gst/gstregistry.c:
3228 Tell the *truth* when improving the documentation.
3230 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3232 * gst/gstelementfactory.c: (gst_element_factory_make):
3233 Unref the factory after it was used the last time, not before.
3235 * gst/gstindexfactory.c: (gst_index_factory_make):
3236 Improve debugging a bit and don't leak a ref to the index factory with
3239 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3241 * gst/gstregistry.c:
3242 Improve the documentation.
3244 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3247 The glib macro seems to be borked. Use g_slice_copy directly and cast
3248 in the hope that this fixes the warning on 64bit.
3250 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3253 Document the new function. Use g_slice_dup() (no need for
3254 gst_segment_init()).
3256 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3258 * docs/gst/gstreamer-sections.txt:
3259 Move GParamSepc macros to standart section.
3262 Dn't document _get_type - its in private section in docs anyway and
3263 this doc-blob was incomplete.
3266 Fix wrong symbol names in docs.
3269 Add once doc sentence.
3271 * tests/check/gst/.cvsignore:
3274 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3276 * docs/gst/Makefile.am:
3277 And remove those libs here.
3279 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3281 * docs/libs/Makefile.am:
3282 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3284 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3286 Patch by: Olivier Crete <tester at tester dot ca>
3288 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3289 Add the min-threshold to the min latency if possible. Fixes #529148.
3291 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3293 * docs/gst/gstreamer.types.in:
3294 Stupid editor, I removed that line as it should go in yet.
3296 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3298 * docs/gst/gstreamer.types.in:
3299 * docs/libs/gstreamer-libs.types:
3300 Remove library types fro core docs and have them in libs docs.
3301 Reformat and cleanup. Add comment for miniobject types.
3303 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3305 * gst/gsturi.c: (gst_uri_get_protocol):
3306 Fix leak: g_strdown operates on the string in place, while
3307 g_ascii_strdown() returns a newly-allocated string.
3309 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3311 * tools/gst-inspect.c: (print_uri_handler_info),
3312 (print_element_info):
3313 Print the URI protocols and the URI type supported by the element.
3315 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3317 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3318 Use g_value_take_string() instead of the deprecated
3319 g_value_set_string_take_ownership().
3321 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3323 * gst/gstregistrybinary.c: (_gst_crc32):
3324 Return the old CRC instead of 0 if we give a NULL buffer
3325 or a buffer with a length of 0.
3327 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3329 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3330 (gst_uri_get_protocol), (gst_uri_has_protocol),
3331 (gst_uri_construct), (gst_uri_handler_set_uri):
3332 A valid URI scheme can also include '+', '-' and '.' additional
3333 to alphanumeric characters as per RFC 3986 Section 3.1.
3335 Handle URI schemes case insensitive in all places and convert
3336 to lower-case when constructing an URI or setting an URI with
3337 the GstURIHandler interface. Fixes bug #528868.
3338 All elements can still assume (as before) that they will
3339 get passed URIs with a lower-case URI scheme by the GstURIHandler
3342 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3344 * gst/gstcaps.c: (gst_static_caps_get):
3345 * gst/gstclock.c: (gst_clock_entry_new):
3346 Don't use g_atomic_set_int where it's not needed.
3348 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3350 * gst/gstvalue.c: (gst_value_deserialize_caps):
3351 * gst/parse/grammar.y:
3354 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3356 * gst/gstutils.c: (gst_atomic_int_set):
3357 Use g_atomic_int_set() here too instead of assignment +
3360 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3364 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3365 now that we depend on new enough GLib.
3367 * gst/gstcaps.c: (gst_static_caps_get):
3368 * gst/gstclock.c: (gst_clock_entry_new):
3369 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3370 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3371 (gst_debug_category_set_threshold):
3372 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3373 (gst_base_sink_set_qos_enabled):
3374 * libs/gst/net/gstnettimeprovider.c:
3375 (gst_net_time_provider_set_property):
3376 Use g_atomic_int_set() instead of gst_atomic_int_set().
3378 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3381 Also use G_GINT64_CONSTANT for the queries.
3383 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3386 Use G_GINT64_CONSTANT in varargs function.
3388 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3390 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3391 Initialize the registry magic with zeroes.
3393 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3395 * gst/gstregistrybinary.c: (_gst_crc32),
3396 (gst_registry_binary_write),
3397 (gst_registry_binary_initialize_magic),
3398 (gst_registry_binary_write_cache),
3399 (gst_registry_binary_check_magic),
3400 (gst_registry_binary_read_cache):
3401 * gst/gstregistrybinary.h:
3402 Add crc32 checksum to the binary registry file and check this before
3403 accepting a registry file.
3405 Also free the data list when writing to the registry file fails.
3407 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3409 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3410 (gst_registry_binary_load_feature),
3411 (gst_registry_binary_load_plugin):
3412 If an element supports the Uri interface, returns a valid pointer
3413 to the supported URI protocols but this pointer contains nothing
3414 don't try to save that as it will corrupt the registry.
3416 Don't unref the plugin if we added it to the registry already but
3417 fail to load a feature as gst_registry_add_plugin() takes ownership
3420 Improve debugging a bit.
3422 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3425 Clarify some tag item docs after discussion on irc.
3427 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3429 * docs/gst/gstreamer-docs.sgml:
3430 Remove commented out plugins (they have their own docs). Update
3433 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3435 * docs/gst/gstreamer-docs.sgml:
3436 * docs/gst/gstreamer-sections.txt:
3437 * gst/gstparamspecs.c:
3438 * gst/gstparamspecs.h:
3439 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3440 docs to own section.
3443 This now only documents GValue.
3445 * docs/libs/gstreamer-libs-sections.txt:
3446 * libs/gst/controller/gstcontroller.h:
3447 Remove GST_PARAM_CONTROLLABLE.
3449 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3452 Correct file path. Tell about how to use -overrides.txt.
3453 * docs/design/draft-tagreading.txt:
3454 Small design update.
3456 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3458 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3459 (gst_registry_binary_load_plugin):
3460 Fix a typo in a debug message and revert change from yesterday as
3461 gst_registry_add_plugin() will only fail if something is really wrong
3462 already and we can't survive it anyway.
3464 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3466 * gst/gst.c: (init_post), (gst_deinit):
3467 Pre-register GstGError GType from a thread-safe context
3468 (fixes #527967); unref enum type classes in deinit.
3470 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3472 Patch by: Rene Stadler <mail at renestadler de>
3474 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3475 Merging an empty list with another list in KEEP_ALL mode should
3476 yield an empty list as result and not the second list (#512578).
3478 * tests/check/gst/gsttagsetter.c:
3479 Add unit test for tag merge modes and the aforementioned bug.
3481 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3483 Patch by: Rene Stadler <mail at renestadler de>
3486 Fix description to match the order in the table (#512577).
3488 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3490 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3492 * libs/gst/net/gstnettimepacket.h:
3493 * docs/libs/gstreamer-libs-sections.txt:
3494 Define socklen_t as int if it's not defined yet. Fixes compilation
3495 with MSVC6 and other versions where socklen_t is not defined in
3496 the windows headers (#518022).
3498 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3500 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3501 If gst_registry_add_plugin() fails our reference to the plugin is
3502 invalid so don't try to use it anymore and instead error out.
3504 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3506 * tools/gst-xmlinspect.c: (print_element_info), (main):
3507 De-cruft a bit. If no argument is specified, print all elements in
3508 XML syntax rather than a freestyle list of elements like gst-inspect.
3509 Also, don't print XML header chunk unless we actually have something
3510 to print (ie. don't print it before an error message); print error
3511 message to stderr not stdout. Remove support for printing plugin
3512 info (it would just output something freestyle along the lines of
3513 gst-inspect so far), which fixes #514507. Also add license header.
3515 2008-04-11 Julien Moutte <julien@fluendo.com>
3518 * configure.ac: Merge platform specific defines, introduce a new
3519 define on OS X to remember that forking when updating registry is
3521 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3523 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3525 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3526 condition that leads to absolutely no plugins being registered on
3529 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3531 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3533 * gst/gstutils.c: (gst_pad_add_data_probe),
3534 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3535 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3536 (gst_pad_add_buffer_probe_full):
3538 * docs/gst/gstreamer-sections.txt:
3539 * win32/common/libgstreamer.def:
3540 Add gst_pad_add_*_probe_full() functions with a notify callback that
3541 lets the caller free the data it passes to the probe functions. This
3542 is useful for bindings such as gst-python or gstreamermm (#526814).
3543 API: gst_pad_add_data_probe_full
3544 API: gst_pad_add_buffer_probe_full
3545 API: gst_pad_add_event_probe_full
3547 * tests/check/gst/gstutils.c:
3548 Add minimal unit test to make sure freeing the data actually works
3551 * tests/benchmarks/.cvsignore:
3552 Random cvsignore addendum.
3554 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3556 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3557 (GST_DEBUG_BIN_TO_DOT_FILE):
3558 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3559 to it in the docs (since these are macros the types of the arguments
3560 won't be shown in the docs otherwise).
3562 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3565 Do not abort on out of memory for pad_alloc_buffer.
3567 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3569 * libs/gst/check/gstcheck.c:
3570 Remove blank line between symbol name ad parameters to fix gtkdoc
3573 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3575 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3577 * docs/gst/gstreamer-sections.txt:
3580 * win32/common/libgstreamer.def:
3581 Expose gst_segment_copy() to make things easier for the c++ bindings.
3583 API: gst_segment_copy()
3585 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3587 * gst/gst.c: (gst_init_get_option_group), (init_post):
3588 Fix const position; ref GType classes for enum types to work
3589 around thread-safety issues in GLib versions < 2.16.
3591 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3593 * docs/design/part-buffering.txt:
3594 Fix some typos and set the estimated total for push mode to -1.
3596 * gst/gstquery.c: (gst_query_new_buffering):
3597 Set buffering-left to 0 as we're not buffering by default.
3599 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3600 Implement BUFFERING query.
3602 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3604 Based on patch by: Milosz Derezynski <internalerror gmail com>
3606 * gst/gsterror.c: (_gst_stream_errors_init):
3608 Add two new error codes for encrypted content. Fixes #524659.
3609 API: GST_STREAM_ERROR_DECRYPT
3610 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3612 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3617 * win32/common/libgstreamer.def:
3620 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3622 * plugins/elements/gstidentity.c: (gst_identity_event),
3623 (gst_identity_start):
3624 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3625 event after processing some data. Fixes bug #526042.
3627 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3629 * docs/gst/gstreamer-sections.txt:
3630 * gst/gstquery.c: (gst_query_parse_latency),
3631 (gst_query_set_buffering_percent),
3632 (gst_query_parse_buffering_percent),
3633 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3635 Rename _avail -> _range
3636 API: gst_query_set_buffering_range
3637 API: gst_query_parse_buffering_range
3639 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3641 * docs/design/part-buffering.txt:
3644 * gst/gstquery.c: (gst_query_parse_latency),
3645 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3646 (gst_query_parse_buffering_percent):
3648 Add busy field and quark for the buffering query so that the app can
3649 only use the query to see if buffering is in progress.
3651 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3653 * docs/gst/gstreamer-sections.txt:
3654 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3655 (gst_message_parse_buffering_stats):
3657 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3658 (gst_query_parse_latency), (gst_query_new_buffering),
3659 (gst_query_set_buffering_percent),
3660 (gst_query_parse_buffering_percent),
3661 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3662 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3664 Reorder the message docs and headers for clarity.
3665 Add aditional buffering stats API for messages.
3666 Add buffering query.
3667 Convert some leftover queries to use GstQuark.
3668 API: gst_message_set_buffering_stats
3669 API: gst_message_parse_buffering_stats
3670 API: GST_QUERY_BUFFERING
3671 API: GstBufferingMode
3672 API: gst_query_new_buffering
3673 API: gst_query_set_buffering_percent
3674 API: gst_query_parse_buffering_percent
3675 API: gst_query_set_buffering_stats
3676 API: gst_query_parse_buffering_stats
3678 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3680 * gst/gstmessage.c: (gst_message_new_error),
3681 (gst_message_new_warning), (gst_message_new_info),
3682 (gst_message_new_buffering), (gst_message_new_state_changed),
3683 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3684 (gst_message_new_new_clock), (gst_message_new_segment_start),
3685 (gst_message_new_segment_done), (gst_message_new_duration),
3686 (gst_message_new_async_start), (gst_message_parse_buffering),
3687 (gst_message_parse_state_changed),
3688 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3689 (gst_message_parse_new_clock), (gst_message_parse_error),
3690 (gst_message_parse_warning), (gst_message_parse_info),
3691 (gst_message_parse_segment_start),
3692 (gst_message_parse_segment_done), (gst_message_parse_duration),
3693 (gst_message_parse_async_start):
3694 Use GstQuark for messages.
3696 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3698 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3700 Add some more quarks needed for messages and queries.
3702 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3704 * docs/design/part-buffering.txt:
3705 Remove the "none" buffering mode, STREAM is a good default.
3706 Move estimated-time to the avail query, that's when it will be needed.
3707 Other small typo fixes and updates.
3709 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3711 * gst/gstindex.c: (gst_index_resolver_get_type):
3712 Don't put descriptions into the nick field of a GEnumValue: it's not
3713 meant for that and some language bindings rely on the nick field to
3714 construct constants and the like. Fixes #526705.
3716 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3721 Merge other changes from 0.10.19 release branch.
3723 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3725 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3728 Actually build dlls when cross-compiling with mingw32.
3731 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3733 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3736 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3738 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3740 * docs/design/draft-latency.txt:
3743 * docs/design/part-buffering.txt:
3744 Update design docs with more buffering ideas.
3746 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3749 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3751 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3754 Revert part that belongs to the preset patch.
3756 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3759 Add qoutes to the define. Fixes # 525961.
3761 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3763 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3764 (gst_file_index_load), (gst_file_index_add_id),
3765 (gst_file_index_get_assoc_entry):
3766 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3767 (gst_mem_index_free_id), (gst_mem_index_add_id),
3768 (gst_mem_index_index_format):
3769 Use GSlice when possible.
3771 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3773 * libs/gst/controller/gstinterpolationcontrolsource.c:
3774 (gst_control_point_free),
3775 (gst_interpolation_control_source_set_internal):
3776 Use GSlice for allocating the control points.
3778 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3780 * plugins/elements/gsttypefindelement.c:
3781 (gst_type_find_element_class_init),
3782 (gst_type_find_element_set_property),
3783 (gst_type_find_element_get_property),
3784 (gst_type_find_element_activate):
3785 * plugins/elements/gsttypefindelement.h:
3787 Fix pad leak when peer query fails.
3788 We can still typefind when the peer returns -1.
3789 Add property to force caps and bypass typefinding. This will be used in
3793 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3798 * gst/glib-compat-private.h:
3799 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3800 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3801 Unconditionally use GSlice for allocation.
3803 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3804 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3805 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3806 (gst_structure_free):
3807 Use GSlice for allocation.
3809 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3811 * gst/parse/Makefile.am:
3812 * gst/parse/grammar.tab.pre.c:
3813 * gst/parse/grammar.tab.pre.h:
3814 * gst/parse/lex._gst_parse_yy.pre.c:
3815 Require a new enough flex and bison and remove the parser hacks to use
3816 a pre-regenerated version.
3818 2008-04-01 Julien Moutte <julien@fluendo.com>
3820 patch by: Jason Zhao <E3423C@motorola.com>
3822 * configure.ac: Add a configure switch to disable option parsing
3826 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3829 * gst/gstregistry.c:
3830 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3831 and handle this case.
3834 Add a comment here describing, why we stat each plugin and not try to
3837 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3839 * libs/gst/base/gstbasetransform.c:
3840 (gst_base_transform_prepare_output_buffer):
3841 Also unset the GAP flag on buffers if we're working inplace but
3842 the element is not GAP-aware.
3844 Mark a comment as FIXME 0.11.
3846 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3849 Fix type in log message and add one to ease seeing how long registry
3850 cache verification takes.
3852 * gst/gstregistry.c:
3853 Only test plugin filenames against G_MODULE_SUFFIX.
3855 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3857 * gst/gstdebugutils.c:
3858 Improve handling ghost/proxy pads.
3860 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3862 * docs/gst/gstreamer-sections.txt:
3865 Expose macro to docs and fix link to it.
3867 2008-03-27 Michael Smith <msmith@fluendo.com>
3869 * libs/gst/dataprotocol/dataprotocol.c:
3870 (gst_dp_packet_from_event_1_0):
3871 When calculating GDP body CRC, use the correct pointer.
3872 Fixes part of #522401.
3874 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3876 Patch by: Mark Nauwelaerts <manauw at skynet be>
3878 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3879 (gst_identity_init), (gst_identity_prepare_output_buffer):
3880 Identity is not always a passthrough element, it can modify the buffer
3881 timestamps when it has a datarate and operates in single-segment mode.
3882 We therefore make it an in_place filter with a custom buffer prepare
3883 function that conditionally makes the input buffer metadata writable
3884 when needed. Fixes #523985.
3886 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3888 Patch by: Mark Nauwelaerts <manauw at skynet be>
3891 * libs/gst/base/gstbasesrc.h:
3892 * libs/gst/base/gstbasetransform.c:
3893 * libs/gst/check/gstcheck.c:
3894 Small documentation fixes. Fixes #523978.
3896 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3898 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3899 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3900 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3902 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3904 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3905 (single_queue_underrun_cb):
3906 When trying to make room in the queue, bump the max allowed buffers
3907 bigger than the current amount of buffers in the queue. this fixes some
3908 nasty deadlocks in multiqueue when dynamically changing the limits of
3911 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3913 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3915 * gst/gstcaps.c: (gst_caps_set_simple),
3916 (gst_caps_set_simple_valist), (gst_caps_intersect):
3918 Constify the field gchar * params in set_simple and friends.
3921 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3923 * gst/gstvalue.c: (gst_value_transform_object_string):
3924 Transform a GstObject to a more meaningfull string that includes the
3925 object type in addition to its name.
3927 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3930 ChangeLog surgery to add bugnumber to commit.
3932 2008-03-23 Rene Stadler <mail@renestadler.de>
3934 * libs/gst/base/gstbasetransform.c:
3935 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3937 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3939 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3940 Rename constant everywhere and don't forget one occurence.
3942 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3944 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3945 Align memory to the pointer size even if the architecture allows
3946 unaligned memory access. Unaligned memory access usually comes with
3947 performance penality.
3949 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3951 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3952 (gst_registry_binary_check_magic),
3953 (gst_registry_binary_load_pad_template),
3954 (gst_registry_binary_load_feature),
3955 (gst_registry_binary_load_plugin):
3956 Align memory to the pointer size instead of always 32 bit. Fixes
3957 unaligned memory accesses on ia64 and friends.
3959 * gst/gstregistrybinary.h:
3960 Bump binary registry format version for this as it changes the
3961 format on those architectures that don't have unaligned access
3962 and 64 bit pointers.
3964 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3966 * docs/pwg/advanced-dparams.xml:
3967 * docs/pwg/building-props.xml:
3968 * docs/pwg/other-source.xml:
3969 * gst/glib-compat.h:
3970 * gst/gstbin.c: (gst_bin_class_init):
3971 * gst/gstclock.c: (gst_clock_class_init):
3972 * gst/gstindex.c: (gst_index_class_init):
3973 * gst/gstobject.c: (gst_object_class_init):
3974 * gst/gstpad.c: (gst_pad_class_init):
3975 * gst/gstpipeline.c: (gst_pipeline_class_init):
3976 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3977 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3978 * libs/gst/base/gstbasetransform.c:
3979 (gst_base_transform_class_init):
3980 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3981 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3982 (_gst_check_fault_handler_sighandler),
3983 (_gst_check_fault_handler_setup), (gst_check_init):
3984 * libs/gst/controller/gstcontroller.c:
3985 (_gst_controller_class_init):
3986 * libs/gst/controller/gstlfocontrolsource.c:
3987 (gst_lfo_control_source_class_init):
3988 * libs/gst/net/gstnetclientclock.c:
3989 (gst_net_client_clock_class_init):
3990 * libs/gst/net/gstnettimeprovider.c:
3991 (gst_net_time_provider_class_init):
3992 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3993 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3994 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3995 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3996 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3997 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3998 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3999 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4000 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4001 * plugins/elements/gstqueue.c: (gst_queue_class_init):
4002 * plugins/elements/gsttee.c: (gst_tee_class_init):
4003 * plugins/elements/gsttypefindelement.c:
4004 (gst_type_find_element_class_init):
4005 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4006 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4007 use it everywhere for GParamSpecs that use static strings (i.e. all).
4008 This gives us less memory usage, fewer allocations and thus less
4009 memory defragmentation. Fixes bug #523806.
4011 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
4013 * gst/gstminiobject.c: (gst_value_dup_mini_object),
4014 (gst_param_spec_mini_object):
4015 * gst/gstminiobject.h:
4016 * win32/common/libgstreamer.def:
4017 * docs/gst/gstreamer-sections.txt:
4018 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4019 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4020 GstParamSpecMiniObject into a public header for this.
4022 This make GstMiniObject a bit more consistent with GObject and makes
4023 it possible to extend the param specs.
4025 gst_value_dup_mini_object is mainly useful for set_property methods.
4029 * tools/gst-inspect.c: (print_element_properties_info):
4030 Print something useful for GstMiniObject properties and not just
4033 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4035 * docs/gst/gstreamer-sections.txt:
4036 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4037 (gst_registry_binary_check_magic):
4038 * gst/gstregistrybinary.h:
4039 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4040 and add it to the (private part) of the docs to fix the build.
4042 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
4044 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4045 (gst_registry_binary_check_magic),
4046 (gst_registry_binary_read_cache):
4047 * gst/gstregistrybinary.h:
4048 Don't use GST_MAJORMINOR for the binary registry version. Instead
4049 hardcode a value that must be changed whenever the format changes
4050 in an incompatible way.
4051 Also don't GST_ERROR when there is a version mismatch, just
4052 regenerate the registry silently.
4054 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
4057 Back to development - 0.10.18.1
4059 === release 0.10.18 ===
4061 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4064 releasing 0.10.18, "So far away"
4066 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4069 * win32/common/config.h:
4070 0.10.17.4 pre-release
4072 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4074 Patch by: Ole André Vadla Ravnås
4075 <ole dot andre dot ravnas at tandberg dot com>
4077 * docs/gst/gstreamer-sections.txt:
4078 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4079 (gst_poll_update_winsock_event_mask),
4080 (gst_poll_prepare_winsock_active_sets),
4081 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4082 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4083 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4084 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4085 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4087 * win32/common/libgstreamer.def:
4088 Add new function gst_poll_fd_ignored() for improved Windows
4090 Various minor fixes and cleanups. See #520808.
4092 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4094 * gst/gstindex.c: (gst_index_entry_free):
4096 Don't free key strings which we don't own. Fixes crash in
4097 gst_index_entry_free() (#522741).
4099 * tests/check/Makefile.am:
4100 * tests/check/gst/.cvsignore:
4101 * tests/check/gst/gstindex.c: (test_index_entries),
4102 (gst_index_suite), (gst_index):
4103 Add unit test for the above.
4105 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4107 * win32/common/libgstreamer.def:
4108 Remove symbols that were removed recently. Fixes bug #521740.
4110 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4113 * win32/common/config.h:
4114 0.10.17.3 pre-release
4116 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4118 Patch by: Ole André Vadla Ravnås
4119 <ole dot andre dot ravnas at tandberg dot com>
4121 * docs/gst/gstreamer-sections.txt:
4122 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4123 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4124 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4125 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4126 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4127 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4128 (gst_poll_fd_can_write), (gst_poll_wait),
4129 (gst_poll_set_controllable), (gst_poll_restart),
4130 (gst_poll_set_flushing):
4132 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4133 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4134 (gst_net_time_provider_new):
4135 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4136 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4137 * tests/benchmarks/gstpollstress.c: (main):
4138 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4139 Remove GstPollMode from the API, it does not make sense to let the
4140 application control this.
4141 Add support for Win32.
4142 Fix the testsuite. Fixes #520671.
4144 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4146 Patch by: Ole André Vadla Ravnås
4147 <ole dot andre dot ravnas at tandberg dot com>
4149 * gst/gstregistrybinary.c:
4150 Include io.h for write() and close() when building with MSVC. Fixes
4153 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4156 * gst/gst_private.h:
4157 * gst/gstconfig.h.in:
4158 * gst/gstregistry.h:
4159 * gst/gstregistrybinary.c:
4160 * win32/common/gstconfig.h:
4161 Move registry backend API to private headers where we can. Add
4162 fixme-0.11 comments for the others. Add stubs for the xml backend when
4163 using the binary to ensure they functions exists (they should not be
4164 used though). Fixes #520756.
4166 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4169 * win32/common/config.h:
4172 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4174 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4175 (gst_registry_binary_read_cache):
4176 * gst/gstregistryxml.c: (gst_registry_save):
4177 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4178 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4179 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4180 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4181 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4184 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4186 * gst/gstminiobject.c:
4187 Import gst_private.h before any other header that might include other
4188 glib headers. This fixes the build on windows using native compilers.
4190 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4192 * win32/common/gstconfig.h:
4193 Add here too, just for completeness.
4195 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4198 * gst/gstconfig.h.in:
4199 * gst/gstregistry.h:
4200 Fix broken use of config.h-defined preprocessor directive in a public
4201 header file. Add a corresponding define to gstconfig.h, since we can't
4202 really remove those function declarations from the header file now
4203 (or can we? and why are they there in the first place?).
4205 2008-03-03 Andy Wingo <wingo@pobox.com>
4207 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4210 * gst/gststructure.c (gst_structure_from_string): Warn if
4211 structure_from_string didn't consume the whole string, but the
4212 caller did not provide an end pointer.
4214 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4216 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4218 * gst/gstregistryxml.c: (read_string), (load_feature):
4219 Strings allocated by libxml2 should be freed with xmlFree(), not
4220 with g_free(). Fixes issues on windows in certain contexts (#519698).
4222 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4224 * gst/gstinterface.c: (gst_element_implements_interface):
4225 Don't crash if the element supports the interface queried, but does
4226 not implement GstImplementsInterface. Fixes #519584.
4228 * tests/check/Makefile.am:
4229 * tests/check/gst/.cvsignore:
4230 * tests/check/gst/gstinterface.c:
4231 Add unit test for the above.
4233 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4235 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4238 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4240 * gst/gstsegment.c: (gst_segment_set_seek),
4241 (gst_segment_to_stream_time):
4242 Improve some comment.
4243 Update variables where it makes more sense.
4245 2008-02-29 Rene Stadler <mail@renestadler.de>
4247 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4248 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4249 URIHandlers implemented using language bindings.
4251 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4253 * gst/gstelementfactory.h:
4254 * tests/check/elements/fakesink.c:
4255 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4256 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4257 * tests/check/elements/filesink.c: (setup_filesink):
4258 * tests/check/elements/filesrc.c: (setup_filesrc):
4259 * tests/check/elements/identity.c: (setup_identity):
4260 * tests/check/elements/tee.c:
4261 * tests/check/generic/sinks.c:
4262 * tests/check/generic/states.c: (setup), (teardown):
4263 * tests/check/gst/gst.c:
4264 * tests/check/gst/gstabi.c:
4265 * tests/check/gst/gstbin.c:
4266 * tests/check/gst/gstbus.c: (pull_messages):
4267 * tests/check/gst/gstcaps.c:
4268 * tests/check/gst/gstelement.c:
4269 * tests/check/gst/gstevent.c:
4270 * tests/check/gst/gstghostpad.c:
4271 * tests/check/gst/gstiterator.c:
4272 * tests/check/gst/gstmessage.c:
4273 * tests/check/gst/gstminiobject.c: (my_foo_init):
4274 * tests/check/gst/gstobject.c: (thread_name_object),
4276 * tests/check/gst/gstpad.c:
4277 * tests/check/gst/gstplugin.c:
4278 * tests/check/gst/gstpoll.c:
4279 * tests/check/gst/gstquery.c:
4280 * tests/check/gst/gstsegment.c:
4281 * tests/check/gst/gststructure.c:
4282 * tests/check/gst/gstsystemclock.c:
4283 * tests/check/gst/gsttask.c:
4284 * tests/check/gst/gstutils.c:
4285 * tests/check/gst/gstvalue.c:
4286 * tests/check/gst/struct_hppa.h:
4287 * tests/check/gst/struct_i386.h:
4288 * tests/check/gst/struct_ppc32.h:
4289 * tests/check/gst/struct_ppc64.h:
4290 * tests/check/gst/struct_x86_64.h:
4291 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4292 * tests/check/libs/basesrc.c:
4293 * tests/check/libs/controller.c: (GST_START_TEST):
4294 * tests/check/libs/gdp.c:
4295 * tests/check/libs/gstnetclientclock.c:
4296 * tests/check/libs/gstnettimeprovider.c:
4297 * tests/check/libs/libsabi.c:
4298 * tests/check/libs/struct_hppa.h:
4299 * tests/check/libs/struct_i386.h:
4300 * tests/check/libs/struct_ppc32.h:
4301 * tests/check/libs/struct_ppc64.h:
4302 * tests/check/libs/struct_x86_64.h:
4303 * tests/check/pipelines/cleanup.c:
4304 * tests/check/pipelines/simple-launch-lines.c:
4305 * tests/check/pipelines/stress.c:
4306 And correct even more valid sparse warnings.
4308 * win32/common/libgstreamer.def:
4309 Add gst_poll_fd_init to the list of symbols.
4311 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4313 * gst/gstconfig.h.in:
4314 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4315 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4316 (gst_check_log_critical_func), (gst_check_drop_buffers),
4317 (gst_check_element_push_buffer_list):
4318 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4319 (gst_controller_get_type):
4320 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4321 (gst_object_get_controller), (gst_object_get_control_source):
4322 * libs/gst/controller/gstinterpolationcontrolsource.c:
4323 (gst_interpolation_control_source_new):
4324 * libs/gst/controller/gstlfocontrolsource.c:
4325 (gst_lfo_control_source_new):
4326 * libs/gst/dataprotocol/dataprotocol.c:
4327 (gst_dp_event_from_packet_0_2):
4328 * plugins/elements/gstfdsrc.c:
4329 * plugins/elements/gstmultiqueue.c:
4330 * plugins/elements/gsttee.c:
4331 * plugins/elements/gsttypefindelement.c:
4332 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4333 (gst_file_index_add_association):
4334 * plugins/indexers/gstmemindex.c:
4335 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4336 * tests/check/elements/queue.c: (setup_queue):
4337 * tests/check/gst/gstpipeline.c:
4338 * tests/check/libs/collectpads.c: (setup), (teardown),
4339 (gst_collect_pads_suite):
4340 * tests/examples/adapter/adapter_test.c:
4341 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4342 * tests/examples/xml/createxml.c:
4343 * tests/examples/xml/runxml.c:
4344 * tools/gst-inspect.c:
4346 Correct all relevant warnings found by the sparse semantic code
4347 analyzer. This include marking several symbols static, using
4348 NULL instead of 0 for pointers, not using variable sized arrays
4349 on the stack, moving variable declarations to the beginning of
4350 a block and using "foo (void)" instead of "foo ()" for declarations.
4352 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4354 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4355 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4356 Don't reset GstPollFDs, this is not necessary at all.
4358 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4359 (delayed_restart), (delayed_control):
4360 Use GST_POLL_FD_INIT.
4362 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4364 * gst/gstpoll.c: (gst_poll_fd_init):
4368 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4369 Use some more init macros.
4371 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4373 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4374 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4375 Use init macros and functions.
4377 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4379 * docs/gst/gstreamer-sections.txt:
4380 * gst/gstpoll.c: (gst_poll_fd_init):
4382 Add INIT macro and _init method for initializing the GstPollFD.
4384 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4386 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4387 (gst_fd_sink_update_fd):
4388 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4389 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4390 (delayed_restart), (delayed_control):
4391 Initialize some uninitialized variables as spotted by valgrind.
4393 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4395 * tests/benchmarks/Makefile.am:
4396 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4398 Add poll stress test.
4400 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4402 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4404 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4405 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4406 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4407 * plugins/elements/gstfdsink.h:
4408 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4409 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4410 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4411 (gst_fd_src_uri_set_uri):
4412 * plugins/elements/gstfdsrc.h:
4413 Port to GstPoll. See #505417.
4415 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4417 * win32/common/libgstreamer.def:
4418 Add new gst_poll_ symbols to win32 defs.
4420 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4422 * docs/libs/gstreamer-libs-sections.txt:
4423 * libs/gst/net/gstnetclientclock.c:
4424 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4425 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4426 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4427 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4428 * libs/gst/net/gstnetclientclock.h:
4429 * libs/gst/net/gstnettimeprovider.c:
4430 (gst_net_time_provider_class_init), (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 Use a private stuct to not break ABI.
4437 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4439 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4441 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4442 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4443 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4444 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4445 * libs/gst/net/gstnetclientclock.h:
4446 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4447 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4448 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4449 (gst_net_time_provider_new):
4450 * libs/gst/net/gstnettimeprovider.h:
4451 Massive code removal and cleanups because of GstPoll.
4454 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4457 Add checks for poll, ppoll and pselect.
4459 * docs/gst/gstreamer-docs.sgml:
4460 * docs/gst/gstreamer-sections.txt:
4461 Add docs for GstPoll.
4465 * gst/gstpoll.c: (find_index), (selectable_fds),
4466 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4467 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4468 (gst_poll_set_mode), (gst_poll_get_mode),
4469 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4470 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4471 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4472 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4473 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4474 (gst_poll_fd_can_write), (gst_poll_wait),
4475 (gst_poll_set_controllable), (gst_poll_restart),
4476 (gst_poll_set_flushing):
4478 Add generic poll abstraction. We ideally don't want to have this in core
4479 here but in glib intead...
4480 This code will be used in various network elements and ultimately for
4481 the nanosecond precision monotonic clock (that's why it's here in core).
4482 It'll allow us to implement cancelable socket operations for windows too.
4484 * tests/check/Makefile.am:
4485 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4486 (delayed_stop), (delayed_restart), (delayed_flush),
4487 (delayed_control), (gst_poll_suite):
4488 Add GstPoll unit test.
4490 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4493 Improve documentation of gst_filter_run(). Fixes #518627.
4495 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4498 Add a few lines about the new 'check-inspected-versions' target.
4500 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4502 * tests/check/gst/gstevent.c:
4503 Add qos to the event test. Rename tcase/tsuite; is not only about
4506 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4508 * plugins/elements/gstqueue.c:
4509 Ensure that buffer metadata is writeable, before modifying. Spotted by
4512 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4514 * plugins/elements/gstqueue.c:
4515 * plugins/elements/gstqueue.h:
4516 When dropping buffers in leaky modes, mark next buffers we sent as
4519 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4521 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4522 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4524 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4526 * plugins/elements/Makefile.am:
4527 * plugins/elements/gstbufferstore.c:
4528 * plugins/elements/gstbufferstore.h:
4529 * plugins/elements/gsttypefindelement.h:
4530 Remove GstBufferStore, no idea why we were still building it.
4531 It's not used anywhere and superseded by GstAdapter.
4533 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4534 (gst_file_src_create_mmap):
4535 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4536 Printf format fixes for 64-bit integers.
4538 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4541 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4542 We're not in 0.8 times anymore.
4544 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4546 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4547 (gst_check_element_push_buffer_list):
4548 * libs/gst/check/gstcheck.h:
4549 Make the declaration in the header for
4550 gst_check_element_push_buffer_list match the implementation.
4552 Fix up spelling, grammar and wording of the documentation in a few
4553 places, and add the Since keyword to new API functions.
4554 Use g_list_delete_link instead of g_list_remove in
4555 gst_check_drop_buffers, since it's immeasurably more efficient.
4557 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4558 Use new gst_check_drop_buffers function where appropriate.
4560 * win32/common/libgstbase.def:
4561 * win32/common/libgstreamer.def:
4562 Add new symbols gst_collect_pads_take_buffer,
4563 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4566 Changelog surgery to add API keyword to new gst_check API.
4568 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4570 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4571 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4572 Update pre-generated flex files with flex 2.3.34.
4574 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4576 * gst/gstminiobject.c:
4577 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4578 friendly to subclasses and not require them to know all internals
4579 of their parent class.
4581 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4583 * docs/libs/gstreamer-libs-sections.txt:
4584 * libs/gst/base/gstcollectpads.c:
4585 * libs/gst/base/gstcollectpads.h:
4586 Add sub-buffer functions to collectpads. Fixes #516187.
4587 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4589 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4592 Copy selected buffer-flags when creating subbuffers.
4595 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4597 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4598 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4599 * gst/gstmessage.c: (gst_message_class_init),
4600 (gst_message_finalize):
4601 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4602 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4603 (gst_mmap_buffer_finalize):
4604 Properly chain up finalize functions to the parent class.
4606 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4608 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4610 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4611 (gst_index_set_resolver_full):
4613 Add new function with option to dispose of user_data in resolver.
4614 Actually call the dispose function when finalizing the object and not
4615 just when changing the resolver/filter.
4616 API: GstIndex::gst_index_set_resolver_full()
4618 * docs/gst/gstreamer-sections.txt:
4619 Add new function to docs. Fixes #515469.
4621 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4623 * gst/gstindex.c: (gst_index_finalize):
4624 Chain up finalize to the parent class. Fixes leaking the GstObject
4625 name and other things.
4627 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4630 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4631 pre-releases or releases.
4633 * docs/faq/gst-uninstalled:
4636 * docs/random/release:
4637 Change one of the steps - we only upload core & base to Gnome FTP
4639 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4641 * gst/gstconfig.h.in:
4642 Add 'id' for example.
4646 * plugins/elements/gstfdsink.c:
4647 Link to signals. Doc and comment fixes.
4649 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4651 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4652 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4653 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4654 unused and unimplemented; finally, it is plugin features, not
4655 plugins, that have ranks.
4657 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4659 * gst/gstpluginfeature.h:
4660 Clarify GstRank range docs.
4662 2008-02-05 David Schleef <ds@schleef.org>
4664 * gst/gst.c: Add a separate gst_deinitialized that prevents
4665 gst_init() from being called after gst_deinit(). Fixes #509559
4667 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4669 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4670 (gst_bin_class_init):
4671 * gst/gstelement.c: (gst_element_base_class_init),
4672 (gst_element_class_add_pad_template):
4673 * gst/gstpadtemplate.c: (gst_pad_template_init):
4674 * gst/gstpipeline.c: (gst_pipeline_get_type),
4675 (gst_pipeline_base_init), (gst_pipeline_class_init):
4676 * libs/gst/base/gstbasesink.c:
4677 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4678 (gst_base_src_base_init), (gst_base_src_class_init):
4679 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4680 (gst_capsfilter_class_init):
4681 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4682 (gst_fake_sink_class_init):
4683 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4684 (gst_fake_src_class_init):
4685 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4686 (gst_fd_sink_class_init):
4687 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4688 (gst_fd_src_class_init):
4689 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4690 (gst_file_sink_class_init):
4691 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4692 (gst_file_src_class_init):
4693 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4694 (gst_identity_class_init):
4695 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4696 (gst_multi_queue_class_init):
4697 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4698 (gst_queue_class_init):
4699 * plugins/elements/gsttee.c: (gst_tee_base_init),
4700 (gst_tee_class_init):
4701 * plugins/elements/gsttypefindelement.c:
4702 (gst_type_find_element_base_init),
4703 (gst_type_find_element_class_init):
4704 * tests/check/gst/gstelement.c: (gst_element_suite):
4705 Revert previous changes to the behaviour of GstPadTemplates, etc
4706 and the possiblity to call them in class_init as it breaks too
4707 many elements. Reopens bug #491501.
4709 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4712 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4714 * tools/gst-launch.c:
4715 Dump one graph per pipeline state-change and state change name
4716 (if GST_DEBUG_DUMP_DOT_DIR is set).
4718 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4721 * tests/check/gst/gstpad.c:
4722 Be sure that we have a new copy of the caps and not
4723 reffed caps from a template
4725 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4727 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4728 * gst/gstpipeline.c: (gst_pipeline_get_type),
4729 (gst_pipeline_class_init):
4730 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4731 (gst_base_sink_class_init):
4732 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4733 (gst_base_src_class_init):
4734 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4735 (gst_base_transform_class_init):
4736 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4737 (gst_collect_pads_class_init):
4738 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4739 * libs/gst/net/gstnettimeprovider.c:
4740 (gst_net_time_provider_base_init),
4741 (gst_net_time_provider_class_init):
4742 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4743 (gst_capsfilter_class_init):
4744 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4745 (gst_fake_sink_class_init):
4746 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4747 (gst_fake_src_class_init):
4748 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4749 (gst_fd_sink_class_init):
4750 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4751 (gst_fd_src_class_init):
4752 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4753 (gst_file_sink_class_init):
4754 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4755 (gst_file_src_class_init):
4756 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4757 (gst_identity_class_init):
4758 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4759 (gst_multi_queue_class_init):
4760 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4761 (gst_queue_class_init):
4762 * plugins/elements/gsttee.c: (gst_tee_base_init),
4763 (gst_tee_class_init):
4764 * plugins/elements/gsttypefindelement.c:
4765 (gst_type_find_element_base_init),
4766 (gst_type_find_element_class_init):
4767 Don't use base_init where not absolutely necessary. For example it's
4768 not necessary anymore for adding pad templates or setting element
4771 Leave empty base_init functions in several places as GST_BOILERPLATE
4772 still defines and uses them.
4774 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4776 * gst/gstelement.c: (gst_element_base_class_init),
4777 (gst_element_class_add_pad_template):
4778 * gst/gstpadtemplate.c:
4779 Make it possible (and recommended) to set element details and add
4780 pad templates in the class_init functions by copying the details/pad
4781 templates in GstElement's base_init.
4783 Also make it possible to replace existing pad templates by adding
4784 a new one with the same name. This was done in a hackish fashion
4785 in same elements before already.
4787 Don't reference pad templates that are added a second time. A
4788 new pad template has a refcount of one and is not floating anymore
4789 and to be owned by the element's class. Make this more explicit by
4790 mentioning it in the docs of gst_element_class_add_pad_template().
4792 These changes are backwards compatible. Fixes bug #491501.
4794 * tests/check/gst/gstelement.c:
4795 Add unit test for setting element details, adding pad templates and
4796 replacing them in a subclass.
4798 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4800 * tools/gst-inspect.c: (print_interfaces),
4801 (print_element_properties_info), (print_pad_info),
4802 (print_signal_info), (print_element_info):
4803 Fix a few memory leaks.
4805 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4807 * docs/libs/gstreamer-libs-sections.txt:
4808 * libs/gst/check/gstcheck.c:
4809 * libs/gst/check/gstcheck.h:
4810 Add more functions for unit testing: gst_check_drop_buffers,
4811 gst_check_caps_equal, gst_check_element_push_buffer_list,
4812 gst_check_element_push_buffer
4813 API: gst_check_drop_buffers
4814 API: gst_check_caps_equal
4815 API: gst_check_element_push_buffer_list
4816 API: gst_check_element_push_buffer
4818 2008-02-01 Julien Moutte <julien@fluendo.com>
4820 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4821 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4822 (gst_index_finalize), (gst_index_entry_free),
4823 (gst_index_add_association): Fix memory leaks.
4824 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4825 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4826 (gst_mem_index_free_format), (gst_mem_index_free_id),
4827 (gst_mem_index_finalize): Fix memory leaks.
4828 * win32/common/config.h: Updated to CVS HEAD.
4830 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4833 Some more details about how the plugin docs works.
4835 * docs/plugins/gstreamer-plugins-sections.txt:
4838 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4840 * gst/parse/grammar.tab.pre.c:
4841 * gst/parse/grammar.tab.pre.h:
4842 * gst/parse/grammar.y:
4843 * gst/parse/lex._gst_parse_yy.pre.c:
4844 Add delayed set-property. This allows to set properties on dynamicaly
4845 created objects (pads in videomxer). Fixes #509391.
4847 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4850 Check if caps are not NULL (fix bug #510194)
4852 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4854 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4855 (gst_base_sink_get_position_paused):
4856 Add fixme regarding EOS in pull mode.
4857 Fix position reporting in PAUSED for negative rates.
4859 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4861 * gst/gstminiobject.c: (gst_mini_object_replace):
4862 When replacing a miniobject, do a quick equality check first so that we
4863 can avoid a ref/unref pair.
4865 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4867 * docs/design/part-synchronisation.txt:
4870 * docs/plugins/Makefile.am:
4871 * docs/plugins/gstreamer-plugins-docs.sgml:
4872 * docs/plugins/gstreamer-plugins-sections.txt:
4873 * plugins/elements/gstmultiqueue.c:
4874 Add multiqueue to the docs.
4876 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4881 === release 0.10.17 ===
4883 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4886 releasing 0.10.17, "Due Negligence"
4888 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4891 Revert caps != NULL check temporarily for 0.10.17 release.
4893 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4896 Check if caps are not NULL (fix bug #510194)
4898 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4901 Fix compilation on systems that have posix timers but no
4904 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4907 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4909 * tools/gst-inspect.c:
4910 Revert previous commit in preparation for an impromptu 0.10.17 release
4912 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4914 * tools/gst-inspect.c: (print_interfaces),
4915 (print_element_properties_info), (print_pad_info),
4916 (print_signal_info), (print_element_info):
4917 Fix a few memory leaks.
4919 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4924 === release 0.10.16 ===
4926 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4929 releasing 0.10.16, "Special Dispensation"
4931 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4934 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4935 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4936 not fail when trying to crosscompile on OpenEmbedded (#511750).
4938 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4941 Use $(MAKE) instead of make to fix the build if GNU make is
4942 called different. Fixes bug #510747.
4944 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4946 * gst/gstplugin.c: (_gst_plugin_initialize):
4947 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4948 again, which I broke two commits ago when changing the API
4949 of gst_plugin_register_static(): the g_list_foreach() in
4950 _gst_plugin_register_static still assumed the old function
4951 signature and would therefore fail (re-fixes #510187).
4953 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4954 (_gst_plugin_register_static), (gst_plugin_register_static):
4955 Revert the (technically correct) change to call g_thread_init() from
4956 the pre-main() constructor. This will break programs which call
4957 g_thread_init() without an if (!g_thread_supported()) guard in their
4958 main function. We could just blame it on GLib or the application, but
4959 it's probably best to just avoid this altogether and simply not use
4960 any GLib functions here and use plain old malloc() with a simple
4961 array to store the plugins to register later when gst_init() is
4962 finally called (re-fixes #510187).
4964 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4965 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4966 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4967 (GST_START_TEST), (gst_plugin_suite):
4968 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4971 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4973 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4974 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4975 This makes gtk-doc complain, but results in slightly better
4976 compiler errors. The old _gst_plugin_register_static() is
4977 still guarded, so there'll be a compiler warning about that
4978 instead. Fixes #510187 too.
4980 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4982 * gst/gst.c: (init_post):
4983 * gst/gstplugin.c: (_gst_plugin_register_static),
4984 (gst_plugin_register_static), (_gst_plugin_initialize):
4985 * gst/gstplugin.h: (GstPluginFilter):
4986 Change API of gst_plugin_register_static() to not take
4987 a GstPluginDesc, but rather just take all the arguments
4988 in a GstPluginDesc directly. This is more intuitive and
4989 avoids certain mistakes when porting code from
4990 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4993 * tests/check/gst/gstplugin.c:
4994 Fix up for changed API.
4996 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4998 * docs/faq/legal.xml:
4999 Update FAQ, Totem actually has an exception these days.
5001 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
5003 * win32/common/libgstreamer.def:
5004 Add new API declarations
5006 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5008 * gst/gstminiobject.c:
5009 Spelling fixes for the API docs.
5011 2008-01-14 Stefan Kost <ensonic@users.sf.net>
5013 * libs/gst/base/gstbasetransform.c:
5014 Fix long property description for QoS.
5016 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
5019 _gst_trace_on is already provided by gsttrace.h, no need to declare
5022 * docs/libs/gstreamer-libs-sections.txt:
5023 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5024 and remove strange tcase_add_test which is outputting a warning.
5026 * libs/gst/check/gstcheck.c:
5027 * libs/gst/check/gstcheck.h:
5028 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5029 and define them in gstcheck.c instead of having every .c file whcih
5030 includes gstcheck.h be defining its own copy and relying on symbol
5031 interposing to marry them all, which doesn't work on Solaris.
5033 * tests/check/elements/identity.c: (GST_START_TEST):
5034 Don't define 'buffers' locally, it comes from libgstcheck.
5036 * tests/check/generic/sinks.c: (send_buffer):
5037 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5039 * tests/check/gst/gststructure.c: (GST_START_TEST):
5040 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5041 * tests/check/gst/gstutils.c: (GST_START_TEST):
5042 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5043 Add a bunch of casts to make various constants fit the types
5044 they're being assigned to.
5046 2008-01-10 Stefan Kost <ensonic@users.sf.net>
5048 * gst/gstchildproxy.c:
5049 Improve docs and add some ideas for making this more general-purpose.
5051 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
5053 * gst/gst_private.h: (GST_CAT_TYPES):
5054 Add GST_CAT_TYPES, for consistency, and so that the other
5055 debug categories don't make fun of it. Spotted by Saur on IRC.
5057 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5059 * gst/parse/Makefile.am:
5060 Move types.h from EXTRA_DIST to noinst_HEADERS.
5062 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5065 Add -Wno-portability to the automake parameters to stop warnings
5066 about GNU make extensions being used. We require GNU make in almost
5067 every Makefile anyway.
5070 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5071 at the same time is required for per target flags.
5073 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5076 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5077 __GNUC__ is defined before using it.
5079 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5081 * docs/gst/gstreamer-sections.txt:
5082 * gst/gst.c: (init_post):
5083 * gst/gstplugin.c: (_gst_plugin_register_static),
5084 (gst_plugin_register_static), (_gst_plugin_initialize),
5085 (gst_plugin_register_func):
5086 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5087 API: add gst_plugin_register_static() and deprecate
5088 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5090 Also, in _gst_plugin_register_static(), make sure to call
5091 g_thread_init() before calling GLib functions such as
5092 g_list_append() if we're not initialised yet, since that
5093 may lead to random crashes with older GSlice/GLib versions.
5095 * tests/check/gst/gstplugin.c:
5096 Adapt unit test to above changes.
5098 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5100 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5101 * gst/gstcaps.c: (gst_caps_to_string):
5102 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5103 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5104 Yet another gratuitous GString micro-optimisation: add a (private)
5105 function that serialises a structure appending to an existing
5106 GString, so that when we serialise caps we don't need to alloc+free
5107 a throwaway GString for each structure (each of which also entailing
5108 multiple reallocs on the way); also use g_string_sized_new() in
5109 various places with an approximate string length to avoid reallocs
5110 within GString. See #500143.
5112 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5114 * gst/gststructure.c: (gst_structure_id_set_value):
5115 Always check UTF-8 conformance of structure strings and not only
5116 if the debugging system is enabled; reasoning: the behaviour of
5117 the actual code shouldn't really change depending on whether the
5118 debugging system is enabled or not (#508291).
5120 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5123 Remove old coverage target in favour of "make lcov".
5125 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5127 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5128 (gst_base_src_loop):
5129 The start segment for reverse playback goes from start to last_stop.
5131 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5133 Patch by: Peter Kjellerstedt <pkj axis com>
5136 Cast the results from the timeval/spec_to_time macros to what the
5137 docs say it casts to, a GstClockTime. fixes #508175.
5139 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5142 Update some comments.
5144 * tools/gst-inspect.c: (print_element_properties_info):
5145 Improve printing of flags.
5147 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5149 * libs/gst/base/gstbasetransform.c:
5150 (gst_base_transform_transform_size):
5151 Print element name with g_warning() if there's a problem
5154 2008-01-07 David Schleef <ds@schleef.org>
5156 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5158 * libs/gst/controller/gstcontroller.h:
5159 * libs/gst/controller/gstcontrolsource.h:
5160 * libs/gst/controller/gstinterpolationcontrolsource.h:
5161 * libs/gst/controller/gstlfocontrolsource.h:
5162 * libs/gst/dataprotocol/dataprotocol.h:
5163 Fix empty prototypes. Fixes bug #507957.
5165 2008-01-07 David Schleef <ds@schleef.org>
5167 * docs/faq/dependencies.xml: Fix typo.
5169 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5171 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5172 (gst_base_src_loop):
5173 Don't update the last_stop position in do_seek, that's the position we
5175 Read backwards when we have a negative rate.
5177 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5178 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5180 Add check for reverse reading.
5182 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5184 Patch by: Alexis Ballier <aballier at gentoo org>
5186 * tests/check/gst/gstabi.c:
5187 * tests/check/gst/struct_ppc64.h:
5188 * tests/check/libs/libsabi.c:
5189 * tests/check/libs/struct_ppc64.h:
5190 Decide which header to include based on the userland ABI target
5191 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5192 for 64-bit userland (#503590). Might need something similar for
5195 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5197 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5198 Log the reason why fopen fails in addition to the fact that it failed.
5200 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5202 * gst/parse/parse.l:
5203 Use "%option never-interactive" to prevent useless calls to isatty()
5204 on every input when parsing. Also use "%option noinput" to not define
5205 the static input/yyinput functions which we don't use anyway. This
5206 removes a compiler warning with gcc 4.3 and saves some bytes in the
5209 * gst/parse/lex._gst_parse_yy.pre.c:
5210 Regenerated for the above change.
5212 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5214 * gst/gstpad.c: (fixate_value):
5215 Don't crash when trying to fixate and empty list.
5218 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5220 * docs/faq/gst-uninstalled:
5221 Clarify the comments to make the usage of this script and what it
5222 does easier to understand.
5224 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5226 * tools/gst-plot-timeline.py:
5227 Add more options to gst-plot-timeline
5229 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5231 * docs/design/part-synchronisation.txt:
5232 Some more info on how the stream_time in GstBaseSink is done.
5234 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5236 * tests/check/generic/sinks.c: (gst_sinks_suite):
5237 Put back the tcase_set_timeout(), apparently it's needed after
5238 all; fix it up in a way that makes things work with valgrind too.
5240 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5242 * gst/gstdebugutils.c:
5243 Add warning when failed to open file for writing.
5245 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5247 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5249 * gst/gstvalue.c: (gst_value_is_fixed):
5250 Optimisation: bail out of the loop as early as possible (#500143).
5252 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5254 * gst/gstcaps.c: (gst_caps_to_string):
5255 * gst/gstinfo.c: (gst_debug_construct_term_color):
5256 * gst/gstparse.c: (gst_parse_launchv):
5257 * gst/gstutils.c: (gst_util_dump_mem):
5258 * gst/gstvalue.c: (gst_value_serialize_any_list),
5259 (gst_value_transform_any_list_string):
5260 Bunch of gratuitous nano-optimisations.
5262 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5264 * tests/check/generic/sinks.c: (async_done_func),
5265 (async_done_eos_func):
5266 Fix leak in unit test (bus sync handler must unref the message
5267 if it returns GST_BUS_DROP). Don't fiddle with the default test
5268 timeout, this is smaller than the current preconfigured value
5269 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5270 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5272 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5274 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5277 Check for stdio_ext.h for the filesink changes.
5279 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5280 (gst_file_sink_class_init), (gst_file_sink_init),
5281 (gst_file_sink_dispose), (gst_file_sink_set_property),
5282 (gst_file_sink_get_property), (gst_file_sink_open_file),
5283 (gst_file_sink_close_file):
5284 * plugins/elements/gstfilesink.h:
5285 Add two properties to control the buffering mode and size.
5286 API: GstFileSink::buffer-mode
5287 API: GstFileSink::buffer-size
5290 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5292 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5293 Add some more docs to explain why a FIXME was wrongly added.
5295 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5298 Fix typo in the gst_object_{ref,unref} documentation.
5300 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5302 * tests/check/libs/controller.c:
5303 * tests/check/libs/typefindhelper.c:
5304 * tests/check/pipelines/parse-launch.c:
5305 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5306 going to be deprecated (see #498924).
5308 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5310 * gst/gsttypefind.c: (gst_type_find_register):
5311 Make gst_type_find_register work for static typefind functions,
5312 ie. allow passing plugin == NULL (prerequisite for #498924).
5314 * gst/gstelementfactory.c: (gst_element_register):
5315 Small docs addition.
5317 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5319 * gst/gstpad.c: (gst_pad_dispose):
5320 Really unlink the peer pad instead of setting the peer pointer to NULL
5321 when we dispose the pad.
5322 This correctly calls the unlink functions and makes sure that the peer
5323 does not have a handle to invalid memory. See #504671.
5325 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5326 Add testsuite for above case.
5328 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5330 Patch by: Peter Kjellerstedt <pkj axis com>
5332 * libs/gst/check/gstcheck.h:
5333 Fix detection of the check version we're compiling against (would
5334 otherwise break if check goes v0.10.0); correctly report the
5335 name of the failed test again in case of failure, instead of
5336 just 'tf' (fixes #504499).
5338 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5340 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5341 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5342 (gst_base_src_loop), (gst_base_src_set_flushing),
5343 (gst_base_src_change_state):
5344 Allow sending EOS to the source to make it send out an EOS event from
5345 the streaming thread.
5346 Update docs and deprecate the old NULL/READY shutdown method.
5348 * tests/check/libs/basesrc.c: (GST_START_TEST),
5349 (gst_basesrc_suite):
5350 Add unit test for controlled shutdown.
5352 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5354 * docs/design/part-synchronisation.txt:
5357 * gst/gstsegment.c: (gst_segment_set_seek),
5358 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5359 (gst_segment_to_running_time):
5360 The seek format can be different from the segment format when the start
5361 and stop values are not to be updated, when we only do a rate change for
5364 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5365 (gst_segment_suite):
5366 Add a testcase for the rate-only seeks, checking that the format is
5367 correctly ignored when start and stop are not updated.
5369 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5371 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5373 * win32/vs8/grammar.vcproj:
5374 * win32/vs8/libgstcontroller.vcproj:
5375 * win32/vs8/libgstreamer.vcproj:
5376 Fix compilation with VS8 and include some missing files.
5378 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5381 Small docs addition: mention that the strings returned by
5382 gst_tag_list_get_string*() are in UTF-8 encoding.
5384 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5387 The check-exports stuff moved to common/win32.mak, so include that.
5389 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5391 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5392 (gst_base_src_perform_seek), (gst_base_src_get_range),
5393 (gst_base_src_set_playing), (gst_base_src_change_state):
5394 Make _wait_playing() not check any variables so that we can call this
5395 function from subclasses. Move the checks elsewhere similar to
5396 _wait_preroll() in basesink.
5398 Only signal the LIVE cond when we are going back to PLAYING.
5400 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5402 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5403 Use g_remove() and g_rename(). Check result of g_rename(), and
5404 don't leak the open file descriptor if we error out when writing.
5406 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5407 Must check the return value of close() after writing out the new
5408 registry file. Sometimes write problems such as out-of-diskspace
5409 are only reported when the file is closed and not already during
5410 the write. This may have caused partial/broken registry files in
5411 some rare circumstances. Should fix #503675.
5413 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5415 * docs/gst/.cvsignore:
5416 * docs/libs/.cvsignore:
5417 * docs/plugins/.cvsignore:
5418 Ignore files generated by new common/* modifications
5420 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5422 * win32/common/libgstbase.def:
5423 Yes, you can also have a <TAB> if you want.
5425 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5427 * win32/common/libgstbase.def:
5428 Add new basetransform API to win export file.
5430 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5432 * tests/check/gst/gstbin.c:
5433 Adjust the test to the refcount change two days ago.
5435 2007-12-14 David Schleef <ds@schleef.org>
5437 * docs/faq/getting.xml: Fix typo.
5439 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5441 * docs/libs/gstreamer-libs-sections.txt:
5442 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5443 (gst_base_transform_prepare_output_buffer),
5444 (gst_base_transform_set_gap_aware):
5445 * libs/gst/base/gstbasetransform.h:
5446 API: Add gst_base_transform_set_gap_aware() to control whether
5447 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5448 get buffers with this flag at all. Fixes #503231.
5450 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5452 * libs/gst/base/gstbasesink.c:
5453 * libs/gst/base/gstbasesrc.c:
5454 * libs/gst/base/gstbasetransform.c:
5455 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5456 thread. Correct log message in gstbasesrc.c.
5458 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5460 * gst/gstutils.c: (element_find_unconnected_pad):
5461 Fix possible compiler warning (#503417).
5463 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5465 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5466 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5468 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5470 * tools/gst-inspect.c: (print_element_properties_info):
5471 Add support for GstFraction properties.
5473 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5476 Add check-exports target and run it as part of 'make check'
5477 (see #499140 and #493983).
5479 * gst/gst_private.h:
5480 * gst/gstelementfactory.h:
5481 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5482 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5483 (_priv_gst_in_valgrind):
5484 * gst/gstinfo.h: (GstLogFunction):
5485 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5486 (gst_type_find_register):
5487 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5488 (gst_type_find_factory_get_type):
5489 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5490 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5491 (gst_controller_new_valist), (gst_controller_new_list),
5492 (_gst_controller_dispose), (_gst_controller_class_init):
5493 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5494 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5495 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5496 (gst_object_get_controller), (gst_object_set_controller),
5497 (gst_object_suggest_next_sync), (gst_object_sync_values),
5498 (gst_object_set_control_source), (gst_object_get_control_source),
5499 (gst_object_get_value_arrays), (gst_object_get_value_array),
5500 (gst_object_get_control_rate), (gst_object_set_control_rate):
5501 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5502 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5503 Make some functions that should be static static; rename some
5504 private symbols so that they don't get exported; add some FIXME
5505 comments so we can move accidentally exported functions into
5506 our private section in 0.11.
5508 * win32/common/libgstreamer.def:
5509 Add gst_utils_get_timestamp().
5511 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5515 Add more missing "Since:" tags to docs.
5517 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5520 Add mising "Since:" to docs.
5522 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5525 Include "glib-compat-private.h" to fix the build on system with
5526 glib < 2.10. Fixes #503131.
5528 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5532 Actually its not PURE as it gets the time from elsewhere.
5534 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5536 * docs/gst/gstreamer-sections.txt:
5538 * gst/gstdebugutils.c:
5542 * libs/gst/base/gstbasesink.c:
5543 * tools/gst-launch.c:
5544 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5545 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5546 Thanks Tim for spotting.
5547 API: gst_util_get_timestamp
5549 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5552 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5554 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5556 * gst/gststructure.c: (gst_structure_validate_name),
5557 (gst_structure_new_valist), (gst_structure_parse_value),
5558 (gst_structure_from_string):
5559 Don't crash in _from_string() if the structure name is not valid
5560 (fixes #501560). Allow structure names to start with a number
5561 again (this apparently broke the ubuntu codec installer).
5563 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5565 Add unit test for the crash; update unit tests for new behaviour.
5567 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5570 Clarify gst_element_get_compatible_pad() documentation.
5573 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5575 * tests/check/Makefile.am:
5576 Don't forget to dist {gst,libs}/struct_hppa.h.
5578 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5580 * libs/gst/base/gstbasesink.c:
5581 Use new API to get elapsed time.
5583 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5585 * gst/gstdebugutils.c:
5587 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5589 * tools/gst-launch.c:
5590 Use new API to get elapsed time.
5592 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5594 * docs/gst/gstreamer-sections.txt:
5596 * gst/gstdebugutils.c:
5598 Rename new API + ChangeLog surgery to remove old name from last entry..
5600 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5602 * docs/gst/gstreamer-sections.txt:
5604 * gst/gstdebugutils.c:
5606 Now hide the different clock stuff behind a macro.
5608 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5611 * gst/gstdebugutils.c:
5613 Apply the posix-timer check from #361155. Conditionally use the posix
5614 timer for logging. This gives better timestamp precission, less
5615 overhead and no ntp jitter.
5617 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5619 * gst/gstminiobject.c: (gst_mini_object_get_type),
5620 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5621 (gst_mini_object_finalize), (gst_mini_object_copy),
5622 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5623 (gst_mini_object_replace), (param_mini_object_validate),
5624 (gst_param_spec_mini_object_get_type):
5625 Some cleanup and checking against invalid function parameters.
5627 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5629 * docs/gst/gstreamer-sections.txt:
5631 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5632 (gst_systemclock_suite):
5633 Start merging in the easy bits of #361155, the monotonic clock patch.
5634 This one adds a few handy macros with docs and a testsuite.
5636 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5638 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5639 Be a bit smarter when seeking, like, don't try to do a seek when it's
5640 not needed. This avoids errors when the file is not seekable.
5643 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5645 * docs/gst/gstreamer-docs.sgml:
5646 * docs/gst/gstreamer-sections.txt:
5647 * docs/gst/gstreamer.types.in:
5652 * plugins/elements/gstqueue.c:
5653 Due to popular request remove preset interface again. :-(.
5655 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5657 * tools/gst-inspect.c:
5658 Print 'default value' for enums and flags too.
5660 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5662 * docs/random/ensonic/profiling.txt:
5666 Fix typo and give better log output.
5668 * gst/gstdebugutils.c:
5669 * gst/gstdebugutils.h:
5670 More ideas, make graphs a bit smaller and fix param name in macro.
5672 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5675 Try harder to use the return value from fgets().
5677 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5680 For theses two fgets we handle the error below.
5682 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5684 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5685 Only send upstream events upstream. Fixes #498746.
5687 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5689 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5691 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5692 (gst_identity_init), (gst_identity_transform_ip),
5693 (gst_identity_set_property), (gst_identity_get_property):
5694 * plugins/elements/gstidentity.h:
5695 Add property to disable handoff signal emission. Fixes #498694.
5696 API: GstIdentity::signal-handoffs
5698 2007-11-21 Julien Moutte <julien@fluendo.com>
5700 * docs/faq/gst-uninstalled: Yet another missing library for the
5701 uninstalled script (fft)
5703 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5705 * docs/faq/developing.xml:
5706 Add a question about how to submit new translations.
5708 * docs/random/release:
5709 Update the contact email address for the Translation Project
5711 * plugins/elements/gstfdsrc.c:
5712 The parent_class for fdsrc is pushsrc, not GstElement.
5714 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5717 Plug a leak and fix saving.
5719 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5721 * docs/gst/gstreamer-sections.txt:
5722 Add new gst_preset__get_property_names() function to the docs
5725 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5729 Change _get_preset_names API to return a strv with copies. Add
5730 _get_property_names to allow implementations to filter and provide
5731 good default implementation.
5733 2007-11-20 Julien MOUTTE <julien@moutte.net>
5735 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5738 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5741 More cleanups, docs, and TODOs from comments that now slowly come in.
5743 2007-11-19 Julien MOUTTE <julien@moutte.net>
5745 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5748 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5751 Fix bogus warning and make the property type specific code more
5754 2007-11-19 Julien MOUTTE <julien@moutte.net>
5756 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5759 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5761 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5762 (gst_bin_add_func), (gst_bin_remove_func),
5763 (gst_bin_change_state_func), (gst_bin_continue_func):
5764 Change email, cleanups add some more debug and comments.
5765 Also set bus and clock on new elements when the pipeline was in error.
5767 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5770 * gst/gstdebugutils.c:
5771 Fix build with --disable-gst-debug. Fixes #497859.
5772 Spotted by Sameer Naik.
5774 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5777 Little documentation improvment.
5780 More TODO cleanups. Remove c++ comments.
5782 * libs/gst/controller/gstcontroller.c:
5783 Add TODO and use quark from static string.
5785 * tests/check/gst/gstmessage.c:
5786 * tests/check/gst/gststructure.c:
5787 Use quark from static string.
5789 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5792 Add some comments and TODOs.
5795 Add padding for future changes.
5797 * plugins/elements/gstqueue.c:
5798 Implement the iface.
5800 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5802 * docs/gst/gstreamer-docs.sgml:
5803 * docs/gst/gstreamer-sections.txt:
5804 * docs/gst/gstreamer.types.in:
5809 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5811 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5817 === release 0.10.15 ===
5819 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5822 releasing 0.10.15, "October"
5824 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5826 * win32/vs6/libgstreamer.dsp:
5827 Convert line endings back to DOS.
5829 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5831 * docs/design/draft-tagreading.txt:
5832 * docs/random/ensonic/profiling.txt:
5833 Update fast tagreading draft and performance profiling ideas.
5835 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5837 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5838 Don't hold the object lock when unreffing a buffer because it could
5839 cause a deadlock when the finalize function wants to grab the object
5840 lock too. Fixes #495133.
5842 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5844 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5845 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5846 Also accumulate time correctly when doing reverse playback. Fixes
5848 When converting to running and stream time, use default values for
5849 start/stop/time/accum when comparing different formats. Fixes #494245.
5851 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5852 Do running/stream time in TIME format.
5854 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5855 (gst_segment_suite):
5856 2 new unit tests for segment accumulation.
5858 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5860 * gst/gst.c: (init_pre):
5861 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5862 (_gst_debug_bin_to_dot_file):
5863 Move getenv() back into gst_init, so everyone can live happily
5864 ever after. Make sure the symbol isn't exported though.
5866 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5868 Patch by: Sebastien Moutte <sebastien moutte net>
5870 * win32/common/gstenumtypes.c:
5871 * win32/common/gstenumtypes.h:
5874 * win32/vs6/libgstreamer.dsp:
5875 Update vs6 project files (#494343).
5877 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5879 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5880 (gst_base_src_perform_seek), (gst_base_src_default_event),
5881 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5882 (gst_base_src_activate_pull):
5883 Unify flushing code, remove some old unlock code that is no longer used.
5884 Take the streaming lock when seeking to avoid races. Fixes #492729.
5885 Added some more comments.
5887 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5889 * gst/gst.c: (_gst_disable_segtrap):
5890 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5891 we can use gst_segtrap_is_enabled() there now that we have that API.
5892 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5893 to do the getenv here (and export the variable).
5895 * gst/gstdebugutils.c: (debug_dump_element),
5896 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5897 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5899 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5900 (gst_debug_log_default):
5901 Rename _gst_info_start_time to priv_gst_info_start_time so it
5902 doesn't get exported (was never in any header).
5904 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5905 (gst_plugin_loading_mutex):
5906 Make static mutex gst_plugin_loading_mutex really static (was never
5907 in any header), and use gst_segtrap_is_enabled() instead of
5908 _gst_disable_segtrap.
5910 * gst/gsttrace.c: (_gst_trace_default):
5911 Make local _gst_trace_default static (was never in any header).
5913 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5915 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5917 * win32/common/libgstbase.def:
5918 * win32/common/libgstcontroller.def:
5919 * win32/common/libgstdataprotocol.def:
5920 * win32/common/libgstnet.def:
5921 * win32/common/libgstreamer.def:
5922 Add more missing symbols, remove some duplicates, and sort
5923 as the 'sort' command sorts it (partially fixes #493983).
5925 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5927 * gst/gstelement.c: (gst_element_set_state_func):
5928 Only change the state cookie if a different state was set on the
5929 element. See #492729.
5931 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5934 Remove unused and uninitialised type variables that were still
5935 exported for some reason (they were never in any header files
5938 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5940 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5941 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5942 (gst_base_sink_event), (gst_base_sink_get_position_last),
5943 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5944 (gst_base_sink_change_state):
5945 Don't try to report a 0 position when we don't know, return -1 and FALSE
5946 instead. This mostly happens when we are prerolling.
5947 Make sure we can report the right position before we post the ASYNC_DONE
5948 message so that a message handler can query position without races.
5950 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5951 (async_done_handoff), (async_done_func), (send_buffer),
5952 (async_done_eos_func), (gst_sinks_suite):
5953 Add two tests for the above.
5955 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5958 Update with new email address.
5960 * docs/design/part-TODO.txt:
5961 Add some more info about future pad-block and negotiation changes.
5963 * docs/design/part-buffering.txt:
5964 Add some ideas about buffering reporting.
5966 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5968 * tests/check/gst/gstobject.c:
5969 Disable silly racy test that always fails on this combination of CPU
5972 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5974 Patch by: Murray Cumming <murrayc@murrayc.com>
5977 Corrected the registration of the parent-set and parent-unset
5978 signals: The parameter is a GstObject, not a GObject (#493134).
5980 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5982 * gst/gst_private.h:
5991 Move declaration of private _gst_foo_initialize() functions into
5992 our private header file where they should have been all along.
5994 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5996 * docs/plugins/gstreamer-plugins-sections.txt:
5997 * gst/gstdebugutils.h:
5999 * plugins/elements/gstqueue.c:
6000 gtk-doc fixes; trailing-comma-in-enum fix.
6002 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
6004 * gst/gst.c: (gst_deinit):
6005 Clean up on deinit (not the external ones though, doesn't seem to be
6006 needed for some reason).
6008 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6010 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6011 Remove __declspec(dllimport) for MSVC that was copied over into core
6012 from a plugin, obviously without ever having been tested (note the
6013 single underscore in _declspec in the initial commit), and that doesn't
6014 really make sense. See #492077.
6016 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6018 * gst/gst.c: (init_post):
6019 * gst/gstevent.c: (_gst_event_initialize):
6020 * gst/gstquery.c: (_gst_query_initialize):
6021 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6022 g_type_class_ref() other types as well, see #349410 and #64764.
6024 * gst/gstbuffer.c: (_gst_buffer_initialize):
6025 * gst/gstmessage.c: (_gst_message_initialize):
6026 Simplify existing g_type_class_ref().
6028 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6030 * gst/gstformat.c: (_gst_format_initialize):
6031 g_type_class_ref() our GstFormat type to make sure we avoid the
6032 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6033 bug #64764. Should fix intermittent tee unit test failures (#474823).
6035 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
6037 * tests/check/elements/tee.c: (test_num_buffers):
6038 Simplify, simplify, simplify - or not. Rewrite unit test
6039 not to use gst_parse_launch(); allow N sub-streams. Increasing
6040 the number of sub-streams seems to reproduce #474823 more easily.
6042 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6044 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6047 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6048 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6049 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6050 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6051 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6052 so use _pipe() directly (#492077).
6054 * win32/common/dirent.c: (_treaddir):
6055 Add a couple of casts to make it build without warnings with MSVC.
6057 * win32/common/libgstreamer.def:
6058 Add some more symbols that need to be exported.
6060 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6062 * tests/examples/metadata/read-metadata.c: (message_loop):
6063 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6064 arriving in a second or third tag message are added to
6065 the tag list as well.
6067 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6069 * libs/gst/base/gstbasesrc.c:
6070 Its "Since:" and not "@Since:". And remove an superflous cast.
6072 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6074 * docs/libs/gstreamer-libs-sections.txt:
6075 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6076 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6077 (gst_base_sink_get_property), (gst_base_sink_render_object),
6078 (gst_base_sink_preroll_object),
6079 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6080 (gst_base_sink_change_state):
6081 * libs/gst/base/gstbasesink.h:
6082 Add a new last-buffer property that contains the last buffer used in
6083 basesink for preroll or rendering. useful for making snapshots.
6084 API: gst_base_sink_get_last_buffer()
6085 API: GstBaseSink::last-buffer
6087 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6089 * docs/gst/running.xml:
6091 * gst/gstdebugutils.c:
6092 * gst/gstdebugutils.h:
6093 * tools/gst-launch.c:
6094 Improve bin graph dumping, by using the envvar to specify a path.
6095 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6097 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6099 * plugins/elements/gsttypefindelement.c:
6100 (gst_type_find_element_handle_event),
6101 (gst_type_find_element_activate):
6102 Post special error message if we can't determine the type of a stream
6105 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6107 * docs/gst/running.xml:
6108 * gst/gstdebugutils.c:
6109 Document new env-var. Add one log-line after dumpng a graph.
6111 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6114 Ugly hack to put the (recently removed and non-portable, apparently)
6115 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6116 GNU ld, because without that 'make check' fails miserably on my debian
6117 stable box. Someone with more knowledge of linker intricacies and
6118 portability issues than me fix this properly please.
6120 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6122 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6123 Reset last seen position after flushing so that we don't report the old
6126 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6128 * gst/gstelementfactory.c: (gst_element_register):
6130 Patch from Alessandro Decina adding get_type_full and
6131 get_protocols_full private vfuncs to the URIHandler interface
6132 to allow bindings to support creating URI handlers.
6133 Partially fixes: #339279
6134 API: GstURIHandlerInterface::get_type_full
6135 API: GstURIHandlerInterface::get_protocols_full
6137 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6139 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6140 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6141 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6142 Make it so that pads are considered linked until a buffer is pushed
6143 and discovered otherwise. This avoids problems with decodebin2 hanging
6144 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6147 Make sure we lock the multiqueue when updating the max-size properties.
6149 Fix a crash on Solaris in a debug statement in get_request_pad that
6150 passes a NULL string to GST_DEBUG.
6152 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6153 (run_output_order_test):
6154 Fix the test to allow the first buffer on not-linked pads to come out
6155 of sequence while multiqueue discovers that they are not-linked.
6157 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6160 * libs/gst/check/Makefile.am:
6161 Use a custom export symbol regex for libgstcheck, as it needs
6162 to export symbols that don't match the standard GStreamer gst_*
6163 pattern, and --export-dynamic is not portable (only works on
6166 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6167 (gst_check_setup_sink_pad):
6168 Make sure to pass a message parameter to the fail_* macros.
6170 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6171 Fix some compiler warnings.
6173 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6175 * tests/check/gst/gststructure.c: (test_to_string):
6176 Disable test that checks that white spaces are not allowed
6177 in structure names or field names, since we need to
6178 support that for now for backwards compatibility reasons.
6180 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6182 * docs/gst/gstreamer-sections.txt:
6185 API: add GST_TAG_ARTIST_SORTNAME
6186 API: add GST_TAG_ALBUM_SORTNAME
6187 API: add GST_TAG_TITLE_SORTNAME
6188 Add tag variants for sorting (#414539).
6190 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6192 * gst/gststructure.c:
6193 Also allow white space for names so we don't break
6194 backwards compatibility.
6196 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6198 * docs/design/part-TODO.txt:
6199 * docs/design/part-segments.txt:
6200 * docs/design/part-streams.txt:
6203 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6205 * docs/gst/gstreamer-sections.txt:
6206 Fixed documentation from my previous commit (added new API add
6207 gst_value_set_structure(), add gst_value_get_structure() and
6208 GST_VALUE_HOLDS_STRUCTURE).
6210 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6212 * gst/gstdebugutils.c:
6213 Reflow code to fix uninitialized variable warning.
6215 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6217 * gst/gstcaps.c: (gst_caps_to_string),
6218 (gst_caps_from_string_inplace):
6219 * gst/gststructure.c: (gst_structure_get_abbrs),
6220 (gst_structure_to_string), (gst_structure_from_string):
6221 * gst/gstvalue.c: (gst_value_set_structure),
6222 (gst_value_get_structure), (gst_value_serialize_structure),
6223 (gst_value_deserialize_structure), (_gst_value_initialize):
6225 * tests/check/gst/gststructure.c: (GST_START_TEST),
6226 (gst_structure_suite):
6227 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6228 Added GstStructure to gst_value_table and its related functions.
6229 Changed gst_structure_to_string to print ';' in the end.
6230 Changed gst_caps_to_string to not print ';' beteween its
6231 fields (structures) anymore and remove the lastes ';' from latest
6232 structure. Now it is possible to have nested structures.
6233 In addition, backward compatibilty is assured by accepting '\0' as
6234 end delimiter. Fixes: #487969.
6235 API: add gst_value_set_structure()
6236 API: add gst_value_get_structure()
6237 API: add GST_VALUE_HOLDS_STRUCTURE
6239 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6242 When no GSource callback has been set up, tell developer
6243 to use a function that actually exists.
6245 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6247 * docs/gst/gstreamer-sections.txt:
6251 * gst/gstdebugutils.c:
6252 * gst/gstdebugutils.h:
6255 * tools/gst-launch.c:
6256 Allow dumping pipelines as dot graphs. Fixes #456573.
6258 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6260 * gst/gststructure.c:
6261 Allow '+' as well, it can be part of media or mime types
6262 such as image/svg+xml.
6264 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6266 * docs/gst/gstreamer-sections.txt:
6269 API: add gst_bus_pop_filtered
6270 API: add gst_bus_timed_pop_filtered
6271 Two new functions for waiting for specific message types on the
6272 bus for a specified amount of time without iterating any main
6273 loops or main contexts.
6275 * tests/check/gst/gstbus.c:
6276 Some tests for the new functions.
6278 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6280 * docs/libs/gstreamer-libs-sections.txt:
6281 Make gtk-doc ignore stuff it should ignore.
6283 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6285 * libs/gst/check/gstcheck.c:
6286 * libs/gst/check/gstcheck.h:
6287 Allow runtime selection of unit tests to run via the GST_CHECKS
6288 environment variable (test case function names, comma-separated).
6290 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6292 * gst/gststructure.c:
6293 * tests/check/gst/gststructure.c:
6294 Revert serialisation change and constrain structure-names after
6295 consensus on irc. Update api documentation to reflect the change.
6297 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6299 * gst/gststructure.c:
6300 Improve serialization and fix tests.
6302 * tests/check/gst/gststructure.c:
6303 Add another test that covers why I actually did the previous structure
6306 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6308 * tools/gst-inspect.c: (print_element_info):
6309 Don't crash when inspecting an element.
6311 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6313 * tests/check/gst/gststructure.c:
6314 Add unit test for escaping of structure name when serialising
6315 and deserialising to/from strings.
6317 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6319 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6320 (gst_single_queue_new):
6321 * plugins/elements/gstqueue.c: (gst_queue_init),
6322 (gst_queue_push_one):
6323 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6324 upstream is tricked into thinking it can suggest a format downstream
6325 while downstream does not support that format. The real problem is that
6326 core calls acceptcaps when pushing a buffer with new caps, for which we
6327 do a little workaround by setting the caps on the srcpad ourselves
6328 before pushing the buffer (until this is figured out). Fixes #486758.
6330 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6332 * gst/gststructure.c:
6334 Add some more comments and debug output. Quote structure name to fix
6335 deserialisation of some strings.
6337 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6340 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6341 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6343 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6345 * tools/gst-inspect.c:
6346 Save approx. 400 1 byte allocs when printing. Use API to acces element
6352 * tools/gst-xmlinspect.c:
6353 Use API to acces element details.
6355 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6358 Fix some spelling errors.
6360 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6362 * gst/gstbin.c: (bin_handle_async_done):
6363 Correctly set the next state if all of our async children commited their
6364 state. This makes sure we can actually cancel the state change in
6365 progress. Fixes a regression in Rhythmbox when seeking.
6367 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6370 Don't shadow local variable.
6373 Don't shadow global function name.
6375 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6377 * gst/gstelementfactory.c:
6378 * gst/gstpluginfeature.c:
6379 * gst/gstpluginfeature.h:
6380 * gst/gstregistrybinary.c:
6381 * gst/gstregistryxml.c:
6382 * gst/gsttypefind.c:
6383 Use already-interned string for the private GstPluginFeature
6386 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6388 * docs/libs/gstreamer-libs-sections.txt:
6389 Add new API to docs; fixes the build.
6391 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6393 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6395 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6396 (gst_base_sink_event):
6397 * libs/gst/base/gstbasesink.h:
6398 Add function to wait for EOS, subclasses can use this to correctly wait
6399 for devices to drain before performing the EOS logic. Fixes #485343.
6400 API: gst_base_sink_wait_eos()
6402 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6405 Cast description string constants in GST_PLUGIN_DEFINE macros
6406 to a (gchar*) to make C++ code using these macros compile
6407 without warning with g++-4.2 (see #462737). Even if slightly
6408 ugly, this seems preferable to putting the description strings
6409 into the GLib quark table or making the structure member a
6410 const gchar * and doing casts in core code that allocs and
6411 frees these strings, or requiring a cast in the C++ code.
6413 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6416 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6417 to print the entire class/function signature into the log
6418 file for C++ code. This only affects C++ code, for C code
6419 everything remains the same.
6421 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6423 * gst/gstbin.c: (remove_from_queue):
6424 Work around a problem with pipelines containing (semi)loops until a
6425 proper, more complicated solution is ready. See #475455.
6427 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6431 * gst/gstregistrybinary.c:
6432 * gst/gstregistryxml.c:
6433 Put more strings into the GLib quark table. No need to keep
6434 a hundred-something copies of identical version strings,
6435 license strings, package name strings and package origin
6438 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6440 * docs/manual/advanced-dataaccess.xml:
6441 Don't imply that it's okay to unconditionally change
6442 buffer data or buffer metadata in a pad probe callback,
6443 and a bunch of other comments. Fixes #430031.
6445 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6447 * win32/common/gstenumtypes.c:
6448 * win32/common/gstenumtypes.h:
6449 * win32/common/gstversion.h:
6450 Update generated files.
6452 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6454 * docs/manual/advanced-autoplugging.xml:
6455 Prefix section with broken code with a warning (see #342432).
6457 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6459 * docs/manual/appendix-integration.xml:
6460 * docs/manual/basics-init.xml:
6461 Call g_thread_init() before g_option_context_new() to
6462 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6464 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6466 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6467 (gst_base_sink_queue_object_unlocked),
6468 (gst_base_sink_queue_object), (gst_base_sink_event),
6469 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6470 When we received EOS and are waiting for when to post the EOS message,
6471 our state is prerolled and we should not return ASYNC.
6472 Reorganize some code paths to implement this behavior.
6474 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6476 Add unit test to verify above EOS fix.
6478 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6480 * plugins/elements/gsttypefindelement.c:
6481 (gst_type_find_element_have_type), (gst_type_find_element_init),
6482 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6483 Move detecting the input caps of the sinkpad to the setcaps function.
6484 This allows us to update the output caps when we receive new input caps
6485 instead of always using the first detected caps.
6487 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6489 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6490 (gst_base_sink_get_position):
6491 Don't try to preroll non-async elements after a flush.
6492 Subtract latency form clock times when reporting position.
6494 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6496 * gst/gstpad.c: (gst_pad_pause_task):
6498 Small comment and documentation update.
6500 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6502 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6503 (gst_base_src_set_live), (gst_base_src_is_live),
6504 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6505 (gst_base_src_default_event), (gst_base_src_wait),
6506 (gst_base_src_do_sync), (gst_base_src_get_range),
6507 (gst_base_src_pad_get_range), (gst_base_src_loop),
6508 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6509 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6510 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6511 (gst_base_src_change_state):
6512 Rework the locking of basesrc in a similar fashion to basesink. We
6513 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6514 us to handle live sources and semi live ones much better.
6516 Fix unlocking when seeking, shutting down and pausing in live sources.
6518 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6520 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6521 Fix compilation again.
6523 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6526 Use meaningful categories for the logs to clean the default one.
6528 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6530 * tests/check/pipelines/cleanup.c:
6531 Print message name and not just number.
6533 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6535 * docs/design/draft-tagreading.txt:
6536 Add some more thoughts.
6538 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6540 * tests/check/pipelines/simple-launch-lines.c:
6541 Print message name and not just number.
6543 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6545 * libs/gst/base/gsttypefindhelper.c:
6546 Speedup typefinding. This is work in progress (see #459862).
6548 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6551 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6552 Spotted by Josep Torra Valles <josep@fluendo.com>.
6554 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6557 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6558 field has moved to GstObject.
6560 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6562 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6563 (gst_base_src_get_range), (gst_base_src_change_state):
6564 Call unlock for live sources so that they can't get stuck in _create and
6565 produce a buffer before they are set back to PLAYING.
6567 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6569 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6570 (gst_queue_locked_dequeue):
6571 Comment the segment-related code... in the PROPER function.
6572 See #482147 and my commit from yesterday.
6574 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6576 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6577 Also initialize the counter that calculates the first timestamp on a
6578 buffer correctly for non-live sources.
6580 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6582 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6583 Disable code that's breaking the current-time-level reporting.
6586 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6588 * docs/gst/gstreamer-sections.txt:
6589 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6590 as they shouldn't show up. Fixes the docs build.
6592 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6595 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6596 Define M_PI which is used in files which are including gstinfo.h.
6597 VS6 includes doesn't define it.
6598 * win32/common/libgstbase.def:
6599 * win32/common/libgstcontroller.def:
6600 * win32/common/libgstreamer.def:
6601 Add new exported functions and variables.
6602 * win32/vs6/libgstcontroller.dsp:
6603 * win32/vs6/libgstreamer.dsp:
6604 Update the list of files to build.
6606 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6608 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6610 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6611 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6612 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6613 Improve debugging. Fixes #480858.
6615 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6617 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6619 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6620 First patch of code cleanups, use the macros and right arguments in the
6621 macros to signal and lock the queue. See #480858.
6623 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6625 * gst/gstbus.c: (poll_func):
6626 Improve debugging when dealing with _poll().
6628 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6630 * gst/gstregistryxml.c:
6631 Fix memory leak I introduced a few days ago.
6633 2007-09-26 Michael Smith <msmith@fluendo.com>
6635 * gst/gstbuffer.c: (gst_buffer_finalize):
6636 Make it once again possible to free GstBuffers in the default
6638 The poisoning scribbles on parts of the miniobject we need in
6642 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6644 * docs/gst/gstreamer-sections.txt:
6647 API: add GST_TAG_COMPOSER, fixes #459809.
6649 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6653 Add the 3-clause BSD license and the MIT/X11 license to the license
6654 list. Fixes #479784.
6656 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6658 * docs/faq/getting.xml:
6659 Add Q+A about different GStreamer versions (#364056).
6661 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6663 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6664 (gst_base_sink_event), (gst_base_sink_change_state):
6665 Return correct gboolean from query function.
6667 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6669 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6670 (gst_base_sink_event), (gst_base_sink_query),
6671 (gst_base_sink_change_state):
6672 Simplify latency query.
6673 When not synchronizing, we can report latency without querying the peer
6676 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6680 Fix small typos in the docs.
6682 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6684 * docs/design/draft-latency.txt:
6685 * docs/design/draft-push-pull.txt:
6686 * docs/design/draft-tagreading.txt:
6687 * docs/design/part-MT-refcounting.txt:
6688 * docs/design/part-activation.txt:
6689 * docs/design/part-block.txt:
6690 * docs/design/part-element-source.txt:
6691 * docs/design/part-events.txt:
6692 * docs/design/part-gstbin.txt:
6693 * docs/design/part-gstelement.txt:
6694 * docs/design/part-gstobject.txt:
6695 * docs/design/part-gstpipeline.txt:
6696 * docs/design/part-messages.txt:
6697 * docs/design/part-preroll.txt:
6698 * docs/design/part-push-pull.txt:
6699 * docs/design/part-qos.txt:
6700 * docs/design/part-query.txt:
6701 * docs/design/part-scheduling.txt:
6702 * docs/design/part-seeking.txt:
6703 * docs/design/part-segments.txt:
6704 * docs/design/part-states.txt:
6705 Documentation updates and typo fixes.
6707 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6709 * plugins/elements/gstfakesink.c:
6710 Add some debug text to error message to indicate that
6711 we errored out on request.
6713 * tools/gst-launch.c:
6714 When the state change to PLAYING fails, check for an
6715 error message on the bus and print it.
6717 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6719 translated by: Jorge González González <aloriel@gmail.com>
6723 Added Spanish translation.
6725 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6727 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6728 Fix printf arguments.
6730 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6732 * tests/check/generic/states.c:
6733 Improved state change unit test.
6735 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6738 Move priv to the right place.
6740 * gst/gstsystemclock.c:
6741 Add FIXME: and improve log.
6743 * tests/check/Makefile.am:
6744 * tests/examples/manual/Makefile.am:
6745 Work with all types of registries.
6747 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6749 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6750 Don't unref the event after pushing it. Fixes #478401.
6752 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6755 * tests/examples/manual/.cvsignore:
6756 Ignore registries in any format.
6758 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6760 * gst/glib-compat-private.h:
6761 Add compatibility macro for g_intern_string() for
6762 GLib-2.8 (any reason we can't just bump the
6763 requirement to at least 2.10?)
6765 * gst/gstpadtemplate.h:
6766 * gst/gstelementfactory.c:
6767 * gst/gstregistryxml.c:
6768 * gst/gstregistrybinary.c:
6769 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6770 up the internal code accordingly. This shouldn't be a problem, since
6771 there is no reason external code could ever assume the string in such
6772 a structure is dynamically allocated unless it did that itself; the
6773 use of g_strdup() is private to element factories. The new code also
6774 saves some memory by putting pad template name strings into the GLib
6775 quark table instead of allocating them dynamically.
6776 Declaring this field constant fixes warnings with g++-4.2 when using
6777 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6779 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6781 * gst/gstelementfactory.c:
6782 Release static caps. Fixes #475723.
6784 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6788 Make some internal API take const gchar * instead of just
6789 gchar * to avoid compiler warnings with g++-4.2.2 when
6790 passing string constants (partially fixes #478092).
6792 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6794 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6795 A latency query fails when one of the sinks fail.
6797 * gst/gstelement.c: (gst_element_set_base_time):
6800 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6802 * gst/gstbin.c: (gst_bin_continue_func):
6803 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6804 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6805 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6807 Fix minor compilation warnings shown with Forte.
6809 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6811 * plugins/elements/gstqueue.c: (apply_buffer),
6812 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6813 Measure queue level based on the diff between head and tail timestamps
6814 even when pushing the first buffer.
6816 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6818 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6819 (gst_base_sink_event), (gst_base_sink_change_state):
6820 Sinks that don't preroll can always be queried for the latency.
6821 Don't post ASYNC start when we are not async.
6823 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6825 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6826 (gst_queue_handle_sink_event), (gst_queue_chain),
6827 (gst_queue_push_one), (gst_queue_handle_src_query),
6828 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6829 * plugins/elements/gstqueue.h:
6830 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6831 push more buffers but allow pushing of EOS and NEWSEGMENT.
6832 Add some more debug info here and there. Fixes #476514.
6834 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6836 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6837 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6838 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6839 (gst_base_sink_set_flushing), (gst_base_sink_query),
6840 (gst_base_sink_change_state):
6841 Latency query is allowed after we are prerolled. Introduce a new flag
6842 for this and stop abusing other variables.
6844 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6846 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6847 Push OOB events downstream when we get them in send_event. This allows
6848 the application to insert events in the pipeline.
6849 Add some more comments.
6851 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6853 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6854 (do_bin_latency), (gst_bin_change_state_func):
6855 * gst/gstpipeline.c: (gst_pipeline_change_state):
6856 Move latency query from GstPipeline to GstBin so that we can also
6857 use it when async-handling is enabled on bins.
6859 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6861 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6862 (gst_base_src_do_sync), (gst_base_src_change_state):
6864 Clean up the timestamping and syncing code for pseudo live sources.
6866 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6868 Patch by: Steve Fink <sphink gmail com>
6870 * docs/manual/appendix-checklist.xml:
6871 Mention less -R switch in the section about debug output (#474055).
6873 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6875 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6876 Queue can latency to the pipeline up to the configured max size in time.
6877 Report this fact in the latency query.
6879 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6881 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6883 * libs/gst/controller/gstinterpolation.c:
6884 * libs/gst/controller/gstlfocontrolsource.c:
6885 Use gst_guint64_to_gdouble() when converting from a uint64 or
6886 GstClockTime to double to fix the build on win32. Fixes #474371.
6888 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6890 * gst/gstbuffer.c: (gst_buffer_finalize):
6891 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6892 When finalizing a buffer the complete struct is filled with 0xff,
6893 thus making a use of the buffer after the final unref impossible.
6895 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6897 * tests/check/libs/controller.c: (GST_START_TEST):
6898 Use fail_unless_equals_int(a, b) instead of
6899 fail_unless_equals (a == b) to get better output on failures.
6901 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6903 * tests/check/gst/gsturi.c:
6904 Also check for the other file URI variant on win32.
6906 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6908 * gst/gsturi.c: (gst_uri_get_location):
6909 If there's no hostname, we want to return 'c:/foo/bar.txt'
6910 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6912 * tests/check/gst/gsturi.c:
6913 Unit test for the above and a few more things.
6915 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6917 * docs/design/part-live-source.txt:
6918 Add docs on how live sources should timestamp.
6920 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6921 Add some more debug info.
6922 For subclasses that are live and like to sync, add aditional startup
6923 latency to sync time and timestamps so that we timstamp according to the
6926 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6929 Also do a g_type_class_ref() for the subbuffer type in
6932 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6934 * docs/gst/gstreamer-sections.txt:
6935 * gst/gstpad.c: (gst_pad_peer_query):
6937 Add function to perform a query on the peer of a pad.
6938 API: gst_pad_peer_query()
6940 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6942 * tests/check/gst/gstsystemclock.c:
6943 Cleanup the test a little (use gst-logging and not g_message). Improve
6944 test to check if a wait reached the target.
6946 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6948 * docs/libs/gstreamer-libs-sections.txt:
6949 Add new API to docs and fix the build.
6951 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6953 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6954 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6955 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6956 (gst_base_src_get_property), (gst_base_src_do_sync):
6957 * libs/gst/base/gstbasesrc.h:
6958 Add property to make the basesrc timestamp buffers based on the current
6960 API: GstBaseSrc::do-timestamp
6961 API: gst_base_src_set_do_timestamp()
6962 API: gst_base_src_get_do_timestamp()
6964 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6966 * docs/random/release:
6967 Really make sure translations are up-to-date before
6968 a release (#465010).
6970 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6972 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6973 Always destroy the timer, also in error cases.
6975 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6977 * docs/manual/highlevel-xml.xml:
6978 Fix XML example code. Fixes #472714.
6980 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6982 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6983 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6984 (gst_base_sink_query):
6985 Protect eos and have_preroll with the OBJECT lock so we don't need to
6986 take the PREROLL lock when querying the latency. Fixes #473846.
6988 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6991 Give some log-messages a category.
6993 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6995 * gst/gststructure.c:
6996 (gst_structure_fixate_field_nearest_fraction):
6997 Fix fraction list fixation code. Take the fraction with the smallest
6998 difference with the target instead of the first one in the list.
7000 * tests/check/gst/gststructure.c: (GST_START_TEST),
7001 (gst_structure_suite):
7002 Added test to verify correct fraction list fixation behaviour.
7004 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
7006 * win32/common/libgstreamer.def:
7007 Export gst_bus_add_signal_watch too.
7009 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
7011 * docs/libs/gstreamer-libs-sections.txt:
7012 Add new methods to docs.
7014 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7015 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7016 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7017 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7018 * libs/gst/base/gstbasesink.h:
7019 Add ts-offset property to fine-tune the synchronisation.
7020 API: GstBaseSink::ts-offset property
7021 API: gst_base_sink_set_ts_offset()
7022 API: gst_base_sink_get_ts_offset()
7024 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
7026 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7027 (gst_base_sink_init), (gst_base_sink_set_sync),
7028 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7029 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7030 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7031 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7032 (gst_base_sink_get_property), (gst_base_sink_change_state):
7033 * libs/gst/base/gstbasesink.h:
7034 Add async property to instruct the sink never to inform the parent about
7035 ASYNC state changes, update docs.
7036 Check argument with g_return_* for the public functions.
7037 API: GstBaseSink::async property
7038 API: gst_base_sink_set_async_enabled()
7039 API: gst_base_sink_is_async_enabled()
7041 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
7043 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7046 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7047 (gst_base_src_default_query), (gst_base_src_wait),
7048 (gst_base_src_do_sync), (gst_base_src_change_state):
7049 Rearrange some code so that we can add support for measuring the
7052 2007-08-27 Stefan Kost <ensonic@users.sf.net>
7054 * docs/random/ensonic/dynlink.txt:
7055 More thoughs on this.
7057 * plugins/elements/gstcapsfilter.c:
7058 Add bugzilla ticket number to FIXME comment.
7060 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
7062 * docs/design/part-TODO.txt:
7063 * docs/design/part-block.txt:
7066 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7069 Revert patch which uses $(gst_headers) instead of $^ because it
7072 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7074 * tests/check/gst/gstbin.c: (GST_START_TEST):
7075 Fix leaks in the new unit test.
7077 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7080 Don't use GST_INFO before the debug system is actually initialised
7081 (shouldn't do any harm, but won't print anything either, so we can
7082 just as well remove it).
7085 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7086 compilers that don't support variadic macros (such as MSVC), should
7087 check for debug_level <= __gst_debug_min as well, since that's the
7088 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7089 inline helper functions. Should improve performance a bit, but also
7090 makes sure uses of GST_INFO et.al are ignored if the debugging
7091 system isn't initialised yet (instead of printing an assertion
7094 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7096 patch by: David Nečas <yeti@physics.muni.cz>
7099 Replace some non portable makefile constructs.
7101 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7103 * common/gtk-doc-plugins.mak:
7104 Grrrrr. Don't remove the types file on make clean.
7106 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7108 * tools/gst-launch.1.in:
7109 Add colorspace to example pipeline. Fixes #458274.
7111 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7113 * docs/random/release:
7114 The release manager should run 'make download-po' before making a
7115 release to make sure translations are up-to-date.
7121 Add some new translations.
7123 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7125 * tools/gst-launch.c: (event_loop), (main):
7126 Don´t try to do any state management when a live pipeline posts
7128 Also make the buffering string translatable.
7130 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7132 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7133 (bin_handle_async_start), (gst_bin_handle_message_func):
7135 When adding elements, insert messages into the bus of the newly added
7136 element and make sure the element is the source of the message. This
7137 allows the parent bin to intercept the message and do the
7138 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7139 messages to the app (which is not allowed).
7142 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7143 Fix testsuite so that is does not work around messages that should not
7144 have been posted in the first place.
7146 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7148 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7149 (update_degree), (gst_bin_sort_iterator_next):
7150 Fix annoying bug in the sorted iterator where a sink that is not really
7151 a sink (when it has downstream links) screwed up the iterator.
7153 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7154 Unit test to verify the fix.
7156 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7159 Add some more docs for the messages.
7161 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7162 (gst_base_sink_query):
7163 Add some more debugging.
7165 * tools/gst-launch.c: (event_loop):
7166 When interrupting, don't try to set pipeline to PAUSED twice.
7168 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7171 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7172 (bin_handle_async_start), (gst_bin_handle_message_func):
7173 Move ASYNC_START message posting to where it belongs, similar to
7175 Don't post ASYNC_START when we are in error.
7176 Post ASYNC_START when we added an async element to a bin.
7178 2007-08-14 Julien MOUTTE <julien@moutte.net>
7180 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7181 generation from vargs. Fixes #466595.
7183 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7185 * gst/gstbin.c: (gst_bin_element_set_state):
7186 Always change the state of a NO_PREROLL element even if it has ASYNC
7187 elements inside (in case of a bin).
7189 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7190 Unit test for this case.
7192 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7194 * libs/gst/check/gstbufferstraw.c:
7195 * libs/gst/check/gstcheck.h:
7196 * libs/gst/controller/gstcontroller.c:
7197 * libs/gst/controller/gstcontrolsource.h:
7198 * libs/gst/controller/gstlfocontrolsource.h:
7199 * plugins/elements/gstcapsfilter.h:
7200 * plugins/elements/gstfdsink.h:
7201 * plugins/elements/gstfdsrc.h:
7202 Add more missing docs.
7204 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7206 * gst/gststructure.c:
7207 Add Since tag to docs.
7209 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7211 * docs/gst/gstreamer-sections.txt:
7212 * gst/gststructure.c: (gst_structure_get_uint):
7213 * gst/gststructure.h:
7214 Add function to get uint from a structure.
7215 API: gst_structure_get_uint()
7217 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7219 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7220 (gst_caps_intersect):
7221 Fix proper check for simple caps.
7223 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7225 * docs/gst/Makefile.am:
7226 * docs/libs/Makefile.am:
7227 Remove cruft and do some cleanups.
7229 * docs/gst/gstreamer-docs.sgml:
7230 * docs/libs/gstreamer-libs-docs.sgml:
7231 Prepare for comming gtkdoc features (rebase against online docs).
7233 2007-08-10 Michael Smith <msmith@fluendo.com>
7235 * docs/gst/gstreamer-sections.txt:
7236 Add gst_registry_add_path to docs.
7238 2007-08-10 Michael Smith <msmith@fluendo.com>
7240 * gst/gstregistry.h:
7241 Add gst_registry_add_path, which was missing from this header.
7243 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7245 * libs/gst/controller/gstlfocontrolsource.c:
7248 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7250 * libs/gst/base/gstbasesink.c:
7251 Don't send an async_start message during downwards state change if
7252 target state is less than READY
7254 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7256 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7260 Added Hungarian translation.
7262 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7269 Updated translations.
7271 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7273 * libs/gst/controller/Makefile.am:
7274 Dist gstlfocontrolsourceprivate.h
7276 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7278 * docs/libs/gstreamer-libs.types:
7279 Don't register the enum type gst_lfo_waveform_get_type() in the
7280 .types file - only GObject derived types belong.
7282 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7284 Patch by: <arenevier at fdn dot fr>
7287 Remove comma from last element in enum to avoid compile errors when
7288 using -pendantic. Fixes #464366.
7290 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7292 * docs/design/part-TODO.txt:
7293 Add some more TODO items
7295 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7298 * gst/gstcaps.c: (gst_caps_intersect):
7299 Optimize trivial intersection case between identical caps pointers.
7301 * gst/gstelement.c: (gst_element_continue_state),
7302 (gst_element_set_state_func):
7304 Fix spelling and grammar mistakes.
7306 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7310 Update POTFILES. Fixes #461599.
7312 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7315 Fix confusing typo in debug output.
7317 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7319 reviewed by: Stefan Kost <ensonic@users.sf.net>
7321 * libs/gst/controller/Makefile.am:
7322 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7323 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7324 (gst_lfo_control_source_new),
7325 (gst_lfo_control_source_set_waveform),
7326 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7327 (gst_lfo_control_source_finalize),
7328 (gst_lfo_control_source_dispose),
7329 (gst_lfo_control_source_set_property),
7330 (gst_lfo_control_source_get_property),
7331 (gst_lfo_control_source_class_init):
7332 * libs/gst/controller/gstlfocontrolsource.h:
7333 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7334 API: Add GstLFOControlSource, a control source that gives values
7335 for specific timestamps based on several periodic waveforms.
7338 * tests/check/libs/controller.c: (GST_START_TEST),
7339 (gst_controller_suite):
7340 * docs/libs/gstreamer-libs-docs.sgml:
7341 * docs/libs/gstreamer-libs-sections.txt:
7342 * docs/libs/gstreamer-libs.types:
7343 Add documentation and unit tests for GstLFOControlSource.
7345 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7350 === release 0.10.14 ===
7352 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7355 releasing 0.10.14, "Breathing Vacuum"
7357 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7359 * gst/gstelement.c: (gst_element_class_set_details_simple):
7361 Make strings passed to gst_element_class_set_details_simple()
7362 constant, as they should be (#462752).
7364 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7366 * gst/gstbin.c: (gst_bin_change_state_func),
7367 (bin_handle_async_done), (gst_bin_handle_message_func):
7368 Don't forget about the fact that some element went ASYNC even after a
7369 resync. This makes us post the ASYNC_DONE message correctly.
7372 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7374 * gst/gstregistry.c: (gst_registry_add_feature):
7375 When replacing an existing feature in the registry, make sure to
7376 continue holding a reference until we've replaced the name string
7377 within our feature hash table. Make sure to use g_hash_table_replace
7378 instead of g_hash_table_insert to ensure the new name string is used
7379 as a key instead of the old one that we're about to free.
7382 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7384 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7385 (gst_plugin_feature_set_name):
7386 Revert patch from #459466 until after the release and we can work
7387 out exactly what the problem is (if any).
7389 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7391 * docs/gst/gstreamer-sections.txt:
7394 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7396 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7398 * docs/libs/Makefile.am:
7399 Include our build-prefix libs and includes before the generic ones to
7400 avoid linking against the installed libs when we want the build-tree
7403 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7405 Patch by: Steve Fink <sphink gmail com>
7407 * docs/pwg/building-testapp.xml:
7408 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7409 if people try to build or install the example from the plugin
7410 template against a GStreamer from package using the configure
7413 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7415 Patch by: Steve Fink <sphink gmail com>
7417 * tools/gst-inspect.1.in:
7418 Document --print-all and --print-plugin-auto-install-info command
7419 line options in man page.
7421 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7423 * docs/gst/gstreamer-sections.txt:
7424 Add docs for new api function.
7426 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7428 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7429 * gst/gstelementfactory.h:
7430 API: gst_element_factory_has_interface()
7431 Added method to check if an element factory implements a named
7434 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7437 * docs/gst/gstreamer.types.in:
7438 Another conditional doc check.
7441 * gst/gstparamspecs.h:
7442 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7447 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7449 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7450 (gst_registry_binary_load_feature),
7451 (gst_registry_binary_load_plugin),
7452 (gst_registry_binary_read_cache):
7453 Print error just once and with additional info.
7455 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7457 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7458 (helper_find_suggest), (helper_find_get_length),
7459 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7460 (gst_type_find_helper_for_buffer):
7461 Cleanup the typefindhelper code and add private doc comments.
7463 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7465 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7466 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7467 Fix capsfilter for cases where the caps set on capsfilter will provide
7468 additional information.
7471 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7473 * gst/gsttypefindfactory.c:
7474 Fix docs that recommened wrong function to use.
7476 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7478 * tools/gst-inspect.c: (print_plugin_features):
7479 Also give media-type for typefinders in element output.
7481 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7483 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7484 (gst_registry_remove_features_for_plugin_unlocked),
7485 (gst_registry_add_feature), (gst_registry_remove_feature),
7486 (gst_registry_lookup_feature_locked):
7487 * gst/gstregistry.h:
7488 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7491 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7493 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7494 (gst_plugin_feature_set_name):
7495 Avoid double memory usage for pluginfeature names. Fixes #459466.
7497 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7500 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7501 driving the pipeline may need to explicitly check for NOT_LINKED as
7502 well, since IS_FATAL doesn't cover that.
7504 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7506 * docs/pwg/advanced-types.xml:
7507 Fix typo and duplicate entry in video formats list.
7509 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7511 * libs/gst/controller/gstinterpolation.c:
7512 Also round to the nearest int when using cubic interpolation.
7514 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7516 * libs/gst/controller/gstinterpolation.c:
7517 When linearly interpolating integer types, round to the nearest int
7518 by adding 0.5. Don't do it for float/double types.
7519 Fixes the failing controller test on my machine, which is somehow
7520 rounding differently than on the buildbots.
7522 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7524 * tools/gst-plot-timeline.py:
7525 Better log parsing (categories can have -). Adjust text vs. lines, so
7526 that they span the same y-range.
7528 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7530 * docs/random/ensonic/audiobaseclasses.txt:
7531 * docs/random/ensonic/dynlink.txt:
7532 * docs/random/ensonic/profiling.txt:
7535 * docs/random/moving-plugins:
7536 Add note to use g_assert type macros.
7538 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7541 * libs/gst/check/Makefile.am:
7542 Add libm check as we use in for plugins.
7544 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7546 * gst/gstbin.c: (gst_bin_continue_func):
7547 Check that the state_cookie hasn't changed since the continue_func
7548 was scheduled. Avoids problems where the state changes back to
7549 something it shouldn't be because it was changed in the meantime.
7551 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7553 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7554 (gst_registry_binary_save_string),
7555 (gst_registry_binary_save_pad_template),
7556 (gst_registry_binary_save_feature),
7557 (gst_registry_binary_save_plugin),
7558 (gst_registry_binary_load_feature),
7559 (gst_registry_binary_load_plugin),
7560 (gst_registry_binary_read_cache):
7561 Fix memory leak. Be less verbose in the log.
7563 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7565 * tests/check/elements/.cvsignore:
7566 Add file to cvsignore as commanded.
7568 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7570 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7571 (mq_dummypad_event), (run_output_order_test):
7572 Use a GStaticMutex to protect all cases where libcheck
7573 fail_if/fail_unless macros might be called from multiple threads
7574 simultaneously to avoid errors like:
7575 "check_pack.c:107: :-1081725400:Bad message type arg"
7577 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7579 * tests/check/pipelines/stress.c: (GST_START_TEST):
7580 Make sure we set the pipeline back to the NULL state before
7581 dropping our final reference.
7583 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7585 * tests/check/elements/tee.c: (GST_START_TEST):
7586 Make the tee stress-test a little less stressful so it doesn't just
7587 time out on slow-machines, and remove a small race when it's starting
7588 up by adding a get_state() call.
7590 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7593 Avoid reading registry twice on startup. Fixes #457322.
7595 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7597 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7598 * pkgconfig/gstreamer-check.pc.in:
7599 Substitute the CFLAGS for libcheck into our .pc file too so that
7600 dependent modules will pick it up properly if libcheck is installed
7601 into some other prefix.
7603 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7606 Revert the pkg-config check for libcheck, since it pulls in the
7607 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7608 a proper solution, either from the check project, or something else.
7610 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7613 Use pkg-config to locate check.
7615 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7622 Add deprecation guards.
7624 * libs/gst/base/gstcollectpads.h:
7625 Don't document object (this is implicitly private).
7627 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7629 * gst/gststructure.c: (gst_structure_parse_value):
7630 When deserialising foo=bar without a type cast, check if it's a
7631 boolean before falling back to a string type, otherwise things like
7632 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7633 because the filtercaps end up having a signed=(string)true field,
7634 which causes problems later when intersection caps.
7636 * tests/check/gst/gststructure.c: (GST_START_TEST):
7637 Add a unit test for this.
7639 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7641 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7643 * libs/gst/controller/Makefile.am:
7644 * libs/gst/controller/gstcontroller.c:
7645 (gst_controlled_property_add_interpolation_control_source),
7646 (gst_controlled_property_new), (gst_controlled_property_free),
7647 (gst_controller_find_controlled_property),
7648 (gst_controller_new_valist), (gst_controller_new_list),
7649 (gst_controller_new), (gst_controller_remove_properties_valist),
7650 (gst_controller_remove_properties_list),
7651 (gst_controller_remove_properties),
7652 (gst_controller_set_property_disabled),
7653 (gst_controller_set_disabled), (gst_controller_set_control_source),
7654 (gst_controller_get_control_source), (gst_controller_get),
7655 (gst_controller_sync_values), (gst_controller_get_value_array),
7656 (_gst_controller_dispose), (gst_controller_get_type),
7657 (gst_controlled_property_set_interpolation_mode),
7658 (gst_controller_set), (gst_controller_set_from_list),
7659 (gst_controller_unset), (gst_controller_unset_all),
7660 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7661 * libs/gst/controller/gstcontroller.h:
7662 * libs/gst/controller/gstcontrollerprivate.h:
7663 * libs/gst/controller/gstcontrolsource.c:
7664 (gst_control_source_class_init), (gst_control_source_init),
7665 (gst_control_source_get_value),
7666 (gst_control_source_get_value_array), (gst_control_source_bind):
7667 * libs/gst/controller/gstcontrolsource.h:
7668 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7669 (gst_object_get_control_source):
7670 * libs/gst/controller/gstinterpolation.c:
7671 (gst_interpolation_control_source_find_control_point_node),
7672 (gst_interpolation_control_source_get_first_value),
7673 (_interpolate_none_get), (interpolate_none_get),
7674 (interpolate_none_get_boolean_value_array),
7675 (interpolate_none_get_enum_value_array),
7676 (interpolate_none_get_string_value_array),
7677 (_interpolate_trigger_get), (interpolate_trigger_get),
7678 (interpolate_trigger_get_boolean_value_array),
7679 (interpolate_trigger_get_enum_value_array),
7680 (interpolate_trigger_get_string_value_array):
7681 * libs/gst/controller/gstinterpolationcontrolsource.c:
7682 (gst_control_point_free), (gst_interpolation_control_source_reset),
7683 (gst_interpolation_control_source_new),
7684 (gst_interpolation_control_source_set_interpolation_mode),
7685 (gst_interpolation_control_source_bind),
7686 (gst_control_point_compare), (gst_control_point_find),
7687 (gst_interpolation_control_source_set_internal),
7688 (gst_interpolation_control_source_set),
7689 (gst_interpolation_control_source_set_from_list),
7690 (gst_interpolation_control_source_unset),
7691 (gst_interpolation_control_source_unset_all),
7692 (gst_interpolation_control_source_get_all),
7693 (gst_interpolation_control_source_get_count),
7694 (gst_interpolation_control_source_init),
7695 (gst_interpolation_control_source_finalize),
7696 (gst_interpolation_control_source_dispose),
7697 (gst_interpolation_control_source_class_init):
7698 * libs/gst/controller/gstinterpolationcontrolsource.h:
7699 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7700 API: Refactor GstController into the core controller which can take
7701 a GstControlSource for providing actual values for timestamps.
7702 Implement a interpolation control source and use this for backward
7703 compatibility, deprecate a bunch of functions that are now handled
7704 by GstControlSource or GstInterpolationControlSource.
7705 Make it possible to disable the controller completely or only for
7706 specific properties. Fixes #450711.
7707 * docs/libs/gstreamer-libs-docs.sgml:
7708 * docs/libs/gstreamer-libs-sections.txt:
7709 * docs/libs/gstreamer-libs.types:
7710 Add new functions and classes to the docs.
7711 * tests/check/libs/controller.c: (GST_START_TEST),
7712 (gst_controller_suite):
7713 * tests/examples/controller/audio-example.c: (main):
7714 Port unit test and example to the new API and add some new
7717 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7719 Patch by: Mark Nauwelaerts <manauw at skynet be>
7721 * plugins/elements/gstmultiqueue.c:
7722 (gst_multi_queue_get_internal_links), (apply_buffer),
7723 (single_queue_overrun_cb), (gst_single_queue_new):
7724 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7725 the pipeline layout can be tracked correctly. Fixes #453732.
7727 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7729 * docs/gst/Makefile.am:
7730 * docs/libs/Makefile.am:
7731 * docs/plugins/Makefile.am:
7732 Simplify --extra-dir as gtkdoc scans recursively.
7734 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7736 * tools/gst-launch.c: (main):
7737 When we got an error, there is no point in waiting for preroll when
7740 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7742 * plugins/elements/gsttee.c: (gst_tee_base_init),
7743 (gst_tee_request_new_pad), (gst_tee_release_pad),
7744 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7745 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7747 Be a lot smarter when deciding what srcpad to use for proxying
7748 the buffer_alloc. Also handle pad added/removed when doing so.
7750 Keep track of what pads we already pushed on in case we have pads
7751 added/removed while pushing. Fixes #374639
7753 * tests/check/Makefile.am:
7754 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7756 Added unit test for pad resync.
7758 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7762 Updated translations.
7764 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7766 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7770 Added new Finnish translation.
7772 2007-06-28 Wim Taymans <wim@fluendo.com>
7774 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7775 (single_queue_overrun_cb):
7776 When figuring out when a queue is filled, use our internal time estimate
7777 based on segments, just like check_full does.
7779 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7781 * gst/gstminiobject.c: (gst_mini_object_get_type):
7782 Remove 3 do-nothing methods.
7784 2007-06-27 Wim Taymans <wim@fluendo.com>
7786 Patch by: Tim Angus <tim at ngus dot net>
7788 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7789 (gst_capsfilter_set_property):
7790 Take a reference instead of a copy when setting "caps".
7791 Fix documentation to clarify this behaviour. Fixes #449414.
7793 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7795 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7796 * gst/gstplugin.c: (gst_plugin_init):
7797 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7798 * gst/gstquery.c: (gst_query_get_type):
7799 * gst/gstregistry.c: (gst_registry_init):
7800 * gst/gsturi.c: (gst_uri_handler_base_init):
7801 Remove empty instance_init() functions to save relocs and lessen the
7802 noise. Remove some of the function prototypes that are doubled by
7805 2007-06-27 Wim Taymans <wim@fluendo.com>
7807 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7809 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7810 Add peer and direction in the XML serialisation of ghostpads.
7813 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7816 Preserve useful information, thanks Tim.
7818 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7820 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7821 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7822 (gst_single_queue_push_one), (gst_multi_queue_loop),
7823 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7824 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7825 (compute_high_id), (gst_single_queue_new):
7826 * plugins/elements/gstmultiqueue.h:
7827 Take the multiqueue lock when updating the fill level so we don't get
7830 After applying a buffer or event on the src pad segment, make sure to
7831 call gst_data_queue_limits_changed() to get the data queue to unblock
7832 and check the filled state again.
7834 Rework the not-linked pad handling so the logic is that not-linked
7835 pads can push as fast as they like, but only so they never get
7836 ahead of any linked pads.
7838 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7839 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7840 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7842 Add a test to check that not-linked pads always stay behind
7847 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7849 * docs/random/release:
7850 Some updates to the release procedure.
7852 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7854 * gst/gstelementfactory.c: (__gst_element_details_clear):
7855 Microoptimization that saves stunning 80 bytes.
7857 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7859 * docs/plugins/gstreamer-plugins.args:
7860 * docs/plugins/inspect/plugin-coreelements.xml:
7861 * docs/plugins/inspect/plugin-coreindexers.xml:
7862 Update docs with caps info.
7864 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7867 Updated Italian translation.
7869 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7873 Update Vietnamese translations.
7875 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7877 * libs/gst/base/gstbasesink.c:
7878 Remove unused signal enum.
7880 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7882 * docs/gst/gstreamer-sections.txt:
7884 * gst/gstutils.c: (gst_type_register_static_full):
7885 Beef up and include the docs for gst_type_register_static_full and
7886 gst_element_class_set_details_simple and add the API keyword
7889 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7891 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7892 (update_time_level), (gst_single_queue_push_one),
7893 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7894 (single_queue_overrun_cb), (single_queue_underrun_cb),
7895 (single_queue_check_full):
7896 Fix setting max-* properties after adding queues.
7897 Use IS_FILLED for checking visible items.
7898 Signal overrun if multiple queues overrun.
7899 Add extra debug output.
7900 Patch by: Wim Taymans <wim@fluendo.com>
7902 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7904 * gst/gstelement.c: (gst_element_class_set_details_simple):
7906 * gst/gstutils.c: (gst_type_register_static_full):
7908 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7909 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7910 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7911 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7912 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7913 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7914 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7915 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7916 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7917 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7918 (apply_buffer), (gst_queue_chain):
7919 * plugins/elements/gsttee.c: (gst_tee_base_init):
7920 * plugins/elements/gsttypefindelement.c:
7921 (gst_type_find_element_base_init),
7922 (gst_type_find_element_class_init):
7923 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7924 API: add gst_type_register_static_full
7925 API: add gst_element_class_set_details_simple
7927 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7929 * docs/pwg/advanced-types.xml:
7930 Fix typo in iana.org URI.
7932 2007-06-19 Andy Wingo <wingo@pobox.com>
7934 * tests/check/pipelines/simple-launch-lines.c
7935 (test_state_change_returns): Enable pull-mode tests now that
7936 basesink has been fixed.
7938 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7939 Changed from gst_base_sink_is_prerolled, reversing the sense of
7940 the return value. Returns FALSE also if the sink is in pull mode,
7941 in which case it needs no preroll.
7942 (gst_base_sink_query, gst_base_sink_change_state): Update for
7943 needs_preroll change.
7944 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7945 chaining up, in which we return SUCCESS directly if we activated
7946 in pull mode instead of ASYNC. Involves countering an async_start
7947 message sent before chaining up; not sure if this is correct, in
7948 an ideal world we only send async-start when activating in push
7951 * tests/check/pipelines/simple-launch-lines.c
7952 (test_state_change_returns): New test, partially disabled until
7955 2007-06-19 Wim Taymans <wim@fluendo.com>
7957 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7958 (gst_multi_queue_sink_event):
7961 2007-06-19 Wim Taymans <wim@fluendo.com>
7963 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7964 (gst_bin_change_state_func), (bin_push_state_continue),
7965 (bin_handle_async_start), (bin_handle_async_done),
7966 (gst_bin_handle_message_func):
7967 Move the common code for posting state-change messages into
7969 Broadcast the state signal after we posted the messages.
7970 Mark the bin as busy when it's doing a state-change.
7971 Make sure async-start/done messages don't interfere with the bin's
7972 state when it's busy.
7973 After the state change, let the bin check which elements completed the
7974 state change while it was busy so that it can update its state.
7976 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7978 * docs/random/release:
7979 Add a note about updating the doap file to the release checklist
7981 2007-06-18 Wim Taymans <wim@fluendo.com>
7983 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7984 (gst_single_queue_push_one), (gst_multi_queue_chain),
7985 (gst_multi_queue_sink_event):
7986 Make sure we don't reference the buffer/event after we have given away
7987 ownership in the queue.
7989 2007-06-18 Wim Taymans <wim@fluendo.com>
7991 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7992 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7993 Update queue state _after_ adding the item in the queue because else we
7994 could end up being full without the element added yet.
7996 2007-06-18 Wim Taymans <wim@fluendo.com>
7998 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7999 (gst_bin_remove_func), (gst_bin_get_state_func),
8000 (gst_bin_element_set_state), (gst_bin_continue_func),
8001 (bin_push_state_continue), (bin_handle_async_start),
8002 (bin_handle_async_done), (gst_bin_handle_message_func):
8004 Immediatly commit the toplevel bin state when receiving an async-done
8005 message. This enables us to avoid spawning a thread to commit the state
8006 in some common cases and it also avoids some races.
8007 Avoid spawning a state thread when adding/removing async elements to a
8008 toplevel bin. Instead we immediatly update the bin state.
8009 Get rid of iterating all the children when getting the state in the bin
8010 because it is now always up-to-date.
8011 Fix bug where locked elements would always return _SUCCESS even it they
8012 returned NO_PREROLL before being locked.
8013 Fix the order of the state_change, async-start/done messages that was
8014 sometimes incorrect.
8015 Mark the state_dirty field as deprecated, we don't need it anymore as we
8016 are always up-to-date.
8018 * gst/gstelement.c: (gst_element_get_state_func),
8019 (gst_element_continue_state):
8020 Small debug inprovements.
8021 Return the previous element state return when nothing is pending instead
8022 of blindly returning SUCCESS.
8024 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8026 Add a whole bunch of new testcases.
8028 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
8032 Update translations.
8034 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
8037 Fix typo in the docs.
8039 2007-06-15 Wim Taymans <wim@fluendo.com>
8041 * docs/libs/gstreamer-libs-sections.txt:
8042 Add docs for new methods.
8044 2007-06-15 Wim Taymans <wim@fluendo.com>
8046 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8047 (gst_multi_queue_item_new):
8048 Don't use GSlice because we don't depend on >= 2.10 yet.
8050 2007-06-15 Wim Taymans <wim@fluendo.com>
8052 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8053 (update_time_level), (apply_segment), (apply_buffer),
8054 (gst_single_queue_push_one), (gst_multi_queue_item_new),
8055 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8056 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8057 (single_queue_underrun_cb), (single_queue_check_full):
8058 Remove debug printf.
8060 2007-06-15 Wim Taymans <wim@fluendo.com>
8062 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8063 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8064 (gst_data_queue_set_flushing), (gst_data_queue_push),
8065 (gst_data_queue_pop), (gst_data_queue_drop_head),
8066 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8067 * libs/gst/base/gstdataqueue.h:
8069 Added methods to get the current levels and to inform the queue that the
8070 'full' limits changed.
8072 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8073 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8074 (gst_single_queue_flush), (update_time_level), (apply_segment),
8075 (apply_buffer), (gst_single_queue_push_one),
8076 (gst_multi_queue_item_steal_object),
8077 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8078 (gst_multi_queue_loop), (gst_multi_queue_chain),
8079 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8080 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8081 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8082 (single_queue_underrun_cb), (single_queue_check_full),
8083 (gst_single_queue_new):
8084 Keep track of time in the queue by measuring the difference between
8085 running_time on input and output. This gives more accurate results and
8086 can compensate for segments correctly.
8087 Make a queue by default only 5 buffers deep. We will now increase the
8088 buffer size depending on the filledness of the other queues.
8089 Factor out commong flush code.
8090 Make sure we don't add additional refcounts to buffers when we can avoid
8092 Propagate GstFlowReturn differently.
8093 Use GSlice for intermediate GstMultiQueueItems.
8095 Resize queues on over and underruns based on filled level of other
8097 When checking if the queue is filled, prefer to measure in time if we
8098 can and fall back to bytes when no time is known.
8100 * plugins/elements/gstqueue.c:
8103 2007-06-15 Wim Taymans <wim@fluendo.com>
8105 * libs/gst/base/gstbasetransform.c:
8106 (gst_base_transform_sink_event):
8107 Work around the brokenness of the event vmethod in basetransform. Prefer
8108 to return TRUE when the subclass returned FALSE (meaning don't forward
8111 * libs/gst/base/gstbasetransform.h:
8114 2007-06-15 Wim Taymans <wim@fluendo.com>
8116 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8117 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8118 (gst_base_src_default_query), (gst_base_src_get_range),
8119 (gst_base_src_start):
8120 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8123 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8125 * docs/pwg/advanced-types.xml:
8126 Added more formats to caps table.
8128 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8130 * tools/gst-launch.c: (main):
8131 Remove crufy code. GOption does not need this workaround.
8133 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8135 * libs/gst/controller/gstcontroller.c:
8136 (gst_controlled_property_set_interpolation_mode):
8137 Fix wrong getter for enums in controller.
8139 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8141 * libs/gst/check/gstcheck.c: (gst_check_init):
8142 Intercept criticals and warnings in the Gst-Phonon log domain, so
8143 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8146 2007-06-14 Edward Hervey <edward@fluendo.com>
8148 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8149 Since this file doesn't include "gst.h" it will not go through the
8150 macros that disable GST_LOG if debugging was disabled.
8152 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8154 * libs/gst/check/Makefile.am:
8155 * libs/gst/check/gstcheck.h:
8156 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8157 * pkgconfig/gstreamer-check.pc.in:
8158 Ugly 'fix' for the controller unit test on the p5 bot: in
8159 fail_unless_equals_float() check whether the values are 'almost
8160 equal' by allowing a small absolute error, which should be good
8161 enough for our use cases (normal numbers and values close to 0).
8162 Proper fixage left to floating point arithmetic aficionados.
8164 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8166 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8167 (gst_base_sink_render_object), (gst_base_sink_get_position):
8168 Add two breaks thats where missing.
8170 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8172 * docs/libs/gstreamer-libs-sections.txt:
8173 * libs/gst/check/gstcheck.h:
8174 API: add fail_unless_equals_float() and assert_equals_float().
8175 Add documentation for some of the macros.
8177 * tests/check/libs/controller.c: (GST_START_TEST):
8178 Use newly-added asserts.
8180 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8182 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8183 Show the caps change in the log to help spotting the case of not
8184 exactly matching caps.
8186 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8188 * docs/pwg/building-boiler.xml:
8189 Fix typos, spotted by Thijs Vermeir (#447190).
8191 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8193 * docs/plugins/tmpl/.cvsignore:
8194 Ignore file to keep the buildbots happy
8196 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8198 * docs/plugins/Makefile.am:
8199 * docs/plugins/gstreamer-plugins-docs.sgml:
8200 * docs/plugins/gstreamer-plugins-sections.txt:
8201 Pull fdsink into the docs too.
8203 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8205 * libs/gst/controller/gstinterpolation.c:
8206 Actually use the new functions with min/max checks for the trigger and
8207 none interpolation modes for get() and get_value_array() instead of
8210 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8212 * libs/gst/controller/gstcontroller.c:
8213 (gst_controlled_property_free):
8214 Unset the minimum and maximum GValues when freeing the corresponding
8215 GstControllerProperty struct.
8217 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8219 * libs/gst/controller/gstcontroller.c:
8220 (gst_controlled_property_new):
8221 * libs/gst/controller/gstcontrollerprivate.h:
8222 * libs/gst/controller/gstinterpolation.c:
8223 (gst_controlled_property_find_control_point_node),
8224 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8225 (interpolate_none_get_string_value_array),
8226 (interpolate_trigger_get),
8227 (interpolate_trigger_get_enum_value_array),
8228 (interpolate_trigger_get_string_value_array):
8229 Protect against values larger or smaller than the minimum or maximum
8230 allowed value for the property when using values that can be compared.
8232 Optimize trigger interpolator a bit by taking the last requested value
8233 into account instead of always looping through the complete list.
8235 Fix coding style a bit, everywhere else we use "return foo" instead
8238 * tests/check/libs/controller.c: (GST_START_TEST),
8239 (gst_controller_suite):
8240 Add unit test for the protection against too large or too small
8243 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8245 * docs/random/slomo/controller.txt:
8246 Add some thoughts about the future of the controller.
8248 2007-06-08 Wim Taymans <wim@fluendo.com>
8250 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8251 Don't overflow in retimestamping code.
8253 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8255 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8256 Use gst_util_guint64_to_gdouble for conversions.
8257 * win32/common/libgstreamer.def:
8258 Add new exported functions.
8260 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8263 Small docs addition.
8265 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8268 Remove that test line again.
8270 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8273 Test commit mail sending.
8275 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8278 Fix typo and test commit mail sending.
8280 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8282 * tests/examples/controller/audio-example.c:
8283 Improve comment and test commit mail sending.
8285 2007-06-07 Wim Taymans <wim@fluendo.com>
8287 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8288 (gst_bin_remove_func), (gst_bin_element_set_state),
8289 (bin_handle_async_start), (bin_handle_async_done),
8290 (gst_bin_handle_message_func):
8291 Add helper function to find messages.
8292 Generate the async-done messages together with the state change
8294 Small cleanups in handling toplevel bins.
8296 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8298 * libs/gst/base/gstdataqueue.c:
8299 * libs/gst/base/gstdataqueue.h:
8300 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8301 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8302 (gst_multi_queue_sink_event):
8303 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8304 Fix multiqueue leaking buffers and events when downstream or the
8305 queue are flushing. Make refcounting assumptions explicit and
8306 document them (shouldn't break existing code that uses it other than
8307 maybe leak miniobjects, but that already happens anyway). Add unit
8308 test for the most common flushing case. Fixes #423700.
8310 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8312 * libs/gst/controller/gstcontroller.c:
8313 Clarify docs: The get_all, get_value_array(s) functions
8314 don't modify the GObject properties.
8316 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8318 * libs/gst/controller/gstcontroller.c:
8319 (gst_controlled_property_set_interpolation_mode),
8320 (gst_controlled_property_prepend_default),
8321 (gst_controlled_property_new), (gst_controller_set_unlocked),
8322 (gst_controller_set), (gst_controller_set_from_list),
8323 (gst_controller_unset), (gst_controller_unset_all):
8324 * libs/gst/controller/gstcontrollerprivate.h:
8325 * libs/gst/controller/gstinterpolation.c:
8326 Factor out the 'set' logic into gst_controller_set_unlocked for the
8327 gst_controller_set and gst_controller_set_from_list functions.
8329 To make life of the interpolators easier always add a control point
8330 at timestamp zero with the default value.
8332 In the linear interpolator make things more obvious by better variable
8335 Implement cubic interpolation mode (by using a natural cubic spline)
8336 and map the quadratic interpolation mode to this too (as quadratic
8337 doesn't make much sense, see discussion on the list).
8339 * tests/check/libs/controller.c: (GST_START_TEST),
8340 (gst_controller_suite):
8341 Add unit test for the cubic interpolation mode and check everywhere
8342 if the interpolation mode could be set as expected.
8344 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8346 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8347 Don't use GLib-2.10 functions, we still depend on
8348 GLib-how-old-is-it-again-2.8.
8350 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8352 * docs/gst/gstreamer-sections.txt:
8356 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8357 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8358 (_gst_param_fraction_values_cmp),
8359 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8360 * gst/gstparamspecs.h:
8362 * tests/check/Makefile.am:
8363 * tests/check/gst/.cvsignore:
8364 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8365 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8366 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8367 (GST_START_TEST), (gst_param_spec_suite):
8368 API: add GstParamSpecFraction, so elements can have fraction
8369 properties without lots of painful string parsing (#444648).
8371 2007-06-05 Wim Taymans <wim@fluendo.com>
8373 * gst/gstobject.c: (gst_object_class_init):
8374 Fix signal signature.
8377 Add small clarification in the api docs.
8379 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8380 States are protected with object lock.
8382 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8385 I should probably be listed as an author by now.
8387 * docs/random/release:
8388 Update the release doc
8390 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8393 Make docs for gst_value_compare() mention return enums that
8396 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8401 === release 0.10.13 ===
8403 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8406 releasing 0.10.13, "With or without you"
8408 2007-05-25 Wim Taymans <wim@fluendo.com>
8410 * gst/gstbin.c: (bin_handle_async_done):
8411 Make sure that the child bin stops after completing the async state
8412 change so that the parent can continue the state change to PLAYING.
8415 2007-05-25 Wim Taymans <wim@fluendo.com>
8417 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8418 (unref_data), (gst_collect_pads_remove_pad),
8419 (gst_collect_pads_check_pads):
8420 Use additional refcounting to avoid crashes when dynamically adding and
8421 removing pads. Fixes #420206.
8423 2007-05-24 Wim Taymans <wim@fluendo.com>
8425 * tools/gst-launch.c: (event_loop):
8426 When buffering goes from a two digit to a single digit number, make sure
8427 to remove the old second digit by writing a blank over it.
8429 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8431 * libs/gst/base/gstdataqueue.c:
8432 Eliminate tabs and trailing comma in enum list; fix some typos.
8434 2007-05-24 Wim Taymans <wim@fluendo.com>
8436 * tests/check/gst/gstbin.c: (GST_START_TEST):
8437 Allow refcount of 3 and 4 because some state thread might still be busy
8440 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8442 * plugins/elements/Makefile.am:
8443 * plugins/elements/gstmultiqueue.h:
8444 * plugins/elements/gstqueue.h:
8445 These are not installed headers, no need for padding.
8447 2007-05-24 Wim Taymans <wim@fluendo.com>
8449 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8450 (gst_bin_continue_func):
8451 Enable latency for next release.
8452 Restore STATE_LOCK around recalc_state that was left out during the
8453 rewrite and could result in racy behaviour when _get_state and
8454 recalc_state are run concurrently. See #440463.
8456 2007-05-23 Wim Taymans <wim@fluendo.com>
8458 * tests/check/gst/gstsystemclock.c: (store_callback),
8460 Improve test_async_order to also work when both timers are already
8461 expired when we get scheduled to check it.
8463 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8465 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8466 (gst_bin_set_property), (gst_bin_get_property),
8467 (gst_bin_remove_func), (gst_bin_handle_message_func):
8469 'private' is a c++ keyword, let's not use that in header files,
8470 otherwise c++ compilers will throw a tantrum.
8472 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8474 * plugins/elements/gstelements.c:
8475 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8476 (gst_file_sink_get_current_offset):
8477 * plugins/indexers/gstindexers.c: (plugin_init):
8478 Use #ifdef for HAVE_XYZ for consistency.
8480 * tests/check/Makefile.am:
8481 * tests/check/elements/.cvsignore:
8482 * tests/check/elements/filesink.c: (setup_filesink),
8483 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8484 Add some unit tests for filesink.
8486 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8488 Patch by: Mark Nauwelaerts <manauw at skynet be>
8490 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8491 (gst_file_sink_query), (gst_file_sink_do_seek),
8492 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8493 * plugins/elements/gstfilesink.h:
8494 Fix position reporting; rename data_written member to current_pos to
8495 reflect its real meaning (fixes #412648).
8497 2007-05-22 Edward Hervey <edward@fluendo.com>
8499 * docs/gst/gstreamer-sections.txt:
8500 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8501 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8502 (gst_bin_remove_func), (gst_bin_handle_message_func):
8504 Add a property for bins that handle the state change of their childs.
8507 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8509 * libs/gst/controller/gstinterpolation.c:
8510 Use an array of the correct type when using _get_value_array with
8511 linear interpolation.
8513 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8515 * gst/gstelement.c (gst_element_requires_clock,
8516 gst_element_provides_clock, gst_element_request_pad,
8517 gst_element_class_set_details, gst_element_class_set_details_simple,
8518 gst_element_default_send_event, gst_element_abort_state,
8519 gst_element_continue_state, gst_element_set_state,
8520 gst_element_set_state_func, iterator_activate_fold_with_resync):
8521 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8522 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8523 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8524 gst_pad_get_range, gst_pad_pull_range):
8525 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8526 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8527 GstPadActivateModeFunction, GstPadChainFunction,
8528 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8529 GstPadFixateCapsFunction, GstPadTemplate):
8530 * gst/gstpipeline.c (gst_pipeline_change_state,
8531 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8532 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8533 gst_pipeline_get_delay):
8534 Whitespace and docs fixes.
8536 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8538 * libs/gst/controller/gstinterpolation.c:
8539 (interpolate_trigger_get_enum_value_array),
8540 (interpolate_trigger_get_string_value_array):
8541 Add support for retrieving value arrays when using the trigger
8544 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8546 * libs/gst/controller/gstcontroller.c:
8547 (gst_controller_get_value_array):
8548 * libs/gst/controller/gstcontroller.h:
8549 Clarify the docs of gst_controller_get_value_array(): The array where
8550 the values should be written to must be allocated as there seems to be
8551 no way to get the size of a random GType. This doesn't change any
8552 behaviour. Also fix some typos all over the place and remove an unused,
8553 commented function that is not necessary as g_object_set() could be
8555 * tests/check/libs/controller.c: (GST_START_TEST),
8556 (gst_controller_suite):
8557 Add unit test for gst_controller_get_value_array().
8559 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8561 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8563 Disable part of the gst_buffer_try_new_and_alloc test, because
8564 it can happily succeed on 64-bit systems where there's more address
8567 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8569 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8570 Add unit test for the improved caps checking from bug #421543.
8572 2007-05-21 Wim Taymans <wim@fluendo.com>
8574 * docs/design/part-synchronisation.txt:
8577 * gst/gstbin.c: (gst_bin_query):
8578 * plugins/elements/gstqueue.c: (apply_segment):
8584 2007-05-21 Wim Taymans <wim@fluendo.com>
8586 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8587 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8588 (gst_pad_configure_src):
8589 Added simple version of improved caps checking. It was previously
8590 assumed that a setcaps function would check the validity of the caps but
8591 people prefer us to check caps against the template automatically.
8594 2007-05-21 Wim Taymans <wim@fluendo.com>
8596 * libs/gst/base/gstbasetransform.h:
8597 Fix macro for locking/unlocking the transform lock.
8599 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8601 * docs/plugins/tmpl/.cvsignore:
8604 2007-05-18 Edward Hervey <edward@fluendo.com>
8606 * plugins/elements/gstqueue.c: (gst_queue_loop):
8607 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8608 for the subtle art of warning a potentially blocking thread that it
8609 should check the source pad return value, and relay the information
8612 2007-05-18 Edward Hervey <edward@fluendo.com>
8614 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8615 Release the queue lock !
8617 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8619 * docs/libs/gstreamer-libs-sections.txt:
8620 Add the two new controller functions to the appropiate places.
8622 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8624 reviewed by: Stefan Kost <ensonic@users.sf.net>
8626 * libs/gst/controller/gstcontroller.c:
8627 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8628 (_gst_controller_get_property), (_gst_controller_set_property),
8629 (_gst_controller_init), (_gst_controller_class_init):
8630 * libs/gst/controller/gstcontroller.h:
8631 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8632 (gst_object_get_control_rate), (gst_object_set_control_rate):
8633 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8634 Add API that provides sync suggestion timestamps for elements that
8635 call gst_object_sync_values() from which those elements can subdivide
8636 their processing loop to get the best results for the controlled
8637 properties. For now it just suggests last_sync + control_rate as
8638 new timestamp but this will be improved in the future.
8640 While doing that change the control-rate property to a GstClockTime
8641 from guint and change it's meaning from samples to nanoseconds as
8642 the GstController doesn't know anything about sampling rate. Strictly
8643 speaking this breaks ABI but as the control-rate property didn't do
8644 anything in the past and as such couldn't be used this should be no
8647 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8649 reviewed by: Stefan Kost <ensonic@users.sf.net>
8651 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8652 (gst_controller_unset_all):
8653 * libs/gst/controller/gstcontrollerprivate.h:
8654 * libs/gst/controller/gstinterpolation.c:
8655 (gst_controlled_property_find_control_point_node):
8656 Save last synced value from the list to continue searching from there
8657 in future syncs. This speeds everything up a bit.
8659 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8661 reviewed by: Stefan Kost <ensonic@users.sf.net>
8663 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8664 (gst_control_point_find), (gst_controlled_property_new),
8665 (gst_control_point_free), (gst_controlled_property_free),
8666 (gst_controller_set), (gst_controller_set_from_list),
8667 (gst_controller_unset), (gst_controller_unset_all),
8668 (gst_controller_sync_values):
8669 * libs/gst/controller/gstcontroller.h:
8670 * libs/gst/controller/gstcontrollerprivate.h:
8671 * libs/gst/controller/gstinterpolation.c:
8672 (gst_controlled_property_find_control_point_node),
8673 (interpolate_none_get), (interpolate_trigger_get):
8674 Add a new private GstControlPoint struct which "inherits" from
8675 GstTimedValue to allow different interpolators to store internal
8676 values next to each control point. From the outside everything is
8677 still a GstControlPoint so we don't loose binary compatibility.
8678 Also fixup all the GValue handling to not leak GValues or list nodes.
8679 * tests/check/libs/controller.c: (GST_START_TEST):
8680 Free the list nodes and GValues in the controller_misc test.
8682 2007-05-17 Edward Hervey <edward@fluendo.com>
8687 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8689 * gst/gstplugin.c: (gst_plugin_load_file):
8690 If we fail to load a plugin because of unresolved symbols or missing
8691 libraries and spew a warning to stderr, we may just as well mention
8692 which plugin it was that failed to load.
8694 2007-05-13 David Schleef <ds@schleef.org>
8696 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8697 handles the case when ENABLE_GTK_DOC is false, and installs
8698 the prebuilt documentation. So gtk-doc subdirs are
8699 unconditionally enabled. Fixes: #349099.
8701 2007-05-13 David Schleef <ds@schleef.org>
8703 * gst/gstutils.h: Reword some documentation.
8705 2007-05-12 David Schleef <ds@schleef.org>
8707 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8708 do anything with the passed "module" parameter, so remove it.
8709 Allows removal of additional vestigal code.
8711 2007-05-12 David Schleef <ds@schleef.org>
8714 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8715 Switch to using g_stat() because it's more portable.
8717 2007-05-12 David Schleef <ds@schleef.org>
8720 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8721 parsing for embedded systems.
8722 * gst/gstelementfactory.c:
8723 Allow gst_element_register() to be called with plugin==NULL.
8724 Did nobody notice that static elements were broken?
8726 2007-05-12 Wim Taymans <wim@fluendo.com>
8728 * tools/gst-launch.c: (event_loop):
8729 Give more interesting info when buffering starts and stops.
8730 Fix case where buffering starts but we fail to update the buffering flag
8731 because the target state is not PLAYING.
8733 2007-05-12 Wim Taymans <wim@fluendo.com>
8735 * plugins/elements/gstqueue.c: (gst_queue_init),
8736 (gst_queue_finalize), (update_time_level), (apply_segment),
8737 (apply_buffer), (gst_queue_locked_flush),
8738 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8739 (gst_queue_handle_sink_event), (gst_queue_chain),
8740 (gst_queue_push_one), (gst_queue_loop):
8741 * plugins/elements/gstqueue.h:
8742 Refactor an cleanup queue a bit.
8743 Do better time level calculations that also work when the srcpad is not
8745 Remove some unneeded debug lines.
8747 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8748 Added testcase for time level measurement.
8749 Try to make some stuff more racefree.
8751 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8753 * gst/gsturi.c: (gst_element_make_from_uri):
8754 Don't leak plugin feature.
8756 * tests/check/Makefile.am:
8757 * tests/check/gst/.cvsignore:
8758 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8759 Add brain-dead unit test.
8761 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8763 Patch by: Jeroen Wouters <woutersj at gmail com>
8765 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8766 Treat protocol strings in a case-insensitive way (#437563).
8768 2007-05-11 Michael Smith <msmith@fluendo.com>
8770 * gst/gstplugin.c: (gst_plugin_load_file):
8771 * gst/gstregistry.c: (gst_registry_scan_path_level):
8772 Don't print a g_warning for any failure to load a shared object.
8773 Instead, push this down into gstplugin.c, and warn _only_ if we
8774 failed to open the module (i.e. failure to link).
8775 Avoids warnings on normal, working, non-plugin .so files.
8777 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8779 * gst/gstplugin.c (gst_plugin_load_file):
8780 * gst/gstregistry.c (GST_CAT_DEFAULT,
8781 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8782 Print a g_warning if there was an error when loading a plugins during
8783 registry scan. The shuld help beginners starting with gst-plugin
8786 2007-05-10 Wim Taymans <wim@fluendo.com>
8788 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8789 (update_time_level), (gst_queue_locked_flush),
8790 (gst_queue_handle_sink_event), (gst_queue_chain),
8791 (gst_queue_push_one), (gst_queue_loop):
8792 * plugins/elements/gstqueue.h:
8793 Be smarter when calculating the current amount of data in the queue by
8794 measuring the difference between start and end timestamps (in running
8795 time) inside the queue. Fixes #432876.
8796 API: GstQueue::pushing to notify elements that we are pushing data again
8797 since the running signal is rather broken for this purpose.
8799 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8801 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8802 gst_queue_base_init, gst_queue_init):
8805 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8807 * win32/common/libgstreamer.def:
8808 Add new exported functions.
8809 * win32/vs6/grammar.dsp:
8810 Use grammar pre-generated files.
8812 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8814 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8817 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8819 * gst/gstutils.c: (gst_parse_bin_from_description):
8821 Maintain API and ABI when --disable-parse is used. Now that
8822 we have an appropriate error code, we can just return NULL and the
8823 appropriate error when gst_parse_launch() is used despite it having
8824 been disabled (#342564).
8826 * tests/check/Makefile.am:
8827 * tests/check/pipelines/.cvsignore:
8828 * tests/check/pipelines/parse-disabled.c:
8829 Make sure these functions exist and return NULL plus a GError when
8830 --disable-parse is used.
8832 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8834 * tests/benchmarks/complexity.c: (main):
8835 * tests/benchmarks/mass-elements.c: (main):
8836 Set a good example and don't leak messages.
8838 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8840 * docs/gst/Makefile.am:
8841 * docs/libs/Makefile.am:
8842 Correct fixxrefs options.
8844 * docs/plugins/Makefile.am:
8845 * docs/plugins/gstreamer-plugins-docs.sgml:
8846 * docs/plugins/gstreamer-plugins-sections.txt:
8847 * plugins/elements/Makefile.am:
8848 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8849 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8850 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8851 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8852 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8853 _GstCapsFilterClass, trans_class):
8854 * plugins/elements/gstelements.c (name, rank, type, _elements):
8855 * plugins/elements/gstidentity.c
8856 (gst_identity_check_imperfect_timestamp,
8857 gst_identity_check_imperfect_offset):
8858 Document capsfilter and add doc-blurb to identity.
8860 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8862 * libs/gst/controller/gstcontroller.c:
8863 (gst_controlled_property_set_interpolation_mode):
8864 * libs/gst/controller/gstinterpolation.c:
8865 Don't crash if someone tries to set an interpolation mode that
8866 is invalid or that isn't supported yet. Fixes #422295.
8868 * tests/check/libs/controller.c: (GST_START_TEST),
8869 (gst_controller_suite):
8870 Add a test case for the above.
8872 2007-05-03 Edward Hervey <edward@fluendo.com>
8874 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8875 Properly set the last_stop position on GstSegment. This will only happen
8876 if there is a buffer to push out.
8878 2007-05-03 Wim Taymans <wim@fluendo.com>
8880 * libs/gst/base/gstbasetransform.c:
8881 (gst_base_transform_buffer_alloc):
8882 always_in_place does not mean that the sink and source caps are the
8883 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8885 2007-05-03 Wim Taymans <wim@fluendo.com>
8887 * docs/libs/gstreamer-libs-sections.txt:
8888 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8889 (gst_base_src_default_query), (gst_base_src_get_range):
8890 * libs/gst/base/gstbasesrc.h:
8891 API: gst_base_src_query_latency(). Added method so that subclasses can
8892 easily get the latency values of the base source class.
8894 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8896 * tools/gst-inspect.c (print_implementation_info):
8899 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8901 * tools/Makefile.am:
8902 * tools/gst-launch.1.in:
8903 Don't create a customised man page based on the host architecture,
8904 describe the default registry path generically. That way the man
8905 page is the same for all architectures and packagers have one
8906 multilib issue less to deal with. Fixes #434926.
8908 2007-05-02 Wim Taymans <wim@fluendo.com>
8911 Fix documentation as spotted by rg on IRC.
8913 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8916 Improve docs for gst_element_{link,unlink}.
8918 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8920 * docs/design/part-events.txt:
8921 * docs/design/part-overview.txt:
8925 * libs/gst/base/gstbasesink.c:
8926 Typo fixes; minor docs addition.
8928 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8930 * docs/gst/gstreamer-sections.txt:
8931 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8932 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8934 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8935 or src that supports a given URI protocol exists.
8937 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8939 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8940 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8941 Set the location to NULL if "file://" is set as URI. Otherwise
8942 some random previous URI would still be set if "file://" is
8943 set on an already used filesink/filesrc.
8945 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8947 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8948 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8949 Special case the "file://" URI as as this is used by some
8950 applications to test with gst_element_make_from_uri if there's
8951 an element that supports the URI protocol.
8952 Also move the g_path_is_absolute() check for the location part
8953 of the URI to also check this for "file://localhost/bla" URIs.
8955 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8957 * docs/gst/gstreamer-sections.txt:
8958 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8960 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8962 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8964 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8966 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8967 (gst_registry_binary_load_pad_template),
8968 (gst_registry_binary_load_plugin),
8969 (gst_registry_binary_read_cache):
8970 * gst/gstregistrybinary.h:
8971 Implement no-mmap alternative for registry reading. Do code cleanups.
8972 Add more comments about avoiding strdups for all text data. Comments
8975 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8977 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8978 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8979 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8980 Comment structs and reformat to fix the build (that stuff should go
8981 into a priv. header).
8983 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8985 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8986 (gst_registry_binary_load_feature):
8987 * gst/gstregistrybinary.h:
8988 Refactor so that we can implement multiple features. Add support for
8989 TypeFindFactory features.
8991 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8993 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8996 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8998 2007-04-23 Stefan Kost <ensonic@users.sf.net>
9000 * gst/gstbin.c: (gst_bin_element_set_state),
9001 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9002 (bin_handle_async_done), (gst_bin_handle_message_func):
9003 Fix build with --gst-disable-gst-debug
9005 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
9007 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9008 Make sure streaming has finished before calling the ::stop() vfunc,
9009 since that vfunc might clear state which is being used in the
9010 streaming thread. This fixes a race that caused crashes in
9011 audioresample when shutting down a pipeline (#420106).
9013 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9015 * docs/gst/gstreamer-sections.txt:
9016 That was one byte missing.
9018 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9021 * docs/gst/gstreamer-sections.txt:
9023 * gst/gstconfig.h.in:
9024 * gst/gstobject.c: (gst_object_class_init),
9025 (gst_signal_object_class_init):
9027 2nd attempt to have a xml-less build as a joined effort of #413123
9030 2007-04-20 Stefan Kost <ensonic@users.sf.net>
9032 * docs/design/draft-tagreading.txt:
9033 Added open issues/thoughts to draft.
9035 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9037 * gst/parse/grammar.tab.pre.c:
9038 * gst/parse/grammar.tab.pre.h:
9039 * gst/parse/lex._gst_parse_yy.pre.c:
9040 Update the prebuild parser sources.
9042 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9044 * gst/parse/Makefile.am:
9045 And now fix the building of the flex sources. Now everything should
9048 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9050 * gst/parse/Makefile.am:
9051 Now hopefully fix the build failures by setting proper rule
9052 dependencies and moving instead of copying.
9054 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9056 * tests/benchmarks/complexity.gnuplot:
9057 * tests/benchmarks/complexity.scm:
9058 * tests/benchmarks/mass-elements.gnuplot:
9059 * tests/benchmarks/mass-elements.scm:
9060 Total licensification.
9062 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9064 * gst/parse/Makefile.am:
9065 Fix the build by correcting the rule that gave wrong files to flex.
9067 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9069 * tests/benchmarks/complexity.c:
9070 * tests/benchmarks/mass-elements.c:
9071 Change licence to LGPL as granted by Benjamin and Andy.
9073 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9075 * gst/parse/Makefile.am:
9076 Add correct grammar.tab.h dependency if compiling without new enough
9077 flex. Fixes #431150.
9079 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9081 * gst/parse/Makefile.am:
9082 Fix typo and use outdated sources if the flex/bison sources are newer
9083 than the pregenerated ones but flex is too old. Print a warning in
9084 that case. This should fix the build on the build bot.
9086 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9088 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9089 * gst/parse/Makefile.am:
9090 * gst/parse/grammar.y:
9091 * gst/parse/parse.l:
9092 Make the parser reentrant and recursively callable. This requires flex
9093 >= 2.5.31, for older versions pregenerated sources are used as we
9094 can't bump the build dependency. Finally fixes #349180.
9096 * gst/gstparse.c: (gst_parse_launch):
9097 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9100 * docs/gst/Makefile.am:
9101 * docs/gst/Makefile.am:
9102 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9103 (__gst_parse_strfree), (__gst_parse_link_new),
9104 (__gst_parse_link_free), (__gst_parse_chain_new),
9105 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9106 (gst_parse_element_set), (gst_parse_free_link),
9107 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9108 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9109 (_gst_parse_launch):
9110 * gst/parse/grammar.tab.pre.h:
9111 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9112 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9113 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9114 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9115 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9116 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9117 (_gst_parse_yypop_buffer_state),
9118 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9119 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9120 (yy_fatal_error), (_gst_parse_yyget_extra),
9121 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9122 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9123 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9124 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9125 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9126 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9127 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9128 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9129 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9130 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9131 (_gst_parse_yyfree):
9132 If the installed flex version is too old use pre-generated parser
9133 sources. These pre-generated parser sources are always updated when
9134 the actual flex/bison sources change but require everybody who wants
9135 to change something in the parser to have flex >= 2.5.31 installed.
9137 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9139 * common/m4/gst-gettext.m4:
9140 * gst/gst-i18n-lib.h:
9141 Make --disable-nls to work
9143 2007-04-17 Wim Taymans <wim@fluendo.com>
9145 * gst/gstconfig.h.in:
9146 Revert previous change that broke the build.
9148 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9152 * gst/gstconfig.h.in:
9153 Drop libxml2 dependency when building with
9154 --enable-binary-registry --disable-loadsave
9156 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9158 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9159 (gst_registry_binary_read_cache):
9160 * gst/gstregistrybinary.h:
9161 Remove unnecessary <sys/mman.h> include which broke the win32 build
9162 with MingW; move includes from header file to .c file, even if the
9163 header file isn't installed; use g_strerror() where UTF-8 strings
9164 are expected, such as in GST_DEBUG messages.
9166 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9168 * docs/libs/gstreamer-libs-sections.txt:
9169 Remove bogus addition for API I didn't end up keeping.
9171 * libs/gst/base/gstbasesrc.h:
9172 Mention Since: 0.10.13 in the documentation.
9174 Add the API keyword to the previous ChangeLog entry.
9176 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9178 * docs/libs/gstreamer-libs-sections.txt:
9179 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9180 (gst_base_src_default_prepare_seek_segment),
9181 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9182 * libs/gst/base/gstbasesrc.h:
9183 Allow basesrc derived classes to execute seeks in other formats
9184 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9185 to prepare the GstSegment in any format that their perform_seek method
9186 will be able to understand. The default implementation provides the
9187 old behaviour of attempting to convert the seek offsets to the
9188 configured native format.
9190 API: basesrc::prepare_seek_segment vmethod.
9192 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9194 * gst/gstelement.c: (gst_element_get_state_func):
9195 Don't output the same debug statement twice.
9197 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9198 (gst_adapter_peek), (gst_adapter_take_buffer):
9199 Optimise the case where we have buffers at the head of the queue that
9200 can be joined quickly (because they're contiguous sub-buffers) by
9201 merging them together rather than copying data out into new memory.
9203 * gst/parse/grammar.y:
9204 * tests/check/pipelines/parse-launch.c:
9205 Fix a leak in an error path for parse_launch, and add a check
9206 for it to the testsuite.
9208 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9210 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9211 Don't deadlock when releasing a pad - gst_pad_set_active may try
9212 and take the multiqueue lock too.
9214 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9216 * gst/gsterror.c: (_gst_core_errors_init):
9218 API: add GST_CORE_ERROR_DISABLED (#392804).
9220 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9222 * docs/faq/gst-uninstalled:
9223 don't get empty paths on the PATH variables
9224 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9225 Don't format for the uncommon terminal width of 84 characters.
9227 2007-04-06 Wim Taymans <wim@fluendo.com>
9229 * gst/gstpipeline.c: (reset_stream_time),
9230 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9231 Only try to select a different pipeline clock when we went back to
9232 PAUSED and not when we merely got flushed.
9234 2007-04-05 Michael Smith <msmith@fluendo.com>
9236 * tools/gst-launch.1.in:
9237 fractions are better supported in gstreamer than ractions, so
9238 suggest using those.
9240 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9242 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9246 Added Danish translation.
9248 2007-04-05 Wim Taymans <wim@fluendo.com>
9250 * libs/gst/base/gstbasesink.c:
9251 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9252 Fix leak caused when refusing newsegment after EOS.
9254 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9255 (gst_fake_sink_init), (gst_fake_sink_set_property),
9256 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9257 (gst_fake_sink_render), (gst_fake_sink_change_state):
9258 * plugins/elements/gstfakesink.h:
9259 Add num-buffers property to make the element generate EOS after a
9260 configurable amount of buffers.
9261 API: fakesink::num-buffers property.
9263 * tests/check/elements/fakesink.c: (GST_START_TEST),
9265 Fix GstBus leak in test.
9266 Test for fakesink num-buffers.
9268 2007-04-05 Wim Taymans <wim@fluendo.com>
9270 * libs/gst/base/gstbasesink.c:
9271 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9272 (gst_base_sink_change_state):
9273 Don't accept anything after an EOS, return UNEXPECTED instead.
9275 * tests/check/elements/fakesink.c: (GST_START_TEST),
9277 Unit test for new EOS behaviour.
9279 2007-04-05 Wim Taymans <wim@fluendo.com>
9281 * gst/gstelement.c: (gst_element_get_request_pad):
9282 Make padtemplates also work when they don't contain %s or %d.
9284 2007-04-05 Wim Taymans <wim@fluendo.com>
9286 * docs/gst/gstreamer-sections.txt:
9287 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9288 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9290 Improve _adjust_unlocked() so that it overflows less.
9291 Add gst_clock_unadjust_unlocked to convert from external time to
9292 internal time based on calibration.
9293 Add some more debug.
9294 API: GstClock::gst_clock_unadjust_unlocked()
9296 2007-04-03 Wim Taymans <wim@fluendo.com>
9298 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9300 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9301 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9302 when releasing sink pad. Fixes #425400.
9304 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9306 * docs/random/ensonic/dynlink.txt:
9307 More work on proposal for new core api.
9309 * docs/libs/gstreamer-libs-sections.txt:
9310 * libs/gst/base/gstbasetransform.h:
9311 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9313 * libs/gst/controller/gstcontroller.c:
9314 (on_object_controlled_property_changed),
9315 (gst_controller_sync_values),
9316 (gst_controller_set_interpolation_mode):
9317 * libs/gst/controller/gstcontroller.h:
9318 Less verbose logging add docs for unimplemented parts and correctly
9319 return when using unavailable parts.
9321 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9323 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9324 Move all the debug to the CLOCK category, and associate it with
9327 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9329 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9330 Make take_buffer a bit quicker by removing redundant checks
9331 caused by calling gst_adapter_take.
9333 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9335 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9338 * tests/check/Makefile.am:
9339 * tests/check/elements/.cvsignore:
9340 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9341 (GST_START_TEST), (multiqueue_suite):
9342 Add some dead simple unit tests for the 'multiqueue' element
9343 (some bits don't work yet and are disabled for now).
9345 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9347 * gst/gstelement.c: (gst_element_get_request_pad),
9348 (gst_element_class_get_request_pad_template):
9349 Make gst_element_get_request_pad() create request pads only for
9350 request pad templates and not for, say, sometimes pad templates.
9352 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9354 * docs/design/draft-klass.txt:
9355 Add example that needs more thinking.
9357 * docs/design/draft-missing-plugins.txt:
9358 More thoughts about wrapper plugins.
9360 * docs/random/ensonic/embedded.txt:
9361 * docs/random/ensonic/profiling.txt:
9364 2007-03-25 Wim Taymans <wim@fluendo.com>
9366 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9367 (gst_base_src_loop):
9368 Only push the segment events in the PLAYING state for live sources.
9370 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9372 * gst/gstpipeline.c: (gst_pipeline_change_state):
9373 Modify the clock distribution path in PAUSED->PLAYING so that we
9374 never attempt to choose a new clock unless we're actually leaving
9375 the PAUSED state for the first time. This prevents choosing a
9376 different clock when the state_change gets called for a 2nd time due
9377 to some element doing an async state change.
9379 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9381 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9382 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9383 (gst_pad_chain_unchecked), (gst_pad_push):
9384 Revert last commit. This needs some more thoughts.
9386 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9388 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9389 (gst_pad_chain_unchecked), (gst_pad_push):
9390 Check in set_caps if the caps are compatible with the pad and remove
9391 two functions that are redundant now. Fixes #421543.
9393 2007-03-22 Wim Taymans <wim@fluendo.com>
9395 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9396 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9397 Unref some more to make valgrind happy.
9399 2007-03-22 Wim Taymans <wim@fluendo.com>
9401 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9402 (gst_system_clock_id_wait_jitter),
9403 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9404 Fix anoying regression that survived a few releases. When adding an
9405 async entry while blocking on a sync entry, the sync entry will unblock
9406 but still be busy, so it should continue to wait instead of returning
9408 Add some comments here and there.
9410 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9411 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9412 Add testcase for this.
9414 2007-03-22 Wim Taymans <wim@fluendo.com>
9416 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9417 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9418 WRONG_STATE and can silently pause the task. All other cases should
9421 2007-03-22 Wim Taymans <wim@fluendo.com>
9423 Patch by: Ville Syrjala <syrjala at sci dot fi>
9425 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9426 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9429 2007-03-21 Michael Smith <msmith@fluendo.com>
9431 * docs/pwg/advanced-types.xml:
9432 Fix some errors in the typefinding docs pointed out on irc.
9434 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9436 * libs/gst/base/gstbasesrc.c:
9437 Clarify FIXME comment in the face of having added unlock_stop()
9439 2007-03-21 Wim Taymans <wim@fluendo.com>
9441 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9442 Prepare for release where we warn against possible app breakage in the
9443 case of live pipelines along with an env var to enable/disable live
9444 preroll mode (GST_COMPAT=[no-]live-preroll).
9446 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9448 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9449 So we should use correct constants for checking for None offset.
9451 2007-03-20 Wim Taymans <wim@fluendo.com>
9453 * docs/design/part-block.txt:
9454 Mention the fact that the newly switched element should be set to at
9457 2007-03-20 Wim Taymans <wim@fluendo.com>
9460 Fix compilation with registry disabled as spotted by Saur.
9462 2007-03-20 Wim Taymans <wim@fluendo.com>
9464 Patch by: Olivier Crete <tester at tester dot ca>
9466 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9467 Look at the pending state too when syncing the element state to the
9468 parent. Fixes #420133.
9470 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9472 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9473 (gst_base_sink_change_state):
9474 * libs/gst/base/gstbasesink.h:
9475 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9476 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9477 (gst_base_src_deactivate):
9478 * libs/gst/base/gstbasesrc.h:
9479 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9480 for sub-classes to correctly clear any state they set trying to
9481 unlock, such as clearing out unlock commands from a command fd.
9482 API: basesrc::unlock_stop
9483 API: basesink::unlock_stop
9485 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9486 (gst_fd_sink_render), (gst_fd_sink_unlock),
9487 (gst_fd_sink_unlock_stop):
9488 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9489 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9490 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9492 Implement unlock_stop in fdsrc and fdsink.
9493 Implement seeking in fdsrc when a seekable fd is passed, as in
9494 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9496 2007-03-19 Wim Taymans <wim@fluendo.com>
9498 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9500 * gst/gstelement.c: (gst_element_class_init):
9501 Fix pad-added and pad-removed signal signatures so that the pad type is
9502 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9504 2007-03-19 Wim Taymans <wim@fluendo.com>
9506 * docs/gst/gstreamer-sections.txt:
9507 Add new element field and method.
9509 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9510 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9511 (gst_bin_recalc_state), (gst_bin_get_state_func),
9512 (gst_bin_element_set_state), (gst_bin_change_state_func),
9513 (gst_bin_continue_func), (bin_bus_handler),
9514 (bin_push_state_continue), (bin_handle_async_start),
9515 (bin_handle_async_done), (gst_bin_handle_message_func):
9516 Make async state changes a bit smarter by using new ASYNC_START and
9517 ASYNC_DONE messages. This reduces the number of times we run the state
9518 recalculation thread.
9519 Don't change state of element with a pending ASYNC_START message.
9520 Deprecate STATE_DIRTY messages.
9522 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9523 (gst_element_get_state_func), (gst_element_continue_state),
9524 (gst_element_lost_state), (gst_element_set_state_func),
9525 (gst_element_change_state):
9527 Keep the state that was last set by the app in a new element field.
9528 Don't allow state changes when handling an element event.
9529 Post ASYNC_START and ASYNC_DONE messages.
9530 Change lost_state so that we go to PAUSED and wait for the parent to set
9531 us to PLAYING again (so latency calculation can be performed)
9532 Export gst_element_change_state() method so that subclasses can use it.
9533 API: gst_element_change_state()
9534 API: GST_STATE_TARGET
9536 * gst/gstpipeline.c: (gst_pipeline_class_init),
9537 (reset_stream_time), (gst_pipeline_change_state),
9538 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9539 Using the new ASYNC_START message we can reset the base_time when
9540 needed. This can then be used to implement base_time redistribution in
9541 flushing seeks so that we can remove the explicit seek handling.
9542 Perform latency query and configuration when going to PLAYING.
9544 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9545 (gst_base_sink_query), (gst_base_sink_change_state):
9546 Post new ASYNC_START/ASYNC_DONE messages.
9548 * tests/check/generic/sinks.c: (GST_START_TEST):
9549 Fix test because the bin will not set the async element to PLAYING right
9552 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9553 Make the message check a little stronger.
9554 Handle ASYNC messages.
9556 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9557 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9558 Expect ASYNC_DONE messages.
9560 2007-03-19 Wim Taymans <wim@fluendo.com>
9562 * docs/gst/gstreamer-sections.txt:
9563 * gst/gstmessage.c: (gst_message_new_async_start),
9564 (gst_message_new_async_done), (gst_message_parse_info),
9565 (gst_message_parse_async_start):
9567 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9570 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9572 * tools/gst-inspect.c:
9573 (print_plugin_automatic_install_info_codecs):
9574 Now that we don't check for the 'Codec' keyword any longer in the
9575 klass, we shouldn't spew a warning if the klass isn't a decoder or
9576 encoder (since it might be a Source/Network, for example).
9578 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9580 * tools/gst-inspect.c:
9581 (print_plugin_automatic_install_info_codecs):
9582 Don't require decoder/demuxer/depayloader elements or
9583 encoder/muxer/paylader elements to have 'Codec' as part of their
9584 factory class string when introspecting a plugin's capabilities.
9585 draft-klass.txt mentions that it might be removed in future, and
9586 flump3dec doesn't have it as part of its class string, so chances
9587 are others might also not have it.
9589 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9611 Update translations from translation project
9613 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9615 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9616 (gst_child_proxy_set_property):
9617 Invert precondition check to be alike the ones in the mimiced gobject
9620 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9622 * docs/design/draft-tagreading.txt:
9623 * docs/random/ensonic/audiobaseclasses.txt:
9624 Do some Architect work.
9626 * gst/gstobject.c: (gst_object_set_name):
9630 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9632 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9634 * gst/gstsystemclock.c: (gst_system_clock_init),
9635 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9636 Defer starting the async system clock thread until the first async
9637 wait is scheduled. Fixes #414986.
9639 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9641 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9642 (gst_single_queue_free):
9643 Fix small leak (free GstSingleQueue structure too, not only contents).
9645 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9647 * gst/gstbin.c:(gst_bin_add):
9648 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9649 * win32/common/libgstbase.def:
9650 * win32/common/libgstreamer.def:
9651 Add new exported functions.
9653 2007-03-09 Wim Taymans <wim@fluendo.com>
9655 * docs/plugins/gstreamer-plugins-sections.txt:
9658 2007-03-09 Wim Taymans <wim@fluendo.com>
9660 * docs/gst/gstreamer-sections.txt:
9661 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9663 Add metadata copy functions. Fixes #393099.
9664 API: gst_buffer_copy_metadata()
9666 * gst/gstutils.c: (gst_buffer_stamp):
9667 * libs/gst/base/gstbasetransform.c:
9668 (gst_base_transform_prepare_output_buffer):
9669 Use new metadata copy functions.
9671 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9673 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9674 (gst_identity_init), (gst_identity_check_perfect),
9675 (gst_identity_check_imperfect_timestamp),
9676 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9677 (gst_identity_set_property), (gst_identity_get_property):
9678 * plugins/elements/gstidentity.h:
9679 Separate out check-imperfect-timestamp and check-imperfect-offset.
9680 Put back check-perfect as it was to keep compatibility.
9682 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9684 * gst/gstelement.c: (gst_element_dispose):
9685 There's no need to warn if VOID_PENDING is not NONE here, as
9686 long as the state is NULL it's ok, and that's checked immediately
9689 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9691 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9692 Fix check for perfect stream to ignore buffers with -1
9693 offsets/offset ends when checking data contiguity.
9695 2007-03-08 Wim Taymans <wim@fluendo.com>
9697 * tools/gst-launch.c: (event_loop):
9698 Print INFO messages.
9700 2007-03-08 Wim Taymans <wim@fluendo.com>
9702 * libs/gst/base/gstbasetransform.c:
9703 (gst_base_transform_sink_eventfunc),
9704 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9705 (gst_base_transform_activate):
9706 * libs/gst/base/gstbasetransform.h:
9707 Add support for dropping buffers with custom GstFlowReturn.
9708 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9709 buffers or dropped buffers.
9711 * docs/libs/gstreamer-libs-sections.txt:
9712 docs for new custom return code.
9714 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9715 Use drop support in base class to implement drop-probability.
9717 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9719 * gst/gst.c: (load_plugin_func):
9720 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9721 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9722 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9723 Remove newlines at end of debug log strings.
9725 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9727 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9728 Only post bus message at max, once per buffer received.
9730 2007-03-07 Wim Taymans <wim@fluendo.com>
9732 * docs/design/Makefile.am:
9733 * docs/design/part-synchronisation.txt:
9734 Add doc about synchronisation
9736 * docs/design/draft-latency.txt:
9737 * docs/design/part-TODO.txt:
9738 * docs/design/part-clocks.txt:
9739 * docs/design/part-events.txt:
9740 * docs/design/part-gstbus.txt:
9741 * docs/design/part-gstpipeline.txt:
9742 * docs/design/part-live-source.txt:
9743 * docs/design/part-messages.txt:
9744 * docs/design/part-overview.txt:
9745 * docs/design/part-streams.txt:
9746 * docs/design/part-trickmodes.txt:
9747 Documentation updates.
9749 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9752 Update the doap file.
9754 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9756 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9757 Rename non-perfect to imperfect for Mike and for the sanctity of the
9759 Also make sure bus message gets emitted for data-incontiguities.
9761 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9763 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9764 (gst_identity_start):
9765 * plugins/elements/gstidentity.h:
9766 Emit bus message if check-perfect is true and we encounter a
9767 non-perfect stream between 2 consecutive buffers.
9770 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9775 === release 0.10.12 ===
9777 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9780 releasing 0.10.12, "Inevitable Demise"
9782 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9785 Version 0.10.11.2 (0.10.12 pre-release)
9786 Bump libtool versioning.
9788 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9790 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9791 Log flow-names and not numbers.
9793 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9796 Convert to new AG_GST style.
9798 2007-02-28 Wim Taymans <wim@fluendo.com>
9800 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9801 Don't unref query twice.
9803 2007-02-28 Wim Taymans <wim@fluendo.com>
9805 * gst/gstvalue.c: (gst_value_transform_object_string),
9806 (_gst_value_initialize):
9807 Implement GstObject -> string transform so we print object names
9808 when serializing GValues containing GstObjects.
9810 2007-02-28 Wim Taymans <wim@fluendo.com>
9812 * docs/gst/gstreamer-sections.txt:
9813 Add new stuff to docs.
9815 2007-02-28 Wim Taymans <wim@fluendo.com>
9817 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9818 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9819 (gst_base_sink_change_state):
9820 Improve latency query code.
9821 Don't leak latency events.
9823 * tests/check/gst/gstbin.c: (GST_START_TEST):
9826 2007-02-28 Wim Taymans <wim@fluendo.com>
9828 * gst/gstelement.c: (gst_element_message_full),
9829 (gst_element_get_state_func):
9831 Improve docs a little. Added Since: for new macro.
9833 * gst/gstobject.c: (gst_object_sink):
9834 * gst/gstpipeline.c: (gst_pipeline_change_state),
9835 (gst_pipeline_set_new_stream_time):
9836 * gst/gstpipeline.h:
9837 Improve debugging and docs.
9839 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9842 2007-02-28 Wim Taymans <wim@fluendo.com>
9844 * gst/gstelement.c: (gst_element_message_full),
9845 (gst_element_set_locked_state), (gst_element_get_state_func),
9846 (gst_element_change_state):
9847 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9848 Documentation updates.
9849 Small code cleanups.
9851 * gst/gstmessage.c: (gst_message_new_info),
9852 (gst_message_parse_info):
9854 API: gst_message_new_info()
9855 API: gst_message_parse_info()
9856 Add INFO message create and parse code.
9858 2007-02-28 Wim Taymans <wim@fluendo.com>
9860 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9861 (bin_query_latency_done):
9862 Also report the live parameter of a latency query.
9864 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9866 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9867 Copy the current generic/states example from -base and adapt so
9868 we can use the exact same code everywhere.
9869 Check a STATES_IGNORE_ELEMENTS env var which can be used
9870 to ignore certain element factories for this test, which is
9871 what is being done in -base
9872 * tests/check/Makefile.am:
9873 Mention this environment variable.
9875 2007-02-27 Wim Taymans <wim@fluendo.com>
9877 * docs/gst/gstreamer-sections.txt:
9878 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9879 (gst_bus_timed_pop), (gst_bus_pop):
9881 API: gst_bus_timed_pop()
9882 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9883 message to arrive on the bus.
9885 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9887 Two unit tests for new _timed_pop() function.
9889 2007-02-23 Wim Taymans <wim@fluendo.com>
9891 * gst/gstpipeline.c: (gst_pipeline_change_state),
9892 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9893 Don't ref a NULL clock in _provide_clock_func().
9894 Don't allow an INVALID delay.
9895 Don't try to calculate base_time with an invalid start_time.
9896 Also distribute and notify a NULL clock when it was selected.
9898 * tools/gst-launch.c: (event_loop):
9899 Don't crash when a NULL clock was selected in the pipeline.
9901 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9903 * docs/design/Makefile.am:
9904 * docs/design/draft-missing-plugins.txt:
9905 * docs/random/draft-missing-plugins.txt:
9906 Some small updates: update plugin system identifier prefix
9907 ('gstreamer.net' to 'gstreamer'), mention our new install
9908 API in libgstbaseutils rather than libgimme-codec, add
9909 reference to the online docs.
9911 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9913 * win32/common/config.h:
9914 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9915 use moap cl ci to only check in what is mentioned in the ChangeLog.
9917 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9919 * docs/gst/gstreamer-sections.txt:
9921 Fix up documentation to link to the correct GstGError section.
9922 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9924 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9926 * tools/gst-launch.c: (event_loop):
9927 Make sure that we actually show the important message part of a
9929 No need to check if the gerror is not NULL to free; first of all
9930 g_free accepts NULL; and second the default error handler would
9931 segfault if gerror was NULL.
9933 2007-02-21 Wim Taymans <wim@fluendo.com>
9935 * docs/gst/gstreamer-sections.txt:
9936 Removed docs as well.
9938 2007-02-21 Wim Taymans <wim@fluendo.com>
9940 * gst/gstmessage.c: (gst_message_parse_duration):
9942 Remove new messages for release.
9944 2007-02-20 Wim Taymans <wim@fluendo.com>
9946 * docs/design/part-gstghostpad.txt:
9947 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9948 (gst_ghost_pad_new_full):
9949 Make the ghostpad a parent of the internal pad again for better backward
9950 compatibility. Don't write code that relies on this however.
9952 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9953 (gst_pad_link_check_hierarchy):
9954 Require that parents should be GstElements in the hierarchy check.
9956 2007-02-20 Wim Taymans <wim@fluendo.com>
9958 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9959 (gst_bin_change_state_func), (bin_query_min_max_init),
9960 (bin_query_latency_fold), (bin_query_latency_done),
9963 Implement latency query.
9965 2007-02-20 Wim Taymans <wim@fluendo.com>
9967 * docs/design/part-gstghostpad.txt:
9968 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9969 (gst_ghost_pad_internal_do_activate_push),
9970 (gst_ghost_pad_internal_do_activate_pull),
9971 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9972 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9973 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9974 Do not set the internal pad as a parent anymore so we can avoid
9975 hierarchy linking errors when the ghostpad has no parent yet. This also
9976 fixes failed activation because of unlinked internal pads, which in
9977 turn fixes the impossible case where you have to activate a pad before
9978 you can add it to a running element.
9981 * gst/gstpad.c: (pre_activate), (post_activate),
9982 (gst_pad_set_active), (gst_pad_activate_pull),
9983 (gst_pad_activate_push), (gst_pad_check_pull_range):
9984 Add some more debug info.
9985 Mark activation mode in pre_activate so that we don't try to activate in
9986 endless loops. Fixes #385084.
9988 2007-02-19 Wim Taymans <wim@fluendo.com>
9990 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9991 (gst_base_transform_check_get_range):
9992 Implement a checkgetrange function instead of relying on the default
9993 core behaviour that assumes we can operate in pull mode if we have a
9994 getrange function. First step at fixing #385084.
9996 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9998 * gst/gstchildproxy.h:
9999 * libs/gst/base/gstbasesink.h:
10000 * libs/gst/base/gstbasesrc.h:
10001 * libs/gst/base/gstbasetransform.h:
10002 More docs coverage and some ChangeLog surgery (add missing names)
10004 2007-02-15 Wim Taymans <wim@fluendo.com>
10006 * docs/design/part-TODO.txt:
10007 * docs/design/part-activation.txt:
10008 * docs/design/part-block.txt:
10009 * docs/design/part-buffering.txt:
10010 * docs/design/part-clocks.txt:
10011 * docs/design/part-element-source.txt:
10012 * docs/design/part-events.txt:
10013 * docs/design/part-gstbin.txt:
10014 * docs/design/part-gstbus.txt:
10015 * docs/design/part-gstpipeline.txt:
10016 * docs/design/part-live-source.txt:
10017 * docs/design/part-messages.txt:
10018 * docs/design/part-overview.txt:
10019 * docs/design/part-qos.txt:
10020 * docs/design/part-query.txt:
10021 * docs/design/part-states.txt:
10022 * docs/design/part-trickmodes.txt:
10023 Some doc updates. Start renaming from stream_time to running_time where
10024 it was used wrongly.
10026 2007-02-15 Wim Taymans <wim@fluendo.com>
10028 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10029 Answer LATENCY query.
10031 2007-02-15 Wim Taymans <wim@fluendo.com>
10033 * tests/check/gst/gstevent.c: (event_probe), (test_event),
10037 2007-02-15 Wim Taymans <wim@fluendo.com>
10039 * gst/gstpad.c: (gst_pad_get_internal_links_default),
10040 (gst_pad_dispatcher):
10041 Improve debugging of default pad dispatcher and query functions.
10043 2007-02-15 Wim Taymans <wim@fluendo.com>
10045 * docs/gst/gstreamer-sections.txt:
10046 Remove old unused method.
10048 2007-02-13 Wim Taymans <wim@fluendo.com>
10050 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10053 2007-02-13 Wim Taymans <wim@fluendo.com>
10055 * docs/design/part-seeking.txt:
10058 * gst/gstsegment.c: (gst_segment_set_seek):
10059 Revert old bogus change that should make seeking work again.
10061 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10063 * docs/random/ensonic/dynlink.txt:
10064 * docs/random/ensonic/interfaces.txt:
10065 * docs/random/ensonic/receipies.txt:
10066 Possible dynamic reconnection api, plus some type fixes the other two
10069 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10071 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10072 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10073 Also check for an absolute path following file:// in the filesrc
10074 element. Remove redundant check and call g_path_is_absolute() on the
10075 unescaped location.
10077 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10079 * docs/design/draft-klass.txt:
10080 Add existing category analysis.
10083 Fix doc example, framerate is a fraction.
10085 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10088 * docs/gst/Makefile.am:
10089 * docs/gst/gstreamer-sections.txt:
10090 * docs/libs/Makefile.am:
10091 Erm, forgot a bunch of --extra-dir.
10093 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10096 * docs/gst/Makefile.am:
10097 * docs/libs/Makefile.am:
10098 * docs/plugins/Makefile.am:
10099 Add crossreferences to glib/gobject docs.
10101 2007-02-12 Wim Taymans <wim@fluendo.com>
10103 * docs/design/draft-latency.txt:
10106 * docs/libs/gstreamer-libs-sections.txt:
10107 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10108 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10109 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10110 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10111 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10112 (gst_base_sink_get_position), (gst_base_sink_query),
10113 (gst_base_sink_change_state):
10114 * libs/gst/base/gstbasesink.h:
10115 API: gst_base_sink_query_latency() to let subclasses query the upstream
10117 API: gst_base_sink_get_latency() to let subclasses query the configured
10118 latency in the sink.
10119 Implement query and set latency.
10121 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10122 don't continue preroll when we are flushing. Fixes #405284.
10124 * tests/check/pipelines/stress.c: (change_state_timeout),
10125 (quit_timeout), (GST_START_TEST), (stress_suite):
10128 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10130 Patch by: René Stadler <mail at renestadler de>
10132 * docs/gst/gstreamer-sections.txt:
10133 * gst/gsttaglist.c: (_gst_tag_initialize):
10134 * gst/gsttaglist.h:
10135 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10137 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10139 * docs/libs/Makefile.am:
10140 Fix path to core docs.
10142 * gst/gstbin.c: (gst_bin_get_by_interface),
10143 (gst_bin_iterate_all_by_interface):
10144 Refix docs by also renaming 'interface' to 'iface' in implementation.
10146 * docs/gst/gstreamer-sections.txt:
10148 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10149 * gst/gstchildproxy.h:
10150 * gst/gstelementfactory.c:
10151 * gst/gstpadtemplate.h:
10152 * libs/gst/controller/gstcontroller.c:
10153 (gst_controlled_property_new):
10156 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10158 * gst/gstbin.h:(gst_bin_get_by_interface),
10159 (gst_bin_iterate_all_by_interface):
10160 Replace interface parameter name by iface as interface is
10161 a reserved keyword in Visual Studio for C++ projects so it removes
10162 a build error for application developpers using VS.
10163 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10164 Fix a bug on Windows in uri format check. Now the prefix checked
10165 is file:// and next we check if the path after file:// is absolute.
10166 * win32/common/libgstbase.def:
10167 * win32/common/libgstdataprotocol.def:
10168 * win32/common/libgstgstreamer.def:
10169 Add new exported functions.
10171 2007-02-09 Andy Wingo <wingo@pobox.com>
10173 * tests/check/pipelines/simple-launch-lines.c
10174 (simple_launch_lines_suite, test_tee): Disable tee test until I
10175 have time to fix it :-(
10177 * tests/check/Makefile.am (noinst_HEADERS):
10178 * tests/check/libs/libsabi.c:
10179 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10180 * tests/check/gst/gstabi.c:
10181 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10183 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10184 tests for push and pull tee behavior.
10186 * plugins/elements/gsttee.h:
10187 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10188 mark as deprecated as well as unimplemented. It was a crack idea.
10189 Add support for tee operating in pull mode, off by default.
10191 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10192 normal-case logs down to LOG, raise errors to WARNING.
10193 (gst_registry_xml_read_cache): Don't log before calling a function
10196 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10197 exit (registry finalize).
10198 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10199 DEBUG log when we emit signals that people don't even have the
10200 chance to connect to.
10201 (gst_registry_scan_path_level): Less logging in the normal case.
10203 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10205 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10207 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10208 Correctly generate EOS for non-seekable files. We don't have a total
10209 length for them and would get an unexpected end of file if we only
10210 special-cased for regular files. (Fixes: #404569)
10212 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10214 * tests/check/elements/filesrc.c: (GST_START_TEST),
10216 Add unit test for the GstURIHandler interface in filesrc. This also
10217 tests the newly added file://localhost/foo/bar support.
10219 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10221 * gst/gstelementfactory.h:
10222 The klass string is not a hierarchy. Add reference to the design doc
10223 for more information and common types.
10225 2007-02-02 Wim Taymans <wim@fluendo.com>
10227 * gst/gstquery.c: (gst_query_new_latency):
10228 Remove old structure field.
10230 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10232 * tools/gst-launch.1.in:
10233 Give example for network streaming (#351998)
10235 2007-02-02 Wim Taymans <wim@fluendo.com>
10237 * docs/gst/gstreamer-sections.txt:
10238 Add docs for new methods.
10240 * gst/gstevent.c: (gst_event_new_latency),
10241 (gst_event_parse_latency):
10243 Add new LATENCY event to configure latency in a pipeline.
10244 API: gst_event_new_latency
10245 API: gst_event_parse_latency
10247 * gst/gstmessage.c: (gst_message_new_buffering),
10248 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10249 (gst_message_new_latency), (gst_message_parse_buffering),
10250 (gst_message_parse_lost_preroll):
10251 * gst/gstmessage.h:
10252 Added messages used in draft-latency.
10253 API: gst_message_new_lost_preroll
10254 API: gst_message_parse_lost_preroll
10255 API: gst_message_new_prerolled
10256 API: gst_message_new_latency
10258 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10259 (gst_query_parse_latency):
10261 Implemented new latency query as in design doc.
10262 API: gst_query_new_latency
10263 API: gst_query_set_latency
10264 API: gst_query_parse_latency
10266 2007-02-02 Wim Taymans <wim@fluendo.com>
10268 * docs/design/draft-latency.txt:
10269 Slight redesign to allow for dynamic latency adjustments.
10271 * docs/design/part-negotiation.txt:
10274 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10276 reviewed by: Wim Taymans <wim@fluendo.com>
10278 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10279 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10280 Allow file://localhost/foo/bar URLs and correctly fail for every other
10281 hostname that one sets. This was gnomevfssrc is linked for those if
10282 installed as it can handle it (#403172)
10284 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10286 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10288 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10289 (unref_data), (gst_collect_pads_add_pad_full):
10290 * libs/gst/base/gstcollectpads.h:
10291 Don't put the previously added destroy notify in the GstCollectData
10292 struct as all it's padding is already used and we don't want to break
10293 ABI. Instead put in the pad's GObject data for now. This should be
10294 cleaned up for 0.11 (#402393).
10296 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10298 reviewed by: Wim Taymans <wim@fluendo.com>
10300 * docs/libs/gstreamer-libs-sections.txt:
10301 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10302 (unref_data), (gst_collect_pads_add_pad),
10303 (gst_collect_pads_add_pad_full):
10304 * libs/gst/base/gstcollectpads.h:
10305 API: Add function to specify a destroy notification for custom
10306 GstCollectData when adding new pads in GstCollectPads (#402393).
10308 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10311 Update Swedish translation (#378255).
10313 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10315 * docs/design/draft-klass.txt:
10316 Fix the previous change, this is a list of categories and not a hierarchy.
10318 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10320 * docs/design/draft-klass.txt:
10321 Add info about how to get a list of used classes.
10323 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10325 * plugins/elements/gsttypefindelement.c:
10326 (gst_type_find_element_chain_do_typefinding),
10327 (gst_type_find_element_change_state):
10328 Don't leak found caps in chain function (no idea why that never
10329 showed up as a leak anywhere).
10331 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10334 Fix and expand GstPluginDesc API docs.
10336 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10339 * gst/gstelementfactory.c:
10340 * gst/gstpadtemplate.h:
10343 * libs/gst/controller/gstcontroller.c:
10344 (gst_controlled_property_new):
10345 * tests/examples/controller/audio-example.c:
10348 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10351 comment about refining the xml deps
10353 * docs/manuals.mak:
10354 comments about moving away from jade for docs
10357 recommit the ifdefs to use the binary registry
10359 * gst/gstbin.c: (gst_bin_change_state_func):
10360 this break is obsolete
10362 * gst/gstelementfactory.h:
10363 better GST_ELEMENT_DETAILS docs, add comment about translation
10368 * gst/gstobject.c: (gst_signal_object_get_type):
10369 add G_UNLIKELY as usual
10371 * gst/gstpad.c: (gst_pad_event_default):
10372 add fall trhu comment
10374 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10375 (gst_registry_binary_initialize_magic),
10376 (gst_registry_binary_save_string),
10377 (gst_registry_binary_save_pad_template),
10378 (gst_registry_binary_save_feature),
10379 (gst_registry_binary_save_plugin),
10380 (gst_registry_binary_write_cache),
10381 (gst_registry_binary_check_magic),
10382 (gst_registry_binary_load_pad_template),
10383 (gst_registry_binary_load_feature),
10384 (gst_registry_binary_load_plugin),
10385 (gst_registry_binary_read_cache):
10386 comment typo and formatting
10388 * gst/gstutils.c: (gst_element_state_get_name),
10389 (gst_element_state_change_return_get_name):
10390 remove obsolete breaks
10392 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10393 add FIXME 0.11 and remove cpp comment
10395 2007-01-29 Edward Hervey <edward@fluendo.com>
10397 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10398 Fix print statement in an even more portable way.
10400 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10402 * docs/gst/gstreamer-sections.txt:
10404 API: add GST_ROUND_DOWN_* macros (#401781).
10406 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10408 * docs/gst/gstreamer.types.in:
10409 * gst/gstregistry.c: (gst_registry_class_init):
10410 Document registry signals and make gtk-doc pick them up (#401381).
10412 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10414 * docs/pwg/building-testapp.xml:
10415 Add some audioconverts and audioresample to the pipeline, and some
10416 more comments and error handling.
10418 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10420 * docs/manual/manual.xml:
10421 * docs/pwg/pwg.xml:
10422 Fix typo (#400987).
10424 2007-01-26 Wim Taymans <wim@fluendo.com>
10426 * gst/gstcaps.c: (gst_static_caps_get):
10427 Init caps flags too.
10429 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10431 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10433 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10434 If not using mmap'ed files try to seek to the end instead of the
10435 start to determine whether we can seek at all. This fixes the case
10436 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10437 seeks for everything afterwards fail. Fixes #400656
10439 2007-01-25 Wim Taymans <wim@fluendo.com>
10441 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10442 Add some refcount debugging.
10443 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10444 in multiple streaming threads.
10446 2007-01-25 Wim Taymans <wim@fluendo.com>
10448 Patch by: David Schleef <ds at schleef dot org>
10450 * docs/libs/gstreamer-libs-sections.txt:
10451 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10452 * libs/gst/base/gstadapter.h:
10453 API: gst_adapter_copy() that can reduce the amount of memcpy when
10454 getting data from the adapter. Fixes #388201.
10456 2007-01-25 Edward Hervey <edward@fluendo.com>
10458 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10459 In print statements, "%x" is for guint. Fixes build on macosx.
10461 2007-01-24 Edward Hervey <edward@fluendo.com>
10463 * plugins/elements/gstmultiqueue.c:
10464 (gst_multi_queue_loop):
10466 (single_queue_overrun_cb), (single_queue_underrun_cb),
10467 (single_queue_check_full), (gst_single_queue_new):
10468 Implement single queue growth system.
10469 This uses the extra-size properties, and will grow single queues by
10470 that much if one goes full whereas there are others empty. This is
10471 called extra-mode in the code.
10472 When a single queue's levels go back below the initial max-size
10473 limits, it is no longer in extra-mode. This is to ensure we don't
10474 consume too much memory.
10477 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10479 * gst/gst.c: (gst_init_get_option_group):
10480 Make warning about late g_thread_init() calls a bit more explicit,
10481 so that it's more obvious to application developers what they need
10482 to do if a user files a bug against their application.
10484 2007-01-22 Edward Hervey <edward@fluendo.com>
10486 * plugins/elements/gstmultiqueue.c:
10487 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10488 Remove previous hack of unsetting the flushing flag for the source pad
10489 instead of activating it. Instead, fix the source pad activate function
10490 so that it no longer depends on having a parent set or not.
10492 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10494 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10496 * docs/manual/basics-bus.xml:
10497 Fix example code, gst_element_unref() doesn't exist any longer.
10499 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10501 Patch by: Mark Nauwelaerts <manauw at skynet be>
10504 Fix two docs typoes (#399094).
10506 2007-01-19 Edward Hervey <edward@fluendo.com>
10508 * docs/faq/gst-uninstalled:
10509 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10510 depending on libgstbaseutils can work in uninstalled environment.
10512 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10514 * gst/gsttaglist.h:
10515 * gst/gsttagsetter.c:
10516 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10517 statement for new tag.
10519 2007-01-17 Edward Hervey <edward@fluendo.com>
10521 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10522 When dynamically creating single queues, activate sinkpad before adding
10524 We should be doing the same thing for the source pad, but we can't
10525 since it would call a method which needs the parent to be set in order
10526 to work propertly. Instead of activating the source pad, we just unset
10527 the flushing flag, which is the minimal requirement for adding a pad
10528 to an element in a state greater than READY.
10530 2007-01-17 Edward Hervey <edward@fluendo.com>
10532 * docs/faq/gst-uninstalled:
10533 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10536 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10538 * tests/check/gst/gstabi.c:
10539 * tests/check/gst/struct_hppa.h:
10540 * tests/check/libs/libsabi.c:
10541 * tests/check/libs/struct_hppa.h:
10542 Add ABI structs for HPPA (see #393796).
10544 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10546 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10547 Actually write ABI structs to the file specified in the GST_ABI
10548 environment variable, as the message we print claims we would.
10550 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10552 * tests/check/gst/gsttask.c:
10553 Fix header comment.
10555 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10557 * gst/gsttaglist.c: (_gst_tag_initialize):
10558 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10559 previous two entries.
10561 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10563 * docs/gst/gstreamer-sections.txt:
10564 * gst/gsttaglist.c: (_gst_tag_initialize):
10565 * gst/gsttaglist.h:
10566 Add tag support for beat-per-minute.
10568 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10570 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10571 (gst_registry_binary_initialize_magic),
10572 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10573 (gst_registry_binary_save_pad_template),
10574 (gst_registry_binary_save_feature),
10575 (gst_registry_binary_save_plugin),
10576 (gst_registry_binary_write_cache),
10577 (gst_registry_binary_check_magic),
10578 (gst_registry_binary_load_pad_template),
10579 (gst_registry_binary_load_feature),
10580 (gst_registry_binary_load_plugin),
10581 (gst_registry_binary_read_cache):
10582 * gst/gstregistrybinary.h:
10583 Use glib types, cleanup comments, impement interfaces and uri-types.
10585 2007-01-13 Andy Wingo <wingo@pobox.com>
10587 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10588 getrange() to return buffers with other caps, while we fix
10589 demuxers and typefind, or otherwise change part-negotiation.txt.
10591 2007-01-12 Andy Wingo <wingo@pobox.com>
10593 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10594 Factor start/stop into this private function instead of partially
10595 in activate functions and partially in the change_state function.
10596 Fixes setup before the element has changed from READY->PAUSED, as
10597 is the case in pull-mode pipelines.
10598 (gst_base_transform_sink_activate_push)
10599 (gst_base_transform_src_activate_pull): Refactor to use
10600 gst_base_transform_activate().
10601 (gst_base_transform_change_state): Removed, not needed any more.
10603 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10604 Truncate before fixating.
10606 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10607 Don't set_caps() if the result of fixating is ANY, as it's not
10608 supported, and not necessary in the case of a link with no
10609 template caps on either side. Fixes tests/check/libs/basesrc in
10610 some pull-mode tests.
10612 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10613 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10614 (gst_base_transform_src_activate_pull):
10615 Track the activation mode.
10616 (gst_base_transform_setcaps): In pull mode, when activating the
10617 src pad, after activating the sink pad, activate the sink pad's
10618 peer, as discussed in part-negotiation.txt.
10620 * libs/gst/base/gstbasesrc.h:
10621 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10622 vmethod, as in basesink.
10624 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10626 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10627 mode, first proxy the setcaps to the peer pad.
10628 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10629 new fixate vmethod.
10630 (gst_base_sink_default_activate_pull): Rename from
10631 gst_base_sink_activate_pull.
10632 (gst_base_sink_negotiate_pull): New function, performs negotiation
10633 in pull mode before calling ::activate_pull().
10634 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10635 vmethod instead of the default implementation. I have no idea how
10636 this worked before. Negotiate before calling activate_pull.
10638 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10639 sink pads in pull mode. In addition to being correct, fixes
10640 filesrc ! decodebin ! identity ! fakesink.
10641 (gst_pad_get_range, gst_pad_pull_range): Don't call
10642 gst_pad_set_caps() if the caps changes; instead error out with
10643 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10645 2007-01-12 Andy Wingo <wingo@pobox.com>
10647 * docs/design/part-negotiation.txt: Update with more policy.
10649 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10651 * libs/gst/check/gstbufferstraw.h:
10652 * libs/gst/check/gstcheck.h:
10653 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10656 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10658 * tests/check/Makefile.am:
10659 * tests/check/gst/.cvsignore:
10660 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10661 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10662 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10663 (GST_START_TEST), (gst_tag_setter_suite):
10664 Add minimal unit test for beforementioned GstTagSetter bug.
10666 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10668 Patch by: René Stadler <mail at renestadler dot de>
10670 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10671 gst_tag_list_merge() returns a new list, so it's not the best idea
10672 to ingore its return value. Effectively meant that tags could only
10673 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10674 Also add function guard to require a non-NULL taglist as input (has
10675 always been so due to gst_tag_list_copy(), just making it explicit).
10677 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10679 * docs/random/draft-missing-plugins.txt:
10680 Some additions: mention new API that is supposed to be used at the
10681 various stages; short blob about new gst-inspect introspection
10682 option; mention potential future problem with plugins that have
10683 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10685 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10687 * tools/gst-inspect.c:
10688 (print_plugin_automatic_install_info_codecs),
10689 (print_plugin_automatic_install_info_protocols),
10690 (print_plugin_automatic_install_info), (main):
10691 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10692 introspect plugin files and get machine-parsable output that corresponds
10693 to the last bit of the missing-plugin installer string (small gotcha:
10694 doesn't take into account ranks).
10696 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10699 * docs/gst/gstreamer-sections.txt:
10701 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10702 (gst_registry_lookup_locked):
10703 * gst/gstregistry.h:
10704 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10705 (gst_registry_binary_initialize_magic),
10706 (gst_registry_binary_save_string),
10707 (gst_registry_binary_save_pad_template),
10708 (gst_registry_binary_save_feature),
10709 (gst_registry_binary_save_plugin),
10710 (gst_registry_binary_write_cache),
10711 (gst_registry_binary_check_magic),
10712 (gst_registry_binary_load_pad_template),
10713 (gst_registry_binary_load_feature),
10714 (gst_registry_binary_load_plugin),
10715 (gst_registry_binary_read_cache):
10716 * gst/gstregistrybinary.h:
10717 * gst/gstregistryxml.c: (load_feature),
10718 (gst_registry_xml_read_cache):
10719 commit binary registry (disabled by default, see #359653)
10721 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10723 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10724 Fix 'make check' too.
10726 2007-01-10 Andy Wingo <wingo@pobox.com>
10728 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10731 * docs/design/part-negotiation.txt: Update with, um, one way that
10732 pull-mode negotiation might work?
10735 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10736 that the pad must be a src pad; makes sense to call it the other
10737 way in pull mode, and the logic is symmetric anyway.
10739 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10741 * plugins/elements/gstfilesink.c:
10742 Include <stdio.h> for fseeko().
10744 2007-01-10 Wim Taymans <wim@fluendo.com>
10748 Reserve LATENCY event.
10750 2007-01-09 Wim Taymans <wim@fluendo.com>
10752 * docs/design/draft-latency.txt:
10755 2007-01-09 Wim Taymans <wim@fluendo.com>
10757 * docs/design/draft-latency.txt:
10760 * gst/gstelement.h:
10761 * gst/gststructure.c:
10765 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10767 * tests/check/.cvsignore:
10768 Ignore test-registry.xml as well.
10770 2007-01-09 Wim Taymans <wim@fluendo.com>
10772 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10773 unref data at the end when we are done with the pad.
10775 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10777 * docs/gst/gstreamer-sections.txt:
10778 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10779 (init_post), (gst_deinit), (gst_update_registry):
10781 API: add gst_update_registry() (#391296).
10783 * tests/check/Makefile.am:
10784 * tests/check/gst/gstregistry.c:
10785 * tests/check/gst/.cvsignore:
10786 Simple unit test for the above.
10788 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10790 * gst/gstregistry.c: (gst_registry_scan_path_level):
10791 Plugin extension on HP-UX is .sl, add that to the list of approved
10792 plugin extensions (see #393796).
10794 * tests/check/gst/gstpad.c: (GST_START_TEST):
10795 ulong => gulong. Fixes compilation with HP-UX compiler.
10797 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10798 Fix compilation if valgrind headers are not available.
10800 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10802 * win32/common/libgstreamer.def:
10803 Add new exported function.
10804 * win32/vs6/libgstbase.dsp:
10805 Add gstdataqueue.c to the build.
10806 * win32/vs6/libgstcoreelements.dsp:
10807 Add gstmultiqueue.c to the build.
10809 2007-01-06 Andy Wingo <wingo@pobox.com>
10811 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10812 activate_pull(), providing for a way to specialize the process of
10813 spawning a thread to pull on the sink pad. There is a default
10816 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10817 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10818 (gst_base_sink_init): Renamed pad activation functions (inserting
10819 "_pad" in their names). Refactor to use the new activate_pull
10820 vmethod, as appropriate.
10821 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10822 default activate_pull function to start a task pulling from the
10823 sink pad, as before.
10825 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10826 on the pads if necessary, as in push()/chain(). Update docs.
10827 Shouldn't affect existing pull() usage as it is currently only
10828 being used on buffers without caps.
10830 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10832 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10834 Call g_thread_init() first thing in gst_init() / gst_check_init().
10835 When initialisation is done via gst_init_get_option_group() and
10836 GOption parsing, issue a warning if the GLib thread system has not
10837 been initialised yet by the time gst_init_get_option_group() is
10838 called, as it's quite likely other GLib functions such as
10839 g_option_context_new() have been called already then, and
10840 g_thread_init() must be called before any other GLib function. The
10841 application in question must be fixed in that case, since memory
10842 corruption might happen otherwise.
10843 We issue the warning because even if the GLib folks decide to work
10844 around the problem on their end in future, this is still an issue
10845 with all GLib versions >= 2.10.0, so we should warn until we depend
10846 on a GLib version we know to be safe.
10847 Update documentation as well.
10848 Closes bug #391278.
10850 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10852 * tools/gst-inspect.c: (main):
10853 * tools/gst-launch.c: (main):
10854 * tools/gst-typefind.c: (main):
10855 * tools/gst-xmlinspect.c: (main):
10856 Call g_thread_init() really really early, before any other GLib
10857 function (see #342564 and recent discussion on gtk-devel-list).
10859 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10861 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10863 * gst/gst_private.h:
10864 * gst/gstconfig.h.in:
10866 On win32, all the __declspec stuff for symbol exporting is
10867 apparently only needed with MSVC, but doesn't work with MingW.
10868 Fixes compilation with MingW and #391909.
10870 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10872 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10873 Change some GST_ERROR_OBJECT that aren't really errors to
10874 GST_WARNING_OBJECT in order to reduce terminal spam.
10876 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10878 * tests/check/Makefile.am:
10879 disable test again, as there seem to be still race problems
10881 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10883 * tests/check/Makefile.am:
10884 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10885 (GST_START_TEST), (queue_suite):
10886 enable queue test again, add tests for the leaky behaviour
10888 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10891 * tests/examples/Makefile.am:
10892 Compile adapter test/example only if the required headers are
10893 available (fixes #391915).
10895 2007-01-01 David Schleef <ds@schleef.org>
10898 Restore the previous signal handler for SIGSEGV instead of
10899 setting to default, since we may have stolen it away from
10900 someone. (i.e., Mono)
10902 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10904 * docs/random/draft-missing-plugins.txt:
10905 Some small additions and clarifications.
10907 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10909 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10910 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10911 since that can lead to random memory corruptions and crashes
10912 (may or may not be related to #383244, #386711, and #386711).
10914 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10916 * tests/check/.cvsignore:
10917 * tests/check/Makefile.am:
10918 sync .cvsignome and CLEANFILES
10920 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10922 * tests/check/Makefile.am:
10925 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10927 * docs/design/part-states.txt:
10928 two tiny additional comments
10930 * gst/gststructure.c:
10933 * tests/check/Makefile.am:
10934 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10936 disable test for now, unless it gets fixed
10938 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10940 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10942 fix race in underrun test
10944 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10946 * tests/check/elements/.cvsignore:
10949 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10951 try to narrow test failure
10953 2006-12-21 David Schleef <ds@schleef.org>
10955 * plugins/elements/gstfakesrc.c:
10956 Use g_random_int_range(), since it produces better random
10957 numbers in a range than almost-correct floating point code.
10959 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10961 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10962 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10963 (gst_check_teardown_sink_pad):
10964 do not automatically (de)activate pads
10966 * tests/check/Makefile.am:
10967 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10968 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10969 add new, yet simple tests for queue
10971 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10972 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10973 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10975 * tests/check/elements/identity.c: (cleanup_identity):
10976 consistent pad (de)activation
10978 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10980 Patch by: Sebastian Dröge <slomo ubuntu com>
10982 * libs/gst/base/gstcollectpads.c:
10983 Fix two doc typos (#387866).
10985 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10987 * docs/manual/advanced-dparams.xml:
10988 Fix typo (g_object_control_properties() doesn't exist).
10990 2006-12-19 Edward Hervey <edward@fluendo.com>
10992 * gst/gstsegment.c: (gst_segment_set_seek):
10993 Fine tune the cases where the segment start/stop values are really
10995 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10996 Add tests for the return values of gst_segment_set_seek().
10998 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
11003 * plugins/elements/gstqueue.c: (gst_queue_class_init),
11005 Fix incorrect documentation and flesh it out a bit more.
11006 Set default values for the max properties on the GParamSpec as well,
11007 so it shows up correctly in gst-inspect.
11009 2006-12-18 Stefan Kost <ensonic@users.sf.net>
11011 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11012 Correct docs of queue, add more detail and crosslink it more.
11014 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11016 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11017 Print additional debug info when the stream isn't perfectly
11018 timestamped; don't try to use invalid durations.
11020 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
11022 * docs/design/Makefile.am:
11023 Dist new design docs.
11025 2006-12-16 Wim Taymans <wim@fluendo.com>
11027 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11029 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11030 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11031 (gst_collect_pads_stop), (gst_collect_pads_event),
11032 (gst_collect_pads_chain):
11033 * libs/gst/base/gstcollectpads.h:
11034 Add refcounting to the collectpads data so we can track when it's safe
11035 to free the data. Fixes #383382.
11037 2006-12-15 Wim Taymans <wim@fluendo.com>
11039 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11040 (gst_collect_pads_remove_pad):
11041 Automatically activate/deactivate pads when they are added to a
11042 started/stoped collectpads.
11044 2006-12-15 Wim Taymans <wim@fluendo.com>
11046 * gst/gstelement.c: (gst_element_add_pad):
11047 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11048 * gst/gstpad.c: (gst_pad_init):
11049 Set pads to FLUSHING when they are created. Check, warn and fix when a
11050 demuxer adds an inactive pad to itself when running. Fixes #339326.
11052 2006-12-15 Wim Taymans <wim@fluendo.com>
11054 * gst/gstelement.c: (gst_element_class_init),
11055 (gst_element_default_send_event), (gst_element_send_event),
11056 (gst_element_default_query), (gst_element_query):
11057 Expose default element send_event and query handling as vmethods that
11058 subclasses can chain up to.
11060 2006-12-15 Wim Taymans <wim@fluendo.com>
11062 * gst/gstelement.c: (gst_element_set_state_func):
11063 Small documentation fixes.
11065 2006-12-15 Wim Taymans <wim@fluendo.com>
11067 * docs/design/draft-latency.txt:
11068 Checked in draft for handling latency in pipelines.
11070 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11074 * gstreamer.spec.in:
11077 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11079 * gst/gst.c: (init_pre), (init_post):
11080 init_pre() and init_post() might be called via our GOptionGroup or
11081 from gst_init(), and we should skip both of them if we've already
11082 been initialised, otherwise we will init some things twice or add
11083 two default log functions.
11085 2006-12-13 Edward Hervey <edward@fluendo.com>
11087 * docs/manual/basics-bus.xml:
11088 No, gst_main_loop does not exist. Its g_main_loop.
11089 Discovered by somebody who abused the copy-paste technique of coding :)
11091 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11093 * gst/gstghostpad.c:
11094 Log ghostpad debug stuff to the GST_PADS category as well rather
11095 than just to the default category.
11097 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11100 * gst/gst.c: (init_pre):
11101 Add some basic system details such as OS and architecture
11102 to the debug output if possible, courtesy of uname().
11104 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11106 * docs/gst/running.xml:
11107 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11108 environment variables.
11110 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11112 * tests/check/gst/gstbin.c: (GST_START_TEST):
11113 It is acceptable to have a refcount of 2 or 3 at this point in the
11114 test, because the pipeline might be just posting its state_change
11115 message. The next line then waits for that message to appear using
11116 bus_poll, so that should be fine too.
11118 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11120 * gst/gst.c: (ensure_current_registry_forking):
11121 Ignore EINTR when reading from the child registry pipe.
11122 Explicitly ignore the return value from close, since it makes no
11125 * gst/gstminiobject.c: (gst_mini_object_ref),
11126 (gst_mini_object_unref):
11127 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11129 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11130 When removing cached plugins, remove their features too, so they're
11131 not visible after they've disappeared.
11133 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11134 In the unlikely case that we are linking pads with no parents, don't
11135 crash trying to get the non-existent parent bin.
11137 * gst/parse/grammar.y:
11138 Output debug in the PIPELINE category
11140 2005-03-08 Wim Taymans <wim@fluendo.com>
11142 Patch by: René Stadler <mail at renestadler dot de>
11144 * gst/gstclock.c: (gst_clock_new_periodic_id):
11145 Reject invalid clock times for interval of periodic ids.
11148 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11150 * gst/gstelementfactory.c: (gst_element_factory_create):
11151 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11152 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11153 * tools/gst-inspect.c: (print_element_info):
11154 Fix refcounting of gst_plugin_feature_load to match the docs.
11157 2006-12-07 Wim Taymans <wim@fluendo.com>
11159 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11160 (gst_base_sink_get_position):
11161 Improve debugging of events.
11163 2006-12-07 Wim Taymans <wim@fluendo.com>
11165 Patch by: René Stadler <mail at renestadler dot de>
11167 * gst/gstclock.c: (gst_clock_id_wait):
11168 Make period ids add the interval to the origial requested time instead
11169 of the possibly updated time which can be wrong when there are multiple
11170 waiters for the same id. Fixes #382592.
11172 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11173 (gst_system_clock_id_wait_jitter_unlocked),
11174 (gst_system_clock_id_wait_jitter):
11175 Fix restart in the async notify thread when an async entry is added to
11176 the front of the list. Fixes #381492.
11178 * tests/check/gst/gstsystemclock.c: (store_callback),
11179 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11180 Added test for multiple async waits.
11181 Added test for async wait order.
11183 2006-12-07 Wim Taymans <wim@fluendo.com>
11185 * gst/gstbin.c: (gst_bin_query):
11186 Add some more docs about the POSITION query.
11188 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11191 Bump version nano - back to CVS.
11193 === release 0.10.11 ===
11195 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11198 releasing 0.10.11, "Love never runs on time"
11200 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11202 * win32/common/libgstbase.def:
11203 * win32/common/libgstreamer.def:
11204 * win32/vs8/libgstbase.vcproj:
11205 * win32/vs8/libgstcoreelements.vcproj:
11206 * win32/vs8/libgstreamer.vcproj:
11207 Fix compilation on win32 under VS8
11208 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11209 Partially fixes #381175
11211 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11213 * gst/gstvalue.c: (gst_value_compare_fraction):
11214 If someone is foolish enough to compare 2 fractions with denominator =
11215 0, return UNORDERED rather than aborting.
11217 2006-11-28 Edward Hervey <edward@fluendo.com>
11219 * libs/gst/base/Makefile.am:
11220 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11221 (gst_data_queue_base_init), (gst_data_queue_class_init),
11222 (gst_data_queue_init), (gst_data_queue_new),
11223 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11224 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11225 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11226 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11227 (gst_data_queue_set_flushing), (gst_data_queue_push),
11228 (gst_data_queue_pop), (gst_data_queue_drop_head),
11229 (gst_data_queue_set_property), (gst_data_queue_get_property):
11230 * libs/gst/base/gstdataqueue.h:
11231 New GstDataQueue object for threadsafe queueing. Most useful for
11232 elements that need some queueing functionnality.
11233 * docs/libs/gstreamer-libs-docs.sgml:
11234 * docs/libs/gstreamer-libs-sections.txt:
11235 Insert documentation for GstDataQueue
11236 * plugins/elements/Makefile.am:
11237 * plugins/elements/gstelements.c:
11238 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11239 (gst_multi_queue_class_init), (gst_multi_queue_init),
11240 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11241 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11242 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11243 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11244 (gst_multi_queue_loop), (gst_multi_queue_chain),
11245 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11246 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11247 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11248 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11249 (wake_up_next_non_linked), (compute_next_non_linked),
11250 (single_queue_overrun_cb), (single_queue_underrun_cb),
11251 (single_queue_check_full), (gst_single_queue_new):
11252 * plugins/elements/gstmultiqueue.h:
11253 New multiqueue element, using GstDataQueue. Used for queuing multiple
11255 Closes #344639 and #347785
11257 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11259 * docs/pwg/advanced-types.xml:
11260 add more missing type details
11262 * tools/gst-run.c: (main):
11263 remove unused variable
11265 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11267 * docs/libs/Makefile.am:
11268 * docs/libs/gstreamer-libs.types:
11269 add types of base classes to enable gobject specific stuff in the docs
11271 * docs/random/ensonic/embedded.txt:
11272 more ideas about isolating platform specific things
11274 2006-11-20 Wim Taymans <wim@fluendo.com>
11276 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11278 * libs/gst/check/gstcheck.h:
11279 Fix compilation and running against 0.9.4. Fixes #377332.
11281 2006-11-20 Wim Taymans <wim@fluendo.com>
11283 * gst/gstsegment.c: (gst_segment_set_seek),
11284 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11285 (gst_segment_to_running_time):
11286 Fix boundary checking in to_running_time() and to_stream_time().
11289 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11290 stream and running time can now be calculated for the complete
11293 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11295 * gst/gstpad.c: (gst_pad_push_event):
11296 Can't access event structure after giving away ownership of
11299 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11301 * docs/random/ensonic/embedded.txt:
11302 * docs/random/ensonic/profiling.txt:
11303 * docs/random/ensonic/receipies.txt:
11306 2006-11-13 Wim Taymans <wim@fluendo.com>
11308 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11311 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11313 2006-11-13 Wim Taymans <wim@fluendo.com>
11315 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11317 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11318 Store new length in segment duration so we don't keep on calling the
11319 potentially expensize get_size() call. Fixes #370865.
11321 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11323 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11325 * win32/common/libgstreamer.def:
11326 Add two missing symbols (#366492).
11328 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11330 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11331 (gst_adapter_take_buffer):
11332 Fix format string to use all its arguments.
11333 Remove useless >= check on a guint
11335 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11337 * tests/examples/adapter/.cvsignore:
11338 Ignore build file as commanded by the build-bot
11340 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11342 * tests/examples/adapter/Makefile.am:
11343 * tests/examples/adapter/adapter_test.c: (run_test_take),
11344 (run_test_take_buffer), (run_tests), (main):
11346 Add new files from the previous commit
11348 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11352 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11353 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11354 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11355 * libs/gst/base/gstadapter.h:
11356 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11357 (GST_START_TEST), (gst_adapter_suite):
11358 * tests/examples/Makefile.am:
11359 Do some optimisation work in GstAdapter to avoid copies in more cases.
11360 It could still do slightly better by merging buffers when
11361 gst_buffer_is_span_fast is true, but is already faster.
11363 Also, avoid traversing a single-linked list to append each incoming
11364 buffer inside the adapter.
11366 Add simple test app that times the adapter behaviour in different
11367 situations, and extend the unit test to check that bytes enter and
11368 exit the adapter in their original order.
11370 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11372 * docs/random/draft-missing-plugins.txt:
11373 Update: use element message instead of adding a new message
11374 type to the core; don't provide GStreamer API to initiate the
11375 plugin download, just provide API to compose the strings needed
11376 and let an external libgimmestuff handle the rest.
11378 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11380 * tools/gst-inspect.c: (print_element_properties_info):
11381 Print a string instead of 'unknown type' for GValueArray properties
11383 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11385 * docs/random/draft-missing-plugins.txt:
11388 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11390 * tests/examples/typefind/typefind.c: (type_found), (main):
11391 Make typefind element example work again (#371894); add a
11394 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11396 * docs/random/draft-missing-plugins.txt:
11397 Commit initial draft about how to deal with missing plugins,
11398 needs work (API too).
11400 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11402 * docs/pwg/advanced-types.xml:
11403 documents the new caps elements (see #363118)
11405 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11407 * gst/gstplugin.c: (gst_plugin_load_file):
11408 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11409 (gst_file_src_map_region), (gst_file_src_start):
11410 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11411 (gst_file_index_commit):
11412 Use g_strerror() instead of strerror() - we want UTF-8.
11414 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11416 Patch by: Peter Kjellerstedt <pkj at axis com>
11418 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11419 Another printf fix (#371493).
11421 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11423 * tests/check/gst/gsttag.c:
11424 relicence (okay with author=company)
11426 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11428 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11429 (gst_pad_push_event):
11430 Enhance debug and improve docs
11435 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11437 * docs/random/ensonic/distributed.txt:
11438 * docs/random/ensonic/profiling.txt:
11441 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11443 * docs/gst/gstreamer-sections.txt:
11444 add new API and fix the build
11446 * gst/gstbin.c: (gst_bin_recalc_state):
11447 * gst/gstelement.c: (gst_element_message_full),
11448 (gst_element_get_state_func), (gst_element_set_state_func):
11449 use new API and improve logging
11451 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11453 API: add function to get StateChangereturn names to improve logs
11455 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11457 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11458 I'm considering shooting the next person to put strerror stuff
11459 in the translateable part of the message.
11461 2006-11-03 Wim Taymans <wim@fluendo.com>
11463 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11464 Get the type and printf conversion specifiers right.
11466 2006-11-03 Wim Taymans <wim@fluendo.com>
11468 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11470 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11471 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11472 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11473 Some small cleanups. Improve debugging.
11475 Signal all waiting threads with a broadcast instead of just one.
11478 2006-11-03 Wim Taymans <wim@fluendo.com>
11480 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11481 (gst_fd_src_create):
11482 Add some debugging.
11483 Only update fd when it's different from the old.
11485 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11487 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11488 Printf fixes for PPC/OSX, take two (#369366).
11490 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11492 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11494 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11495 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11496 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11497 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11498 don't cast to long long for portability reasons, but use
11499 GLib's types instead.
11501 2006-10-30 Michael Smith <msmith@fluendo.com>
11503 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11504 Get the arguments to lseek() the right way around.
11507 2006-10-30 Wim Taymans <wim@fluendo.com>
11509 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11512 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11514 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11516 Patch by: Kjartan Maraas <kmaraas at gnome org>
11518 * docs/design/part-MT-refcounting.txt:
11519 * docs/random/wtay/capsnego2-docs:
11522 Typo fixes (#366212).
11524 2006-10-28 Wim Taymans <wim@fluendo.com>
11526 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11529 * win32/common/libgstbase.def:
11530 * win32/common/libgstreamer.def:
11531 * win32/vs8/libgstbase.vcproj:
11532 * win32/vs8/libgstcontroller.vcproj:
11533 Add needed entries in .def files.
11535 Rearrange def files in vs8 solutions. Fixes #366286.
11537 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11539 * win32/common/gstconfig.h:
11540 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11541 hand-made win32 gstconfig.h. Fixes #366321.
11543 2006-10-27 Wim Taymans <wim@fluendo.com>
11545 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11546 (gst_ghost_pad_new_full):
11547 Make acceptcaps return TRUE when we don't have a target, just like
11550 2006-10-27 Wim Taymans <wim@fluendo.com>
11552 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11553 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11555 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11557 * gst/gststructure.c: (gst_structure_id_set_value):
11558 If someone tries to set a non-UTF8 string field on a structure,
11559 don't just print a warning, but also ignore the request and do
11560 not change/add that field to the structure.
11562 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11563 Test for the above.
11565 2006-10-25 David Schleef <ds@schleef.org>
11568 g_hash_table_insert() needs a cast to a non-const pointer duh.
11570 2006-10-25 David Schleef <ds@schleef.org>
11574 Change name parameter of _gst_debug_register_funcptr to const
11575 to reflect the constness of its use in the function as well
11576 as to quiet a gcc warning.
11578 2006-10-25 Edward Hervey <edward@fluendo.com>
11580 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11581 Don't push the buffer if it's empty.
11584 2006-10-24 Wim Taymans <wim@fluendo.com>
11589 * libs/gst/base/gstbasetransform.c:
11590 (gst_base_transform_sink_eventfunc):
11591 Debug segment values *after* updating them as this is more
11594 2006-10-23 Wim Taymans <wim@fluendo.com>
11596 * docs/design/part-events.txt:
11599 * docs/design/part-block.txt:
11600 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11601 (gst_pad_push_event):
11602 Revert BLOCKING patch, it tries to be smart without really having a
11603 clear idea what or how. So, now we discard all FLUSHING events again on
11604 a blocking pad. Should fix gnonlin again.
11606 2006-10-23 Wim Taymans <wim@fluendo.com>
11608 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11610 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11611 (gst_base_src_start), (gst_base_src_activate_push):
11612 Make sure size is always initialized. Fixes #364388.
11614 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11616 * docs/random/ensonic/distributed.txt:
11617 add some ideas about doing distributed processing
11619 * docs/random/ensonic/profiling.txt:
11620 get_rusage look promising
11622 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11624 * docs/manual/basics-helloworld.xml:
11625 Add a cast in example to fix compile warning
11627 2006-10-18 Wim Taymans <wim@fluendo.com>
11629 * gst/gstsegment.c: (gst_segment_set_last_stop),
11630 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11631 Relax arg checking again, -1 is allowed.
11633 2006-10-18 Wim Taymans <wim@fluendo.com>
11635 * gst/gstsegment.c: (gst_segment_set_last_stop),
11636 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11637 _set_last_stop() must be with a value != -1
11638 A _TYPE_SET to -1 means seek to 0.
11639 Calc last_stop correctly for negative rates.
11640 Make sure we work with positive durations when updating a segment.
11642 2006-10-18 Wim Taymans <wim@fluendo.com>
11644 * docs/design/part-live-source.txt:
11648 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11651 Add an explicit cast to GstBuffer** to keep old code that added an
11652 explicit cast to GstMiniObject** for gst_mini_object_replace()
11653 compiling without warning.
11655 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11657 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11658 check for validity of dates
11660 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11662 * docs/gst/gstreamer-sections.txt:
11663 Forgot this one, makes gtk-doc shut up.
11665 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11667 Patch by: Peter Kjellerstedt <pkj at axis com>
11670 Don't define xmlNodePtr to gpointer if the core was built with
11671 --disable-loadsave and --disable-registry, this will break
11672 applications that want to use libxml2 but are buildling against a
11673 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11674 instead so we don't have to mess with the libxml2 namespace
11677 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11680 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11681 type-punned pointer warnings.
11683 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11685 * gst/gstelement.h:
11686 Add casts to the correct return type to state <=> state transition
11689 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11691 * docs/design/part-live-source.txt:
11692 describe howto handle latency
11694 * docs/random/ensonic/profiling.txt:
11697 * tools/gst-plot-timeline.py:
11698 fix log parsing for solaris, remove unused function
11700 2006-10-16 Wim Taymans <wim@fluendo.com>
11702 * docs/design/part-trickmodes.txt:
11704 Update some docs regarding reverse playback.
11706 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11708 Patch by: Marcus Granado <mrc dot gran at gmail com>
11710 * win32/vs8/grammar.vcproj:
11711 Error out with a warning if glib-genmarshal.exe is not in path,
11712 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11714 2006-10-13 Wim Taymans <wim@fluendo.com>
11716 * gst/gstsegment.c: (gst_segment_set_seek):
11717 When seeking to stop -1, set last_stop (current position) to the
11718 duration of the segment.
11720 2006-10-13 Wim Taymans <wim@fluendo.com>
11722 * gst/gstelement.h:
11723 Clarify _NO_PREROLL a bit more.
11728 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11729 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11730 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11731 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11732 due to wrong locking order. Fixes #361769.
11733 Remove some redundant/misplaced checks in pad_block.
11735 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11736 For negative rates, count backwards from the duration.
11738 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11740 * gst/gsterror.c: (_gst_library_errors_init):
11741 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11742 up with something better).
11744 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11746 * win32/vs6/libgstreamer.dsp:
11747 * win32/vs7/libgstreamer.vcproj:
11748 * win32/vs8/libgstreamer.vcproj:
11749 Don't reference glib-compat.c which is currently not used and not
11750 disted; add gstquark.c which was recently added. Fixes #361730.
11752 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11754 * win32/common/libgstbase.def:
11755 * win32/common/libgstcontroller.def:
11756 * win32/common/libgstreamer.def:
11757 Add gst_caps_merge() and a bunch of other recently-added functions.
11760 2006-10-11 Wim Taymans <wim@fluendo.com>
11762 * docs/plugins/gstreamer-plugins.args:
11763 * docs/plugins/inspect/plugin-coreelements.xml:
11764 * docs/plugins/inspect/plugin-coreindexers.xml:
11765 Update element args.
11767 * gst/gstsystemclock.c:
11768 Small comment update.
11770 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11771 (gst_tee_request_new_pad), (gst_tee_release_pad),
11772 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11773 (gst_tee_sink_activate_pull):
11774 * plugins/elements/gsttee.h:
11776 Add default property defines.
11777 Implement release pad function.
11778 Give properties better blubs etc.
11779 Activate pads before adding them to a running tee.
11780 Do simple buffer_alloc on the first requested pad.
11781 Post error when activation fails.
11783 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11785 * gst/gst.c: (ensure_current_registry_forking):
11786 Check return value of write() to make compiler happy.
11788 2006-10-11 Wim Taymans <wim@fluendo.com>
11790 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11792 * plugins/elements/gstqueue.c: (gst_queue_chain):
11793 Recheck queue filledness after signalling the overrun when we're about
11794 to leak downstream because we released the lock when emitting the signal
11795 and the queue could be empty again. Fixes #352345.
11797 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11799 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11800 Fix refcounting here too, just like we did for _new_valist() a few
11801 days ago (#357180) (thanks to René Stadler). Also remove all those
11802 'Since: 0.9' from the gtk-doc blobs.
11804 * tests/check/libs/controller.c: (controller_refcount_new_list),
11805 (gst_controller_suite):
11806 Unit test for the above.
11808 2006-10-10 Wim Taymans <wim@fluendo.com>
11810 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11812 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11813 (gst_pad_save_thyself):
11815 Write pad direction in XML output. Fixes #345496.
11817 2006-10-10 Wim Taymans <wim@fluendo.com>
11819 Patch by: René Stadler <mail at renestadler dot de>
11821 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11822 (gst_controller_new_list), (_gst_controller_dispose),
11823 (_gst_controller_finalize), (_gst_controller_class_init):
11824 Take ref to controlled object so that it cannot disappear.
11827 2006-10-10 Wim Taymans <wim@fluendo.com>
11829 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11830 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11831 (gst_check_teardown_sink_pad):
11832 Activate/deactivate pads in setup/teardown respectively.
11834 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11836 Patch by: Josep Torra Valles <josep@fluendo.com>
11839 Cast values when making gstenumtypes.h. This pacifies Forte
11840 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11841 in the enumeration.
11843 2006-10-09 Wim Taymans <wim@fluendo.com>
11845 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11846 Rename some more @cur to @start to fix docs.
11848 * gst/gstsegment.c: (gst_segment_set_seek):
11850 time and start must always stay in sync as defined in design doc.
11852 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11853 Rename param to fix docs.
11855 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11856 Check that start and time are in sync.
11858 * tests/check/pipelines/parse-launch.c:
11859 (gst_parse_test_element_change_state):
11860 Activate pad before adding to the element.
11862 2006-10-09 Wim Taymans <wim@fluendo.com>
11864 * docs/design/part-qos.txt:
11869 Update seek event docs regarding negative rates.
11870 Rename @cur to @start.
11872 * gst/gstsegment.c: (gst_segment_set_seek):
11873 * gst/gstsegment.h:
11874 Update set_seek docs regarding negative rates.
11875 Correctly update last_stop to @stop when dealing with negative
11877 Rename @cur to @start.
11879 * tests/check/gst/gstpad.c: (GST_START_TEST):
11880 Activate pads before trying to use them.
11882 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11883 (gst_segment_suite):
11884 Add simple check for segments and negative rates.
11886 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11888 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11889 * gst/gsttaglist.h:
11890 * docs/gst/gstreamer-sections.txt:
11891 API: add gst_tag_list_is_empty() (#360467).
11893 * tests/check/gst/gsttag.c: (GST_START_TEST):
11896 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11898 * gst/gstmessage.h:
11899 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11900 a value that doesn't fit on enumeration.
11902 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11904 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11905 Remove local debugging system and use Gstreamer's instead.
11907 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11909 Patch by: Josep Torra Valles <josep@fluendo.com>
11911 * common/m4/gst-error.m4:
11912 Disable warning of statement not reached on Forte.
11913 * gst/gstmessage.h:
11914 Fix warning on Forte (value doesn't fit on enumeration).
11915 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11916 Fix warning on Forte (value doesn't fit on enumeration).
11917 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11918 DEBUG macro says it takes minimum of 2 args and so Forte
11919 complains about the use with just 1 arg.
11920 * plugins/elements/gstfdsink.c:
11921 * plugins/elements/gstfdsrc.c:
11922 * plugins/elements/gstfilesink.c:
11923 * plugins/elements/gstfilesrc.c:
11924 Use correct return type for the uri handler implementations.
11926 All these fix warnings in Forte. Fixes bug #360860.
11928 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11930 * gst/gstelement.h:
11931 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11932 format string, so don't use G_GNUC_PRINTF for those versions.
11934 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11936 * gst/gsttaglist.c: (gst_is_tag_list):
11937 * gst/gsttaglist.h:
11938 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11940 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11941 Small test for the above.
11943 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11945 * gst/gsttaglist.h:
11946 Less tabs, more spaces.
11948 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11951 Those two function declarations do actually belong there, revert
11952 commit from yesterday that turned them intro macros.
11954 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11956 Patch by: Josep Torra Valles <josep@fluendo.com>
11958 * gst/gst.c: (gst_init_get_option_group):
11959 Fix empty declaration and type mismatch.
11960 * gst/gstbin.c: (gst_bin_change_state_func):
11962 * gst/gstelement.c: (gst_element_continue_state),
11963 (gst_element_set_state_func), (gst_element_change_state),
11964 (gst_element_change_state_func):
11965 Fix type mismatches.
11966 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11967 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11968 Cast as appropriate.
11969 * gst/gstobject.c: (gst_class_signal_connect):
11970 Cast as appropriate. The function pointer parameter really
11971 has the wrong type but would break API if we change it.
11973 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11974 order of including string.h.
11975 * gst/gstutils.c: (gst_element_state_get_name):
11976 Remove unreachable line.
11977 * gst/gstxml.c: (gst_xml_parse_doc):
11979 All these caught by Forte.
11981 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11983 Patch by: Josep Torra Valles <josep@fluendo.com>
11985 * common/m4/gst-error.m4:
11987 We need to disable warnings on Forte for empty declarations
11988 due to gst-indent adding ;s to lines that just use macros
11989 where the macro actually doesn't need a ; at end to end
11992 2006-10-06 Wim Taymans <wim@fluendo.com>
11994 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11995 (gst_file_sink_close_file), (gst_file_sink_event),
11996 (gst_file_sink_render):
11997 Add some FIXME for the NEWSEGMENT handling.
11999 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12001 * gst/parse/grammar.y:
12002 Remove static function gst_parse_element_lock as all it does
12003 is return. Looks like cruft from 0.8.
12005 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12007 Patch by: Josep Torra Valles <josep@fluendo.com>
12009 * common/m4/gst-error.m4:
12011 * libs/gst/net/Makefile.am:
12012 Fix a compilation issue with Forte on Solaris. inet_aton is in
12015 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12017 * gst/gstpad.c: (pre_activate):
12018 * gst/gstregistry.c: (gst_registry_scan_path_level):
12019 * gst/gstregistryxml.c: (load_plugin):
12020 * libs/gst/controller/gstcontroller.c:
12021 (gst_controlled_property_set_interpolation_mode):
12022 * libs/gst/dataprotocol/dataprotocol.c:
12023 (gst_dp_packet_from_event_1_0):
12024 * libs/gst/net/gstnetclientclock.c:
12025 (gst_net_client_clock_observe_times):
12026 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12029 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
12032 * docs/gst/gstreamer-sections.txt:
12033 * gst/gstconfig.h.in:
12034 * gst/gstelement.h:
12036 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12037 whether we can use G_GNUC_PRINTF in other header files and at
12038 least check the printf format/arguments of debug messages and
12039 GST_ELEMENT_ERROR messages when the printf extension is not
12041 Replace more tabs with spaces in gstinfo.h and remove two spurious
12042 function declarations in GST_DISABLE_DEBUG part with macros.
12044 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
12046 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12047 More docs for the sync-message signal (mention that it is not
12048 emitted by default); log message structures of messages posted on
12051 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
12053 * gst/gst.c: (ensure_current_registry_forking):
12054 Use a pipe pair to receive status results from the forked child, and
12055 ignore the result from waitpid. Fixes #355499
12057 2006-10-02 Wim Taymans <wim@fluendo.com>
12059 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12060 (gst_ghost_pad_suite):
12063 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12066 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12068 2006-10-02 Edward Hervey <edward@fluendo.com>
12070 * docs/design/part-block.txt:
12071 Further explain the use of flushing on blocked pads.
12072 * docs/gst/gstreamer-sections.txt:
12073 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12074 (gst_pad_push_event):
12076 Added new GstPadFlag : GST_PAD_BLOCKING.
12077 Adds the notion of pads really blocking, which enables to properly
12078 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12080 API: gst_pad_is_blocking()
12081 API: GST_PAD_IS_BLOCKING() macro
12082 API: GST_PAD_BLOCKING GstPadFlag
12084 2006-10-02 Wim Taymans <wim@fluendo.com>
12086 Patch by: mrcgran <mrc.gran at gmail dot com>
12088 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12089 Filter the proxied caps against the padtemplate if we have one.
12091 * gst/gstquery.c: (gst_query_new_segment):
12092 Add include for gstinfo.h so that compilation with
12093 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12095 2006-10-02 Wim Taymans <wim@fluendo.com>
12097 Patch by: Alessandro Decina <alessandro at nnva org>
12099 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12100 (gst_file_sink_set_location), (gst_file_sink_open_file),
12101 (gst_file_sink_close_file), (gst_file_sink_event),
12102 (gst_file_sink_render):
12103 Set file to NULL when closing filesink so that we can set a new filename
12104 in READY. Fixes #358613.
12106 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12108 Patch by: Alessandro Decina <alessandro at nnva org>
12110 * gst/gstevent.c: (_gst_event_copy):
12111 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12112 with event structures by setting the parent refcount address of the
12113 copied structure to the address of the refcount member of the newly
12114 copied event rather than the address of the refcount member of the
12115 original event. Fixes #358737.
12117 * tests/check/gst/gstevent.c: (GST_START_TEST):
12118 Unit test for the above.
12120 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12122 * docs/design/Makefile.am:
12123 Dist some more files.
12125 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12127 * tests/check/libs/controller.c: (GST_START_TEST),
12128 (gst_controller_suite):
12129 Add test for the previous fix; add some more tests
12130 for correct refcounting behaviour; fix a few leaks
12131 in test cases; call gst_controller_init() at start
12134 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12136 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12137 (gst_controller_set_from_list):
12138 Don't g_return_val_if_fail() on timed values with invalid timestamps
12139 inside a critical section without unlocking the mutex. Spotted by
12140 René Stadler. (#357617)
12141 Also, fix up refcounting properly: when returning an existing
12142 controller, we should increase the reference only once and not
12143 once per property and when trying to control a property again
12144 we should also increase the refcount.
12146 2006-09-29 Wim Taymans <wim@fluendo.com>
12148 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12149 * libs/gst/net/gstnettimeprovider.c:
12150 (gst_net_time_provider_thread):
12151 Stop reading commands when EOF as well.
12153 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12154 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12155 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12156 Unify description of the dump property.
12158 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12160 * tests/examples/manual/.cvsignore:
12161 OK, so it's actually cvsignore that needs changing. Stop laughing.
12163 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12165 * tests/examples/manual/Makefile.am:
12166 Gah, declare vars *before* using them
12168 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12170 * gst/gst.c: (init_pre), (scan_and_update_registry),
12171 (ensure_current_registry_nonforking),
12172 (ensure_current_registry_forking), (ensure_current_registry),
12173 (init_post), (gst_debug_help), (gst_deinit):
12174 * gst/gst_private.h:
12175 * gst/gstregistry.c: (gst_registry_finalize),
12176 (gst_registry_remove_features_for_plugin_unlocked),
12177 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12178 (gst_registry_scan_path),
12179 (_priv_gst_registry_remove_cache_plugins),
12180 (_priv_gst_registry_cleanup):
12181 * gst/gstregistry.h:
12182 Re-commit the registry changes, along with an extra fix:
12183 When a cached plugin is encountered at a different file path,
12184 update the stored path in the registry cache so that the parent
12185 process knows where it actually is now when it re-reads the registry
12186 cache. Fixes the thing that broke distcheck with the previous commit.
12188 * tests/check/Makefile.am:
12189 Clean up files named 'core' too when running make clean.
12191 * tests/examples/manual/Makefile.am:
12192 Set up a registry path for running these tests, and clean it properly
12195 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12198 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12199 want gmodule-no-export-2.0.pc instead so that we don't drag in
12200 --export-dynamic on every project that links to GStreamer.
12202 Also, make our export regex only match the start of symbols, rather
12203 than any symbol that contains '_gst' somewhere.
12205 * libs/gst/check/Makefile.am:
12206 The libgstcheck we build does however need export-dynamic, as it
12207 produces some symbols that don't match our _gst... style regex.
12210 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12212 * gst/gst.c: (init_pre), (scan_and_update_registry),
12213 (ensure_current_registry_nonforking),
12214 (ensure_current_registry_forking), (ensure_current_registry),
12215 (init_post), (gst_debug_help), (gst_deinit):
12216 * gst/gst_private.h:
12217 * gst/gstregistry.c: (gst_registry_finalize),
12218 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12219 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12220 (_gst_registry_cleanup):
12221 * gst/gstregistry.h:
12222 Revert previous change until I figure out why it breaks distcheck.
12224 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12226 * gst/gst.c: (init_pre), (scan_and_update_registry),
12227 (ensure_current_registry_nonforking),
12228 (ensure_current_registry_forking), (ensure_current_registry),
12229 (init_post), (gst_debug_help), (gst_deinit):
12231 Make init_pre and init_post take the full complement of GOptionFunc
12232 args so they can return useful GErrors. Make the registry updating
12235 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12236 ensure that the registry we're about to write out doesn't contain
12237 stale information about old-deleted plugin files.
12239 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12240 that deletion of plugin files is considered a registry change.
12242 * gst/gst_private.h:
12243 * gst/gstregistry.c: (gst_registry_finalize),
12244 (gst_registry_remove_features_for_plugin_unlocked),
12245 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12246 (gst_registry_scan_path),
12247 (_priv_gst_registry_remove_cache_plugins),
12248 (_priv_gst_registry_cleanup):
12249 * gst/gstregistry.h:
12250 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12251 by adding _priv prefix, so that they won't appear in the global
12252 symbol table. They still do atm though because of #318031. Move the
12253 prototypes to gst_private.h
12255 When removing a plugin, remove all features for that plugin too.
12258 2006-09-27 Wim Taymans <wim@fluendo.com>
12260 * docs/random/moving-plugins:
12261 Make it clear that the "compiled-in descriptions" really mean
12262 the element details.
12264 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12265 (gst_base_sink_wait_preroll):
12268 * docs/libs/gstreamer-libs-sections.txt:
12269 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12270 (gst_base_src_get_range), (gst_base_src_activate_push):
12271 * libs/gst/base/gstbasesrc.h:
12272 Added function to block while waiting for PLAYING, this function
12273 is used by live sources that block on the clock.
12274 API: gst_base_src_wait_playing()
12276 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12278 Patch by: Peter Kjellerstedt <pkj at axis com>
12281 gst-element-check.m4 is generated and should therefore be
12282 copied from the build dir rather than the source dir (#357593).
12283 'make distcheck' hasn't noticed this because we were disting
12284 the file as well, so stop doing that.
12286 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12288 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12289 Add some tests for gst_caps_intersect().
12291 * tools/gst-launch.c: (event_loop):
12292 Print all buffering percentages we get, even the 100% one.
12294 2006-09-26 Wim Taymans <wim@fluendo.com>
12296 * tools/gst-inspect.c: (print_element_properties_info),
12297 (print_signal_info):
12298 Fix printing of flags to match the look of enums.
12300 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12302 * gst/gstelementfactory.c:
12303 Fix typo in docs blurb.
12305 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12307 * gst/gsturi.c: (search_by_entry):
12308 Don't assert/crash here if a uri handler doesn't return any
12309 supported protocols. The list of protocols could be generated
12310 dynamically at runtime or at plugin registration, and an error
12311 in the underlying library shouldn't be fatal (#353301).
12313 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12316 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12317 (spotted by Peter Kjellerstedt).
12319 2006-09-23 Wim Taymans <wim@fluendo.com>
12321 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12323 * libs/gst/base/gstbasesrc.c:
12324 (gst_base_src_default_check_get_range), (gst_base_src_start),
12325 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12326 (gst_base_src_change_state):
12327 Match _start/_stop calls in the activate functions. Remove redundant
12328 _stop call from the state change function. Fixes #356910.
12329 Turn failure DEBUG into ERROR.
12331 2006-09-22 Wim Taymans <wim@fluendo.com>
12333 * docs/design/part-buffering.txt:
12334 * gst/gstmessage.c: (gst_message_new_buffering),
12335 (gst_message_parse_buffering):
12336 Update docs about buffering.
12338 * docs/design/part-trickmodes.txt:
12341 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12343 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12344 (gst_controller_new_list):
12345 Ref instances when returning them again (fixes #357180)
12347 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12349 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12350 Don't forget to release proxy lock when there's an error.
12352 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12355 Add extra initialisers for Caps things, to fix some plugin warnings
12358 2006-09-18 Wim Taymans <wim@fluendo.com>
12360 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12361 Also set template on the internal pad so that a getcaps from the
12362 target pad returns the template caps.
12364 2006-09-18 Wim Taymans <wim@fluendo.com>
12366 * gst/gstelement.c: (gst_element_post_message),
12367 (gst_element_dispose):
12368 Use _DEBUG_OBJECT some more.
12370 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12373 * tools/gst-launch.c: (main):
12374 If the toplevel element is not a GstPipeline, it must be put in a
12375 pipeline so that a bus and clock is selected.
12377 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12379 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12380 JITTER, RATE, and LATENCY query should be handled by the
12381 default case and not by the CONVERT query code.
12383 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12385 * gst/gstformat.c: (gst_format_register):
12386 Fix locking order (must take lock before using n_values).
12388 * gst/gstvalue.c: (gst_value_serialize_enum),
12389 (gst_value_deserialize_enum_iter_cmp),
12390 (gst_value_deserialize_enum):
12391 Fix serialisation/deserialisation of custom registered GstFormats.
12393 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12394 Unit test for custom format serialisation/deserialisation.
12396 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12398 * docs/pwg/building-boiler.xml:
12399 * plugins/elements/gstcapsfilter.c:
12400 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12403 2006-09-16 Edward Hervey <edward@fluendo.com>
12405 * libs/gst/base/gstbasetransform.c:
12406 (gst_base_transform_buffer_alloc):
12407 Check if requested caps are the same as the sinks caps IF
12408 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12410 This fixes the renegotiation issues stated in #352827.
12412 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12415 * docs/manual/advanced-autoplugging.xml:
12416 * tests/examples/Makefile.am:
12417 * tests/examples/manual/.cvsignore:
12418 * tests/examples/manual/Makefile.am:
12419 * tests/examples/manual/extract.pl:
12420 Extract the manual examples again like we used to do.
12423 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12425 * win32/common/config.h:
12428 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12431 Documents how to receive errors.
12433 2006-09-15 Wim Taymans <wim@fluendo.com>
12435 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12436 (event_loop), (main):
12437 Added some comments here and there.
12438 Post an application message when an interrupt is caught instead of doing
12439 an uncontrolled state change.
12440 Clean up the event loop.
12441 Handle buffering messages, pause/resume the pipeline.
12442 Make shutdown because of an interrupt more reliable.
12444 2006-09-15 Wim Taymans <wim@fluendo.com>
12446 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12447 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12448 (gst_base_sink_preroll_object):
12449 Make sure that our internal state is correct when we commit our state
12450 asynchronously. This solves a race where a state change to PLAYING
12451 could cause the sink to remain blocked in preroll in some situations.
12453 2006-09-15 Wim Taymans <wim@fluendo.com>
12455 * tools/gst-inspect.c: (print_element_properties_info),
12456 (print_signal_info):
12457 List flags as hex so it's easier to deal with.
12459 2006-09-15 Wim Taymans <wim@fluendo.com>
12461 * docs/libs/gstreamer-libs-sections.txt:
12462 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12463 (gst_base_sink_do_sync):
12464 * libs/gst/base/gstbasesink.h:
12465 Expose logic to wait for preroll so that subclasses such as audiosink
12466 can also use this method.
12467 API: gst_base_sink_wait_preroll()
12469 2006-09-15 Wim Taymans <wim@fluendo.com>
12471 * gst/gstobject.c: (gst_object_set_parent):
12472 * gst/gstpipeline.c: (do_pipeline_seek):
12473 Small cleanups in docs and code.
12475 * gst/gstsegment.c: (gst_segment_clip):
12476 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12477 if stop == start and start is in the segment, no clipping should be
12478 done. Also add a test for this.
12480 2006-09-15 Wim Taymans <wim@fluendo.com>
12482 * docs/design/part-buffering.txt:
12483 * docs/gst/gstreamer-sections.txt:
12484 * gst/gstmessage.c: (gst_message_new_buffering),
12485 (gst_message_parse_buffering):
12486 * gst/gstmessage.h:
12487 Added methods to create and parse BUFFERING messages.
12488 Added preliminary docs about buffering.
12489 API: gst_message_new_buffering
12490 API: gst_message_parse_buffering
12492 2006-09-06 Wim Taymans <wim@fluendo.com>
12495 Update documentation.
12497 * gst/gstelement.c: (gst_element_class_init),
12498 (gst_element_release_request_pad), (gst_element_set_clock),
12499 (gst_element_get_index), (gst_element_add_pad),
12500 (gst_element_remove_pad), (gst_element_get_random_pad),
12501 (gst_element_send_event), (gst_element_get_query_types),
12502 (gst_element_query), (gst_element_post_message),
12503 (gst_element_message_full), (gst_element_continue_state),
12504 (gst_element_lost_state), (gst_element_save_thyself),
12505 (gst_element_restore_thyself):
12506 Documentation updates.
12507 Rename last bit of the new-pad -> pad-added signal rename.
12508 Fix the case where an element query would only work if the source
12510 Avoid some useless type checking in message handling.
12515 Documentation updates.
12517 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12519 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12520 add an INFO line for when we actually update the fd
12522 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12527 === release 0.10.10 ===
12529 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12532 releasing 0.10.10, "Pais"
12534 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12536 * docs/manual/advanced-position.xml:
12537 Fix typo in sample code.
12539 2006-09-05 Wim Taymans <wim@fluendo.com>
12541 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12542 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12543 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12544 * libs/gst/net/gstnetclientclock.h:
12545 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12546 * libs/gst/net/gstnettimepacket.h:
12547 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12548 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12549 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12550 * libs/gst/net/gstnettimeprovider.h:
12551 Make stuff compile on windows. Fixes #345295.
12553 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12555 * gst/gst.c: (ensure_current_registry_forking):
12556 Print better details when child was terminated by signal.
12558 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12560 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12561 Print a warning rather than g_assert() if a plugin feature
12562 is a URI handler but returns no protocols (#353976).
12564 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12566 * docs/random/moving-plugins:
12569 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12571 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12572 Fix locking order, handle NULL function values properly.
12577 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12578 Initialise variable before using it and fix debug statement to
12579 print the address of the function rather than the address of the
12580 variable on the stack holding the address of the function.
12582 2006-09-01 Wim Taymans <wim@fluendo.com>
12584 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12585 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12586 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12587 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12588 (gst_ghost_pad_parent_unset),
12589 (gst_ghost_pad_internal_do_activate_push),
12590 (gst_ghost_pad_internal_do_activate_pull),
12591 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12592 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12593 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12594 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12595 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12596 (gst_ghost_pad_new_no_target_from_template),
12597 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12599 Avoid needless typechecking in macros.
12600 Since the internal pad is always present and never changes, there is
12601 no need to locking or ref when retrieving it.
12602 Improve debugging a bit.
12603 Handle link errors when setting the target. Fixes #341029.
12605 2006-09-01 Wim Taymans <wim@fluendo.com>
12607 * docs/libs/gstreamer-libs-sections.txt:
12608 * docs/plugins/gstreamer-plugins-sections.txt:
12609 Fix docs some more.
12611 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12612 (gst_collect_pads_event):
12613 * libs/gst/base/gstcollectpads.h:
12614 Documentation updates.
12615 Free queued buffer when removing a pad.
12617 2006-08-31 Michael Smith <msmith@fluendo.com>
12619 * gst/gstutils.c: (gst_element_link_pads),
12620 (gst_element_link_pads_filtered):
12621 Ensure that we set a capsfilter to NULL if we failed to link it
12622 when doing filtered linking, to avoid criticals.
12624 No need to check for unreffing srcpad, which is explicly NULLed
12625 above (a trivial code cleanup).
12627 2006-08-31 Wim Taymans <wim@fluendo.com>
12629 * docs/design/part-gstghostpad.txt:
12630 Update ascii art in documentation.
12632 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12633 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12634 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12635 (gst_ghost_pad_internal_do_activate_push),
12636 (gst_ghost_pad_internal_do_activate_pull),
12637 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12638 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12639 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12640 (gst_ghost_pad_set_target):
12641 Small cleanups and leak fixes.
12642 Remove some checks now that the internal pad is never NULL.
12643 Fix the case where linking pads without a target would create nasty
12644 criticals. Fixes #341029.
12645 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12646 value of _set_target().
12648 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12649 (gst_ghost_pad_suite):
12650 Some more tests for creating and linking untargeted ghostpads.
12652 2006-08-31 Edward Hervey <edward@fluendo.com>
12654 * docs/gst/gstreamer-sections.txt:
12655 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12656 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12657 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12658 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12659 (gst_ghost_pad_new_from_template),
12660 (gst_ghost_pad_new_no_target_from_template):
12661 * gst/gstghostpad.h:
12662 Refactored *_new() functions.
12663 Templates are now used as a g_object_new() parameter.
12664 Use template in _do_getcaps() if we don't have a target.
12665 Small documentation cleanups.
12666 Added two new constructors:
12667 gst_ghost_pad_new_from_template()
12668 gst_ghost_pad_new_no_target_from_template()
12669 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12670 (gst_ghost_pad_suite):
12671 Added tests for new ghostpad instanciation functions.
12673 API additions: gst_ghost_pad_new_from_template,
12674 gst_ghost_pad_new_no_target_from_template
12676 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12678 * docs/random/ensonic/profiling.txt:
12679 Ideas about qos profiling.
12681 2006-08-29 Wim Taymans <wim@fluendo.com>
12683 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12687 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12690 Improve and detypofy docs.
12692 * tests/check/Makefile.am:
12693 * tests/check/gst/.cvsignore:
12694 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12695 Add a basic test suite for GstXML.
12697 2006-08-29 Wim Taymans <wim@fluendo.com>
12699 * gst/gstelement.c: (activate_pads), (clear_caps),
12700 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12701 Clear the pad caps when the element shut down all of the pads and
12702 is not streaming data that could modify the caps.
12705 2006-08-28 Michael Smith <msmith@fluendo.com>
12707 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12708 Revert previous change; I misunderstood single-segment mode.
12710 2006-08-28 Michael Smith <msmith@fluendo.com>
12712 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12713 Unset DISCONT on buffers when using single-segment mode.
12715 2006-08-28 Wim Taymans <wim@fluendo.com>
12717 * gst/gstcaps.c: (gst_caps_merge_structure):
12719 Fix docs and indentation again.
12721 * tests/check/gst/gstquery.c: (GST_START_TEST):
12722 Fix leak in tests and add some more tests.
12724 2006-08-28 Edward Hervey <edward@fluendo.com>
12726 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12727 Inform GstSegment of the last stop position in order for the current
12728 segment to have a proper duration if it doesn't have a specific stop
12729 position from which a duration could be calculated.
12730 This bug was noticeable when a non-flushing, non-update new segment was
12731 followed by another segment (all buffers from the new segment were being
12734 2006-08-28 Wim Taymans <wim@fluendo.com>
12736 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12737 Small comment update.
12739 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12740 (gst_identity_transform_ip):
12741 Drop-probability is broken, mention this in the code with a
12742 FIXME and also in the property description.
12743 Make silent also be silent about the drop messages.
12745 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12747 * docs/manual/appendix-win32.xml:
12748 Remove mention of popt, we don't depend on that any
12749 longer (#353136). Add some comments pointing out that
12750 this section is slightly outdated.
12752 2006-08-28 Wim Taymans <wim@fluendo.com>
12754 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12756 * gst/gstquery.c: (gst_query_new_segment):
12757 * tests/check/gst/gstquery.c: (GST_START_TEST):
12758 Initialize variables when creating a new segment query.
12761 2006-08-28 Wim Taymans <wim@fluendo.com>
12763 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12765 * gst/gstelement.c: (gst_element_get_bus):
12766 * tests/check/gst/gstelement.c: (GST_START_TEST):
12767 Check for NULL before _reffing the bus. Fixes #353122.
12769 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12771 * docs/manual/basics-bus.xml:
12772 Docs update: fix wrong callback return value explanation; add
12773 some lines about the implicit relationship between main loop
12774 and main context; remove duplicate main loop variable declaration.
12776 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12778 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12779 Don't leak caps in unit test; add a few more simple
12782 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12784 * docs/gst/gstreamer-sections.txt:
12785 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12786 (gst_caps_structure_is_subset), (gst_caps_merge),
12787 (gst_caps_merge_structure):
12789 * libs/gst/base/gstbasetransform.c:
12790 (gst_base_transform_transform_caps):
12791 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12792 implement caps merging (fixes #352580)
12794 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12796 * tools/Makefile.am:
12797 * tools/gst-plot-timeline.py:
12798 add debug-log plotting developer tool (#340674)
12800 2006-08-23 Wim Taymans <wim@fluendo.com>
12802 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12803 (gst_pad_stop_task):
12804 Improve debugging for task functions.
12806 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12807 (gst_task_start), (gst_task_pause), (gst_task_join):
12808 Make sure that the task function started and finished after a
12810 Don't try to push the task function on the threadpool multiple
12812 Improve the g_warning message with some useful suggestions
12813 about how to fix the problem.
12815 2006-08-23 Wim Taymans <wim@fluendo.com>
12817 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12818 Handle RESYNC correctly in _proxy_getcaps.
12820 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12822 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12823 (gst_xml_parse_memory), (gst_xml_get_element):
12824 Chain up to parent class in dispose function and also
12825 unref the elements in the toplevel_elements GList.
12826 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12827 Always return a reference in gst_xml_get_element() rather
12828 than only sometimes.
12830 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12831 Don't leak GstXml object.
12833 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12835 * docs/gst/gstreamer-sections.txt:
12836 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12839 * libs/gst/base/gstbasetransform.c:
12840 (gst_base_transform_transform_caps):
12841 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12844 2006-08-21 Edward Hervey <edward@fluendo.com>
12846 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12847 Implement GObject::dispose virtual method in GstXML so we can free the
12848 top_elements GList.
12850 2006-08-21 Wim Taymans <wim@fluendo.com>
12852 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12853 (gst_buffer_create_sub):
12854 Copy duration/offset_end/caps when creating a subbuffer of the
12856 Make the subbuffer read-only when we make the metadata writable for
12857 now. Fixes #351768.
12859 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12860 Added check for metadata copy when creating subbuffers.
12862 2006-08-21 Edward Hervey <edward@fluendo.com>
12864 * libs/gst/base/gstbasetransform.c:
12865 (gst_base_transform_buffer_alloc):
12866 Only call downstream buffer_alloc if transform element is passthrough
12867 or always_in_place. Closes #350449.
12869 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12872 ChangeLog surgery to add comments to previous changes
12874 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12879 * gst/gstpad.c: (gst_pad_set_active):
12880 Be more verbose in the log
12882 * libs/gst/base/gstbasetransform.c:
12883 (gst_base_transform_transform_caps):
12884 Simplify caps to get rid of duplicates, fixes #345444
12886 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12890 Use these optimizations only internally.
12892 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12894 * gst/gstvalue.c: (gst_value_compare_list),
12895 (gst_value_compare_fraction_range),
12896 (gst_value_intersect_fraction_fraction_range),
12897 (gst_value_intersect_fraction_range_fraction_range),
12898 (gst_value_subtract_fraction_fraction_range),
12899 (gst_value_subtract_fraction_range_fraction_range),
12900 (gst_value_get_compare_func), (gst_value_compare),
12901 (gst_value_compare_with_func):
12903 Saves the expensive lookup of the compare function in many cases
12906 2006-08-18 Edward Hervey <edward@fluendo.com>
12908 * tests/check/gst/gstinfo.c: (gst_info_suite):
12909 Disable test that require gstdebug if it wasn't built in core.
12911 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12913 * docs/random/ensonic/logging.txt:
12916 * gst/gstinfo.c: (gst_debug_log_default):
12917 reorder fields, save some columns, add optional color codes for log
12920 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12922 * docs/random/ensonic/logging.txt:
12923 add ideas about making the logs a bit more useful
12925 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12927 * docs/pwg/advanced-events.xml:
12928 * docs/pwg/titlepage.xml:
12929 Update for 0.10 API (#340627). Add myself
12932 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12934 * docs/libs/gstreamer-libs-docs.sgml:
12935 * docs/libs/gstreamer-libs-sections.txt:
12936 * libs/gst/check/gstbufferstraw.c:
12937 Make gstcheck stuff show up in docs (still needs to
12938 be documented properly though).
12940 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12942 * docs/gst/gstreamer-sections.txt:
12944 * gst/gst.c: (init_post):
12945 * gst/gst_private.h:
12946 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12948 * gst/gstquery.c: (gst_query_new_position),
12949 (gst_query_set_position), (gst_query_parse_position),
12950 (gst_query_new_duration), (gst_query_set_duration),
12951 (gst_query_parse_duration), (gst_query_new_convert),
12952 (gst_query_set_convert), (gst_query_parse_convert),
12953 (gst_query_new_segment), (gst_query_set_segment),
12954 (gst_query_parse_segment), (gst_query_new_seeking),
12955 (gst_query_set_seeking), (gst_query_parse_seeking):
12956 Add internal helpers for pre-registering quarks from static strings
12957 and using the quark values directly instead of looking them up when
12958 creating and parsing queries. Can be used for event construction too.
12961 2006-08-16 Wim Taymans <wim@fluendo.com>
12966 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12968 * gst/gstutils.c: (gst_util_set_value_from_string):
12969 Fix memleak (#351502).
12971 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12972 Add unit test for most of gst_util_set_value_from_string()
12973 (not that one would want to encourage use of this function).
12975 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12977 * libs/gst/check/gstcheck.h:
12978 Use const gchar * variables in fail_unless_equals_string
12979 macro to avoid compiler warnings (and don't use tabs for
12982 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12984 * tools/gst-launch.c: (print_tag):
12985 More space on the left for the tag names, to cater
12986 for the 'extended comment' tag (not touching the
12987 string for the first line since it's translated).
12989 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12991 * libs/gst/check/gstcheck.h:
12992 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12993 print something when they fail.
12995 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12997 * docs/gst/gstreamer-sections.txt:
12998 * gst/gsttaglist.c: (_gst_tag_initialize):
12999 * gst/gsttaglist.h:
13000 API: add GST_TAG_EXTENDED_COMMENT (#350935).
13001 Also change merge function for GST_TAG_COMMENT to
13004 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13006 * gst/gstinfo.c: (gst_debug_print_object):
13007 Make GST_PTR_FORMAT print messages as well.
13009 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13010 (GST_START_TEST), (gst_info_suite):
13013 2006-08-14 Edward Hervey <edward@fluendo.com>
13015 * gst/gstelementfactory.c: (gst_element_register):
13016 If the GstElementClass doesn't have a GstElementDetails with all fields
13017 filled up correctly (longname, description AND author), then error out
13018 nicely instead of crashing.
13020 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
13022 * gst/gststructure.c:
13023 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13026 Expand on the difference between arrays and lists as we use them.
13028 2006-08-14 Wim Taymans <wim@fluendo.com>
13030 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13031 If the parent state change function failed, don't assume we can safely
13032 stop the source, this will be done when the pads are deactivated.
13034 2006-08-14 Wim Taymans <wim@fluendo.com>
13037 * gst/gsttask.c: (gst_task_join):
13040 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13041 (gst_pad_stop_task):
13042 When pad (de)activation failed for some reason, restore the old
13043 activation mode and set the pad to flushing instead of assuming the
13044 pad is deactivated.
13045 If the _task_join() failed, reinstall the task on the pad so that it can
13046 be stopped later and return an error.
13048 2006-08-11 Andy Wingo <wingo@pobox.com>
13051 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13052 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13053 is only for users of API that don't want to see deprecated
13054 functions in the headers; people that want to compile out
13055 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13056 CFLAGS. Fixes the build of multifdsink, or will soon..
13058 2006-08-11 Wim Taymans <wim@fluendo.com>
13060 * docs/gst/gstreamer-sections.txt:
13061 Add GstClockClass vmethod docs.
13064 Mark #endif with comment for associated #if
13066 * gst/gstclock.c: (gst_clock_id_wait):
13068 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13069 most clock implementations.
13071 Flesh out docs about resolution methods.
13072 API: GstClockClass::wait_jitter
13074 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13075 (gst_system_clock_async_thread),
13076 (gst_system_clock_id_wait_jitter_unlocked),
13077 (gst_system_clock_id_wait_jitter):
13078 Use base class wait_jitter variant for improved performance
13079 due to less clock polling.
13081 2006-08-11 Edward Hervey <edward@fluendo.com>
13083 * gst/gst.c: (gst_init_check), (init_post):
13084 Set gst as being initialized before scanning/updating the registry,
13085 since there might be my python plugin loader that calls gst_init() and
13086 we don't want to loop back in.
13089 2006-08-11 Wim Taymans <wim@fluendo.com>
13091 * docs/design/part-qos.txt:
13092 Bring docs in line with the code. Mostly the sign of the jitter was
13093 wrong in the docs. Fixes #349943.
13096 Fix the docs for the jitter.
13098 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13099 (gst_event_parse_tag), (gst_event_new_buffer_size),
13100 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13101 (gst_event_new_seek), (gst_event_parse_seek),
13102 (gst_event_new_navigation):
13103 Make sure the GstStructure has no parent when creating custom
13105 Add some more argument checking so that we avoid 0.0 rates.
13106 Flesh out the docs for the QoS event some more.
13108 2006-08-11 Wim Taymans <wim@fluendo.com>
13110 * docs/gst/gstreamer-sections.txt:
13111 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13112 (ensure_current_registry_forking), (ensure_current_registry),
13113 (parse_one_option), (parse_goption_arg), (gst_deinit),
13114 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13117 Added API and command line option to disable registry forking in
13118 addition to the environment variable.
13119 Constify some static arrays.
13120 Added some more debug.
13121 Don't deinit twice.
13122 API: gst_registry_fork_is_enabled()
13123 API: gst_registry_fork_set_enabled()
13124 API: --gst-disable-registry-fork command line option
13127 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13129 * gst/gst.c: (gst_init):
13130 Fix typo in error message.
13132 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13134 * libs/gst/controller/gstcontroller.h:
13135 fix ABI size-correction
13137 * tests/check/libs/gdp.c: (gst_dp_suite):
13138 make tests that use deprecated API conditional
13140 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13142 * docs/libs/gstreamer-libs-sections.txt:
13143 * libs/gst/controller/gstcontroller.c:
13144 (_gst_controller_get_property), (_gst_controller_set_property),
13145 (_gst_controller_init), (_gst_controller_class_init):
13146 * libs/gst/controller/gstcontroller.h:
13147 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13148 (gst_object_set_control_rate):
13149 API: add gst_object_{s,g}et_control_rate(), add private data section,
13152 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13153 * libs/gst/dataprotocol/dataprotocol.h:
13154 add deprecation guards to make gtk-doc happy and allow disabling cruft
13156 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13158 * tests/check/Makefile.am:
13159 * tests/check/gst/.cvsignore:
13160 Let's enable the new unit test as well.
13162 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13165 * docs/gst/gstreamer-sections.txt:
13166 * gst/gstconfig.h.in:
13167 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13168 (_gst_info_printf_extension_ptr),
13169 (_gst_info_printf_extension_segment):
13170 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13171 register that lets us easily dump GstSegments into debug
13174 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13175 (info_segment_format_printf_extension), (gst_info_suite):
13176 Add simple unit test that logs a bunch of different segments (not
13177 valgrinded at the moment because of leaks in
13178 gst_debug_add_log_function).
13180 2006-08-09 Edward Hervey <edward@fluendo.com>
13182 * libs/gst/base/gstbasetransform.c:
13183 (gst_base_transform_buffer_alloc):
13184 Even if we can't figure out the proper format to request downstream,
13185 call buffer_alloc() downstream with the input parameters without setting
13186 the caps on the srcpad. This will force negotiation in the chain
13190 2006-08-08 Edward Hervey <edward@fluendo.com>
13192 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13193 Unlinking from a pad without a target is now a perfectly valid case
13194 which should NOT raise an assertion.
13195 This case would happen if a linked ghostpad its target set to NULL after
13196 it was previously linked.
13198 2006-08-08 Edward Hervey <edward@fluendo.com>
13200 * tests/check/libs/gdp.c:
13201 Also comment out the test (see below).
13203 2006-08-08 Edward Hervey <edward@fluendo.com>
13205 * tests/check/libs/gdp.c: (gst_dp_suite):
13206 Use the architecture information from config.h and not gcc macros
13207 in order to properly disable a test that fails on PPC64.
13209 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13211 * gst/gstelement.c: (gst_element_remove_pad):
13212 Don't crash printing the warning if the pad has no parent.
13214 2006-08-02 Wim Taymans <wim@fluendo.com>
13216 * libs/gst/dataprotocol/dataprotocol.c:
13217 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13218 (gst_dp_crc), (gst_dp_header_payload_length),
13219 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13220 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13221 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13222 (gst_dp_event_from_packet), (gst_dp_validate_header),
13223 (gst_dp_validate_payload):
13224 Make debug category static
13225 Constify the crc table.
13226 Do some more arg checking in public functions.
13227 Fix some docs and do some small cleanups.
13229 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13230 Add some more checks to see if GDP deals with bogus input.
13232 2006-07-31 Wim Taymans <wim@fluendo.com>
13234 * gst/gstvalue.c: (gst_value_compare_list):
13235 Fix GstValueList comparison code. Fixes #347293.
13237 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13238 Check to test GstValueList comparison.
13240 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13242 * gst/gstelementfactory.c: (gst_element_factory_create):
13243 Remove unnecessary ref/unref pair
13245 * gst/parse/grammar.y:
13246 Make sure to free the parse buffer on all code paths.
13247 Move a g_free up to the error handler where it's easier to see.
13249 * tests/check/gst/gstevent.c: (test_event):
13250 Extending timeout for downstream travelling events to 10 seconds to
13251 hopefully avoid intermittent failure on the buildbots.
13253 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13254 Don't manually set the state of the src element - it will happen as a
13255 natural consequence of the pipeline changing state, and that way it
13256 will do it in the right order too.
13258 2006-07-31 Wim Taymans <wim@fluendo.com>
13260 * libs/gst/base/gstbasetransform.c:
13261 (gst_base_transform_buffer_alloc):
13262 Use OBJECT_LOCK and refcounting to get the pad caps in the
13263 buffer_alloc function because the caps could change while we are
13264 busy with them. Fixes #349105
13266 2006-07-31 Wim Taymans <wim@fluendo.com>
13268 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13269 Protect _PAD_CAPS with OBJECT_LOCK.
13271 2006-07-31 Wim Taymans <wim@fluendo.com>
13273 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13274 (gst_pad_get_property), (gst_pad_activate_pull),
13275 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13276 (gst_pad_set_activate_function),
13277 (gst_pad_set_activatepull_function),
13278 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13279 (gst_pad_set_getrange_function),
13280 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13281 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13282 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13283 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13284 (gst_pad_set_acceptcaps_function),
13285 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13286 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13287 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13288 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13289 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13290 (gst_pad_configure_sink), (gst_pad_configure_src),
13291 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13292 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13293 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13294 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13295 (gst_pad_send_event):
13296 Use _DEBUG_OBJECT when it makes sense.
13297 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13298 Small cleanups and code reflows.
13299 Avoid caps refcounting in _accept_caps.
13300 Refactor alloc_buffer so that the code performed on the peer is in a
13301 separate function. Also if the pad does not implement a buffer alloc
13302 function, we should still check if the pad is flushing before falling
13303 back to the default allocator.
13305 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13307 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13308 Make all uses of identity and fakesink have silent=true to avoid
13309 serialising every passing data structure, which is breaking tests
13310 on FC4 for some unknown reason.
13312 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13314 * gst/parse/Makefile.am:
13315 * gst/parse/grammar.y:
13316 * gst/parse/parse.l:
13317 Reverted previous patch as it required to bump the flex dependency to
13318 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13320 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13322 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13324 * gst/parse/Makefile.am:
13325 * gst/parse/grammar.y:
13326 * gst/parse/parse.l:
13327 push & pop the state of the lexer for reentrant use case
13330 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13332 * libs/gst/base/gstbasesrc.h:
13333 Note in the docs that the ::newsegment vfunc is not actually used by
13336 2006-07-28 Wim Taymans <wim@fluendo.com>
13338 * libs/gst/base/gstcollectpads.c:
13339 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13340 (gst_collect_pads_clear), (gst_collect_pads_flush),
13341 (gst_collect_pads_event), (gst_collect_pads_chain):
13342 When flushing a pad, also clear the queued buffer so that we don't
13343 accidentally use it when we shouldn't.
13344 Fix leaks by inreffing incomming buffer.
13345 Flush out queued buffers in case of errors.
13348 2006-07-28 Wim Taymans <wim@fluendo.com>
13350 * docs/random/phonon-gst:
13351 Random notes about a Phonon backend.
13353 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13355 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13357 * tests/check/libs/gdp.c: (gst_dp_suite):
13358 Take a whack at fixing the ppc compile using a different define to
13359 disable the broken test.
13361 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13362 Remove excess g_print()
13364 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13366 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13367 Oops, meant to uncomment this line too to dampen the noise a bit.
13369 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13371 * gst/parse/grammar.y:
13372 * gst/parse/parse.l:
13373 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13374 (GST_START_TEST), (parse_suite):
13375 Fix some of the leaks exposed by extending the parse-launch testsuite,
13376 and move the 3 I can't figure out into a separate test that won't run
13377 the pipelines unless the appropriate line is uncommented.
13379 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13381 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13382 Requesting 0 bytes before the end of the file should result in
13383 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13386 2006-07-27 Wim Taymans <wim@fluendo.com>
13388 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13389 Fix useless assert, a uint is always positive.
13391 * gst/gststructure.c: (gst_structure_nth_field_name),
13392 (gst_structure_foreach), (gst_structure_map_in_place):
13393 Check input arguments for public functions to avoid obvious crashes.
13395 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13396 * plugins/elements/gstfakesink.h:
13397 Do less useless typechecking.
13399 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13401 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13402 Do not use mmap() by default since there are a number of error
13403 conditions that we would like to handle in a non-fatal way that
13404 will result in a SIGBUS if we use mmap(). Examples: external
13405 devices (USB harddrive, portable music player) being unplugged
13406 while in use; file on mounted CD/DVD that can't be read because
13407 the medium is partly damaged. Fixes #348455 and #348475.
13409 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13412 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13413 rates are a gdouble
13415 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13417 * gst/gstregistry.c:
13418 Move big documentation comment into class section header, so that it
13419 appears in the API docs.
13421 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13423 * docs/gst/gstreamer-sections.txt:
13424 Oops. Commit the docs additions too for new API.
13425 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13427 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13429 * gst/gststructure.c: (gst_structure_id_set),
13430 (gst_structure_id_set_valist):
13431 * gst/gststructure.h:
13432 Add API for setting values into structures without performing
13433 a quark lookup, if the appropriate quark is already known.
13435 API: gst_structure_id_set
13436 API: gst_structure_id_set_valist
13438 * gst/parse/grammar.y:
13439 * gst/parse/parse.l:
13440 Remove some dead code shown by the coverage information.
13441 Don't throw a critical g_warning when encountering a syntax error,
13442 just warn and let the normal error path handle it.
13444 * plugins/elements/gstelements.c:
13445 Bump the rank of filesink up to PRIMARY so that it is preferred over
13446 gnomevfssink for file:// sink uri's
13448 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13449 (GST_START_TEST), (run_delayed_test),
13450 (gst_parse_test_element_base_init),
13451 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13452 (gst_parse_test_element_change_state),
13453 (gst_register_parse_element), (parse_suite):
13454 Beef up the tests for parse syntax to check that more error cases
13455 fail as they are supposed to. Increases the test coverage a bit.
13457 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13459 * docs/manual/basics-elements.xml:
13460 Fix gst_element_link() example.
13463 Mention in API docs that one should usually gst_bin_add()
13464 elements to a bin or pipeline before doing the linking.
13466 2006-07-26 Wim Taymans <wim@fluendo.com>
13468 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13469 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13470 Avoid function call for known types by keeping the buffer and
13471 subbuffer GType global.
13473 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13474 Random silly optimisations in read() path.
13476 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13478 * tools/gst-launch.c: (main):
13479 If the top-level of the parse is a normal bin, it doesn't do the
13480 right logic to run as a top-level element, so place it inside a
13483 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13485 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13486 Remove superfluous g_object_notify() calls, GObject does
13487 that for us automatically.
13489 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13492 on Win32, use dllspec to export the debug category symbols
13494 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13496 * gst/gsttaglist.c: (_gst_tag_initialize):
13497 Allow more than one GST_TAG_IMAGE per taglist.
13499 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13501 * gst/gstminiobject.c:
13503 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13504 (gst_fd_src_create):
13505 log recurring events at LOG level
13506 add more debug for when the fd gets set
13508 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13510 * gst/gstparse.c: (gst_parse_launch):
13511 Also remove reentrance checks if flex is MT safe (#348179)
13512 Fix my empty ChangeLog entry below
13514 2006-07-21 Andy Wingo <wingo@pobox.com>
13516 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13518 * libs/gst/check/Makefile.am
13519 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13520 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13521 * libs/gst/check/gstbufferstraw.h:
13522 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13523 functions, thus proving I am still a GStreamer haxor. OK I wrote
13524 them a long time ago, but anyways.
13526 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13529 * gst/gstparse.c: (gst_parse_launch):
13530 Check for flex version and omit mutex if we have a MT save flex
13533 2006-07-21 Wim Taymans <wim@fluendo.com>
13535 * gst/gstparse.c: (gst_parse_launch):
13536 Protect recursive calls to _parse with a recursive mutex
13539 2006-07-21 Wim Taymans <wim@fluendo.com>
13541 * tests/check/gst/gstpad.c: (GST_START_TEST):
13544 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13546 * gst/gstparse.c: (gst_parse_launch):
13547 Do not hang on recursive usage of gst_parse_launch()
13549 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13551 * gst/gsttaglist.c:
13552 Add some more docs, comments and FIXME 0.11s here and there
13553 and also fix some typos.
13555 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13557 * gst/gstsegment.h:
13558 Convert tabs to spaces for better readability.
13560 2006-07-20 Edward Hervey <edward@fluendo.com>
13562 * tests/check/libs/gdp.c: (gst_dp_suite):
13563 the test_buffer test fails at line 140 on ppc64 at the following
13565 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13566 GST_BUFFER_FLAG_IN_CAPS),
13567 "GST_BUFFER_IN_CAPS flag should have been copied !");
13568 See bug #348114 for more details.
13570 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13572 * docs/pwg/advanced-scheduling.xml:
13574 Fix typos (#348000).
13576 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13578 * docs/pwg/intro-basics.xml:
13579 Fix wrong links (#347927).
13581 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13583 * gst/gstregistry.h:
13584 * gst/gstregistryxml.c: (load_feature),
13585 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13586 * win32/common/config.h:
13587 make --disable-index work (#342564)
13589 2006-07-18 Wim Taymans <wim@fluendo.com>
13591 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13595 The attached patch adds two missing defines to gsttrace.h when tracing
13596 is disabled. It also corrects one existing define.
13599 2006-07-17 Wim Taymans <wim@fluendo.com>
13601 * docs/gst/gstreamer-sections.txt:
13602 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13604 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13605 Add two functions to check and change the SIGSEGV behaviour
13606 when loading plugins.
13607 Don't mess with the SIGSEGV handler when we were told not to.
13609 API: gst_segtrap_is_enabled
13610 API: gst_segtrap_set_enabled
13612 2006-07-14 Wim Taymans <wim@fluendo.com>
13614 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13615 * tests/check/elements/filesrc.c: (GST_START_TEST):
13616 Revert fix for regression in #347408 after release.
13618 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13620 Patch by: Antoine Tremblay <hexa00 at gmail com>
13622 * gst/gstutils.c: (gst_element_unlink):
13623 Free iterator when done (#347311).
13625 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13626 And add a test case for this.
13628 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13631 Bump nano back to CVS
13633 === release 0.10.9 ===
13635 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13638 releasing 0.10.9, "On the road again"
13640 2006-07-13 Wim Taymans <wim@fluendo.com>
13642 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13643 * tests/check/elements/filesrc.c: (GST_START_TEST):
13644 Revert pull-0 fix for release. Disable check. Fixes #347408.
13646 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13648 * libs/gst/dataprotocol/dataprotocol.c:
13649 (gst_dp_event_from_packet_1_0):
13650 Fixes #347337: failure to deserialize event packets with
13651 empty payload (only event type)
13653 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13656 do not install a .c file in the header directory
13658 2006-07-13 Edward Hervey <edward@fluendo.com>
13660 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13661 GhostPad no longer implicitely use the padtemplates of the targets.
13664 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13666 * gst/gstvalue.c: (gst_value_compare_list),
13667 (gst_value_compare_array), (_gst_value_initialize):
13668 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13669 Make GstValueArray comparison be order dependent as designed.
13670 Add checks for value lists and value array comparisons.
13673 2006-07-11 Edward Hervey <edward@fluendo.com>
13675 * gst/gstbin.c: (activate_pads),
13676 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13677 (gst_bin_change_state_func):
13678 (de)activate src pads before calling state_change on the childs.
13679 This is to avoid the case where a src ghostpad is blocked (holding the
13680 stream lock), which would block the deactivation of the ghostpad's
13682 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13683 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13684 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13685 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13686 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13687 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13688 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13689 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13690 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13691 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13692 (gst_ghost_pad_class_init),
13693 (gst_ghost_pad_internal_do_activate_push),
13694 (gst_ghost_pad_internal_do_activate_pull),
13695 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13696 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13697 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13698 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13699 GhostPads now create their internal GstProxyPad at creation (and not
13700 when they're linked, as it was being done previously).
13701 The internal and target pads are linked straight away.
13702 The data will also travel through the other pad in order to make
13703 pad blocking and probes non-hackish (the probe/block now really happens
13704 on the GhostPad and not on the target).
13705 * gst/gstpad.c: (gst_pad_set_blocked_async),
13706 (gst_pad_link_prepare), (gst_pad_push_event):
13707 Remove previous ghostpad cruft.
13708 * gst/gstutils.c: (gst_pad_add_data_probe),
13709 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13710 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13711 (gst_pad_remove_buffer_probe):
13712 Remove previous ghost pad cruft.
13713 Added more detailed debug statements.
13714 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13715 Fix the testsuite for refcounting changes.
13716 The comments about who has references were correct, but the refcount
13717 being checked wasn't the same (!?!).
13721 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13723 * docs/gst/gstreamer-sections.txt:
13724 * gst/gstconfig.h.in:
13725 More docs for configuration options, add docs to gtk-doc.
13727 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13730 * gst/gstconfig.h.in:
13731 * win32/common/config.h:
13732 Fix build when disabling tracing (fixes #344016). Also start to document
13733 the defines that disable the sub-systems.
13735 2006-07-10 Edward Hervey <edward@fluendo.com>
13737 * gst/gst.c: (ensure_current_registry_forking):
13738 let's make valgrind happy...
13740 2006-07-09 Wim Taymans <wim@fluendo.com>
13742 * gst/gstelement.c: (activate_pads),
13743 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13744 Better pad activation code: Reset the collect value too on resync.
13747 2006-07-09 Wim Taymans <wim@fluendo.com>
13749 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13750 (gst_pad_activate_push):
13751 Use some more macros where it makes sense.
13752 Allow pad mode switching instead of asserting. When a pad
13753 is activated in one mode and we activate it in another,
13754 deactivate it first before activating it in a different mode.
13757 2006-07-08 Andy Wingo <wingo@pobox.com>
13759 * tools/gst-launch.c (main): Handle err == NULL.
13761 * gst/gst.c (init_post, ensure_current_registry)
13762 (ensure_current_registry_forking)
13763 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13764 factoring out the registry scanning into separate functions. Don't
13765 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13766 Better environment var name/interface suggestions accepted.
13768 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13770 * gst/gstobject.c: (gst_object_set_name_default),
13771 (gst_object_set_name):
13772 Random micro-optimisation: don't use a hash table
13773 with strings as keys and the usual strdup/strcmp
13774 involved, but rather just use the GQuark of the
13775 type name as key, since it needs to be looked up
13776 anyway to get the type name string.
13778 * tests/check/gst/gstobject.c: (GST_START_TEST):
13781 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13783 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13784 (gst_bin_iterate_all_by_interface):
13785 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13786 GTypes are gulongs and thus the top 4 bytes might be cut
13787 off on some platforms when doing GPOINTER_TO_INT, leading
13788 to invalid GTypes and bad things happening (see RH bug #179654).
13789 Also add a check to make sure the type passed in is really
13792 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13797 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13801 * gst-element-check.m4:
13802 * gst-element-check.m4.in:
13803 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13804 instead of the unversioned gst-inspect (#324176, #168659).
13806 2006-07-06 Wim Taymans <wim@fluendo.com>
13808 * gst/gstmessage.h:
13809 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13812 2006-07-06 Wim Taymans <wim@fluendo.com>
13814 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13815 (gst_base_src_wait), (gst_base_src_update_length),
13816 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13817 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13818 (gst_base_src_loop), (gst_base_src_start),
13819 (gst_base_src_activate_pull):
13821 blocksize == 0 now means the default blocksize when working in push
13823 Remove some pointless asserts in _wait function.
13824 Fix offset/length calculations and EOS handling. We can now pull 0
13825 bytes as well, which is allowed.
13826 use _check_get_range() to decide if we can operate in _pull based
13828 Fix refcounting leak when check_get_range function was not
13830 API GstBaseSrc::blocksize range can be 0 too now (default)
13832 * tests/check/elements/filesrc.c: (GST_START_TEST),
13834 Added check to test _get_range() behaviour.
13836 2006-07-06 Wim Taymans <wim@fluendo.com>
13838 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13839 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13840 (gst_pad_pull_range):
13842 Lots of comments and docs added to the pad functions.
13843 Flesh out the expected behaviour of the get_range() functions.
13845 2006-07-06 Wim Taymans <wim@fluendo.com>
13850 * gst/gstiterator.h:
13854 Remove comma at end of enumerator list.
13856 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13858 * win32/common/libgstbase.def:
13859 * win32/common/libgstdataprotocol.def:
13860 * win32/common/libsgtreamer.def:
13861 Add new exported functions.
13863 2006-07-05 Wim Taymans <wim@fluendo.com>
13865 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13866 Add some more docs here and there.
13868 2006-07-05 Wim Taymans <wim@fluendo.com>
13870 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13871 (gst_base_sink_loop), (gst_base_sink_get_position):
13872 When operating in pull mode update the offset so that we
13875 2006-07-05 Wim Taymans <wim@fluendo.com>
13877 * gst/gstregistryxml.c: (read_string):
13878 Avoid strdup. (will happen in libxml, but hey!)
13881 Add some more docs.
13883 2006-07-05 Wim Taymans <wim@fluendo.com>
13885 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13886 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13887 (gst_buffer_suite):
13888 No point in checking if the size of the subbuffer > 0, the
13889 code handles it correclty as demonstrated by unit test.
13890 Also add a unit test for the zero sized _new_and_alloc and
13891 _copy. Fixes #346663.
13893 2006-07-05 Wim Taymans <wim@fluendo.com>
13895 * libs/gst/base/gstbasetransform.c:
13896 (gst_base_transform_prepare_output_buffer),
13897 (gst_base_transform_buffer_alloc),
13898 (gst_base_transform_handle_buffer):
13899 Make sure the buffer we pass to transform_ip has a refcount of
13900 1 and thus is writable. Fixes #343196
13902 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13904 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13905 (gst_file_src_init), (gst_file_src_set_property),
13906 (gst_file_src_get_property), (gst_file_src_map_region):
13907 * plugins/elements/gstfilesrc.h:
13908 Add "sequential" property, off by default, to use madvise and hint
13909 to the kernel that sequential access is desired.
13910 Touch all retrieved pages by default to ensure they are pulled
13911 into memory. (Closes #345720)
13913 2006-07-03 Wim Taymans <wim@fluendo.com>
13915 * docs/design/part-block.txt:
13916 * docs/design/part-dynamic.txt:
13917 Small docs updates.
13919 2006-07-03 Wim Taymans <wim@fluendo.com>
13921 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13922 (gst_caps_unref), (gst_static_caps_get),
13923 (gst_caps_append_structure):
13924 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13925 Use GSlice when the glib we build against is >= 2.10
13927 2006-07-03 Wim Taymans <wim@fluendo.com>
13929 * gst/gstelement.c: (gst_element_pads_activate):
13930 Small cleanup in pad activation code.
13932 2006-07-03 Wim Taymans <wim@fluendo.com>
13934 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13936 * gst/gst-i18n-app.h:
13937 * gst/gst-i18n-lib.h:
13938 * tools/gst-inspect.c: (print_signal_info):
13939 The attached patch will make the inclusion of gettext.h unconditional in
13940 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13941 libintl.h in tools/gst-inspect.c.
13942 This allows use of --disable-nls again and fixes #344642.
13944 2006-07-03 Edward Hervey <edward@fluendo.com>
13946 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13947 Implement pad blocking on events according to part-block.txt.
13948 More comments on behaviour.
13949 * tests/check/gst/gstevent.c: (test_event):
13950 Send event to peer pad of blocked pad (else it will block).
13952 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13954 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13955 (gst_check_run_suite):
13956 if we get the wrong message, give us the types as string
13957 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13959 * tests/check/elements/filesrc.c: (GST_START_TEST):
13960 add a test for trying to open a non-existing file
13962 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13964 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13965 add a test for adding self
13967 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13969 * libs/gst/check/gstcheck.h:
13970 add some assert_ as alias for fail_unless_*
13971 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13972 increase test coverage
13974 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13977 include lcov.mak for lcov coverage generation
13978 * tools/Makefile.am:
13981 2006-07-02 Edward Hervey <edward@fluendo.com>
13983 * tests/check/elements/.cvsignore:
13986 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13989 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13990 * tests/check/Makefile.am:
13991 clean up gcov files
13993 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13995 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13996 remove gst_caps_simplify; it was not declared and not used
13997 and deprecated in 0.8
13999 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14001 * docs/faq/gst-uninstalled:
14002 don't put empty paths on PYTHONPATH
14003 * docs/gst/gstreamer-sections.txt:
14004 remove some symbols that are not there
14006 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14008 * gst/gstcaps.c: (gst_caps_compare_structures):
14010 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14011 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14014 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14016 * libs/gst/dataprotocol/Makefile.am:
14017 build dataprotocol test by linking to the lib, instead of
14018 compiling the source, so we get coverage
14019 * tests/check/Makefile.am:
14020 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14021 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14022 add a test for filesrc
14024 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14026 * tests/check/gst/gststructure.c: (GST_START_TEST),
14027 (gst_structure_suite):
14028 Push coverage from 59.04% to 70.00%
14030 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14032 * tests/check/Makefile.am:
14033 gst-inspect every element; this makes sure that we also get
14034 coverage on element's get/set functions
14036 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
14039 set CFLAGS and friends to -O0 if gcov is being used
14042 * libs/gst/base/Makefile.am:
14043 * libs/gst/check/Makefile.am:
14044 * libs/gst/controller/Makefile.am:
14045 * libs/gst/dataprotocol/Makefile.am:
14046 * libs/gst/net/Makefile.am:
14047 * plugins/elements/Makefile.am:
14048 * plugins/indexers/Makefile.am:
14049 add makefile rules to generate gcov data and clean up
14050 * tests/check/Makefile.am:
14051 add a coverage target that generates an html overview
14054 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14056 * tests/check/elements/fakesink.c:
14057 * tests/check/elements/fakesrc.c:
14058 * tests/check/elements/fdsrc.c:
14059 * tests/check/elements/identity.c:
14060 * tests/check/generic/sinks.c: (gst_sinks_suite):
14061 * tests/check/generic/states.c:
14062 * tests/check/gst/gst.c:
14063 * tests/check/gst/gstabi.c:
14064 * tests/check/gst/gstbin.c:
14065 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14066 * tests/check/gst/gstbus.c: (gst_bus_suite):
14067 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14068 * tests/check/gst/gstelement.c:
14069 * tests/check/gst/gstevent.c: (gst_event_suite):
14070 * tests/check/gst/gstghostpad.c:
14071 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14072 * tests/check/gst/gstmessage.c: (gst_message_suite):
14073 * tests/check/gst/gstminiobject.c:
14074 * tests/check/gst/gstobject.c:
14075 * tests/check/gst/gstpad.c:
14076 * tests/check/gst/gstpipeline.c:
14077 * tests/check/gst/gstplugin.c:
14078 * tests/check/gst/gstquery.c: (gst_query_suite):
14079 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14080 * tests/check/gst/gststructure.c:
14081 * tests/check/gst/gstsystemclock.c:
14082 * tests/check/gst/gsttag.c:
14083 * tests/check/gst/gsttask.c: (gst_task_suite):
14084 * tests/check/gst/gstutils.c:
14085 * tests/check/gst/gstvalue.c:
14086 * tests/check/libs/adapter.c:
14087 * tests/check/libs/basesrc.c:
14088 * tests/check/libs/collectpads.c:
14089 * tests/check/libs/controller.c:
14090 * tests/check/libs/gdp.c: (gst_dp_suite):
14091 * tests/check/libs/gstnetclientclock.c:
14092 * tests/check/libs/gstnettimeprovider.c:
14093 * tests/check/libs/libsabi.c: (libsabi_suite):
14094 * tests/check/libs/typefindhelper.c:
14095 * tests/check/pipelines/cleanup.c:
14096 * tests/check/pipelines/parse-launch.c:
14097 * tests/check/pipelines/simple-launch-lines.c:
14098 * tests/check/pipelines/stress.c: (stress_suite):
14101 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14103 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14104 * libs/gst/check/gstcheck.h:
14105 create a macro and function so that the simple unit test
14106 case can be just one macro to create main()
14108 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14110 * gst/gstbin.c: (gst_bin_restore_thyself):
14111 * gst/gstxml.c: (gst_xml_make_element):
14112 Fix deserialisation from XML. Set parent manually
14113 instead of using gst_bin_add(), since gst_bin_add()
14114 will unlink all pads of the element being added.
14117 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14119 Patch by: Peter Kjellerstedt <pkj at axis com>
14121 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14122 Fix missing g_strdup() and double free when using the
14123 --gst-plugin-load command line option (#346097).
14125 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14128 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14130 * libs/gst/net/gstnetclientclock.c:
14131 * libs/gst/net/gstnettimeprovider.c:
14132 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14134 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14136 * docs/manual/advanced-dataaccess.xml:
14137 Fix buffer probe example compilation in
14140 2006-06-22 Edward Hervey <edward@fluendo.com>
14142 * gst/gstelement.c: (gst_element_pads_activate):
14143 We need to deactivate src pads first and then sink pads.
14144 The reason is the src pads might be blocking while holding the streaming
14145 lock, so we need to deactivate them first so that deactivating the sink
14146 pads doesn't block (since it will require the streaming lock).
14148 2006-06-22 Wim Taymans <wim@fluendo.com>
14150 * libs/gst/base/gstbasetransform.c:
14151 (gst_base_transform_buffer_alloc):
14152 Forgot to remove two unneeded unrefs.
14153 Simplify a check _is_equal allready checks the obvious case.
14155 2006-06-22 Wim Taymans <wim@fluendo.com>
14157 * docs/design/part-block.txt:
14158 Some docs about what pad_block should do.
14160 2006-06-22 Wim Taymans <wim@fluendo.com>
14162 * gst/gstcaps.c: (gst_caps_replace):
14163 Fix crasher when passed NULL. Doc clarification.
14164 Optimize for the trivial case.
14166 * gst/gstpipeline.c: (gst_pipeline_change_state):
14169 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14170 Small documentation cleanup.
14172 * libs/gst/base/gstbasetransform.c:
14173 (gst_base_transform_buffer_alloc):
14174 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14175 is what we need and it avoids a whole lot of redundant
14176 refcount operations.
14178 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14180 Patch by: Philip Jägenstedt <philip at lysator liu se>
14182 * docs/manual/advanced-dataaccess.xml:
14183 Fix 'Embedding static elements' section to use
14184 GST_PLUGIN_DEFINE_STATIC (#345607).
14186 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14188 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14189 Attempt to 'fix' spuriously failing test case: it seems like the
14190 timeout of half a second is simply too small when the system is under
14191 load otherwise, and the timeout doesn't really seem to serve any
14192 particular purpose here. Give the pipeline a few seconds to preroll
14193 first, and then give it another half a second to go from PAUSED to
14194 PLAYING and marshal the message into the main thread.
14196 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14198 * tools/gst-feedback-m.m:
14199 Don't only use unversioned tools, try versioned tools as well
14202 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14204 * gst/gstbus.c: (gst_bus_class_init):
14205 Fix some typos, make docs more explicit.
14207 2006-06-20 Wim Taymans <wim@fluendo.com>
14209 * tests/check/gst/gstghostpad.c: (block_callback),
14210 (GST_START_TEST), (gst_ghost_pad_suite):
14211 Added some more ghostpad tests, mainly blocking
14214 2006-06-16 Wim Taymans <wim@fluendo.com>
14216 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14217 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14218 (gst_file_sink_event), (gst_file_sink_render):
14219 * plugins/elements/gstfilesink.h:
14220 Check if we can seek in the file instead of assuming
14221 we always can. Post an error when we are asked to seek in a
14222 non-seekable file (like a fifo). Fixes #343312.
14225 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14227 * tools/gst-launch.1.in:
14228 Un-garble (fourcc) bit in filtered caps section.
14230 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14232 * docs/manual/advanced-autoplugging.xml:
14233 * docs/manual/basics-helloworld.xml:
14234 * docs/manual/highlevel-components.xml:
14235 Don't leak bus reference in sample code.
14237 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14240 Add default for new --enable-plugin-docs switch.
14243 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14246 * docs/Makefile.am:
14247 Use new ENABLE_PLUGIN_DOCS conditional.
14249 2006-06-14 Wim Taymans <wim@fluendo.com>
14251 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14252 Make it clear with a FIXME and a real define what the #if 0
14253 previously disabled.
14255 2006-06-14 Wim Taymans <wim@fluendo.com>
14257 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14258 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14259 * libs/gst/base/gstbasetransform.c:
14260 (gst_base_transform_sink_eventfunc):
14261 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14262 Don't randomly and silently reset a segment when the format
14263 changes as this is a bug somewhere upstream. Fixes #330379.
14265 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14267 Patch by: Wouter Paesen <wouter at kangaroot net>
14269 * libs/gst/controller/gstcontroller.c:
14270 (gst_controlled_property_new):
14271 Fix controlling of float properties (#344849).
14273 * tests/check/libs/controller.c:
14274 (gst_test_mono_source_get_property),
14275 (gst_test_mono_source_set_property),
14276 (gst_test_mono_source_class_init), (GST_START_TEST):
14277 While we're at it, add some float stuff to unit test.
14279 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14282 * docs/images/gdp-header.svg:
14284 * docs/libs/Makefile.am:
14285 * docs/libs/gdp-header.png:
14286 * libs/gst/dataprotocol/dataprotocol.c:
14287 add it to the API docs
14288 * docs/manual/intro-motivation.xml:
14291 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14293 * gst/gst.c: (scan_and_update_registry), (init_post):
14294 If the fork()'ed child process can't write the updated registry cache
14295 file to disk for some reason, make it exit with a failure exit code,
14296 so that the parent can then re-scan the plugins itself and update the
14297 registry structures in memory and work with that (rather than failing
14298 when creating elements because seemingly no plugins are available).
14299 Refactor registry scanning code into separate function for this and
14300 also separate fork() and non-fork() code paths. Fixes #344748.
14302 2006-06-13 Wim Taymans <wim@fluendo.com>
14304 * docs/manual/advanced-dataaccess.xml:
14305 Fix wrong PluginDesc. Fixes #344755.
14307 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14309 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14310 Fix silly bug that prevented us from creating
14311 ~/.gstreamer-0.10 and writing the registry in one
14312 go (the first call to g_mkstemp() would overwrite the
14313 placeholder in the template string, so the second call
14314 to g_mkstemp() after creating the missing directory
14315 would then error out with 'invalid argument').
14317 2006-06-13 Edward Hervey <edward@fluendo.com>
14319 * gst/gst.c: (init_post):
14322 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14324 * gst/glib-compat-private.h:
14325 * gst/glib-compat.c:
14326 * gst/glib-compat.h:
14327 * gst/gstvalue.c: (gst_value_serialize_flags):
14328 remove GLib 2.6 compatibility code
14330 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14332 * gst/parse/Makefile.am:
14333 Fix build with 'make -j N' even more (#340016).
14335 2006-06-12 Wim Taymans <wim@fluendo.com>
14337 * docs/gst/gstreamer-sections.txt:
14340 2006-06-12 Wim Taymans <wim@fluendo.com>
14342 * gst/gstsegment.c: (gst_segment_set_duration),
14343 (gst_segment_set_last_stop), (gst_segment_set_seek),
14344 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14345 (gst_segment_to_running_time), (gst_segment_clip):
14346 Use G_UNLIKELY to help the compiler a bit.
14348 2006-06-12 Wim Taymans <wim@fluendo.com>
14350 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14352 * gst/gstevent.c: (gst_event_get_type):
14353 * gst/gstmessage.c:
14354 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14356 constify quark registration strings. Fixes #344115
14357 Avoid unneeded type checking is _pad_push() by internally
14358 calling gst_pad_chain_unchecked().
14360 2006-06-12 Wim Taymans <wim@fluendo.com>
14362 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14363 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14364 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14365 (gst_buffer_is_span_fast), (gst_buffer_span):
14366 Init _type for consistency.
14367 Use _FLAGS macro to avoid type check.
14368 Avoid unneeded type checks in subbufer code.
14370 2006-06-12 Wim Taymans <wim@fluendo.com>
14372 * gst/gst.c: (gst_debug_help):
14373 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14374 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14375 (gst_plugin_feature_list_free):
14376 * gst/gstregistry.c: (gst_registry_add_plugin),
14377 (gst_registry_add_feature), (gst_registry_plugin_filter),
14378 (gst_registry_feature_filter), (gst_registry_find_plugin),
14379 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14380 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14381 * gst/gstregistryxml.c: (load_feature),
14382 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14383 * gst/gstminiobject.c: (gst_mini_object_unref),
14384 (gst_mini_object_replace), (gst_value_mini_object_free),
14385 (gst_value_mini_object_copy):
14386 Use _CAST macros to avoid unneeded type checking.
14387 Added some more G_UNLIKELY.
14389 2006-06-12 Wim Taymans <wim@fluendo.com>
14392 Avoid unneeded type checking.
14393 API: GST_BUFFER_IS_DISCONT
14395 * gst/gstminiobject.h:
14396 Avoid type check in flag accessor.
14398 * gst/gstelementfactory.h:
14400 * gst/gstpluginfeature.h:
14402 API: GST_ELEMENT_FACTORY_CAST
14403 API: GST_PLUGIN_CAST
14404 API: GST_PLUGIN_FEATURE_CAST
14406 2006-06-12 Wim Taymans <wim@fluendo.com>
14408 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14409 (gst_object_unref):
14410 Add G_UNLIKELY in type registration.
14411 Avoid type check in _ref/_unref since that is also
14414 2006-06-12 Wim Taymans <wim@fluendo.com>
14416 * gst/gsterror.c: (gst_g_error_get_type):
14417 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14418 (gst_static_pad_template_get_type):
14419 * gst/gsttaglist.c: (gst_tag_list_get_type):
14420 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14421 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14422 * gst/gsturi.c: (gst_uri_handler_get_type):
14423 * gst/gstvalue.c: (gst_date_get_type):
14424 * gst/gstxml.c: (gst_xml_get_type):
14425 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14426 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14427 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14428 Add G_UNLIKELY in type registration.
14430 2006-06-12 Wim Taymans <wim@fluendo.com>
14432 * tools/gst-inspect.c: (print_signal_info):
14433 Properly print enum values.
14435 2006-06-12 Wim Taymans <wim@fluendo.com>
14437 * gst/gstinfo.c: (gst_debug_set_active),
14438 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14440 Add some G_[UN]LIKELY.
14441 Maintain __gst_debug_min to avoid formatting the arguments of
14442 debug messages that will be dropped anyway to avoid a lot of
14443 overhead from the debugging system.
14445 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14448 * po/POTFILES.skip:
14449 add missing files containing translatable strings, tell intltool about
14452 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14454 * tests/check/libs/.cvsignore:
14455 add test-binary to ignore list
14457 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14459 * docs/libs/gstreamer-libs-docs.sgml:
14460 reorder (put dp into a chapter) and indent
14462 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14467 === release 0.10.8 ===
14469 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14472 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14474 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14476 * gst/gst.c: (init_post):
14477 move pid declaration to declaration block
14479 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14481 * gst/gst.c: (init_post):
14482 use _exit() instead of exit() in our forked child; this ensures
14483 that none of the registered exit handlers from whatever is using
14484 GStreamer get executed. This fixes gnome-mixer-applet failing
14485 to load, because ORBit would shut down.
14486 Spotted by: Edward Hervey <edward@fluendo.com>
14487 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14490 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14495 === release 0.10.7 ===
14497 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14500 releasing 0.10.7, "Soepeke, ik zie ou"
14502 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14525 * win32/common/config.h:
14526 0.10.6.2 prerelease
14528 2006-06-07 Wim Taymans <wim@fluendo.com>
14530 * gst/gstindex.c: (gst_index_gtype_resolver):
14531 * tools/gst-xmlinspect.c: (print_plugin_info):
14532 Fix leak spotted by coverity checker. Fixes #343827
14533 Fix another other leak found by paolo borelli.
14535 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14537 * libs/gst/dataprotocol/dataprotocol.c:
14538 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14539 (gst_dp_version_get_type), (gst_dp_init),
14540 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14541 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14542 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14543 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14544 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14545 (gst_dp_packetizer_free):
14546 * libs/gst/dataprotocol/dataprotocol.h:
14547 API: add a GstDPPacketizer object, and create/free functions
14548 API: add GstDPVersion enum
14549 Add 1.0 event function that uses the string serialization
14550 Serialize more useful buffer flags
14553 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14555 * tests/check/Makefile.am:
14556 * tests/check/gst/gstabi.c:
14557 * tests/check/gst/struct_ppc64.h:
14558 * tests/check/libs/libsabi.c:
14559 * tests/check/libs/struct_ppc64.h:
14560 add ppc64 structure sizes
14562 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14564 * tests/check/Makefile.am:
14565 * tests/check/gst/gstabi.c:
14566 * tests/check/gst/struct_x86_64.h:
14567 * tests/check/libs/libsabi.c:
14568 * tests/check/libs/struct_x86_64.h:
14569 generate and add structure size lists for x86_64
14571 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14573 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14574 * libs/gst/check/gstcheck.h:
14575 factor out the method from tests that checks size of structures,
14576 and add code to generate the header containing these sizes
14577 * tests/check/gst/gstabi.c: (GST_START_TEST):
14578 * tests/check/gst/struct_i386.h:
14579 * tests/check/libs/libsabi.c: (GST_START_TEST):
14580 * tests/check/libs/struct_i386.h:
14583 2006-06-06 Michael Smith <msmith@fluendo.com>
14585 * gst/gstsegment.h:
14586 Don't use c++-style comments, fixes #343929
14588 2006-06-05 Edward Hervey <edward@fluendo.com>
14591 plugin_paths is not used if we build without registry support.
14593 * gst/gstsegment.c: (gst_segment_copy):
14594 _copy() was always returning NULL...
14596 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14598 * libs/gst/dataprotocol/dataprotocol.c:
14599 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14600 (gst_dp_packet_from_event):
14601 factor out CRC code
14603 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14605 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14606 make sure we unset caps
14608 2006-06-02 Michael Smith <msmith@fluendo.com>
14610 * libs/gst/check/gstcheck.c: (gst_check_init),
14611 (gst_check_chain_func):
14612 * libs/gst/check/gstcheck.h:
14613 Add a cond/mutex to the check support lib, signal this whenever we
14614 add to the buffers list. This will allow tests to not busy-wait on
14617 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14619 * libs/gst/dataprotocol/dataprotocol.c:
14620 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14621 (gst_dp_packet_from_event):
14622 factor out some common header init code
14624 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14626 * docs/libs/gstreamer-libs-sections.txt:
14627 * docs/libs/tmpl/gstdataprotocol.sgml:
14628 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14629 * libs/gst/dataprotocol/dataprotocol.h:
14630 API: make gst_dp_crc() public
14632 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14634 * plugins/indexers/gstindexers.c: (plugin_init):
14635 conditionally register fileindexer (fixes #343598)
14637 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14639 * gst/gsttagsetter.h:
14640 Can't cast ifaces to a class
14642 * libs/gst/net/gstnetclientclock.h:
14643 * libs/gst/net/gstnettimeprovider.h:
14644 * plugins/elements/gstfakesink.h:
14645 * plugins/elements/gstfakesrc.h:
14646 * plugins/elements/gstfdsink.h:
14647 * plugins/elements/gstfdsrc.h:
14648 * plugins/elements/gstfilesink.h:
14649 * plugins/elements/gstfilesrc.h:
14650 * plugins/elements/gstidentity.h:
14651 * plugins/elements/gstqueue.h:
14652 * plugins/elements/gsttee.h:
14653 * plugins/indexers/gstfileindex.c:
14654 * plugins/indexers/gstmemindex.c:
14655 * tests/old/examples/plugins/example.h:
14656 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14658 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14660 * libs/gst/dataprotocol/dataprotocol.c:
14661 (gst_dp_header_from_buffer):
14662 make sure we zero the whole ABI-compatible area
14664 2006-06-01 Wim Taymans <wim@fluendo.com>
14666 Patch by: Alessandro Decina <alessandro at nnva dot org>
14668 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14669 Make sure the EOS flag is cleared from pads after a flush
14670 or stop. Fixes #343538.
14672 * tests/check/libs/collectpads.c: (GST_START_TEST),
14673 (gst_collect_pads_suite):
14674 Added test for collectpads reusage after EOS.
14676 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14679 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14680 * win32/common/libgstbase.def:
14681 export gst_collect_pads_set_flushing
14682 * win32/common/libgstreamer.def:
14683 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14684 gst_value_fraction_multiply
14685 * win32/vs6/gst_inspect.dsp:
14686 add a link to intl.lib
14688 2006-05-30 Wim Taymans <wim@fluendo.com>
14690 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14691 (gst_collect_pads_chain):
14692 Handle the case where a pad is removed from the collection
14693 that could cause the other pads to become collectable.
14695 2006-05-30 Wim Taymans <wim@fluendo.com>
14697 * gst/gstelement.c:
14698 Clarify the use of _release_request_pad() and
14699 _get_request_pad() a bit better.
14701 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14702 (gst_adapter_take_buffer):
14703 Fix some doc and comment typos.
14705 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14707 * docs/gst/gstreamer-sections.txt:
14708 * docs/libs/gstreamer-libs-sections.txt:
14709 add declared symbols
14711 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14713 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14714 Add debug that can be enabled using a #define at the top of the file,
14715 for dumping stats about how late/early we were when waking up from
14716 waiting on the clock.
14718 2006-05-30 Wim Taymans <wim@fluendo.com>
14720 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14721 When rebuilding the pad list, don't leak the previous list.
14723 2006-05-30 Wim Taymans <wim@fluendo.com>
14725 Patch by: Lutz Mueller <lutz at topfrose dot de>
14727 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14728 (gst_base_src_get_query_types), (gst_base_src_update_length):
14729 Publish supported query types.
14730 Update last_stop field in get_range mode so the position
14731 query works. Fixes #342321.
14733 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14735 * docs/gst/gstreamer-sections.txt:
14736 * gst/gsttaglist.c: (_gst_tag_initialize):
14737 * gst/gsttaglist.h:
14738 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14740 2006-05-30 Wim Taymans <wim@fluendo.com>
14742 Patch by: Alessandro Decina <alessandro at nnva dot org>
14744 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14745 Unlock mutex when removing an unknown pad.
14748 * tests/check/Makefile.am:
14749 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14750 (push_event), (setup), (teardown), (GST_START_TEST),
14751 (gst_collect_pads_suite), (main):
14752 Added collecpads check, disabled for now as check crashes for
14755 2006-05-29 Wim Taymans <wim@fluendo.com>
14757 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14758 Don't leak pads lists.
14760 2006-05-29 Wim Taymans <wim@fluendo.com>
14762 * docs/libs/gstreamer-libs-sections.txt:
14763 * libs/gst/base/gstcollectpads.c:
14764 (gst_collect_pads_set_flushing_unlocked),
14765 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14766 (gst_collect_pads_stop):
14767 * libs/gst/base/gstcollectpads.h:
14768 API: gst_collect_pads_set_flushing()
14769 Added api to set the pads to flushing, useful for seeking
14770 code in elements using collectpads.
14771 Clear segment when receiving a flush.
14773 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14775 * gst/gst.c: (add_path_func), (init_post):
14776 Don't scan registry paths passed via --gst-plugin-path immediately
14777 (will crash, because absolutely nothing is set up and no types are
14778 registered etc.); do this later in init_post(). Fixes #343057.
14780 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14782 * gst/gst.c: (init_post):
14783 if we have fork, fork while reading/rebuilding the registry
14784 so the parent doesn't take the hit of having all plugins loaded
14785 in memory. Fixes #342777.
14787 Check if we have fork()
14788 * win32/common/config.h.in:
14791 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14793 * plugins/elements/gstelements.c:
14794 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14795 (gst_file_src_init), (gst_file_src_set_property),
14796 (gst_file_src_get_property), (gst_file_src_start):
14797 * plugins/elements/gstfilesrc.h:
14798 API: GstFileSrc::use-mmap
14800 Add a use-mmap property to enable easier testing of all code paths.
14801 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14802 in the absence of gnomevfssrc. (Closes #340501)
14804 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14806 * tools/gst-inspect.c:
14807 Add missing include, removes warning of ngettext not being defined on
14810 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14812 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14813 Handle NULL input and output pointers silently as a failed conversion,
14814 rather than g_warnings.
14816 2006-05-25 Wim Taymans <wim@fluendo.com>
14818 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14819 Initialize variable before using. Fixes #342820.
14821 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14823 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14824 Fix off-by-one bug that would only allow peeks of N-1 bytes
14825 from the start even if the buffer to typefind on contains
14826 in fact N bytes of data (makes vorbis typefinding from a
14827 vorbis identification header buffer work).
14829 * tests/check/Makefile.am:
14830 * tests/check/libs/.cvsignore:
14831 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14832 (gst_typefindhelper_suite), (main), (foobar_typefind),
14834 Add very basic unit test for gst_type_find_helper_for_buffer()
14835 that checks for the problem fixed above.
14837 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14839 * tools/gst-inspect.c: (print_interfaces),
14840 (print_element_properties_info), (print_element_list), (main):
14841 add more translatable strings
14843 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14845 Patch by: Julien Moutte <julien at moutte net>
14847 * docs/gst/gstreamer-sections.txt:
14848 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14850 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14851 (gst_fake_sink_preroll):
14852 * plugins/elements/gstfakesink.h:
14853 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14855 2006-05-23 Wim Taymans <wim@fluendo.com>
14857 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14859 Added _CUSTOM error and success GstFlowReturn that can be
14860 used be elements internally.
14861 Added macro to check for SUCCESS flowreturns.
14862 API: GST_FLOW_CUSTOM_SUCCESS
14863 API: GST_FLOW_CUSTOM_ERROR
14864 API: GST_FLOW_IS_SUCCESS
14866 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14867 Added check for GstFlowReturn sanity.
14869 2006-05-23 Wim Taymans <wim@fluendo.com>
14871 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14873 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14874 (gst_collect_pads_event):
14875 clear/reset segment info in FLUSH_STOP.
14878 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14880 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14881 (gst_collect_pads_check_collected):
14882 Flush queued buffer on _stop(), fixes playing again (#342454)
14884 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14886 * tests/check/gst/gststructure.c: (GST_START_TEST),
14887 (gst_structure_suite):
14888 add a test for a complete structure
14890 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14892 * docs/faq/developing.xml:
14893 * docs/faq/faq.xml:
14894 * docs/faq/troubleshooting.xml:
14895 * docs/faq/using.xml:
14896 Some minor FAQ updates that won't change the fact that
14897 our FAQ is badly structured, full of information hardly
14898 anyone new to GStreamer needs to know and lacking lots
14899 of information people constantly ask for.
14901 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14903 * gst/gstpad.c: (gst_pad_set_caps):
14904 Short-circuit gst_pad_set_caps if setting the existing
14905 caps pointer again, and avoid printing debug and
14906 reffing/unreffing the caps.
14908 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14909 There's actually no need to set the caps before pushing -
14910 the acceptcaps method will handle it anyway.
14912 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14914 * docs/gst/gstreamer-sections.txt:
14915 * win32/common/libgstreamer.def:
14916 * gst/gstutils.c: (gst_element_seek_simple):
14918 API: add gst_element_seek_simple() (#342238).
14920 2006-05-18 Edward Hervey <edward@fluendo.com>
14922 * gst/gsttypefind.c: (gst_type_find_get_type):
14923 * gst/gsttypefind.h:
14924 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14925 registered for GstTypeFind pointers. This allows wrapping the structure
14926 in bindings (i.e. gst-python).
14928 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14930 * gst/gsttagsetter.c:
14931 Docs additions and fixes (see #339918).
14933 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14935 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14936 The caps intersection algorithm can produce multiple copies of the
14937 caps. Until that is fixed, we need to simplify the result to be
14938 sure whether the allowed caps are fixed or not.
14940 * plugins/elements/gstqueue.c: (gst_queue_init),
14941 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14942 (gst_queue_push_one):
14943 Proxied buffer alloc should not set the caps on the source pad.
14944 When pushing buffers, we always accept the caps change that triggers.
14945 This prevents negotiation errors caused by caps changing mid-stream
14946 and then being refused on our source pad (because upstream is now
14947 refusing those caps).
14949 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14951 * tests/examples/helloworld/helloworld.c: (main):
14952 Must plug audioconvert and audioresample between decoder
14955 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14957 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14958 (load_feature), (load_plugin):
14959 Allow empty strings for some of the plugin fields so we don't
14960 drop valid plugin entries that were written out correctly
14963 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14965 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14966 Use g_remove and g_rename instead of remove and rename that don't
14967 handle utf8 characters. rename was failing for users who had specific
14968 characters in their name then the registry was built at each
14970 * win32/vs6/gst_inspect.dsp:
14971 * win32/vs6/gst_launch.dsp:
14972 * win32/vs6/libgstbase.dsp:
14973 * win32/vs6/libgstcoreelements.dsp:
14974 * win32/vs6/libgstreamer.dsp:
14975 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14976 build of libgstreamer and clean unused libraries in projects link
14979 2006-05-17 Edward Hervey <edward@fluendo.com>
14981 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14982 The queue is not responsible for pushing an EOS when receiving a fatal
14983 flow error. It's up to the real element driving the pipeline to do that.
14985 2006-05-16 Edward Hervey <edward@fluendo.com>
14987 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14988 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14989 buffer returned a fatal error. It should just send an EOS and stop
14991 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14992 when pushing buffers on the queue and will be able to handle the event.
14994 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14996 * docs/manual/basics-bins.xml:
14997 * docs/manual/basics-init.xml:
14998 Fix typos and minor errors in sample code (#341856).
15000 2006-05-16 Wim Taymans <wim@fluendo.com>
15002 * docs/design/part-qos.txt:
15003 Fix indexes in formulas to make more sense.
15005 2006-05-15 Wim Taymans <wim@fluendo.com>
15007 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15008 Don't report POSITION based on clock time if sync is
15009 disabled in a sink.
15011 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
15014 Add cast to make compiler happy - refcount variable was a gint
15015 in GstObject but is a guint in GObject and g_atomic_int_get()
15018 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
15020 * gst/parse/Makefile.am:
15021 chain commands using &&, which also makes parallel make work
15023 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
15025 * docs/gst/gstreamer-sections.txt:
15028 * gst/gstmessage.h:
15031 === release 0.10.6 ===
15033 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
15036 releasing 0.10.6, "Take the cannoli"
15038 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
15040 * tools/gst-launch.c: (print_tag):
15041 Fix use of uninitialized variable in the hypothetical
15042 case that some broken plugin creates a GST_TAG_IMAGE
15043 tag containing a NULL buffer (#341667).
15045 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
15047 * tools/gst-launch.c: (print_tag):
15048 Print something more intelligible for image tags when
15049 using the -t switch (#341556).
15051 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
15056 define GST_MAJORMINOR so we have it available in win32/common/config.h
15057 Possibly remove it from our Makefile.am files later
15058 * win32/common/config.h:
15059 * win32/common/config.h.in:
15060 added GST_MAJORMINOR
15061 * win32/common/gstenumtypes.c: (register_gst_resource_error):
15062 * win32/common/gstversion.h:
15065 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15068 Update win32 files listing.
15069 * win32/common/gstversion.h:
15070 Add GST_MAJORMINOR definition.
15071 * win32/common/libgstreamer.def:
15072 Add new exported functions.
15074 2006-05-12 Michael Smith <msmith@fluendo.com>
15076 * gst/gstplugin.c: (gst_plugin_load_file):
15077 If an so file has no plugin entry point, unload the module.
15079 2006-05-11 Wim Taymans <wim@fluendo.com>
15081 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15082 (gst_queue_set_property):
15083 Don't forget to signal the _chain or _loop function
15084 when the queue size or thresholds change since that might
15085 cause them to make progres again.
15087 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15089 * gst/gstclock.c: (gst_clock_class_init):
15090 * gst/gstindex.c: (gst_index_class_init):
15091 * gst/gstobject.c: (gst_object_class_init):
15092 * gst/gstpad.c: (gst_pad_class_init):
15093 * gst/gstpipeline.c: (gst_pipeline_class_init):
15094 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15095 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15096 * libs/gst/base/gstbasetransform.c:
15097 (gst_base_transform_class_init):
15098 * libs/gst/net/gstnetclientclock.c:
15099 (gst_net_client_clock_class_init):
15100 * libs/gst/net/gstnettimeprovider.c:
15101 (gst_net_time_provider_class_init):
15102 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15103 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15104 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15105 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15106 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15107 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15108 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15109 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15110 * plugins/elements/gsttee.c: (gst_tee_class_init):
15111 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15112 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15113 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15115 2006-05-11 Wim Taymans <wim@fluendo.com>
15117 * gst/gstbuffer.c: (_gst_buffer_initialize):
15118 Register subbufer along with the buffer type so that
15119 it does not accidentally gets registered from N
15120 different streaming threads in a non threadsafe way.
15122 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15126 * gst/gstmessage.h:
15127 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15128 gst_event_ref() and gst_message_ref() functions again
15129 (ugly hack, please do fix if there's a better way besides
15130 overrides.txt, which doesn't seem to work).
15132 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15134 * libs/gst/check/gstcheck.h:
15135 add an assert for setting state to avoid lots of repetitive code
15138 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15140 * gst/gstvalue.c: (gst_value_serialize_flags):
15141 fix a leak if no flags are set
15142 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15145 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15147 * docs/manual/basics-pads.xml:
15148 Expand a bit on caps and filtered links and update
15149 examples that were still using the no longer existing
15150 gst_pad_link_filtered() (#338206).
15152 2006-05-10 Wim Taymans <wim@fluendo.com>
15154 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15155 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15156 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15157 (gst_collect_pads_stop):
15158 * libs/gst/base/gstcollectpads.h:
15159 No need to call _stop in _finalize.
15160 Iterate the main pad list in _finalize.
15161 Added some more debug.
15162 Free lists and data in the right order.
15163 Also free data whem doing _remove_pad when stopped for
15164 backward compatibility protect ::started with PAD_LOCK as
15167 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15169 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15170 (gst_structure_parse_value):
15172 rename a method so that it actually says what it does better
15174 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15176 * gst/gstevent.c: (_gst_event_initialize):
15177 * gst/gstformat.c: (_gst_format_initialize):
15178 make sure some essential types used by events are registered
15179 as part of gst_init()
15180 * gst/gstvalue.c: (gst_value_serialize_flags):
15181 if no flags are set, serialize them to a value that represents NONE
15182 so that deserializing them works
15183 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15184 add tests for serialization and deserialization of flags
15186 2006-05-10 Wim Taymans <wim@fluendo.com>
15188 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15189 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15190 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15191 (gst_collect_pads_event), (gst_collect_pads_chain):
15194 Catch and return errors from the collect function
15195 Refuse data on eos pads.
15197 2006-05-10 Edward Hervey <edward@fluendo.com>
15199 * gst/gstinterface.h:
15200 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15201 GInterface type checking.
15202 They were previously using non-defined macros.
15204 2006-05-09 Wim Taymans <wim@fluendo.com>
15206 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15207 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15208 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15209 (gst_collect_pads_start), (gst_collect_pads_stop),
15210 (gst_collect_pads_peek), (gst_collect_pads_pop),
15211 (gst_collect_pads_available), (gst_collect_pads_read),
15212 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15213 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15214 (gst_collect_pads_chain):
15215 * libs/gst/base/gstcollectpads.h:
15216 Clean up the mess that is collectpads, add comments and
15217 FIXMEs where needed.
15218 Maintain a separate pad list so we can add pads while
15219 collecting the other ones. For this we need a new separate
15221 Fix memory leak in finalize.
15222 Refactor some weird code to set/unset pad flushing flags, mark
15224 Don't crash in _available, _read, _flush when we're EOS.
15226 * tests/check/libs/.cvsignore:
15227 Ignore adapter check binary.
15229 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15231 * gst/gstindex.c: (gst_index_resolver_get_type):
15232 * plugins/elements/gstfakesink.c:
15233 (gst_fake_sink_state_error_get_type):
15234 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15235 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15236 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15237 Const-ify GEnumValue arrays.
15239 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15241 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15242 Add test case for flags + gst_buffer_make_metadata_writable().
15244 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15246 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15247 gst_buffer_make_metadata_writable() should maintain the
15248 buffer flags (those that make sense at least) (see #340859).
15250 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15252 * tools/gst-inspect.c:
15253 * tools/gst-launch.c:
15254 * tools/gst-typefind.c:
15255 * tools/gst-xmlinspect.c:
15257 Fix up includes: need to include stdlib.h in tools.h for exit().
15259 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15261 * gst/gsttaglist.c: (_gst_tag_initialize):
15262 * gst/gsttaglist.h:
15263 API: add GST_TAG_IMAGE tag (#340721).
15265 2006-05-08 Wim Taymans <wim@fluendo.com>
15268 Added some docs for the segment query.
15270 2006-05-08 Wim Taymans <wim@fluendo.com>
15272 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15273 (gst_base_src_loop), (gst_base_src_change_state):
15274 Always push non-flushing serialized events in the streaming
15277 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15279 * gst/gsterror.c: (_gst_stream_errors_init):
15280 Add a missing error string.
15282 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15284 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15285 Add applied_rate to the debug
15287 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15288 Copy applied_rate into the outgoing NEWSEGMENT event
15290 2006-05-08 Wim Taymans <wim@fluendo.com>
15292 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15294 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15295 (gst_base_sink_change_state):
15296 call ::unlock before taking the PREROLL_LOCK so we can safely
15297 handle elements that lock in ::render.
15300 2006-05-08 Edward Hervey <edward@fluendo.com>
15302 * autogen.sh: (CONFIGURE_DEF_OPT):
15303 Darwin's libtoolize is in fact called glibtoolize.
15304 Adding glibtoolize to the list of accepted names for libtoolize.
15306 2006-05-08 Wim Taymans <wim@fluendo.com>
15308 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15309 Unify error handling, don't post an error message
15310 when a push() returns EOS but perform our normal EOS
15311 handling code. Fixes #340772.
15313 2006-05-08 Wim Taymans <wim@fluendo.com>
15315 * docs/design/part-overview.txt:
15316 Make upsteam/downstream concepts more clear.
15317 Give an example of serialized/non-serialized events.
15319 * docs/design/part-events.txt:
15320 * docs/design/part-streams.txt:
15321 Mention applied_rate.
15323 * docs/design/part-trickmodes.txt:
15324 Mention applied rate, flesh out some more use cases.
15326 * gst/gstevent.c: (gst_event_new_new_segment),
15327 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15328 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15329 (gst_event_parse_tag), (gst_event_new_buffer_size),
15330 (gst_event_parse_buffer_size), (gst_event_new_qos),
15331 (gst_event_parse_qos), (gst_event_parse_seek),
15332 (gst_event_new_navigation):
15334 Add applied_rate field to NEWSEGMENT event.
15335 API: gst_event_new_new_segment_full()
15336 API: gst_event_parse_new_segment_full()
15338 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15339 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15340 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15341 * gst/gstsegment.h:
15342 Add applied_rate to GstSegment structure.
15343 Make calculation of stream_time and running_time more correct
15344 wrt rate/applied_rate.
15345 Add some more docs.
15346 API: GstSegment::applied_rate field
15347 API: gst_segment_set_newsegment_full();
15349 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15350 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15351 * libs/gst/base/gstbasetransform.c:
15352 (gst_base_transform_sink_eventfunc),
15353 (gst_base_transform_handle_buffer):
15354 Parse and use applied_rate in the GstSegment field.
15356 * tests/check/gst/gstevent.c: (GST_START_TEST):
15357 Add check for applied_rate field.
15359 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15360 (gstsegments_suite):
15361 Add more checks for various GstSegment operations.
15363 2006-05-08 Wim Taymans <wim@fluendo.com>
15365 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15366 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15367 (gst_base_sink_get_position), (gst_base_sink_change_state):
15368 Store the sync time of the buffer end position separatly in a
15369 new variable eos_rtime so we can properly sync the EOS event.
15371 Fix the docs for gst_base_sink_set_qos_enabled().
15372 Don't set segment start to invalid value when we receive a
15373 non TIME newsegment.
15374 get closer to handling position reporting for negative rates
15377 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15380 Docs about how to print caps for debug purposes.
15382 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15383 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15385 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15387 * gst/gstelement.c:
15388 use full enum names and preprend a '%' in docs strings to make recent
15389 gtk-doc turn that into a link
15391 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15393 * docs/manual/basics-bins.xml:
15394 * docs/manual/basics-bus.xml:
15395 * docs/manual/basics-pads.xml:
15396 Some typo fixes, some additions, some clarifications.
15398 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15400 * tools/gst-inspect.c: (main):
15401 * tools/gst-launch.c: (main):
15402 * tools/gst-run.c: (main):
15403 * tools/gst-typefind.c: (main):
15404 * tools/gst-xmlinspect.c: (main):
15405 Use the string passed to g_option_context_new() for
15406 what it's intended for - the program name is already
15409 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15411 * tools/Makefile.am:
15412 * tools/gst-inspect.c: (main):
15413 * tools/gst-launch.c: (main):
15414 * tools/gst-xmlinspect.c: (main):
15416 Add back --version command line option (#340460).
15418 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15419 Add --version option and use GOption for argument parsing; refactor a
15420 bit; accept directories as arguments and recurse into them; lastly,
15421 print a decent error message when things go wrong.
15423 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15425 * docs/manual/basics-bins.xml:
15426 Don't mention GstThread (#340611)
15427 * docs/manual/basics-elements.xml:
15428 Update link to GObject tutorial (#340607)
15430 2006-05-05 Wim Taymans <wim@fluendo.com>
15433 * gst/gstminiobject.c:
15434 Add note about refcounting and miniobject/buffer writeability
15435 to docs. Fixes #340604
15437 * gst/gstelementfactory.h:
15438 Added some explanation about @klass.
15440 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15442 * docs/manual/intro-motivation.xml:
15443 * docs/manual/manual.xml:
15444 Avoid CORBA & Bonobo references (#340598)
15446 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15448 * docs/manual/basics-bus.xml:
15449 * docs/manual/basics-pads.xml:
15450 Fix up some inaccuracies and omissions (#340609)
15452 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15454 * gst/gstghostpad.c:
15455 Small typo in docs (#340625)
15457 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15459 * gst/parse/Makefile.am:
15460 Make 'make -j' proof (see #340698).
15462 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15465 Require GLib-2.8 here as well.
15467 2006-05-05 Wim Taymans <wim@fluendo.com>
15469 * gst/glib-compat.c:
15470 * gst/gst.c: (init_pre):
15471 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15472 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15473 (gst_object_dispatch_properties_changed):
15475 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15476 * gst/gststructure.c: (gst_structure_set_valist):
15477 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15478 Remove pre glib2.8 compatibility, fixes #340508
15480 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15482 * gst/gsttaglist.h:
15483 Mention type of tags in doc blurbs.
15485 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15487 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15488 (gst_pad_configure_src), (gst_pad_push):
15489 Restore acceptcaps checking behaviour now that good plugins have
15492 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15494 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15501 * gst/gstmessage.c:
15505 * gst/parse/Makefile.am:
15506 * libs/gst/base/gstadapter.c:
15507 * libs/gst/base/gstbasesrc.c:
15508 * libs/gst/base/gstpushsrc.c:
15509 * libs/gst/base/gsttypefindhelper.c:
15510 * plugins/elements/gstfakesrc.c:
15511 * plugins/elements/gstidentity.c:
15512 Make sure gstprivate.h and/or config.h are
15513 always included first, otherwise some of our
15514 defines (like _FILE_OFFSET_BITS) might be
15515 redefined in the system headers. Fixes build
15516 on opensolaris (#340016).
15518 2006-05-04 Wim Taymans <wim@fluendo.com>
15520 * docs/libs/gstreamer-libs-sections.txt:
15521 API: addition: gst_adapter_take_buffer()
15523 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15524 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15525 (gst_adapter_available_fast):
15526 * libs/gst/base/gstadapter.h:
15527 Prepare for optimizing the hell out of this hugely inefficient
15529 Added gst_adapter_take_buffer() so we can at least start thinking
15530 about subbuffering and merging.
15531 Added some comments.
15533 * tests/check/Makefile.am:
15534 * tests/check/libs/adapter.c: (GST_START_TEST),
15535 (gst_adapter_suite), (main):
15536 Added GstAdapter check.
15538 2006-05-04 Wim Taymans <wim@fluendo.com>
15540 * docs/design/part-overview.txt:
15541 Fix some typos, add blurb about buffer flags.
15543 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15545 * docs/libs/gstreamer-libs-sections.txt:
15546 make sure GstBaseTransformClass shows up in the docs
15547 * libs/gst/base/gstbasetransform.c:
15548 * libs/gst/base/gstbasetransform.h:
15549 move docs so gtk-doc picks it up now
15551 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15553 * docs/libs/gstreamer-libs-sections.txt:
15554 add missing symbols to docs
15556 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15558 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15559 back out the newsegment handling change, see #340060 for ongoing
15562 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15564 * tools/gst-run.c: (get_candidates), (main):
15565 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15566 work); fix typo in error message. Fixes #340079.
15568 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15570 * common/Makefile.am:
15571 * docs/Makefile.am:
15572 * docs/faq/Makefile.am:
15573 * docs/gst/Makefile.am:
15574 * docs/libs/Makefile.am:
15575 * docs/manual/Makefile.am:
15576 * docs/plugins/Makefile.am:
15577 * docs/pwg/Makefile.am:
15578 * docs/slides/Makefile.am:
15580 * common/upload.mak:
15581 move upload.mak to common
15583 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15585 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15586 add more asserts on refcounts
15587 do more cleanup at end of tests
15588 fix test leaks showing in FC5
15590 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15592 * plugins/elements/gsttypefindelement.c:
15593 (gst_type_find_element_handle_event):
15594 reverted wrong change and reflowed code to avoid others falling into
15597 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15599 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15600 fix changelog entry about last collectpads change,
15601 add notes about proper fix
15603 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15606 * gst/gstregistry.c: (gst_registry_scan_path_level),
15607 (gst_registry_scan_path):
15608 * gst/gstregistry.h:
15609 only write out registry if it has changed, fixes #338339
15611 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15614 * gst/gstpipeline.c:
15615 * plugins/elements/gstcapsfilter.c:
15616 * plugins/elements/gstfakesink.c:
15617 * plugins/elements/gstfakesrc.c:
15618 * plugins/elements/gstfdsink.c:
15619 * plugins/elements/gstfdsrc.c:
15620 * plugins/elements/gstfilesink.c:
15621 * plugins/elements/gstfilesrc.c:
15622 * plugins/elements/gstidentity.c:
15623 * plugins/elements/gstqueue.c:
15624 * plugins/elements/gsttee.c:
15625 * plugins/elements/gsttypefindelement.c:
15626 (gst_type_find_element_handle_event):
15627 make GstElementDetails const
15629 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15631 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15632 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15633 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15634 more detailed debug and formatting cleanup,
15635 forward newsegments to src-pad (so that e.g. adder not eats them)
15637 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15639 * gst/gstutils.c: (gst_element_link_pads):
15640 cleanup double code
15642 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15644 * libs/gst/controller/gstcontroller.c:
15645 (gst_controller_sync_values):
15647 * tests/check/libs/controller.c: (GST_START_TEST),
15648 (gst_controller_suite):
15649 a new test for live value handling
15651 2006-04-28 Wim Taymans <wim@fluendo.com>
15653 * gst/gstutils.c: (push_and_ref):
15654 Added some more docs.
15655 Fix refcount issue whith gst_element_found_tags() helper
15656 function. Fixes #338335
15658 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15659 Added testsuite for gst_element_found_tags().
15661 2006-04-28 Michael Smith <msmith@fluendo.com>
15663 * gst/gstvalue.c: (gst_value_serialize_flags):
15664 Avoid NULL dereference when trying to serialize flags containing
15667 2006-04-28 Michael Smith <msmith@fluendo.com>
15669 * plugins/elements/gsttypefindelement.c:
15670 (gst_type_find_element_handle_event):
15671 If we get EOS before any data is accumulated, don't use
15672 uninitialised local variables.
15674 2006-04-28 Michael Smith <msmith@fluendo.com>
15676 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15677 (gst_dp_event_from_packet):
15678 Fixes in reading/writing events over GDP (not currently used?) -
15679 dereferencing NULL events for unknown/invalid event types, memory
15680 leak, and change g_warning to GST_WARNING.
15682 2006-04-28 Wim Taymans <wim@fluendo.com>
15684 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15685 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15686 (gst_base_sink_get_position), (gst_base_sink_change_state):
15687 When frame dropping is enabled, we should not ignore frames
15688 without a duration.
15689 Update some documentation.
15691 2006-04-28 Wim Taymans <wim@fluendo.com>
15693 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15694 (gst_base_src_send_event), (gst_base_src_change_state):
15695 Documentation updates.
15697 2006-04-28 Wim Taymans <wim@fluendo.com>
15699 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15700 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15701 handle EAGAIN, EINTR and short writes correctly. Also clean
15702 up some error cases, avoid a deadlock on bad file descriptors and
15703 use GST_DEBUG_OBJECT.
15706 2006-04-28 Wim Taymans <wim@fluendo.com>
15708 * gst/gstvalue.c: (gst_value_serialize_buffer),
15709 (gst_value_deserialize_buffer):
15710 Don't try to serialize a GValue with a NULL buffer.
15713 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15714 Added check for serialisation of NULL buffers.
15716 2006-04-28 Wim Taymans <wim@fluendo.com>
15718 * gst/gstminiobject.c: (gst_value_take_mini_object):
15719 Taking a NULL miniobject is valid, fix the case where
15720 we try to unref the NULL miniobject.
15722 2006-04-28 Wim Taymans <wim@fluendo.com>
15724 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15726 * gst/gstbin.c: (gst_bin_handle_message_func):
15728 Don't leak bin refcount when a state recalc is
15729 in progress and we delay another one #339808.
15731 2006-04-28 Wim Taymans <wim@fluendo.com>
15733 * docs/design/part-TODO.txt:
15734 Mention QoS as an ongoing work item.
15736 * docs/design/part-buffering.txt:
15737 New doc about buffering that needs to be fleshed out
15740 * docs/design/part-qos.txt:
15741 More QoS policy for decoders/demuxers/transforms
15743 * docs/design/part-trickmodes.txt:
15746 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15751 === release 0.10.5 ===
15753 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15756 releasing 0.10.5, "Fogo"
15758 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15760 patch by: Wim Taymans
15762 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15763 (gst_pad_configure_src), (gst_pad_push):
15764 * gst/gstpipeline.c: (gst_pipeline_init):
15765 Fix internal data flow errors. Fixes #338711.
15767 2006-04-12 Wim Taymans <wim@fluendo.com>
15769 * tests/check/gst/gstelement.c: (GST_START_TEST):
15770 Don't leak the factory.
15772 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15775 * win32/common/config.h:
15778 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15780 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15781 (gst_controller_unset_all):
15782 Free allocated GstTimedValues when freeing list nodes.
15783 Should fix leaks 'make check-valgrind' complains about.
15785 * win32/common/libgstcontroller.def:
15786 Add gst_controller_unset_all.
15788 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15790 * docs/libs/gstreamer-libs-sections.txt:
15791 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15792 (gst_controller_unset_all):
15793 * libs/gst/controller/gstcontroller.h:
15794 API: Added new method gst_controller_unset_all()
15795 fixed gst_controller_unset()
15796 * tests/check/libs/controller.c: (GST_START_TEST),
15797 (gst_controller_suite):
15798 Added two testcases for new and fixed method
15800 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15802 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15803 MSG_DONTWAIT is not defined on Cygwin, so work
15804 around that (fixes #317048).
15806 2006-04-11 Wim Taymans <wim@fluendo.com>
15808 * gst/gstelementfactory.c: (gst_element_register),
15809 (gst_element_factory_create), (gst_element_factory_make):
15812 Updated docs (Fixes #131079)
15814 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15817 * tests/check/gst/gstelement.c: (GST_START_TEST),
15818 (gst_element_suite):
15819 Added testcase for elementfactory class field.
15821 2006-04-10 Wim Taymans <wim@fluendo.com>
15823 * gst/gstsegment.c:
15824 Added some more docs.
15826 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15827 (gst_base_sink_reset_qos):
15828 Calculate more accurate rate values.
15830 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15832 * gst/gst_private.h:
15833 add a new #ifdef to use __declspec(dllimport) only for
15834 other modules and not for gstreamer core
15835 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15836 use gst_guint64_to_gdouble for conversion
15837 * win32/common/libgstreamer.def:
15838 add new exported functions
15839 * win32/vs6/gst_inspect.dsp:
15840 * win32/vs6/gst_launch.dsp:
15841 * win32/vs6/libgstbase.dsp:
15842 * win32/vs6/libgstcontroller.dsp:
15843 * win32/vs6/libgstcoreelements.dsp:
15844 * win32/vs6/libgstdataprotocol.dsp:
15845 * win32/vs6/libgstnet.dsp:
15846 update project files
15848 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15850 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15851 * gst/gstclock.c: (gst_clock_class_init):
15852 * gst/gstelement.c: (gst_element_class_init):
15853 * gst/gstindex.c: (gst_index_class_init):
15854 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15855 * gst/gstobject.c: (gst_object_class_init),
15856 (gst_signal_object_class_init):
15857 * gst/gstpad.c: (gst_pad_class_init):
15858 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15859 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15860 * gst/gstregistry.c: (gst_registry_class_init):
15861 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15862 * gst/gsttask.c: (gst_task_class_init):
15863 * gst/gstxml.c: (gst_xml_class_init):
15864 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15865 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15866 (gst_base_src_loop):
15867 * libs/gst/controller/gstcontroller.c:/
15868 (_gst_controller_class_init):
15869 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15870 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15871 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15872 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15873 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15874 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15876 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15878 * gst/gstpad.c: (gst_pad_link):
15879 Must set peer pads before calling the link function, otherwise
15880 a task started from a link function might get a flow-not-linked
15881 result when trying to push because the other thread where the
15882 linking happens hasn't had a chance to set the peers yet. This
15883 might happen for example when a queue gets linked to a downstream
15884 element, as queue starts a streaming task when its source pad
15885 gets linked. Happens in real life when playing back flac/musepack
15886 files in playbin (#332390).
15888 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15892 * libs/gst/base/gstadapter.h:
15893 * libs/gst/base/gstbasesink.h:
15894 * libs/gst/base/gstbasesrc.h:
15895 * libs/gst/base/gstbasetransform.h:
15896 * libs/gst/base/gstcollectpads.h:
15897 * libs/gst/base/gstpushsrc.h:
15898 Fix broken GObject macros
15900 2006-04-07 Wim Taymans <wim@fluendo.com>
15902 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15903 Initialize start and stop times, thanks valgrind.
15905 2006-04-07 Wim Taymans <wim@fluendo.com>
15907 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15908 Be a bit nicer to badly behaving upstream elements that expect
15909 us to deal with non TIME segments and timestamps (such as fakesrc
15912 2006-04-07 Wim Taymans <wim@fluendo.com>
15915 Small documentation clarification about the signal watch.
15917 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15918 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15919 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15920 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15921 (gst_base_sink_get_position_last),
15922 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15923 Convert and store timestamps in stream time and running time, the
15924 raw timestamps are not useful, also document this better.
15925 Use different window sizes for good and bad QoS observations so
15926 we react to badness a little quicker.
15927 Keep track of the amount of rendered and dropped buffers.
15928 Send QoS timestamps in running time.
15930 * libs/gst/base/gstbasetransform.c:
15931 (gst_base_transform_sink_eventfunc),
15932 (gst_base_transform_handle_buffer):
15933 Compare QoS timestamps against running time.
15935 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15938 Typo fixes in docs.
15940 2006-04-06 Michael Smith <msmith@fluendo.com>
15942 * gst/gstpad.c: (gst_pad_set_property):
15943 Use g_value_get_object() instead of g_value_dup_gst_object(),
15944 to avoid double-reffing the pad template (which we then sink,
15945 so this worked previously if (and only if) the pad template
15948 * gst/gstpadtemplate.c: (gst_pad_template_init),
15949 (gst_pad_template_pad_created):
15950 Never return floating references to pad templates, create
15951 them as initially-sunken.
15953 Document an extra function (and make this stop sinking our
15954 pad template, since that is now guaranteed to do nothing,
15955 since we created it sunken).
15957 * gst/gstghostpad.c:
15960 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15962 * gst/gstinfo.c: (__gst_in_valgrind):
15965 * plugins/elements/gsttypefindelement.c:
15966 (gst_type_find_element_chain):
15967 Don't leak buffer caps.
15969 2006-04-06 Michael Smith <msmith@fluendo.com>
15971 * gst/parse/grammar.y:
15972 Fix a leak in parse-launch for any source-or-sink named element
15975 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15976 Unref the pipeline if it exists after we've failed parsing.
15978 2006-04-05 Michael Smith <msmith@fluendo.com>
15980 * gst/gstpipeline.c: (gst_pipeline_init):
15981 When we create a pipeline bus, initially create it in flushing mode.
15982 Fixes leaks in at least one test, and makes a new pipeline work the
15983 same as one that has gone to READY and then back to NULL.
15985 * gst/gstelement.c:
15988 2006-04-05 Michael Smith <msmith@fluendo.com>
15990 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15991 Unref a pad we reffed.
15992 * tests/check/gst/gstutils.c: (GST_START_TEST):
15995 2006-04-05 Michael Smith <msmith@fluendo.com>
15997 * gst/gstquery.c: (gst_query_set_formats),
15998 (gst_query_set_formatsv):
15999 Fix leaking GValues in queries, as shown by valgrind/testsuite.
16001 2006-04-05 Michael Smith <msmith@fluendo.com>
16003 * tests/check/generic/sinks.c: (GST_START_TEST):
16004 Fix a variety of memleaks in sinks check, which are only sometimes
16005 shown by running the tests under valgrind (weird?).
16007 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
16009 * docs/version.entities.in:
16010 Fix the substituted entity name after thomas' changes on the
16013 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
16015 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16018 2006-04-05 Andy Wingo <wingo@pobox.com>
16020 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16022 * libs/gst/base/gstbasetransform.c
16023 (gst_base_transform_sink_eventfunc): When resetting our segment on
16024 FLUSH_STOP, also update the flag saying we haven't seen a
16027 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16029 Patch by: Paolo Borelli <pborelli at katamail dot com>
16031 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16032 (gst_plugin_check_license):
16033 minor clean-ups: G_DEFINE_TYPE already takes care of the
16034 parent_class stuff, no need to do it twice. Mark array of
16035 license strings as constant. (#337103)
16037 2006-04-04 Michael Smith <msmith@fluendo.com>
16039 * tools/gst-inspect.c: (print_element_list):
16040 Free the right plugin list; fixes a memory leak.
16042 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16044 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
16046 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16047 Don't error out on empty buffers (#336945).
16049 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
16051 * docs/libs/gstreamer-libs-sections.txt:
16052 * gst/gsttaglist.c:
16053 * libs/gst/base/gstbasesink.c:
16054 * libs/gst/base/gstbasesink.h:
16055 * libs/gst/base/gstbasesrc.c:
16056 * libs/gst/base/gstbasesrc.h:
16057 Documentation updates. Make BaseSink and BaseSrc docs contain the
16058 class structure so that people can actually see the prototypes for
16059 virtual functions they're supposed to be overriding.
16061 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16063 * plugins/elements/gsttypefindelement.c:
16064 (gst_type_find_element_chain):
16065 More debug info; when skipping typefinding, send cached
16066 events in all cases.
16068 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16071 use new AS_VERSION and AS_NANO macros
16072 * gst/gst-i18n-lib.h:
16075 * gst/gstversion.h.in:
16076 * win32/common/config.h:
16077 * win32/common/config.h.in:
16080 2006-03-31 Michael Smith <msmith@fluendo.com>
16082 * plugins/elements/gsttypefindelement.c:
16083 (gst_type_find_element_chain):
16084 Do not typefind content if the buffers already have caps.
16085 Neccesary for icydemux (#333657), and the right thing to do anyway.
16087 2006-03-30 Wim Taymans <wim@fluendo.com>
16089 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16090 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16091 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16092 (gst_base_sink_record_qos_observation),
16093 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16094 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16095 (gst_base_sink_change_state):
16096 More QoS measurements as described in the design doc.
16097 Get rid of ringbuffer with observations, running average is
16098 more simple and equally good.
16099 Calculates valid proportion now.
16100 Added beginning of flood measurement.
16102 2006-03-29 Wim Taymans <wim@fluendo.com>
16104 * docs/design/part-qos.txt:
16106 Small documentation updates and additions.
16108 2006-03-29 Wim Taymans <wim@fluendo.com>
16110 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16111 (gst_base_src_send_event), (gst_base_src_loop),
16112 (gst_base_src_change_state):
16113 Perform the EOS logic when we reach the segment stop position.
16114 Fix compilation on gcc4.1
16116 2006-03-29 Wim Taymans <wim@fluendo.com>
16118 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16120 * plugins/elements/gstqueue.c: (gst_queue_init),
16121 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16122 (gst_queue_set_property):
16123 * plugins/elements/gstqueue.h:
16124 In queue, when EOS is received, if minimum threshold > max_size -
16125 current_level, there is chance that queue blocks forever in conditional
16126 item del wait. This is because the queue is not emptied completely due
16127 to minimum threshold. Here is another approach. Instead of setting
16128 cur_levels to max in EOS, just zero all minimum threshold levels. This
16129 should make sure that queue gives out all data. When going to READY
16130 (stop) state, just reset the original minimum threshold levels.
16133 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16135 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16136 (gst_type_find_element_handle_event),
16137 (gst_type_find_element_send_cached_events),
16138 (gst_type_find_element_change_state):
16139 * plugins/elements/gsttypefindelement.h:
16140 When typefinding is done in push mode, we should cache
16141 events we receive during typefinding instead of just
16142 dropping them (e.g. newsegment, custom events from
16143 dvdreadsrc etc.) and then send them out once we've
16144 determined the type of the stream (and decodebin
16145 has had a chance to plug in a decoder/demuxer).
16147 2006-03-27 Wim Taymans <wim@fluendo.com>
16149 * docs/design/part-qos.txt:
16152 2006-03-27 Wim Taymans <wim@fluendo.com>
16154 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16156 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16157 (gst_base_src_send_event), (gst_base_src_change_state):
16158 Handle element seek correctly when we are streaming.
16161 2006-03-24 Michael Smith <msmith@fluendo.com>
16163 * docs/faq/gst-uninstalled:
16164 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16165 allow you to correctly run intalled applications built against old
16166 core, using plugins that require updated core (e.g. running
16167 installed totem against a full uninstalled gstreamer stack)
16169 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16171 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16174 2006-03-24 Wim Taymans <wim@fluendo.com>
16176 * docs/gst/gstreamer-sections.txt:
16177 Rearrange the order of the methods so that related methods
16178 are grouped together in sections.
16180 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16182 * gst/gstelement.c:
16183 Little clarification in the docs
16185 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16189 * plugins/elements/gstidentity.c:
16190 * plugins/elements/gstqueue.c:
16191 * plugins/elements/gsttee.c:
16192 * plugins/elements/gsttypefindelement.c:
16193 GST_ELEMENT_DETAILS formatting
16195 2006-03-24 Wim Taymans <wim@fluendo.com>
16197 * libs/gst/base/gstbasesink.h:
16198 Only add fields, not insert or we break ABI.
16200 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16202 * win32/common/libgstbase.def:
16203 * win32/common/libgstreamer.def:
16204 Update, add recently added functions.
16206 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16208 * docs/gst/gstreamer-sections.txt:
16209 * gst/gstutils.c: (gst_pad_query_peer_position),
16210 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16212 API: add some new utility functions:
16213 - gst_pad_query_peer_position()
16214 - gst_pad_query_peer_duration()
16215 - gst_pad_query_peer_convert()
16217 2006-03-23 Wim Taymans <wim@fluendo.com>
16219 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16220 (gst_base_sink_init), (gst_base_sink_finalize),
16221 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16222 (gst_base_sink_set_property), (gst_base_sink_get_property),
16223 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16224 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16225 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16226 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16227 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16228 (gst_base_sink_preroll_object), (gst_base_sink_event),
16229 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16230 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16231 (gst_base_sink_query), (gst_base_sink_change_state):
16232 Decouple max-lateness and the fact that QoS messages are generated
16233 with a new property (qos).
16234 added API: GstBaseSink::async_play()
16235 Add vmethod so subclasses can be notified of ASYNC playing
16237 Collect timestamp start and stop to report better current
16238 position in EOS/PLAYING/PAUSED/READY/NULL.
16239 Refactor QoS/frame dropping and other measurements.
16240 API: GstBaseSrc::qos
16243 * libs/gst/base/gstbasesink.h:
16244 Added Private struct.
16245 API: gst_base_sink_set_qos_enabled()
16246 API: gst_base_sink_is_qos_enabled()
16248 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16250 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16251 If compiling against GLib-2.8 or newer, try to read the
16252 registry file using GMappedFile first before falling back
16253 to fopen() + fread() (#332151).
16255 2006-03-22 Wim Taymans <wim@fluendo.com>
16257 * gst/gstinfo.c: (gst_debug_set_active),
16258 (gst_debug_category_set_threshold):
16259 Disable debugging unless explicitly activated.
16262 2006-03-22 Wim Taymans <wim@fluendo.com>
16264 * gst/gstelement.c: (gst_element_set_locked_state),
16265 (gst_element_dispose):
16266 Cleanup the error case.
16268 * gst/gstobject.c: (gst_object_dispose):
16269 print a critical when some object was disposed with
16270 a parent, also revive the object since it might
16273 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16275 * tools/gst-launch.1.in:
16278 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16281 * tests/check/Makefile.am:
16282 disable some tests when we don't have a registry
16283 * tests/check/gst/gstutils.c: (gst_utils_suite):
16284 don't build the part that needs parsing
16286 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16289 * tests/examples/Makefile.am:
16290 fix --disable-parse build
16292 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16294 * tools/gst-feedback.1.in:
16295 Fix typo: s/feeback/feedback/ (#133494).
16297 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16299 * tools/Makefile.am:
16300 * tools/gst-launch.1.in:
16301 Add FILES section and correct entry about GST_REGISTRY_PATH
16302 environment variable (#133495; #133494).
16304 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16306 * tools/Makefile.am:
16307 * tools/gst-md5sum.1.in:
16308 * tools/gst-md5sum.c:
16309 Remove gst-md5sum and man page (the md5sink element
16310 required was removed ages ago)
16312 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16314 * gst/gststructure.c: (gst_structure_id_set_value):
16315 Make sure that string fields in structures/taglists
16316 contain valid UTF-8 - we don't want to pass rubbish to
16317 applications because of a buggy plugin (cp. #334167).
16319 2006-03-21 Edward Hervey <edward@fluendo.com>
16321 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16322 (gst_bin_handle_message_func):
16323 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16324 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16325 (gst_element_set_bus_func):
16326 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16327 * gst/gstminiobject.c: (gst_value_set_mini_object),
16328 (gst_value_take_mini_object):
16329 * gst/gstpad.c: (gst_pad_set_pad_template):
16330 * gst/gstpipeline.c: (gst_pipeline_dispose),
16331 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16332 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16333 (gst_collect_pads_chain):
16334 * libs/gst/net/gstnettimeprovider.c:
16335 (gst_net_time_provider_set_property):
16336 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16337 It's in fact all issues with gst_*object_replace().
16339 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16341 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16343 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16344 * pkgconfig/gstreamer-check.pc.in:
16345 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16347 2006-03-21 Edward Hervey <edward@fluendo.com>
16351 * gst/gstmessage.h:
16352 gst_[buffer|event|message]_ref() macros are replaced by a static
16353 inline functions because gcc-4.1 will about if the return value
16355 * tests/check/gst/gstevent.c: (event_probe):
16356 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16358 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16361 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16362 the type' case. (Closes: #335195 for now). In the future, when we
16363 depend on GLib 2.10, we could also intern the type name using
16364 g_intern_static_string()
16366 2006-03-20 Wim Taymans <wim@fluendo.com>
16368 * gst/gstbin.c: (gst_bin_handle_message_func),
16369 (bin_query_max_init), (bin_query_position_fold),
16370 (bin_query_position_done), (gst_bin_query):
16371 Position query should also take max of all streams.
16373 2006-03-20 Wim Taymans <wim@fluendo.com>
16375 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16376 (gst_fake_src_finalize):
16377 Fix leaks in fakesrc.
16379 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16380 Fix leaks in the testcase.
16382 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16384 * gst/gst_private.h:
16385 add win32 specific import decoration(__declspec(dllimport))
16386 for all extern GstDebugCategory * variables
16387 * win32/common/libgstbase.def:
16388 * win32/common/libgstcontroller.def:
16389 * win32/common/libgstreamer.def:
16390 Add some exports, remove empty lines
16391 * win32/common/libgstdataprotocol.def:
16392 * win32/common/libgstdataprotocol.dsp:
16393 * win32/common/libgstnet.def:
16394 * win32/common/libgstnet.dsp:
16395 new project files and exportation files added
16397 2006-03-19 Wim Taymans <wim@fluendo.com>
16399 * tests/check/libs/basesrc.c: (eos_event_counter):
16400 Use proper return value for probe.
16402 2006-03-17 Wim Taymans <wim@fluendo.com>
16404 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16406 Don't leak buffers, caps and pads on negotiation errors.
16408 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16410 * docs/faq/cvs.xml:
16411 * docs/faq/dependencies.xml:
16412 * docs/faq/developing.xml:
16413 * docs/faq/faq.xml:
16414 * docs/faq/general.xml:
16415 * docs/faq/getting.xml:
16416 * docs/faq/legal.xml:
16417 * docs/faq/troubleshooting.xml:
16418 * docs/faq/using.xml:
16419 Faq review and update.
16421 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16423 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16425 Don't pound the cpu to pieces by checking get_caps when accept_caps
16426 is called with the same caps as the pad already has.
16427 Use GST_DEBUG_OBJECT when outputting caps change information.
16429 2006-03-15 Wim Taymans <wim@fluendo.com>
16431 * gst/gstclock.c: (gst_clock_class_init):
16434 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16439 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16440 (gst_pad_accept_caps), (gst_pad_configure_sink),
16441 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16442 Make the default acceptcaps behaviour be to check the requested
16443 caps against the gst_pad_get_caps output.
16445 Ensure that gst_pad_accept_caps is used to check caps when a pad
16446 doesn't have a setcaps function, so that pads automatically refuse
16447 caps that they don't allow in their pad template. (Fixes #332986)
16449 When a buffer with attached caps is pushed, ensure that the source
16450 pad receives those caps even if the element didn't call
16451 gst_pad_set_caps first.
16453 2006-03-15 Wim Taymans <wim@fluendo.com>
16455 * libs/gst/base/gstadapter.c:
16458 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16460 * win32/common/libgstbase.def:
16461 * win32/common/libgstcontroller.def:
16462 * win32/common/libgstreamer.def:
16463 Add a whole bunch of missing functions (#334434).
16465 2006-03-14 Wim Taymans <wim@fluendo.com>
16467 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16468 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16469 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16470 Better debug info when we receive a segment event.
16471 Reorganize a bit so we can pass the get_times() results around.
16472 Use the segment format when calculating the running time.
16473 Don't do QoS is sync is disabled or we have no clock or the
16474 element does not want us to sync to the clock.
16475 Don't drop buffers if QoS is disabled for now.
16477 2006-03-14 Wim Taymans <wim@fluendo.com>
16479 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16480 Marked the stats property as unimplemented so people don't get
16482 Add debug message when regression goes wrong.
16483 Added some more docs.
16485 2006-03-14 Wim Taymans <wim@fluendo.com>
16487 * gst/gstsegment.c: (gst_segment_to_stream_time):
16488 Return correct return type in case of errors.
16490 2006-03-14 Wim Taymans <wim@fluendo.com>
16492 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16493 Don't segfault on invalid formats.
16495 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16497 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16498 Can't use gst_segment_to_running_time() when the segment
16499 is not in GST_TIME_FORMAT (like with filesink, for example).
16500 Stops flac encoding pipelines from spewing critical warnings
16503 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16505 * gst/gstpipeline.c: (gst_pipeline_class_init):
16506 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16508 * plugins/elements/gsttypefindelement.c:
16509 (gst_type_find_element_handle_event):
16510 Don't try to typefind empty streams.
16512 2006-03-14 Wim Taymans <wim@fluendo.com>
16514 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16515 (gst_base_sink_do_qos):
16516 Separate QoS calculation.
16517 Only drop buffers when lateness is bigger than the
16518 duration of the buffer.
16520 2006-03-13 Wim Taymans <wim@fluendo.com>
16522 * gst/gstpipeline.c: (gst_pipeline_set_property),
16523 (gst_pipeline_get_property), (do_pipeline_seek),
16524 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16525 (gst_pipeline_get_delay):
16526 Don't deadlock when reading properties.
16528 2006-03-13 Wim Taymans <wim@fluendo.com>
16530 * libs/gst/base/gstbasetransform.c:
16531 (gst_base_transform_class_init), (gst_base_transform_init),
16532 (gst_base_transform_sink_event),
16533 (gst_base_transform_sink_eventfunc),
16534 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16535 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16536 (gst_base_transform_set_property),
16537 (gst_base_transform_get_property),
16538 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16539 (gst_base_transform_set_qos_enabled),
16540 (gst_base_transform_is_qos_enabled):
16541 * libs/gst/base/gstbasetransform.h:
16542 Make basetransform virtual method for src events too.
16543 Handle QOS in basetransform.
16544 API: gst_base_transform_update_qos()
16545 API: gst_base_transform_set_qos_enabled()
16546 API: gst_base_transform_is_qos_enabled()
16548 2006-03-13 Wim Taymans <wim@fluendo.com>
16550 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16551 (gst_base_sink_do_sync):
16553 Use QOS debug category.
16555 2006-03-13 Wim Taymans <wim@fluendo.com>
16557 * plugins/elements/gstqueue.c:
16558 Very small doc update.
16560 2006-03-13 Wim Taymans <wim@fluendo.com>
16562 * gst/gst_private.h:
16563 * gst/gstinfo.c: (_gst_debug_init):
16564 Added QOS debug category
16566 2006-03-13 Wim Taymans <wim@fluendo.com>
16568 * docs/gst/gstreamer-sections.txt:
16569 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16571 * gst/gstbus.c: (gst_bus_class_init):
16574 * gst/gstelement.c: (gst_element_set_locked_state):
16575 * gst/gstsegment.c:
16576 Documentation updates.
16578 * gst/gstpipeline.c: (gst_pipeline_get_type),
16579 (gst_pipeline_class_init), (gst_pipeline_init),
16580 (gst_pipeline_dispose), (gst_pipeline_set_property),
16581 (gst_pipeline_get_property), (do_pipeline_seek),
16582 (gst_pipeline_send_event), (gst_pipeline_change_state),
16583 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16584 (gst_pipeline_get_delay):
16585 * gst/gstpipeline.h:
16586 Added methods for setting the delay.
16587 API: gst_pipeline_set_delay()
16588 API: gst_pipeline_get_delay()
16589 Add pipeline debug category
16592 Don't reset stream time when seek failed.
16594 2006-03-13 Wim Taymans <wim@fluendo.com>
16596 * docs/design/draft-klass.txt:
16597 * docs/design/part-clocks.txt:
16598 * docs/design/part-events.txt:
16599 * docs/design/part-gstbin.txt:
16600 * docs/design/part-gstpipeline.txt:
16601 * docs/design/part-messages.txt:
16602 * docs/design/part-negotiation.txt:
16603 * docs/design/part-overview.txt:
16604 * docs/design/part-preroll.txt:
16605 * docs/design/part-seeking.txt:
16606 * docs/design/part-states.txt:
16607 * docs/design/part-streams.txt:
16608 Documentation updates.
16610 2006-03-12 Julien MOUTTE <julien@moutte.net>
16612 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16613 us to leak strings...
16615 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16617 * libs/gst/net/gstnettimeprovider.c:
16619 * win32/common/config.h:
16622 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16624 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16627 Don't check for libgnomeui (leftover from old examples
16628 that aren't built or disted any longer) (#334303).
16630 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16632 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16633 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16634 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16635 there's no space left on the device.
16637 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16640 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16641 to cast the input to GstClockTime before comparing with
16642 another GstClockTime value.
16644 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16649 === release 0.10.4 ===
16651 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16654 releasing 0.10.4, "Light"
16656 2006-03-10 Michael Smith <msmith@fluendo.com>
16658 * libs/gst/dataprotocol/dataprotocol.c:
16659 Fix docs for dataprocotol to not get the return types completely
16660 wrong for a few functions.
16662 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16664 * docs/gst/gstreamer-sections.txt:
16665 * gst/gstpipeline.c: (gst_pipeline_class_init),
16666 (gst_pipeline_init), (gst_pipeline_set_property),
16667 (gst_pipeline_get_property), (gst_pipeline_change_state),
16668 (gst_pipeline_set_auto_flush_bus),
16669 (gst_pipeline_get_auto_flush_bus):
16670 * gst/gstpipeline.h:
16671 Add new API: gst_pipeline_set_auto_flush_bus() and
16672 gst_pipeline_get_auto_flush_bus() to disable automatic
16673 flushing of the pipeline's GstBus when going from READY
16674 to NULL state (#332045).
16676 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16678 * docs/gst/gstreamer-sections.txt:
16679 * gst/gsturi.c: (gst_uri_has_protocol):
16681 Add new API: gst_uri_has_protocol() (#333779).
16683 2006-03-09 Wim Taymans <wim@fluendo.com>
16685 * gst/gstclock.c: (gst_clock_entry_new),
16686 (gst_clock_id_compare_func), (gst_clock_id_wait),
16687 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16688 (gst_clock_init), (gst_clock_get_internal_time),
16689 (gst_clock_set_master), (do_linear_regression),
16690 (gst_clock_add_observation), (gst_clock_set_property):
16694 Fix a possible segfault when the window-size is made smaller.
16695 Calculate jitter before performing the clock wait. Ideally
16696 the clock implementation should calculate jitter but we need
16697 API breakage for that.
16699 * gst/gstsystemclock.c: (gst_system_clock_init):
16702 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16703 Remove leftover else
16705 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16706 (gst_systemclock_suite):
16707 Added check to test GST_CLOCK_DIFF.
16709 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16711 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16712 (gst_type_find_helper_get_range):
16713 If we are provided with the size, we should implement
16714 GstTypeFind::get_length, so that typefind functions who
16715 want to can actually peek at the middle of a file.
16717 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16719 * docs/manual/advanced-dataaccess.xml:
16720 Add some very very basic error checking.
16722 * docs/pwg/appendix-checklist.xml:
16723 Some updates to the list of things to check when writing an element.
16725 2006-03-08 Wim Taymans <wim@fluendo.com>
16727 * docs/design/part-element-transform.txt:
16728 Added some docs about the design of tranform elements.
16730 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16731 (gst_base_src_loop), (gst_base_src_change_state):
16732 Mark buffers with the DISCONT flag.
16734 2006-03-08 Michael Smith <msmith@fluendo.com>
16736 * gst/gstregistry.h:
16737 * gst/gstregistryxml.c: (gst_registry_save),
16738 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16739 (gst_registry_xml_save_pad_template),
16740 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16741 (gst_registry_xml_write_cache):
16742 Rewrite registry-saving to avoid race conditions and check for
16745 2006-03-08 Wim Taymans <wim@fluendo.com>
16747 * libs/gst/base/gstbasetransform.c:
16748 (gst_base_transform_transform_caps),
16749 (gst_base_transform_transform_size),
16750 (gst_base_transform_prepare_output_buffer),
16751 (gst_base_transform_get_unit_size),
16752 (gst_base_transform_buffer_alloc),
16753 (gst_base_transform_handle_buffer),
16754 (gst_base_transform_change_state):
16755 Cleanups, separate normal flow from errors, add sensible
16757 Don't try to renegotiate when allocating an output buffer.
16758 Also copy DISCONT buffer flag when copying a buffer.
16759 Reset the transform after we finish streaming, not during.
16761 2006-03-08 Wim Taymans <wim@fluendo.com>
16763 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16764 Use last buffer timestamp in qos message.
16766 2006-03-07 Wim Taymans <wim@fluendo.com>
16768 Patch by: Christophe Fergeau
16770 * docs/pwg/advanced-tagging.xml:
16771 * docs/pwg/building-pads.xml:
16774 2006-03-07 Wim Taymans <wim@fluendo.com>
16776 * docs/libs/gstreamer-libs-sections.txt:
16777 Added basesink new methods.
16781 Docs updates. Flesh out the QoS docs.
16783 * libs/gst/base/gstadapter.c:
16784 Small doc clarification about ownership and flushing.
16786 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16787 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16788 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16789 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16790 * libs/gst/base/gstbasesink.h:
16792 Added new methods to allow subclass to control max-lateness
16794 Generate very basic QoS events based on last sync observation.
16795 Updated docs, fix typo, added some QoS blurb.
16797 * libs/gst/base/gstbasesrc.c:
16798 Remove obsolete _get_state() calls from docs.
16800 2006-03-07 Wim Taymans <wim@fluendo.com>
16802 * docs/libs/gstreamer-libs-sections.txt:
16803 * libs/gst/base/gstbasetransform.h:
16804 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16805 Fix docs for GstBaseSrc.
16807 2006-03-07 Wim Taymans <wim@fluendo.com>
16809 * docs/gst/gstreamer-sections.txt:
16812 * libs/gst/base/gstbasetransform.h:
16813 Small documentation fixes.
16815 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16818 Document thread-unsafety of gst_value_register_foo_func()
16819 when used at the same time as gst_value_foo() (#322628).
16821 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16823 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16824 (gst_push_src_check_get_range):
16825 Push sources don't support pull mode by default.
16827 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16829 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16830 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16831 (gst_base_src_default_check_get_range):
16832 * libs/gst/base/gstbasesrc.h:
16833 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16834 provide default implementation, and rename
16835 gst_base_src_check_get_range() to
16836 gst_base_src_pad_check_get_range() for clarity.
16838 2006-03-06 Wim Taymans <wim@fluendo.com>
16840 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16841 Make property overridable.
16843 2006-03-06 Wim Taymans <wim@fluendo.com>
16845 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16846 (gst_base_sink_init), (gst_base_sink_set_property),
16847 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16848 * libs/gst/base/gstbasesink.h:
16849 API addition: Make max-lateness a property.
16851 2006-03-06 Wim Taymans <wim@fluendo.com>
16853 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16854 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16855 Don't ever draw a frame that is >10ms late.
16857 2006-03-06 Michael Smith <msmith@fluendo.com>
16859 * gst/gstmessage.c: (_gst_message_copy):
16860 When copying a message, set the parent_refcount of the enclosed
16861 structure to point at the copy, not the original message.
16863 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16865 Patch by: Christophe Fergeau
16868 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16869 usable in c++ code (#333417)
16871 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16874 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16876 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16878 * libs/gst/base/gstbasetransform.c:
16879 (gst_base_transform_transform_caps):
16880 Make sure caps are writable before passing them to
16883 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16886 Fix some minor docs errors.
16888 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16890 Patch by: Ross Burton <ross at burtonini dot com>
16892 * gst/gsterror.c: (_gst_resource_errors_init):
16894 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16896 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16899 Add a check and output a g_warning when GStreamer is built
16900 against GLib 2.6 but running against 2.8 or higher, and vice
16901 versa. (Closes: #323542)
16903 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16905 * gst/parse/parse.l:
16906 Commit patch for parse_launch syntax from #331255. Removes
16907 support for quoted strings and mimetypes when writing filtered
16908 caps. See the bug report for more details - I'm pretty sure this
16909 obscure feature is not in use by _anyone_ anywhere.
16911 With this simple change, the size of the gstreamer.so here
16912 drops from 2193KB to 1565KB.
16914 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16916 * plugins/elements/gsttypefindelement.h:
16917 * plugins/elements/gsttypefindelement.c:
16918 (gst_type_find_element_src_event), (start_typefinding),
16919 (stop_typefinding), (gst_type_find_element_handle_event),
16920 (gst_type_find_element_chain),
16921 (gst_type_find_element_chain_do_typefinding):
16922 Use gst_type_find_helper_for_buffer() for chain-based
16925 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16927 * plugins/elements/gsttypefindelement.c:
16928 (gst_type_find_element_class_init),
16929 (gst_type_find_element_set_property),
16930 (gst_type_find_element_get_property):
16931 Deprecate "maximum" property (not only was it only taken into
16932 account for typefinding in push-mode anyway, it also was never
16933 actually possible to set it in the first place because the
16934 property was registered with the numeric property ID for the
16935 "minimum" property). Register "maximum" property correctly,
16936 for the sake of future copy'n'pasters. Remove some cruft
16937 from property get/set functions.
16939 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16941 * plugins/elements/gsttypefindelement.c:
16942 (gst_type_find_element_activate):
16943 Use gst_type_find_helper_get_range() here, so we
16944 can honour the "minimum" property and also emit
16945 the signal with the correct probability of the found caps.
16947 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16949 * docs/libs/gstreamer-libs-sections.txt:
16950 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16951 (helper_find_suggest), (gst_type_find_helper_get_range),
16952 (gst_type_find_helper):
16953 * libs/gst/base/gsttypefindhelper.h:
16954 New API: gst_type_find_helper_get_range() (#333042).
16956 2006-03-02 Michael Smith <msmith@fluendo.com>
16958 * gst/gstregistryxml.c: (load_feature):
16959 Asserting on a failure to read part of the registry is Not Cool.
16960 Just log a warning and return NULL (which is already handled)
16962 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16964 * win32/common/libgstbase.def:
16965 added export of gst_type_find_helper_for_buffer
16966 * win32/common/libgstbase.def:
16967 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16968 gst_ghost_pad_get_target
16970 2006-02-28 Wim Taymans <wim@fluendo.com>
16972 * docs/design/draft-klass.txt:
16974 Added Connector to mark elements that are only used to
16975 allow pipeline connections.
16976 Moved Debug to extra feature since most of them are
16977 functionally something else.
16979 2006-02-28 Wim Taymans <wim@fluendo.com>
16981 * docs/design/draft-klass.txt:
16982 Some updates and clarifications.
16984 2006-02-28 Wim Taymans <wim@fluendo.com>
16986 * docs/design/draft-klass.txt:
16987 Proposal for klass field values.
16989 * docs/design/part-streams.txt:
16990 Start of a doc describing stream anatomy.
16992 2006-02-28 Wim Taymans <wim@fluendo.com>
16994 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16995 Help the compiler a bit with type registration.
16996 Use existing forward cod path instead of duplicating it when
16997 handling a message.
16999 * gst/gstbus.c: (gst_bus_get_type):
17000 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17001 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17002 * gst/gstclock.c: (gst_clock_get_type):
17003 * gst/gstelement.c: (gst_element_get_type),
17004 * gst/gstelementfactory.c: (gst_element_factory_get_type):
17005 * gst/gstindexfactory.c: (gst_index_factory_get_type):
17006 * gst/gstminiobject.c: (gst_mini_object_get_type):
17007 * gst/gstpad.c: (gst_pad_get_type):
17008 * gst/gstsegment.c: (gst_segment_get_type):
17009 * gst/gststructure.c: (gst_structure_get_type):
17010 * gst/gstsystemclock.c: (gst_system_clock_get_type):
17011 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17013 Help compiler with type registration.
17015 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17018 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17020 * plugins/elements/gsttypefindelement.c:
17021 (gst_type_find_element_handle_event):
17022 When we get an EOS event and have not found a type yet
17023 (most likely because we had not yet accumulated
17024 TYPE_FIND_MIN_SIZE of data yet), try to determine the
17025 type given the data we have so far. Fixes typefinding
17026 for very short streams again, most notably quicktime
17027 redirections as used on Apple's trailer site (#331701).
17029 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17031 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17032 (gst_type_find_helper):
17033 Try typefinding factories with the highest rank first.
17035 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17037 * docs/libs/gstreamer-libs-docs.sgml:
17038 * docs/libs/gstreamer-libs-sections.txt:
17039 * libs/gst/base/gsttypefindhelper.c:
17040 Add section for typefind helper and add documentation
17041 for the old and the new function.
17043 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17045 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17046 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17047 (gst_type_find_helper_for_buffer):
17048 * libs/gst/base/gsttypefindhelper.h:
17049 New API: gst_type_find_helper_for_buffer() (#332723).
17051 2006-02-27 Michael Smith <msmith@fluendo.com>
17053 Patch by: Loïc Minier
17056 * docs/Makefile.am:
17057 * docs/slides/Makefile.am:
17058 prevent CVS directories getting disted.
17060 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17062 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17063 Use the REFCOUNTING category for caps refcounting.
17065 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17067 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17068 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17070 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17072 * plugins/elements/gsttypefindelement.c:
17073 (gst_type_find_element_activate):
17074 Use gst_pad_check_pull_range() before _activate_pull()
17075 to avoid unnecessary open/close (see #331690).
17077 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17080 Docs enhancement: make it crystal clear what the
17081 gst_pad_add_*_probe() callbacks should look like.
17083 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17085 * libs/gst/base/gstbasesrc.c:
17086 Document how applications can stop recording from
17087 live sources (see #330996).
17089 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17091 * tests/check/Makefile.am:
17092 * tests/check/libs/basesrc.c: (eos_event_counter),
17093 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17094 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17095 (gst_basesrc_suite), (main):
17096 ... and add some tests for the base source EOS stuff.
17098 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17100 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17101 Test case originally showed the problem fixed below,
17102 but was then amended. Add checks back at the place
17103 where they used to be.
17105 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17107 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17108 (gst_base_src_init), (gst_base_src_loop),
17109 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17110 (gst_base_src_change_state):
17111 * libs/gst/base/gstbasesrc.h:
17112 Don't unconditionally send EOS when going from PAUSED to
17113 READY state, esp. make sure we don't send two EOS events
17114 in some cases (e.g. one when reaching EOS and one when
17115 going from PAUSED to READY). Also, we don't want to send
17116 EOS events when operating in pull mode. However, we do
17117 want to send an EOS event when shutting down a live
17118 source explicitly, for example (fixes #330996).
17120 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17122 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17123 Update src->read_position after a seek when not using mmap.
17124 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17126 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17132 Make things work with --disable-parse as they do with
17133 --disable-load-save - the symbols involved disappear, but the
17134 header is still installed and GST_DISABLE_PARSE is included via
17137 2006-02-20 Julien MOUTTE <julien@moutte.net>
17139 * libs/gst/base/gstbasetransform.c:
17140 (gst_base_transform_change_state): Fix a stupid bug. I was
17141 sure I compiled that.
17143 2006-02-20 Julien MOUTTE <julien@moutte.net>
17145 * gst/gstpad.c: (gst_pad_set_blocked_async):
17146 * gst/gstutils.c: (gst_pad_add_data_probe),
17147 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17148 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17149 (gst_pad_remove_buffer_probe): Make those function act on the
17150 ghostpad target when it's a ghostpad. (Closes #331727)
17152 2006-02-20 Julien MOUTTE <julien@moutte.net>
17154 * libs/gst/base/gstbasetransform.c:
17155 (gst_base_transform_change_state): Make basetransform reusable.
17158 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17160 * docs/random/release:
17161 Move the current documentation of how to do a release to the top
17164 * gst/gstbin.c: (gst_bin_class_init),
17165 (gst_bin_handle_message_func):
17166 Allow multiple state-recalculation threads. (Closes #328873)
17168 2006-02-19 Julien MOUTTE <julien@moutte.net>
17170 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17171 * gst/gstpad.c: (gst_pad_set_event_function),
17172 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17173 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17174 2 strings. You can't use the STR_NULL macro on that.
17176 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17178 * gst/gstpad.c: (gst_pad_set_event_function),
17179 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17180 (gst_pad_set_getcaps_function)
17181 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17182 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17183 So now, we can use --gst-debug-level=5 on Windows
17184 * win32/common/libgstcontroller.def:
17185 Added export of gst_controller_init
17186 * win32/vs6/libgstcontroller.dsp:
17187 Fixed Release post build configuration
17189 2006-02-17 Wim Taymans <wim@fluendo.com>
17191 * tests/check/gst/gstquery.c: (GST_START_TEST):
17192 Added another check.
17194 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17196 * plugins/elements/gsttypefindelement.c: (find_peek):
17197 We can do peeks at non-zero offsets, as long as they
17198 fall within the buffer we have.
17200 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17202 * tests/check/Makefile.am:
17203 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17204 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17205 (parse_suite), (main):
17206 Add testsuite for parse launch syntax
17208 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17210 * plugins/elements/gsttypefindelement.c:
17211 (gst_type_find_element_chain):
17212 When typefinding is unsuccessful in the chain function, don't
17213 error out immediately. Only error out with NO_CAPS_FOUND if
17214 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17215 otherwise simply wait for more data so we can try typefinding
17216 again with more data later. Also, don't attempt to typefind
17217 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17218 this should improve typefinding from network sources where the
17219 size of the first buffer can be somewhat random.
17221 2006-02-14 Wim Taymans <wim@fluendo.com>
17223 * docs/gst/gstreamer-sections.txt:
17224 * gst/gstpadtemplate.c:
17225 * gst/gstpadtemplate.h:
17226 Fix padtemplate docs, fixes #328805.
17228 2006-02-14 Wim Taymans <wim@fluendo.com>
17230 * tools/gst-launch.c: (main):
17231 NO_PREROLL is not an ERROR so don't send confusing messages
17234 2006-02-14 Wim Taymans <wim@fluendo.com>
17236 Patch by: Torsten Schoenfeld
17238 * gst/gstregistry.c: (gst_registry_get_default),
17239 (_gst_registry_cleanup):
17240 Protect default registry with lock and ref/sink it.
17243 2006-02-14 Wim Taymans <wim@fluendo.com>
17246 * gst/gstquery.c: (gst_query_list_add_format),
17247 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17248 (gst_query_parse_formats_nth):
17249 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17252 2006-02-14 Wim Taymans <wim@fluendo.com>
17254 * docs/gst/gstreamer-sections.txt:
17255 Reworked query docs.
17257 * gst/gstquery.c: (gst_query_new_formats),
17258 (gst_query_list_add_format), (gst_query_set_formats),
17259 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17260 (gst_query_parse_formats_nth):
17262 Flesh out formats query, added some new methods.
17263 Fix part of #324398.
17265 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17266 Added query creation tests.
17268 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17270 * gst/gstpad.c: (fixate_value):
17271 Add a default fixation for fraction lists.
17273 2006-02-13 Wim Taymans <wim@fluendo.com>
17275 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17276 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17279 Detect and warn for obvious deadlocks. fixes #320340
17280 Fix error case where lock was not released.
17282 * tests/check/Makefile.am:
17283 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17284 (task_func), (gst_element_suite), (main):
17287 2006-02-13 Wim Taymans <wim@fluendo.com>
17289 * docs/gst/gstreamer-sections.txt:
17291 Add new functions to docs.
17293 2006-02-13 Wim Taymans <wim@fluendo.com>
17295 * docs/design/part-TODO.txt:
17296 Updated TODO list, basesrc supports seeking to non-bytes
17299 * docs/design/part-element-sink.txt:
17302 * gst/gstbin.c: (bin_replace_message),
17303 (gst_bin_handle_message_func):
17304 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17305 * gst/gstevent.c: (gst_event_finalize):
17306 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17307 (gst_pad_send_event):
17308 Use shiny new _TYPE_NAME macros.
17310 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17311 Move debug statement up.
17313 * gst/gstelement.c: (gst_element_set_locked_state):
17314 Add some debugging.
17316 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17318 * docs/gst/gstreamer-sections.txt:
17319 * gst/gstmessage.h:
17321 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17322 macros (#330906). Also, document the already existing
17323 GST_QUERY_TYPE macro.
17325 2006-02-13 Wim Taymans <wim@fluendo.com>
17327 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17328 (event_probe), (GST_START_TEST):
17329 Only events up to the pipeline EOS are counted, there are
17330 some more when going to NULL currently which we don't care
17333 2006-02-13 Wim Taymans <wim@fluendo.com>
17335 * gst/gstpad.c: (gst_pad_send_event):
17336 Correctly check flushing and emit probes. fixes #330125
17338 2006-02-10 Andy Wingo <wingo@pobox.com>
17340 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17342 (gst_bus_init): Cache the location of the private data in the
17343 instance structure.
17344 (gst_bus_enable_sync_message_emission)
17345 (gst_bus_disable_sync_message_emission): Implement new public
17347 (gst_bus_post): Emit the sync-message signal if the user asked for
17350 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17351 location of the bus-private structure.
17352 (gst_bus_enable_sync_message_emission)
17353 (gst_bus_disable_sync_message_emission): API addition
17355 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17357 Patch by: Vincent Torri
17359 * docs/pwg/building-boiler.xml:
17360 PWG patch from #326800
17362 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17365 * docs/Makefile.am:
17366 * docs/design/Makefile.am:
17369 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17374 === release 0.10.3 ===
17376 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17379 releasing 0.10.3, "Like a virgin"
17381 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17384 2nd prerelease of 0.10.3
17385 Bump libtool versioning.
17387 2006-02-07 Andy Wingo <wingo@pobox.com>
17389 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17390 update last_stop if we're in TIME format and the timestamp is
17393 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17394 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17395 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17396 If we get a new newsegment with a different format, adapt
17399 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17400 of 0. Not a problem, really.
17402 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17405 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17410 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17413 project files updated to the default vs7 configuration
17414 * win32/common/libgstbase.def:
17415 * win32/common/libgstreamer.def:
17417 removed empty lines,
17418 sorted all exported symbols alphabetically
17419 * win32/common/dirent.c:
17420 * win32/common/dirent.h:
17421 * win32/common/gchar.h:
17422 use windows line end.
17424 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17426 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17427 Send EOS event when stopping.
17429 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17432 Tell folks what to do if the plugin-foobar.xml file
17433 hasn't been generated for a newly-added plugin.
17435 2006-02-05 Julien MOUTTE <julien@moutte.net>
17437 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17438 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17439 (gst_collect_pads_start), (gst_collect_pads_stop),
17440 (gst_collect_pads_event): Collectpads now holds a reference
17441 to the GstPad that was added. Indeed we don't want to look
17442 at pads that might just go away with no warning...
17444 2006-02-05 Julien MOUTTE <julien@moutte.net>
17446 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17447 (gst_collect_pads_start), (gst_collect_pads_stop),
17448 (gst_collect_pads_event), (gst_collect_pads_chain):
17449 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17450 Mark Nauwelaerts's patch on bug #328491.
17452 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17454 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17456 Add some simple tests for gst_parse_bin_from_description() and
17457 gst_bin_find_unconnected_pad() (#329069).
17459 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17461 * tools/gst-launch.c: (event_loop), (main):
17462 Catch errors during preroll (#320084).
17464 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17466 * plugins/elements/gsttypefindelement.c:
17467 (gst_type_find_element_activate):
17468 Post TYPE_NOT_FOUND error message when typefinding
17469 is unsuccessful in the activate function as well.
17471 2006-02-02 Wim Taymans <wim@fluendo.com>
17473 * docs/design/part-element-sink.txt:
17476 2006-02-02 Wim Taymans <wim@fluendo.com>
17478 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17479 (gst_base_sink_render_object),
17480 (gst_base_sink_queue_object_unlocked):
17481 Only keep track of prerollable items when we are
17483 Before rendering after preroll, always check if we
17485 Added some more debugging.
17487 2006-02-02 Wim Taymans <wim@fluendo.com>
17489 * gst/gstelement.c: (gst_element_continue_state),
17490 (gst_element_set_state_func), (gst_element_change_state):
17491 Fixed #326576, been running this for quite some time with
17492 no regressions at all.
17494 2006-02-02 Wim Taymans <wim@fluendo.com>
17497 Added more suppressions
17499 2006-02-02 Wim Taymans <wim@fluendo.com>
17501 * docs/design/part-element-sink.txt:
17504 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17505 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17506 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17507 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17508 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17509 (gst_base_sink_preroll_object),
17510 (gst_base_sink_queue_object_unlocked),
17511 (gst_base_sink_queue_object), (gst_base_sink_event),
17512 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17513 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17514 (gst_base_sink_get_position), (gst_base_sink_change_state):
17515 * libs/gst/base/gstbasesink.h:
17516 Totally refactored matching the design doc.
17517 Use two segments, one to clip incomming buffers and another to
17519 Handle queueing correctly, bypass the queue when playing.
17520 Make EOS cancelable.
17521 Handle errors correctly when operating in pull based mode.
17523 * tests/check/elements/fakesink.c: (GST_START_TEST),
17525 Added new check for sinks.
17527 2006-02-02 Wim Taymans <wim@fluendo.com>
17529 * gst/gstsegment.c: (gst_segment_clip):
17530 No reason to refuse to clip when start == -1
17532 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17535 * docs/manual/intro-basics.xml:
17536 * docs/manual/intro-preface.xml:
17537 * docs/manual/manual.xml:
17538 * docs/pwg/advanced-dparams.xml:
17539 * docs/pwg/intro-basics.xml:
17540 * docs/pwg/intro-preface.xml:
17541 * docs/pwg/pwg.xml:
17542 describe dparams (controller) for plugins
17543 unify docs a little more
17545 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17547 * docs/gst/gstreamer-sections.txt:
17548 * gst/gstutils.c: (element_find_unconnected_pad),
17549 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17551 Add new API: gst_parse_bin_from_description() and
17552 gst_bin_find_unconnected_pad() (#329069).
17554 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17556 * docs/manual/README:
17557 uncover a nasty detail of the docs build
17559 2006-01-31 Wim Taymans <wim@fluendo.com>
17561 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17562 Don't cache duration messages if we're not going to use or
17565 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17567 * docs/manual/advanced-dparams.xml:
17568 * docs/pwg/advanced-dparams.xml:
17572 * libs/gst/controller/lib.c: (gst_controller_init):
17575 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17577 * gst/gstelement.c: (gst_element_message_full):
17578 also show file/line/func if no additional debug was given
17580 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17582 * win32/vs7/grammar.vcproj:
17583 activate copy of autogenerated files for Release mode
17585 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17587 * win32/common/libgstreamer.def:
17588 export gst_value_compare
17590 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17592 * plugins/elements/Makefile.am:
17593 * plugins/elements/gstelements.c:
17594 * plugins/elements/gstfdsink.c: (_do_init),
17595 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17596 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17597 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17598 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17599 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17600 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17601 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17602 * plugins/elements/gstfdsink.h:
17603 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17605 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17607 * docs/manual/advanced-dparams.xml:
17608 describe controller
17609 * docs/manual/advanced-position.xml:
17610 * docs/manual/basics-init.xml:
17611 * docs/manual/manual.xml:
17612 * docs/manual/titlepage.xml:
17613 * docs/pwg/pwg.xml:
17614 * docs/pwg/titlepage.xml:
17615 cleanup xml (more to come)
17616 * libs/gst/controller/gstcontroller.c:
17619 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17621 * win32/vs6/grammar.dsp:
17622 add autogen of gstmarshal.c,h for Release mode
17624 2006-01-30 Wim Taymans <wim@fluendo.com>
17626 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17627 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17628 (gst_base_sink_handle_object), (gst_base_sink_event),
17629 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17630 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17631 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17632 (gst_base_sink_deactivate), (gst_base_sink_activate),
17633 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17634 (gst_base_sink_query), (gst_base_sink_change_state):
17635 Basesink cleanups, remove some old code.
17636 Handle the case where a subclass can preroll in the render
17637 method (mostly audiosinks).
17638 Handle more events.
17639 Remove some locks around variables that are now protected
17640 with the PREROLL_LOCK (clock_id, flushing, ..).
17641 Optimize position query some more, do correct locking.
17642 Remove old code to push queue in state change, this is not
17643 needed anymore since preroll blocks on all prerollable items
17645 Almost implemented as described in design doc.
17647 2006-01-30 Wim Taymans <wim@fluendo.com>
17649 * tests/check/gst/gstbin.c: (GST_START_TEST):
17650 Wait for refcount to settle down before checking.
17652 2006-01-30 Wim Taymans <wim@fluendo.com>
17654 * docs/design/part-element-sink.txt:
17655 Pseudo code overview of desired sink behaviour regarding
17658 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17659 * win32/vs6/grammar.dsp:
17660 fix some bugs in Release mode for autogenerated files
17662 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17663 * win32/common/libgstbase.def:
17664 * win32/common/libgstreamer.def:
17665 export some new symbols: gst_base_src_set_format,
17666 gst_iterator_next, gst_structure_set_valist
17668 2006-01-29 Julien MOUTTE <julien@moutte.net>
17670 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17671 Set pad functions unconditionally. Fixes #329105.
17673 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17675 add vs8 project files created by Sergey Scobich
17677 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17679 * gst/gstutils.c: (gst_element_unlink_pads):
17680 Don't leak pad references.
17682 * tests/check/elements/fakesink.c: (GST_START_TEST):
17683 * tests/check/generic/sinks.c: (GST_START_TEST):
17684 * tests/check/generic/states.c: (GST_START_TEST):
17685 * tests/check/gst/gstbin.c: (GST_START_TEST):
17686 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17687 * tests/check/gst/gstelement.c: (GST_START_TEST):
17688 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17689 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17690 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17691 Fix a bunch of leaks. Make generic/sinks.c
17692 use a bit less cpu by slowing the buffer rate
17693 between fakesrc and fakesink.
17695 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17697 * gst/gstelement.c: (gst_element_send_event):
17700 * gst/gstiterator.c:
17701 * gst/gstiterator.h:
17702 * gst/gstpad.c: (gst_pad_send_event):
17703 * gst/gststructure.c:
17707 * libs/gst/base/gstadapter.c:
17708 doc fixes, to link to function, just write gst_cool_function(), don't
17711 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17713 * plugins/elements/gsttee.c: (gst_tee_do_push),
17714 (gst_tee_handle_buffer):
17715 Always prefer an actual return value from a src
17716 pad in place of NOT_LINKED. This means we return
17717 WRONG_STATE when all src pads are WRONG_STATE
17718 instead of NOT_LINKED.
17720 Lock when replacing the last message to prevent
17721 racing with the get_property method.
17725 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17727 * tests/check/Makefile.am:
17728 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17730 Add a very simple check that should have caught the memleak I fixed
17731 last night (if not for the slice allocator hiding it)
17733 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17735 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17736 (gst_bin_remove_func), (gst_bin_handle_message_func),
17737 (bin_query_duration_fold), (bin_query_generic_fold):
17738 Clean up references to the clock provider when disposed or when
17739 handling a clock-lost message from it.
17741 Unref sinks when performing a query via gst_iterator_fold, as the
17742 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17744 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17745 (gst_clock_set_master):
17746 Drop our reference to the master clock, if any, when we are disposed.
17748 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17749 Chain up in dispose.
17751 2006-01-26 Wim Taymans <wim@fluendo.com>
17753 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17754 Add some debugging.
17756 2006-01-26 Julien MOUTTE <julien@moutte.net>
17758 * plugins/elements/gsttee.c: (gst_tee_do_push),
17759 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17760 handles pad being NOT_LINKED or in WRONG_STATE.
17762 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17767 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17770 remove obsolete entry
17772 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17774 * docs/gst/gstreamer-sections.txt:
17775 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17776 (gst_bin_iterate_sources), (gst_bin_send_event):
17778 * gst/gstelement.c: (gst_element_send_event):
17780 * gst/gstpad.c: (gst_pad_send_event):
17781 added code for downstream events, reviewed docs in gstevent.c
17783 2006-01-25 Julien MOUTTE <julien@moutte.net>
17785 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17786 We only query position using the clock in the playing state.
17787 Query peer in the other cases.
17788 * win32/common/config.h: Updates.
17790 2006-01-24 Wim Taymans <wim@fluendo.com>
17792 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17793 A clock entry that is scheduled for the exact time of the
17794 clock is still in time.
17796 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17797 (gst_base_sink_do_sync):
17798 Add some more debug info.
17800 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17803 Add new vs7 project files and solution.
17805 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17808 all files removed as they were out-dated.
17810 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17812 * docs/random/release:
17814 * gst/gstbin.c: (gst_bin_init):
17815 * gst/gstbus.c: (gst_bus_new):
17817 * gst/gstpipeline.c: (gst_pipeline_init):
17818 use gst_bus_new(), improve logging, fix docs
17819 * win32/common/config.h:
17820 update for cvs build
17822 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17825 up required version of automake to 1.7
17827 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17829 * win32/common/libgstreamer.def:
17830 export gst_buffer_is_metadata_writable
17832 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17834 * docs/gst/gstreamer-sections.txt:
17836 Add gst_event_replace() (#327001)
17838 2006-01-20 Wim Taymans <wim@fluendo.com>
17840 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17841 Make it actually compile too..
17843 2006-01-20 Wim Taymans <wim@fluendo.com>
17846 Clarify behaviour of _is_equal() when passing NULL parameters.
17848 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17849 (gst_pad_set_caps):
17850 Cleanups. Don't unref NULL caps.
17851 When setting the same caps, protect caps of the pad with
17853 Use full functionality of _is_equal() when comparing caps.
17855 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17857 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17858 Don't loop infinitely if there are no buffers to present. Partially
17859 fixes #327197, but collectpads is just broken for reusing elements
17860 to do multiple encodes atm.
17862 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17864 * tools/gst-inspect.c: (print_element_features):
17865 * tools/gst-xmlinspect.c: (main):
17866 URL_HANDLER is not a plugin feature we can search for in
17869 2006-01-19 Edward Hervey <edward@fluendo.com>
17871 * gst/gstelement.c: (gst_element_pads_activate):
17872 When activating, do src pads first, then sink pads.
17873 When de-activating, do sink pads first, then src pads.
17875 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17877 * docs/gst/gstreamer-sections.txt:
17878 Add gst_index_add_associationv to the docs
17880 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17885 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17886 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17887 Do some refactoring. Doesn't actually change functionality,
17888 but makes landing the DRAIN event easier later.
17890 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17892 * docs/pwg/advanced-scheduling.xml:
17893 Update from 0.9.x to 0.10 API and make example a bit
17896 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17898 * docs/gst/gstreamer-sections.txt:
17899 Add gst_buffer_(is|make)_metadata_writable methods.
17901 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17903 * docs/design/part-sparsestreams.txt:
17904 Update sparse streams doc, hopefully for greater clarity
17906 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17908 * docs/design/part-events.txt:
17909 Remove mention of FILLER events.
17912 * docs/design/part-sparsestreams.txt:
17913 Write some things about using NEWSEGMENT to keep sparse streams
17916 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17918 * gst/gstbin.c: (gst_bin_dispose):
17919 Guard gst_object_unref call against a NULL object (dispose
17920 can theoretically be called multiple times).
17922 2006-01-18 Wim Taymans <wim@fluendo.com>
17924 * gst/gstbin.c: (gst_bin_element_set_state):
17925 * gst/gstclock.c: (gst_clock_id_wait):
17926 Added some more debug info.
17928 * libs/gst/base/gstadapter.c:
17931 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17932 (gst_base_sink_do_sync), (gst_base_sink_chain):
17933 Added some comments.
17935 2006-01-18 Wim Taymans <wim@fluendo.com>
17937 * tests/check/Makefile.am:
17938 * tests/check/elements/fakesink.c: (chain_async_buffer),
17939 (chain_async), (chain_async_return), (GST_START_TEST),
17940 (fakesink_suite), (main):
17941 Added fakesink test that checks prerolling and clipping
17944 * tests/check/gst/gstutils.c: (GST_START_TEST):
17945 Make check run faster so that buildbots don't timeout.
17947 2006-01-18 Wim Taymans <wim@fluendo.com>
17949 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17950 (gst_base_sink_do_sync):
17952 When the sink finishes blocking on the preroll buffer, it can
17953 immediatly render it instead of rendering when the next buffer
17956 2006-01-18 Wim Taymans <wim@fluendo.com>
17958 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17959 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17960 (gst_base_sink_chain):
17962 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17963 Don't store _last_stop if the buffer is dropped.
17965 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17967 * plugins/elements/gsttypefindelement.c:
17968 (gst_type_find_element_class_init):
17969 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17970 object method handler that sets the caps on the pad and we want
17971 that to happen before we emit the signal (fixes e.g. feeding a
17972 plain text file to decodebin).
17974 2006-01-18 Christian Schaller <Christian@fluendo.com>
17976 * gst/gstplugin.c: Add MPL and Proprietary as license options
17978 2006-01-18 Andy Wingo <wingo@pobox.com>
17980 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17981 symbol was exported before, it appears this was just an oversight.
17983 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17985 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17986 prototype to gint. OK since this prototype was not in the header.
17988 2006-01-17 Andy Wingo <wingo@pobox.com>
17990 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17991 registry while we remove plugins.
17993 * tools/gst-inspect.c (print_element_info): Don't unref the
17994 factory arg, that should be the responsibility of whatever code
17995 received the ref. Fixes a double-free when called from
17996 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17997 (main): Unref the factory if we have one.
17998 (print_element_list): No change -- relies on the
17999 plugin_feature_list_free to free the list of features.
18001 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
18003 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18004 (gst_buffer_make_metadata_writable):
18006 * libs/gst/base/gstbasetransform.c:
18007 (gst_base_transform_prepare_output_buf):
18008 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18009 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18010 Replace gst_buffer_(make|is)_metadata_writable patch now
18011 that the release is out.
18013 2006-01-17 Andy Wingo <wingo@pobox.com>
18015 * gst/gstregistry.c: Reflow design comment. Update so as to speak
18016 in the present tense without reference to versions.
18018 * gst/gstregistry.c (gst_registry_add_plugin)
18019 (gst_registry_remove_plugin, gst_registry_remove_feature)
18020 (gst_registry_find_feature, gst_registry_get_feature_list)
18021 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18022 (gst_registry_lookup, gst_registry_scan_path)
18023 (_gst_registry_remove_cache_plugins)
18024 (gst_registry_get_feature_list_by_plugin): Add argument
18027 === release 0.10.2 ===
18029 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
18032 releasing 0.10.2, "If man is five"
18034 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18038 * libs/gst/base/gstbasetransform.c:
18039 (gst_base_transform_prepare_output_buf):
18040 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18041 * tests/check/gst/gstbuffer.c: (gst_test_suite):
18042 Back out patch until after the release.
18044 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18046 * gst/gstminiobject.c:
18047 Spelling fix in docs.
18048 * ChangeLog - remove conflict indicator
18050 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18052 Reviewed By: Andy Wingo
18054 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18055 (gst_buffer_make_metadata_writable):
18057 Add gst_buffer_(is|make)_metadata_writable as analogues of
18058 gst_buffer_(is|make)_writable.
18060 * libs/gst/base/gstbasetransform.c:
18061 (gst_base_transform_prepare_output_buf):
18062 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18063 Use name gst_buffer_(is|make)_metadata_writable functions.
18065 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18066 Test gst_buffer_(is|make)_metadata_writable
18070 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18072 * docs/manual/Makefile.am:
18073 don't do parallel make
18076 * win32/common/config.h.in:
18077 add generations for HOST_CPU and GST_MAJORMINOR
18078 * win32/common/config.h:
18079 commit generated result
18081 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18083 * docs/manual/appendix-integration.xml:
18084 Update GNOME integration section to use gst_init_get_option_group()
18085 instead of the old popt stuff (#322911). Also, GNOME applications
18086 should now use gconf*sink and gconf*src instead of the old gconf
18089 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18092 * docs/gst/gstreamer-docs.sgml:
18093 * docs/gst/gstreamer-sections.txt:
18094 * docs/libs/gstreamer-libs-sections.txt:
18095 add new API entries to the docs
18096 * libs/gst/controller/Makefile.am:
18097 * libs/gst/controller/gstcontroller.c:
18098 * libs/gst/controller/gstcontroller.h:
18099 * libs/gst/controller/gstcontrollerprivate.h:
18100 * libs/gst/controller/gsthelper.c:
18101 * libs/gst/controller/gstinterpolation.c:
18102 move private structs to private header
18104 gstreamer-0.7 -> gstreamer-0.10
18105 * tests/check/libs/struct_i386.h:
18106 remove private structs
18108 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18110 * plugins/indexers/Makefile.am:
18111 Fixes as part of #317048
18113 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18115 * plugins/indexers/Makefile.am:
18116 fix #316086 - compilation when mmap is missing
18118 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18120 * libs/gst/base/gstbasesink.c:
18121 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18122 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18123 * win32/common/config.h:
18124 added some defines GST_MAJORMINOR and HOST_CPU
18125 * win32/common/libgstbase.def:
18126 * win32/common/libgstreamer.def:
18127 added some exported functions.
18129 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18131 * libs/gst/controller/gstcontroller.c:
18132 (gst_controlled_property_set_interpolation_mode),
18133 (gst_controlled_property_new):
18134 * libs/gst/controller/gstcontroller.h:
18135 * libs/gst/controller/gstinterpolation.c:
18136 (interpolate_none_get_string_value_array):
18137 make G_TYPE_STRING controlable
18139 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18142 * tools/gst-feedback.1.in:
18143 * tools/gst-inspect.1.in:
18144 * tools/gst-launch.1.in:
18145 * tools/gst-md5sum.1.in:
18146 * tools/gst-typefind.1.in:
18147 * tools/gst-xmlinspect.1.in:
18148 * tools/gst-xmllaunch.1.in:
18149 cleanup man-pages, remove reference to gst-register, document env-vars
18151 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18153 * gst/gstbuffer.c: (gst_buffer_span):
18154 gst_buffer_span should copy the timestamp of the first buffer
18155 if they were both originally overlapping subbuffers of the
18156 same parent, using the same logic as the 'slow copy' case.
18158 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18160 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18161 Need to awaken ALL the pads when we pop a buffer, otherwise
18162 collectpads only works when there is 2 input streams.
18164 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18166 * docs/random/ensonic/media-device-daemon.txt:
18169 fix doc example, add clarification
18170 * tools/gst-launch.1.in:
18171 add initial info about GST_PLUGIN_PATH, needs more work
18173 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18175 * docs/manual/basics-bins.xml:
18176 * docs/manual/basics-elements.xml:
18177 * docs/manual/intro-basics.xml:
18178 Some more minor docs additions and updates.
18180 2006-01-11 Wim Taymans <wim@fluendo.com>
18182 * docs/manual/basics-bins.xml:
18183 * docs/manual/basics-elements.xml:
18184 Some small fixes as pointed out by Ser-ver on IRC.
18186 2006-01-10 Edward Hervey <edward@fluendo.com>
18188 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18189 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18190 the single-segment mode.
18192 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18194 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18196 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18197 (gst_base_src_perform_seek), (gst_base_src_send_event),
18198 (gst_base_src_set_property), (gst_base_src_get_property),
18199 (gst_base_src_loop), (gst_base_src_start),
18200 (gst_base_src_activate_push):
18201 * libs/gst/base/gstbasesrc.h:
18202 Name (private) union; makes Sun's Forte compiler happy (#324900).
18204 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18207 gst-register is gone.
18209 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18211 * gst/gstvalue.c: (_gst_value_initialize):
18212 make the G_TYPE_DATE instantiation work if debug is disabled
18214 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18216 * gst/gstmessage.c: (gst_message_parse_tag),
18217 (gst_message_parse_error), (gst_message_parse_warning):
18218 Don't crash when return location for error/warning debug
18219 string is NULL; add fact that return locations can be
18220 NULL to docs where appropriate.
18222 2006-01-05 Wim Taymans <wim@fluendo.com>
18224 * gst/gstplugin.c: (gst_plugin_load_file):
18225 Replace strdup by g_strdup.
18227 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18229 * docs/pwg/advanced-types.xml:
18232 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18234 submitted by: Abel Cheung
18238 Added Chinese (traditional) translation
18240 2006-01-04 Wim Taymans <wim@fluendo.com>
18242 * docs/manual/basics-pads.xml:
18243 * docs/plugins/Makefile.am:
18244 * docs/plugins/gstreamer-plugins-docs.sgml:
18245 * docs/plugins/gstreamer-plugins-sections.txt:
18246 * docs/pwg/advanced-clock.xml:
18247 * docs/pwg/advanced-scheduling.xml:
18248 * docs/pwg/advanced-types.xml:
18249 * plugins/elements/gstfdsink.c:
18250 * plugins/elements/gstfdsrc.c:
18251 * plugins/elements/gstfdsrc.h:
18252 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18253 * plugins/elements/gstidentity.h:
18254 * plugins/elements/gstqueue.h:
18255 * plugins/elements/gsttee.c:
18256 * plugins/elements/gsttee.h:
18257 * plugins/elements/gsttypefindelement.c:
18258 (gst_type_find_element_class_init):
18259 * plugins/elements/gsttypefindelement.h:
18260 Small updates to various docs.
18261 Added core plugins to docs.
18263 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18266 add a suppression for liboil's uninitialized variable
18268 2006-01-02 James Livingston <jrl at ids dot org dot au>
18270 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18273 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18274 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18275 compiler switch is being used (#325429).
18277 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18279 * gst/gstbin.c: (gst_bin_query):
18280 Disable duration query caching in bins until it gets
18281 fixed (see #324807).
18283 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18285 * tools/gst-inspect.c: (print_element_properties_info):
18286 Handle properties of POINTER and BOXED type.
18288 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18290 * gst/gst.c: (init_post):
18291 Init tags stuff and some other things before loading
18292 any static plugins (there may be other static plugins
18293 than just the GStreamer ones, and they may want to
18294 register their own tags or formats or whatever, and
18295 preferably without segfaulting).
18297 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18298 Print at least a warning in the debug logs if we drop a
18299 query just because we don't know how to adjust the value
18300 in the particular format.
18302 2005-12-24 David Schleef <ds@schleef.org>
18304 * tools/gstreamer-completion:
18305 Replacement for gst-complete written in sh and sed. Only
18306 completes names of features, but that's 90% of what I want
18307 it for. Properties are not available in registry.xml. (Maybe
18310 === release 0.10.1 ===
18312 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18315 releasing 0.10.1, "Nollaig chridheil"
18317 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18319 * docs/faq/cvs.xml:
18320 Add missing quote, should be make ERROR_CFLAGS="".
18322 2005-12-20 Wim Taymans <wim@fluendo.com>
18324 * docs/design/part-trickmodes.txt:
18325 More documentation on trickmodes.
18327 2005-12-20 Edward Hervey <edward@fluendo.com>
18329 * gst/gstcaps.c: (gst_static_caps_get_type):
18331 API addition: GST_TYPE_STATIC_CAPS
18332 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18333 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18334 * gst/gstpadtemplate.h:
18335 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18336 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18339 2005-12-18 Wim Taymans <wim@fluendo.com>
18341 * libs/gst/base/gstadapter.c:
18342 * libs/gst/base/gstadapter.h:
18343 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18344 (gst_base_sink_get_position):
18345 * libs/gst/base/gstbasesink.h:
18346 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18347 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18348 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18349 (gst_base_src_send_event), (gst_base_src_update_length),
18350 (gst_base_src_get_range), (gst_base_src_loop),
18351 (gst_base_src_start):
18352 * libs/gst/base/gstbasesrc.h:
18353 * libs/gst/base/gstbasetransform.h:
18354 * libs/gst/base/gstcollectpads.h:
18355 * libs/gst/base/gstpushsrc.c:
18356 * libs/gst/base/gstpushsrc.h:
18357 * libs/gst/dataprotocol/dataprotocol.c:
18358 * libs/gst/dataprotocol/dataprotocol.h:
18359 * libs/gst/net/gstnetclientclock.h:
18360 * libs/gst/net/gstnettimeprovider.h:
18361 Documentation updates.
18363 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18365 * docs/manual/basics-helloworld.xml:
18366 Remove superfluous closing bracket in helloworld example.
18368 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18370 * tools/gst-launch.1.in:
18371 Update gst-launch man page; add a section with useful
18372 environment variables. Fixes #323882.
18374 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18377 * gst/gst_private.h:
18378 change some char* into char[]
18380 2005-12-16 Wim Taymans <wim@fluendo.com>
18382 * gst/gstregistryxml.c: (load_feature):
18384 Don't use g_object_unref on GstObjects so that we avoid
18385 leaks on unsafe glibs.
18387 2005-12-16 Wim Taymans <wim@fluendo.com>
18389 * gst/gstbin.c: (gst_bin_recalc_state):
18392 2005-12-16 Wim Taymans <wim@fluendo.com>
18394 * common/check.mak:
18395 Added make forever target for check.
18397 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18399 * gst/gst.c: (init_post):
18400 make the registry cache file HOST_CPU-dependent
18402 2005-12-16 Andy Wingo <wingo@pobox.com>
18404 * plugins/elements/gstbufferstore.c
18405 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18408 * tests/check/gst/gstobject.c
18409 (test_fake_object_name_threaded_unique): Pay attention to
18410 g_list_sort return value.
18412 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18414 * tools/gst-feedback-m.m:
18415 Update for 0.9/0.10 (fixes #323870).
18417 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18419 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18420 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18422 * tests/check/gst/gstminiobject.c: (my_foo_init),
18423 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18424 (test_value_collection), (gst_mini_object_suite):
18425 Add test to ensure refcounts end up as expected when passing
18426 GstMiniObjects through g_object_get() and g_object_set().
18428 2005-12-14 Julien MOUTTE <julien@moutte.net>
18430 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18431 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18432 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18433 of collectpads. This version removes a lot of races without
18434 touching API/ABI. Yay !
18436 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18438 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18439 Don't allow activation of a srcpad in pull_range if it has no
18441 Change some debug statements to be a little clearer
18443 * plugins/elements/gsttypefindelement.c:
18444 (gst_type_find_handle_src_query):
18445 Check that we have a peer before executing queries thereupon.
18447 * tests/examples/metadata/read-metadata.c: (message_loop):
18448 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18449 immediately return us any available message with 0 timeout.
18451 2005-12-12 Michael Smith <msmith@fluendo.com>
18453 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18454 Don't unref factories after calling them.
18455 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18456 * plugins/elements/gsttypefindelement.c:
18457 (gst_type_find_element_chain):
18458 Free lists of factories after using them. Fixing typefinding memory
18461 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18463 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18464 (gst_plugin_feature_load):
18465 more meaningful debug output
18467 * tests/Makefile.am:
18468 * tests/old/examples/Makefile.am:
18469 make make distcheck happy again
18471 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18473 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18474 Catch the special case where we are operating chain-based,
18475 but the downstream peer pad has no chain function. Emit a
18476 custom error message in this case instead of letting the
18477 core generate one implying that this is some sort of core
18478 bug. It's not, it just means that whatever got plugged
18479 into the pipeline downstream when we announced the type
18480 can only operate pull-based, while our source can only
18481 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18482 Error string has not been marked for translation yet, as
18483 it probably needs some more work first.
18485 (gst_type_find_element_get_best_possibility):
18486 Add helper function to find the best of all available
18487 found possibilities that qualify given the min. threshold.
18489 (gst_type_find_element_handle_event):
18490 Fix the case where we get an EOS while still in TYPEFIND
18491 mode (we want to chose the best of all possible types,
18492 not just the first type that happens to be in our unsorted
18493 list of possible types).
18495 (gst_type_find_element_chain):
18496 Make sure we return GST_FLOW_ERROR when we errored out
18497 in stop_typefinding(); also, don't just find the best of
18498 all found type entries and then use the last examined
18499 type entry, but actually use the best entry.
18501 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18503 * tests/examples/typefind/typefind.c: (type_found):
18504 * tests/examples/xml/runxml.c: (xml_loaded):
18505 More gcc4 fixes and a mem leak fix.
18507 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18509 * tests/examples/xml/createxml.c: (object_saved):
18512 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18514 * tests/Makefile.am:
18515 enable the examples even more
18517 2005-12-12 Andy Wingo <wingo@pobox.com>
18519 * libs/gst/net/gstnettimeprovider.c
18520 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18521 (gst_net_time_provider_set_property)
18522 (gst_net_time_provider_get_property):
18523 API addition: Export "active" as a GObject property.
18524 (gst_net_time_provider_thread): Only respond to time queries if
18525 the time provider is active.
18527 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18528 NetTimeProvider, preserving binary compat.
18530 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18532 * tests/examples/controller/audio-example.c: (main):
18533 * tests/examples/launch/Makefile.am:
18534 convert comments again
18536 2005-12-12 Wim Taymans <wim@fluendo.com>
18538 * libs/gst/base/gstpushsrc.c:
18541 2005-12-12 Wim Taymans <wim@fluendo.com>
18543 * docs/libs/gstreamer-libs-sections.txt:
18544 Added new symbol to docs.
18546 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18547 (gst_base_src_init), (gst_base_src_set_format),
18548 (gst_base_src_default_query), (gst_base_src_query),
18549 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18550 (gst_base_src_perform_seek), (gst_base_src_send_event),
18551 (gst_base_src_default_event), (gst_base_src_event_handler),
18552 (gst_base_src_set_property), (gst_base_src_get_property),
18553 (gst_base_src_wait), (gst_base_src_do_sync),
18554 (gst_base_src_update_length), (gst_base_src_get_range),
18555 (gst_base_src_check_get_range), (gst_base_src_loop),
18556 (gst_base_src_default_negotiate), (gst_base_src_start),
18557 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18558 (gst_base_src_change_state):
18559 * libs/gst/base/gstbasesrc.h:
18560 Implement seeking to other formats than _BYTES.
18561 Implement more seeking methods correctly.
18563 Added query vmethod.
18564 Added do_seek vmethod to make life easier for subclasses
18566 API addition: gst_base_src_set_format()
18568 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18570 * tests/examples/Makefile.am:
18573 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18576 * docs/random/ensonic/media-device-daemon.txt:
18577 * tests/examples/controller/.cvsignore:
18578 * tests/examples/controller/Makefile.am:
18579 * tests/examples/controller/audio-example.c: (main):
18580 * tests/examples/helloworld/.cvsignore:
18581 * tests/examples/helloworld/Makefile.am:
18582 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18583 * tests/examples/launch/.cvsignore:
18584 * tests/examples/launch/Makefile.am:
18585 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18586 * tests/examples/metadata/.cvsignore:
18587 * tests/examples/metadata/Makefile.am:
18588 * tests/examples/metadata/read-metadata.c: (message_loop),
18589 (make_pipeline), (print_tag), (main):
18590 * tests/examples/queue/.cvsignore:
18591 * tests/examples/queue/Makefile.am:
18592 * tests/examples/queue/queue.c: (event_loop), (main):
18593 * tests/examples/typefind/.cvsignore:
18594 * tests/examples/typefind/Makefile.am:
18595 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18597 * tests/examples/xml/.cvsignore:
18598 * tests/examples/xml/Makefile.am:
18599 * tests/examples/xml/createxml.c: (object_saved), (main):
18600 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18601 * tests/old/examples/Makefile.am:
18602 * tests/old/examples/TODO:
18603 * tests/old/examples/controller/.cvsignore:
18604 * tests/old/examples/controller/Makefile.am:
18605 * tests/old/examples/controller/audio-example.c:
18606 * tests/old/examples/helloworld/.cvsignore:
18607 * tests/old/examples/helloworld/Makefile.am:
18608 * tests/old/examples/helloworld/helloworld.c:
18609 * tests/old/examples/launch/.cvsignore:
18610 * tests/old/examples/launch/Makefile.am:
18611 * tests/old/examples/launch/mp3parselaunch.c:
18612 * tests/old/examples/launch/mp3play:
18613 * tests/old/examples/manual/Makefile.am:
18614 * tests/old/examples/metadata/Makefile.am:
18615 * tests/old/examples/metadata/read-metadata.c:
18616 * tests/old/examples/queue/.cvsignore:
18617 * tests/old/examples/queue/Makefile.am:
18618 * tests/old/examples/queue/queue.c:
18619 * tests/old/examples/typefind/.cvsignore:
18620 * tests/old/examples/typefind/Makefile.am:
18621 * tests/old/examples/typefind/typefind.c:
18622 * tests/old/examples/xml/.cvsignore:
18623 * tests/old/examples/xml/Makefile.am:
18624 * tests/old/examples/xml/createxml.c:
18625 * tests/old/examples/xml/runxml.c:
18626 applied some simple fixing to some examples
18627 re-enabled the working examples
18629 2005-12-12 Wim Taymans <wim@fluendo.com>
18631 * gst/gstsegment.c: (gst_segment_init),
18632 (gst_segment_set_last_stop), (gst_segment_set_seek),
18633 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18634 (gst_segment_to_running_time):
18635 Added more documentation.
18636 Make sure the last_pos value is updated properly.
18637 Make sure to_stream_time and to_running_time don't
18638 operate on wrong values.
18640 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18643 2005-12-12 Michael Smith <msmith@fluendo.com>
18645 * plugins/elements/gsttypefindelement.c: (free_entry),
18646 (gst_type_find_element_chain):
18647 Now that we're not leaking factories, make sure we keep references
18648 to them while we need them.
18650 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18652 * tests/check/gst/struct_i386.h:
18653 ifdef out the XML structs
18655 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18657 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18658 floor is not needed, F is always positive; this obviates the
18659 need for adding -lm when building without libxml
18661 2005-12-12 Wim Taymans <wim@fluendo.com>
18663 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18664 Take current playback rate into account when reporting
18667 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18669 * docs/manual/mime-world.fig:
18670 Let's try this again, this time with a file that is
18671 actually in XFig format.
18673 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18675 * docs/manual/mime-world.fig:
18676 Add audioconvert element to diagram so that it
18677 matches the text and the code (fixes #319526).
18679 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18681 * docs/pwg/building-chainfn.xml:
18682 * docs/pwg/building-pads.xml:
18683 * docs/pwg/building-state.xml:
18684 * docs/pwg/other-source.xml:
18685 Update state change stuff for 0.10 (fixes #322969).
18687 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18689 * docs/manual/advanced-dataaccess.xml:
18690 * docs/manual/appendix-checklist.xml:
18691 * docs/manual/appendix-programs.xml:
18692 * docs/manual/basics-pads.xml:
18693 * docs/manual/highlevel-components.xml:
18694 * docs/manual/manual.xml:
18695 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18696 add converters in front of pipelines; remove curly
18697 brackets for threads stuff, they no longer exist; use
18698 GST_TYPE_FRACTION for framerates; update some pieces of
18699 code to 0.10, but there's plenty more to do.
18701 * docs/manual/appendix-porting.xml:
18702 Expand on asynchroneous state changes; s/0.9/0.10/;
18703 mention disappearance of gst_init_get_popt_table()
18706 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18708 * docs/faq/using.xml:
18709 Spider no longer exists, and neither does gst-launch-ext.
18710 Update examples to use decodebin and playbin and put
18711 converters in front of sinks (fixes #323726).
18713 2005-12-09 Michael Smith <msmith@fluendo.com>
18715 * plugins/elements/gsttypefindelement.c: (find_peek),
18716 (gst_type_find_element_chain):
18717 Fix leaking element factories in typefinding.
18718 Fix problem where we forgot about a probable type on non-seekable
18719 files, and thus later mis-typefound it.
18721 2005-12-09 Michael Smith <msmith@fluendo.com>
18723 * common/m4/gst-makecontext.m4:
18724 * common/m4/gst-mcsc.m4:
18726 * win32/common/config.h:
18727 * win32/common/config.h.in:
18728 Remove makecontext stuff; not used in 0.10 and causes problems on
18729 HPUX according to bug #322441
18731 2005-12-07 Wim Taymans <wim@fluendo.com>
18733 * tests/check/Makefile.am:
18734 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18736 * tests/check/libs/struct_i386.h:
18737 Added ABI check for libs
18739 2005-12-07 Wim Taymans <wim@fluendo.com>
18741 * tests/check/Makefile.am:
18742 And add the struct_i386.h to dist.
18744 2005-12-07 Wim Taymans <wim@fluendo.com>
18746 * tests/check/Makefile.am:
18747 * tests/check/gst/.cvsignore:
18748 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18750 * tests/check/gst/struct_i386.h:
18751 Added check for ABI compatibility.
18753 2005-12-07 Wim Taymans <wim@fluendo.com>
18755 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18756 (gst_fake_src_get_times), (gst_fake_src_create):
18757 Fix broken sync option, fixes #323259
18759 2005-12-07 Wim Taymans <wim@fluendo.com>
18764 * gst/gstcaps.c: (gst_caps_is_equal):
18765 Don't assert on NULL <--> X. Fixes #323260
18767 * gst/gstminiobject.c: (gst_mini_object_replace):
18768 If we're doing atomic operations, we might just as well use
18769 the proper way to get an atomic pointer.
18771 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18772 Clean up debugging.
18774 2005-12-07 Michael Smith <msmith@fluendo.com>
18776 * gst/parse/grammar.y:
18777 Remove handling of { } for threads.
18779 2005-12-06 David Schleef <ds@schleef.org>
18781 * libs/gst/base/gstbasetransform.c: speling fix.
18783 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18785 * docs/libs/tmpl/gstdataprotocol.sgml:
18786 * docs/random/omega/testing/gstobject.c:
18789 * gst/gstelement.c:
18790 * gst/gstelementfactory.c:
18793 * gst/gstghostpad.c:
18795 * gst/gstpadtemplate.c:
18796 * gst/gstregistryxml.c:
18797 * gst/gsttaglist.c:
18798 * gst/gsttagsetter.c:
18799 * gst/gsttypefind.c:
18801 * libs/gst/base/gstbasesrc.c:
18802 * libs/gst/net/gstnetclientclock.c:
18803 * libs/gst/net/gstnettimeprovider.c:
18804 * plugins/elements/gstfakesrc.c:
18805 * plugins/elements/gstfdsrc.c:
18806 * plugins/elements/gstfilesrc.c:
18807 * plugins/elements/gstidentity.c:
18808 * plugins/elements/gstqueue.c:
18809 * plugins/elements/gsttypefindelement.c:
18810 * plugins/indexers/gstfileindex.c:
18811 * plugins/indexers/gstmemindex.c:
18812 * tests/check/gst/gsttag.c:
18813 * tests/old/examples/cutter/cutter.c:
18814 * tests/old/examples/mixer/mixer.c:
18815 * tests/old/examples/xml/runxml.c: (main):
18816 * tests/old/testsuite/caps/normalisation.c:
18817 * tests/old/testsuite/debug/global.c:
18818 * tests/old/testsuite/parse/parse1.c:
18819 * tools/gst-xmlinspect.c:
18820 * win32/common/dirent.c:
18823 === release 0.10.0 ===
18825 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18828 releasing 0.10.0, "Maroilles"
18830 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18832 submitted by: Funda Wang <fundawang@linux.net.cn>
18836 added Chinese (Traditional) translation
18838 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18840 * docs/gst/gstreamer-sections.txt:
18841 * docs/libs/tmpl/gstdataprotocol.sgml:
18842 * docs/random/thomasvs/TODO:
18847 2005-12-05 Andy Wingo <wingo@pobox.com>
18849 patch by: Wim Taymans <wim@fluendo.com>
18851 * libs/gst/base/gstbasetransform.c
18852 (gst_base_transform_prepare_output_buf)
18853 (gst_base_transform_buffer_alloc):
18854 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18855 alloc_buffer_and_set_caps.
18857 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18858 set_caps on the source pad.
18859 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18860 alloc_buffer used to do. Fixes #322874.
18862 * docs/gst/gstreamer-sections.txt:
18863 * docs/design/part-negotiation.txt:
18864 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18867 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18869 patch by: Sebastien Moutte
18872 * win32/common/config.h.in:
18873 * win32/vs6/libgstcontroller.dsp:
18876 2005-12-05 Wim Taymans <wim@fluendo.com>
18878 * gst/gstcaps.c: (gst_caps_is_equal):
18879 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18880 (gst_fake_src_create):
18881 Back out previous code changes, leave doc updates, file bugs
18884 2005-12-05 Wim Taymans <wim@fluendo.com>
18886 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18887 (gst_fake_src_get_times), (gst_fake_src_create):
18888 * plugins/elements/gstfakesrc.h:
18889 Fix broken sync code.
18891 2005-12-05 Wim Taymans <wim@fluendo.com>
18893 * gst/gstcaps.c: (gst_caps_is_equal):
18894 Comparing NULL against !NULL yields different caps, not a
18897 2005-12-05 Wim Taymans <wim@fluendo.com>
18899 * gst/gstpipeline.c:
18900 Fix small typo in docs.
18902 2005-12-05 Andy Wingo <wingo@pobox.com>
18904 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18906 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18907 registries/plugins with a MAJORMINOR one.
18908 (plugin_desc): Rename library from gstcoreleements to
18909 staticelements. Fixes #323222.
18911 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18913 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18914 Change debug category to 'collectpads' from 'collect_pads'
18917 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18919 patch by: Sebastien Moutte
18921 * libs/gst/controller/gstinterpolation.c:
18922 use convert function for uint64/double
18923 * win32/vs6/libgstcontroller.dsp:
18926 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18928 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18929 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18931 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18932 add tests that seem to show that the guint64/gdouble conversions
18935 2005-12-02 Wim Taymans <wim@fluendo.com>
18937 * gst/gstregistry.c: (gst_registry_add_path):
18938 * gst/gstregistry.h:
18939 * gst/gstregistryxml.c:
18942 2005-12-02 Wim Taymans <wim@fluendo.com>
18944 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18945 (gst_util_uint64_scale_int):
18948 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18949 Add debug log line.
18951 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18954 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18957 * win32/common/config.h:
18958 * win32/vs6/gstreamer.dsw:
18959 * win32/vs6/libgstcoreelements.dsp:
18960 * win32/vs6/libgstelements.dsp:
18961 renamed core elements plugin
18963 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18965 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18967 do piece-wise major/minor comparison so 0.9 < 0.10
18968 also allow .exe extensions for tools
18970 2005-12-02 Michael Smith <msmith@fluendo.com>
18973 Escape a % to make gtkdoc happier; bug 322958.
18975 === release 0.9.7 ===
18977 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18980 releasing 0.9.7, "My Dog Has No Nose"
18982 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18984 * common/gst-xmlinspect.py:
18986 * docs/libs/tmpl/gstdataprotocol.sgml:
18987 * docs/random/release:
19006 * win32/common/config.h:
19007 * win32/common/config.h.in:
19008 * win32/vs6/gst_inspect.dsp:
19009 * win32/vs6/gst_launch.dsp:
19010 * win32/vs6/libgstbase.dsp:
19011 * win32/vs6/libgstelements.dsp:
19012 * win32/vs6/libgstreamer.dsp:
19013 * win32/vs7/GStreamer.vcproj:
19014 * win32/vs7/gst-inspect.vcproj:
19015 * win32/vs7/gst-launch.vcproj:
19016 * win32/vs7/libgstbase.vcproj:
19017 bump GST_MAJORMINOR to 0.10
19018 reset libtool version
19020 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19024 Added Bulgarian translation by (Alexander Shopov)
19026 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19028 * tests/check/gst/gstplugin.c:
19031 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19033 * common/gst-xmlinspect.py:
19034 * common/gtk-doc-plugins.mak:
19036 * docs/Makefile.am:
19037 * docs/gst/Makefile.am:
19038 * docs/gst/gstreamer-docs.sgml:
19039 * docs/gst/gstreamer-sections.txt:
19040 * docs/gst/gstreamer.types:
19041 * docs/gst/gstreamer.types.in:
19042 * docs/plugins/Makefile.am:
19043 * docs/plugins/gstreamer-plugins-docs.sgml:
19044 * docs/plugins/gstreamer-plugins-sections.txt:
19045 * docs/plugins/gstreamer-plugins.types:
19046 * docs/plugins/inspect.stamp:
19047 * docs/plugins/inspect/plugin-coreelements.xml:
19048 * docs/plugins/inspect/plugin-coreindexers.xml:
19049 * docs/plugins/scanobj-build.stamp:
19050 * gstreamer.spec.in:
19051 * plugins/elements/Makefile.am:
19052 * plugins/elements/gstelements.c:
19053 * plugins/elements/gstfakesink.c:
19054 * plugins/elements/gstfakesrc.c:
19055 * plugins/elements/gstfilesink.c:
19056 * plugins/elements/gstfilesrc.c:
19057 * plugins/elements/gstqueue.c:
19058 * plugins/indexers/Makefile.am:
19059 * plugins/indexers/gstindexers.c:
19060 document core plugins in a separate document just like all the
19062 rename these plugins to something starting with core
19064 2005-12-01 Andy Wingo <wingo@pobox.com>
19066 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19067 padding here before, but it missed the commit.
19069 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19071 * libs/gst/controller/gstinterpolation.c:
19072 whitespace prices have crashed, we should feel free to use some now
19073 use gst_guint64_to_gdouble
19075 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19077 * libs/gst/controller/gstcontroller.c:
19078 * libs/gst/controller/gsthelper.c:
19079 * libs/gst/controller/gstinterpolation.c:
19080 * libs/gst/controller/lib.c:
19081 wrap config.h include
19083 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19085 * docs/gst/gstreamer-sections.txt:
19088 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19090 * plugins/elements/gstelements.c:
19091 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19092 (gst_fd_sink__class_init), (gst_fd_sink__init),
19093 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19094 (gst_fd_sink__get_property):
19095 * plugins/elements/gstfdsink.h:
19096 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19097 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19098 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19099 (gst_fd_src_unlock), (gst_fd_src_set_property),
19100 (gst_fd_src_get_property), (gst_fd_src_create),
19101 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19102 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19103 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19104 (gst_fd_src_uri_handler_init):
19105 * plugins/elements/gstfdsrc.h:
19106 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19109 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19111 * docs/gst/Makefile.am:
19112 * docs/gst/gstreamer.types.in:
19116 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19122 * gst/gstregistry.h:
19123 * tests/benchmarks/complexity.c:
19124 * tests/benchmarks/mass-elements.c:
19125 * tests/check/Makefile.am:
19126 * tools/Makefile.am:
19127 * tools/gst-inspect.c:
19128 * tools/gst-xmlinspect.c:
19129 various fixes to make
19130 --disable-nls --disable-registry --disable-loadsave
19131 --disable-parse --disable-gst-debug
19132 work and get the core .so down to 360444 bytes after stripping
19134 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19139 * docs/random/thomasvs/TODO:
19140 * tests/Makefile.am:
19144 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19146 * win32/GStreamer.vcproj:
19149 * win32/Makefile.inspect:
19150 * win32/Makefile.launch:
19151 * win32/Makefile.register:
19152 * win32/README.txt:
19153 * win32/gst-inspect.vcproj:
19154 * win32/gst-launch.vcproj:
19155 * win32/gst-register.vcproj:
19156 * win32/gstelements.vcproj:
19157 * win32/gstgetbits.def:
19158 * win32/gstgetbits.vcproj:
19159 * win32/gstreamer-dbg.def:
19160 * win32/gstreamer.def:
19161 * win32/libgstbase.def:
19162 * win32/libgstbase.vcproj:
19163 * win32/link_oldruntime.c:
19167 * win32/msvc71.sln:
19168 move even more stuff, win32/ is nice and clean now
19170 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19172 * libs/gst/control/.cvsignore:
19177 * win32/gstbytestream.def:
19178 * win32/gstbytestream.vcproj:
19179 * win32/gstconfig.h:
19180 * win32/gstenumtypes.c:
19181 * win32/gstenumtypes.h:
19182 * win32/gstoptimalscheduler.vcproj:
19183 * win32/gstversion.h:
19185 * win32/testsuite/bins.vcproj:
19186 * win32/testsuite/bytestream.vcproj:
19187 * win32/testsuite/caps.vcproj:
19188 * win32/testsuite/cleanup.vcproj:
19189 * win32/testsuite/clock.vcproj:
19190 * win32/testsuite/debug.vcproj:
19191 * win32/testsuite/dlopen.vcproj:
19192 * win32/testsuite/dynparams.vcproj:
19193 * win32/testsuite/elements.vcproj:
19194 * win32/testsuite/ghostpads.vcproj:
19195 * win32/testsuite/indexers.vcproj:
19196 * win32/testsuite/negotiation.vcproj:
19197 * win32/testsuite/parse.vcproj:
19198 * win32/testsuite/plugin.vcproj:
19199 * win32/testsuite/refcounting.vcproj:
19200 * win32/testsuite/schedulers.vcproj:
19201 * win32/testsuite/states.vcproj:
19202 * win32/testsuite/tags.vcproj:
19203 * win32/testsuite/threads.vcproj:
19204 remove old win32 stuff that isn't maintained and should be
19207 2005-11-30 Andy Wingo <wingo@pobox.com>
19209 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19210 loading the gst.interfaces python module bork.
19212 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19213 available since GLib 2.2. Fixes #318031.
19215 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19218 * check/.cvsignore:
19219 * check/Makefile.am:
19220 * check/elements/.cvsignore:
19221 * check/elements/fakesrc.c:
19222 * check/elements/fdsrc.c:
19223 * check/elements/identity.c:
19224 * check/generic/.cvsignore:
19225 * check/generic/states.c:
19226 * check/gst-libs/.cvsignore:
19227 * check/gst-libs/controller.c:
19228 * check/gst-libs/gdp.c:
19229 * check/gst/.cvsignore:
19230 * check/gst/capslist.h:
19232 * check/gst/gstbin.c:
19233 * check/gst/gstbuffer.c:
19234 * check/gst/gstbus.c:
19235 * check/gst/gstcaps.c:
19236 * check/gst/gstelement.c:
19237 * check/gst/gstevent.c:
19238 * check/gst/gstghostpad.c:
19239 * check/gst/gstiterator.c:
19240 * check/gst/gstmessage.c:
19241 * check/gst/gstminiobject.c:
19242 * check/gst/gstobject.c:
19243 * check/gst/gstpad.c:
19244 * check/gst/gstpipeline.c:
19245 * check/gst/gstplugin.c:
19246 * check/gst/gstsegment.c:
19247 * check/gst/gststructure.c:
19248 * check/gst/gstsystemclock.c:
19249 * check/gst/gsttag.c:
19250 * check/gst/gstutils.c:
19251 * check/gst/gstvalue.c:
19252 * check/net/.cvsignore:
19253 * check/net/gstnetclientclock.c:
19254 * check/net/gstnettimeprovider.c:
19255 * check/pipelines/.cvsignore:
19256 * check/pipelines/cleanup.c:
19257 * check/pipelines/simple_launch_lines.c:
19258 * check/pipelines/stress.c:
19259 * check/states/.cvsignore:
19260 * check/states/sinks.c:
19262 * examples/Makefile.am:
19263 * examples/appreader/.cvsignore:
19264 * examples/appreader/Makefile.am:
19265 * examples/appreader/appreader.c:
19266 * examples/controller/.cvsignore:
19267 * examples/controller/Makefile.am:
19268 * examples/controller/audio-example.c:
19269 * examples/cutter/.cvsignore:
19270 * examples/cutter/Makefile.am:
19271 * examples/cutter/cutter.c:
19272 * examples/cutter/cutter.h:
19273 * examples/events/Makefile.am:
19274 * examples/events/seek.c:
19275 * examples/helloworld/.cvsignore:
19276 * examples/helloworld/Makefile.am:
19277 * examples/helloworld/helloworld.c:
19278 * examples/helloworld2/.cvsignore:
19279 * examples/helloworld2/Makefile.am:
19280 * examples/helloworld2/helloworld2.c:
19281 * examples/launch/.cvsignore:
19282 * examples/launch/Makefile.am:
19283 * examples/launch/mp3parselaunch.c:
19284 * examples/launch/mp3play:
19285 * examples/manual/.cvsignore:
19286 * examples/manual/Makefile.am:
19287 * examples/manual/extract.pl:
19288 * examples/metadata/Makefile.am:
19289 * examples/metadata/read-metadata.c:
19290 * examples/mixer/.cvsignore:
19291 * examples/mixer/Makefile.am:
19292 * examples/mixer/mixer.c:
19293 * examples/mixer/mixer.h:
19294 * examples/pingpong/.cvsignore:
19295 * examples/pingpong/Makefile.am:
19296 * examples/pingpong/pingpong.c:
19297 * examples/plugins/.cvsignore:
19298 * examples/plugins/Makefile.am:
19299 * examples/plugins/example.c:
19300 * examples/plugins/example.h:
19301 * examples/pwg/.cvsignore:
19302 * examples/pwg/Makefile.am:
19303 * examples/pwg/extract.pl:
19304 * examples/queue/.cvsignore:
19305 * examples/queue/Makefile.am:
19306 * examples/queue/queue.c:
19307 * examples/queue2/.cvsignore:
19308 * examples/queue2/Makefile.am:
19309 * examples/queue2/queue2.c:
19310 * examples/queue3/.cvsignore:
19311 * examples/queue3/Makefile.am:
19312 * examples/queue3/queue3.c:
19313 * examples/queue4/.cvsignore:
19314 * examples/queue4/Makefile.am:
19315 * examples/queue4/queue4.c:
19316 * examples/retag/.cvsignore:
19317 * examples/retag/Makefile.am:
19318 * examples/retag/retag.c:
19319 * examples/retag/transcode.c:
19320 * examples/thread/.cvsignore:
19321 * examples/thread/Makefile.am:
19322 * examples/thread/thread.c:
19323 * examples/typefind/.cvsignore:
19324 * examples/typefind/Makefile.am:
19325 * examples/typefind/typefind.c:
19326 * examples/xml/.cvsignore:
19327 * examples/xml/Makefile.am:
19328 * examples/xml/createxml.c:
19329 * examples/xml/runxml.c:
19330 * tests/Makefile.am:
19331 * tests/check/Makefile.am:
19332 * testsuite/.cvsignore:
19333 * testsuite/Makefile.am:
19335 * testsuite/caps/.cvsignore:
19336 * testsuite/caps/Makefile.am:
19337 * testsuite/caps/app_fixate.c:
19338 * testsuite/caps/audioscale.c:
19339 * testsuite/caps/caps.c:
19340 * testsuite/caps/caps.h:
19341 * testsuite/caps/caps_strings:
19342 * testsuite/caps/compatibility.c:
19343 * testsuite/caps/deserialize.c:
19344 * testsuite/caps/enumcaps.c:
19345 * testsuite/caps/eratosthenes.c:
19346 * testsuite/caps/filtercaps.c:
19347 * testsuite/caps/fixed.c:
19348 * testsuite/caps/fraction-convert.c:
19349 * testsuite/caps/fraction-multiply-and-zero.c:
19350 * testsuite/caps/intersect2.c:
19351 * testsuite/caps/intersection.c:
19352 * testsuite/caps/normalisation.c:
19353 * testsuite/caps/random.c:
19354 * testsuite/caps/renegotiate.c:
19355 * testsuite/caps/sets.c:
19356 * testsuite/caps/simplify.c:
19357 * testsuite/caps/string-conversions.c:
19358 * testsuite/caps/structure.c:
19359 * testsuite/caps/subtract.c:
19360 * testsuite/caps/union.c:
19361 * testsuite/debug/.cvsignore:
19362 * testsuite/debug/Makefile.am:
19363 * testsuite/debug/category.c:
19364 * testsuite/debug/commandline.c:
19365 * testsuite/debug/global.c:
19366 * testsuite/debug/output.c:
19367 * testsuite/debug/printf_extension.c:
19368 * testsuite/dlopen/.cvsignore:
19369 * testsuite/dlopen/Makefile.am:
19370 * testsuite/dlopen/dlopen_gst.c:
19371 * testsuite/dlopen/loadgst.c:
19372 * testsuite/elements/.cvsignore:
19373 * testsuite/elements/Makefile.am:
19374 * testsuite/elements/gst-inspect-check.in:
19375 * testsuite/elements/struct_i386.h:
19376 * testsuite/elements/struct_size.c:
19377 * testsuite/indexers/.cvsignore:
19378 * testsuite/indexers/Makefile.am:
19379 * testsuite/indexers/cache1.c:
19380 * testsuite/indexers/indexdump.c:
19381 * testsuite/parse/.cvsignore:
19382 * testsuite/parse/Makefile.am:
19383 * testsuite/parse/parse1.c:
19384 * testsuite/parse/parse2.c:
19385 * testsuite/plugin/.cvsignore:
19386 * testsuite/plugin/Makefile.am:
19387 * testsuite/plugin/README:
19388 * testsuite/plugin/dynamic.c:
19389 * testsuite/plugin/linked.c:
19390 * testsuite/plugin/loading.c:
19391 * testsuite/plugin/registry.c:
19392 * testsuite/plugin/static.c:
19393 * testsuite/plugin/static2.c:
19394 * testsuite/plugin/testplugin.c:
19395 * testsuite/plugin/testplugin2.c:
19396 * testsuite/plugin/testplugin2_s.c:
19397 * testsuite/plugin/testplugin_s.c:
19398 * testsuite/refcounting/.cvsignore:
19399 * testsuite/refcounting/Makefile.am:
19400 * testsuite/refcounting/bin.c:
19401 * testsuite/refcounting/element.c:
19402 * testsuite/refcounting/element_pad.c:
19403 * testsuite/refcounting/mainloop.c:
19404 * testsuite/refcounting/mem.c:
19405 * testsuite/refcounting/mem.h:
19406 * testsuite/refcounting/object.c:
19407 * testsuite/refcounting/pad.c:
19408 * testsuite/refcounting/sched.c:
19409 * testsuite/refcounting/thread.c:
19410 * testsuite/states/.cvsignore:
19411 * testsuite/states/Makefile.am:
19412 * testsuite/states/bin.c:
19413 * testsuite/states/locked.c:
19414 * testsuite/states/parent.c:
19415 * testsuite/threads/.cvsignore:
19416 * testsuite/threads/159566.c:
19417 * testsuite/threads/159852.c:
19418 * testsuite/threads/Makefile.am:
19419 * testsuite/threads/queue.c:
19420 * testsuite/threads/signals.c:
19421 * testsuite/threads/staticrec.c:
19422 * testsuite/threads/thread.c:
19423 * testsuite/threads/threadb.c:
19424 * testsuite/threads/threadc.c:
19425 * testsuite/threads/threadd.c:
19426 * testsuite/threads/threade.c:
19427 * testsuite/threads/threadf.c:
19428 * testsuite/threads/threadg.c:
19429 * testsuite/threads/threadh.c:
19430 * testsuite/threads/threadi.c:
19431 move all of these under tests
19433 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19436 * tests/Makefile.am:
19439 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19441 * docs/gst/gstreamer-sections.txt:
19442 * tests/sched/.cvsignore:
19443 * tests/sched/Makefile.am:
19444 * tests/sched/cases/(fs-fs).xml:
19445 * tests/sched/cases/(fs-i-fs).xml:
19446 * tests/sched/cases/(fs-i-i-fs).xml:
19447 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19448 * tests/sched/dynamic-pipeline.c:
19449 * tests/sched/interrupt1.c:
19450 * tests/sched/interrupt2.c:
19451 * tests/sched/interrupt3.c:
19452 * tests/sched/runtestcases:
19453 * tests/sched/runxml.c:
19454 * tests/sched/sched-stress.c:
19455 * tests/sched/sort.c:
19456 * tests/sched/testcases:
19457 * tests/sched/testcases1.tc:
19458 * tests/seeking/.cvsignore:
19459 * tests/seeking/Makefile.am:
19460 * tests/seeking/seeking1.c:
19461 * tests/threadstate/.cvsignore:
19462 * tests/threadstate/Makefile.am:
19463 * tests/threadstate/test1.c:
19464 * tests/threadstate/test2.c:
19465 * tests/threadstate/threadstate1.c:
19466 * tests/threadstate/threadstate2.c:
19467 * tests/threadstate/threadstate3.c:
19468 * tests/threadstate/threadstate4.c:
19469 * tests/threadstate/threadstate5.c:
19470 remove obsolete tests
19472 * tests/bench-complexity.scm:
19473 * tests/bench-mass_elements.scm:
19474 * tests/complexity.c:
19475 * tests/complexity.gnuplot:
19476 * tests/instantiate/.cvsignore:
19477 * tests/instantiate/Makefile.am:
19478 * tests/instantiate/caps.c:
19479 * tests/mass_elements.c:
19480 * tests/network-clock-utils.scm:
19481 * tests/network-clock.scm:
19483 First pass at cleaning up tests/ dir before moving the rest
19484 Combined with CVS surgery
19486 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19489 queue has moved, update
19491 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19493 * docs/gst/gstreamer-sections.txt:
19494 remove double entries from the docs
19495 * gst/gst_private.h:
19496 * gst/gstinfo.c: (_gst_debug_init):
19497 remove the THREAD debug category
19501 * docs/gst/gstreamer.types:
19502 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19503 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19504 completely move queue and fix up debugging categories
19506 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19508 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19509 make initialization portable, using LL is not
19511 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19513 * win32/common/gstconfig.h:
19516 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19518 * win32/common/libgstreamer.def:
19519 rename symbols; sort base section
19521 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19523 * gst/gstclock.c: (do_linear_regression):
19524 remove crack non-portable handrolled DEBUG macro
19526 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19528 * docs/random/release:
19530 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19531 (gst_object_flags_get_type), (register_gst_bin_flags),
19532 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19533 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19534 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19535 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19536 (gst_caps_flags_get_type), (register_gst_clock_return),
19537 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19538 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19539 (gst_clock_flags_get_type), (register_gst_state),
19540 (gst_state_get_type), (register_gst_state_change_return),
19541 (gst_state_change_return_get_type), (register_gst_state_change),
19542 (gst_state_change_get_type), (register_gst_element_flags),
19543 (gst_element_flags_get_type), (register_gst_core_error),
19544 (gst_core_error_get_type), (register_gst_library_error),
19545 (gst_library_error_get_type), (register_gst_resource_error),
19546 (gst_resource_error_get_type), (register_gst_stream_error),
19547 (gst_stream_error_get_type), (register_gst_event_type_flags),
19548 (gst_event_type_flags_get_type), (register_gst_event_type),
19549 (gst_event_type_get_type), (register_gst_seek_type),
19550 (gst_seek_type_get_type), (register_gst_seek_flags),
19551 (gst_seek_flags_get_type), (register_gst_format),
19552 (gst_format_get_type), (register_gst_index_certainty),
19553 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19554 (gst_index_entry_type_get_type),
19555 (register_gst_index_lookup_method),
19556 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19557 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19558 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19559 (gst_index_flags_get_type), (register_gst_debug_level),
19560 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19561 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19562 (gst_iterator_result_get_type), (register_gst_iterator_item),
19563 (gst_iterator_item_get_type), (register_gst_message_type),
19564 (gst_message_type_get_type), (register_gst_mini_object_flags),
19565 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19566 (gst_pad_link_return_get_type), (register_gst_flow_return),
19567 (gst_flow_return_get_type), (register_gst_activate_mode),
19568 (gst_activate_mode_get_type), (register_gst_pad_direction),
19569 (gst_pad_direction_get_type), (register_gst_pad_flags),
19570 (gst_pad_flags_get_type), (register_gst_pad_presence),
19571 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19572 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19573 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19574 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19575 (gst_plugin_flags_get_type), (register_gst_rank),
19576 (gst_rank_get_type), (register_gst_query_type),
19577 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19578 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19579 (gst_tag_flag_get_type), (register_gst_task_state),
19580 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19581 (gst_alloc_trace_flags_get_type),
19582 (register_gst_type_find_probability),
19583 (gst_type_find_probability_get_type), (register_gst_uri_type),
19584 (gst_uri_type_get_type), (register_gst_parse_error),
19585 (gst_parse_error_get_type):
19586 * win32/common/gstenumtypes.h:
19587 * win32/common/gstversion.h:
19588 update visual studio generated files
19590 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19592 * win32/vs6/libgstbase.dsp:
19593 * win32/vs6/libgstelements.dsp:
19594 update project files for new locations
19596 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19601 reinstate and update
19606 * docs/random/LICENSE:
19609 2005-11-30 Edward Hervey <edward@fluendo.com>
19611 * gst/gsttypefind.c: (gst_type_find_register):
19612 * gst/gsttypefind.h:
19613 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19614 (gst_type_find_factory_dispose):
19615 * gst/gsttypefindfactory.h:
19616 Fix memory leak in GstTypeFindFactory.
19618 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19621 * plugins/elements/Makefile.am:
19622 * plugins/elements/gstelements.c:
19623 * plugins/elements/gstqueue.c:
19624 move queue from core to the elements plugin
19626 2005-11-29 Andy Wingo <wingo@pobox.com>
19628 * libs/gst/base/gstbasetransform.h:
19629 * libs/gst/base/gstbasesrc.h:
19630 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19632 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19633 of pointers by which to pad very extensible base classes (like the
19634 ones in libs/gst/base).
19636 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19638 * docs/gst/gstreamer-docs.sgml:
19639 * docs/gst/gstreamer-sections.txt:
19640 * docs/libs/gstreamer-libs-docs.sgml:
19641 * docs/libs/gstreamer-libs-sections.txt:
19642 moving documentation from core to lib
19644 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19646 * check/Makefile.am:
19648 * docs/gst/Makefile.am:
19650 * gst/base/.cvsignore:
19651 * gst/base/Makefile.am:
19653 * gst/base/gstadapter.c:
19654 * gst/base/gstadapter.h:
19655 * gst/base/gstbasesink.c:
19656 * gst/base/gstbasesink.h:
19657 * gst/base/gstbasesrc.c:
19658 * gst/base/gstbasesrc.h:
19659 * gst/base/gstbasetransform.c:
19660 * gst/base/gstbasetransform.h:
19661 * gst/base/gstcollectpads.c:
19662 * gst/base/gstcollectpads.h:
19663 * gst/base/gstpushsrc.c:
19664 * gst/base/gstpushsrc.h:
19665 * gst/base/gsttypefindhelper.c:
19666 * gst/base/gsttypefindhelper.h:
19667 * gst/check/Makefile.am:
19668 * gst/check/gstcheck.c:
19669 * gst/check/gstcheck.h:
19670 * gst/net/Makefile.am:
19671 * gst/net/gstnet.h:
19672 * gst/net/gstnetclientclock.c:
19673 * gst/net/gstnetclientclock.h:
19674 * gst/net/gstnettimepacket.c:
19675 * gst/net/gstnettimepacket.h:
19676 * gst/net/gstnettimeprovider.c:
19677 * gst/net/gstnettimeprovider.h:
19678 * libs/gst/Makefile.am:
19679 * libs/gst/base/Makefile.am:
19680 * libs/gst/base/gstbasetransform.c:
19681 * libs/gst/check/Makefile.am:
19682 * plugins/elements/Makefile.am:
19684 CVS surgery + support to move base, check, and net out of gst
19687 2005-11-29 Andy Wingo <wingo@pobox.com>
19689 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19691 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19694 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19696 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19698 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19700 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19701 padding; reduces object size by about 30%. We don't expect
19702 anything else to go into gstobject.
19704 * gst/gstminiobject.h (struct _GstMiniObject)
19705 (struct _GstMiniObjectClass): Only one pointer of padding; the
19706 payload is only a pointer and two ints anyway. For the class there
19707 are only two methods as well.
19709 * gst/gstelement.h (struct _GstElementClass): Removed
19710 the state_changed signal callback, it is not used.
19712 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19714 * docs/gst/gstreamer.types:
19715 fix includes, though they are a little dinky
19717 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19719 * check/Makefile.am:
19720 look in the right place for elements, a lot more chance of
19723 remove indexers and elements subdirs
19724 * plugins/Makefile.am:
19725 make indexers conditional
19727 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19731 * plugins/elements/Makefile.am:
19732 * plugins/elements/gstcapsfilter.c:
19733 * plugins/elements/gstfilesink.c:
19734 * plugins/elements/gstfilesrc.c:
19735 * plugins/elements/gstidentity.c:
19736 * plugins/indexers/Makefile.am:
19737 do CVS surgery and related build fixery to move elements
19738 and indexers in a new gstreamer/plugins directory, out of the
19741 2005-11-29 Andy Wingo <wingo@pobox.com>
19743 * check/Makefile.am:
19744 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19745 * pkgconfig/gstreamer-net.pc.in:
19746 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19749 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19751 * tools/Makefile.am:
19752 * tools/gst-complete.1.in:
19753 * tools/gst-complete.c:
19754 * tools/gst-compprep.1.in:
19755 * tools/gst-compprep.c:
19756 removing -compprep and -complete
19758 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19760 * gst/gstevent.c: (gst_event_new_new_segment),
19761 (gst_event_parse_new_segment):
19763 fix #320529 - clean up new_segment API and structure.
19764 Let's hope everyone was using the methods, and not the structure.
19766 2005-11-29 Edward Hervey <edward@fluendo.com>
19768 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19769 (gst_base_sink_event), (gst_base_sink_do_sync),
19770 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19771 Properly handle non GST_FORMAT_TIME segment
19772 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19773 Properly handle non GST_FORMAT_TIME segment
19774 * gst/gstsegment.c:
19775 This function is valid if the accumulator is 0 and the format
19776 is different from the requested format.
19778 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19780 * docs/gst/gstreamer-sections.txt:
19781 Add gst_query_new_seeking and gst_query_parse_seeking to the
19784 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19786 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19787 Treat a pad alloc with new caps the same as if we were not
19788 negotiated, in order to allow a changing upstream output
19789 to produce a new format of data.
19791 2005-11-29 Edward Hervey <edward@fluendo.com>
19793 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19794 (gst_base_transform_event), (gst_base_transform_eventfunc):
19795 The event virtual method is now properly implemented, with a default
19797 Sub classes should call the parent_class event method. They should
19798 return FALSE if they had a problem handling the given event, or don't
19799 want GstBaseTransform to send that even downstream
19800 * gst/elements/gstidentity.c: (gst_identity_class_init),
19801 (gst_identity_init), (gst_identity_event),
19802 (gst_identity_transform_ip), (gst_identity_set_property),
19803 (gst_identity_get_property):
19804 * gst/elements/gstidentity.h:
19805 Added the single-segment boolean property.
19806 If set to TRUE, it will output a single segment of data, starting from
19807 0, will eat up all incoming newsegment, and modify the timestamp of the
19808 buffers accordingly
19810 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19812 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19813 Don't ref NULL target pad (#322751). Improve docs.
19815 2005-11-29 Michael Smith <msmith@fluendo.com>
19817 * gst/gstregistryxml.c: (load_plugin):
19818 Don't crash if we failed to load a feature from a plugin.
19820 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19822 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19824 use more check API and less GLib API
19826 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19829 don't run checks if we don't have check
19830 * common/check.mak:
19831 remove the registry when running make torture
19832 * docs/gst/gstreamer-sections.txt:
19833 remove second multiply
19834 * gst/gstqueue.c: (gst_queue_loop):
19835 fix a compile warning when disabling debug
19837 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19840 Hey! Let's print the pad name if the pointer != NULL instead
19841 of when it == NULL :-)
19843 2005-11-28 Wim Taymans <wim@fluendo.com>
19845 * check/gst/gstutils.c: (GST_START_TEST):
19846 Updated check, add some scaling accuracy checking code.
19848 * gst/gstutils.c: (gst_util_div128_64),
19849 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19850 (gst_util_uint64_scale_int):
19851 Fix 6 times faster division code. Optimize for common
19852 1/1 and less common X/1 cases.
19854 2005-11-28 Wim Taymans <wim@fluendo.com>
19856 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19859 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19860 (do_linear_regression), (gst_clock_add_observation):
19862 Release lock when the clock cannot be slaved.
19863 Catch the case where the regression returned an invalid denominator.
19865 * gst/gstutils.c: (gst_util_div128_64_iterate),
19866 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19867 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19868 Add protentially more performant non-iterative 128/64 divide function
19869 that unfortunatly does not work yet.
19870 Shortcut the trivial 0/X = 0 case.
19871 Remove the warnings on overflow.
19873 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19875 * gst/gstplugin.c: (gst_plugin_register_func):
19876 everything causing a plugin not to load should be at least a WARNING
19878 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19880 * docs/random/ensonic/dparams.txt:
19881 some TODOs for the next dev cycle
19882 * libs/gst/controller/gstcontroller.c:
19883 (gst_controlled_property_set_interpolation_mode),
19884 (gst_controlled_property_new):
19885 * libs/gst/controller/gstcontroller.h:
19886 use base type to assign acccessor functions
19888 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19890 * check/Makefile.am:
19891 Oops, that should have been top_srcdir
19893 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19895 * check/Makefile.am:
19896 * check/elements/fdsrc.c: (GST_START_TEST):
19897 Use a cmdline define to specify the location of a file to use for
19898 testing, to avoid breaking distcheck.
19900 2005-11-28 Andy Wingo <wingo@pobox.com>
19902 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19904 2005-11-28 Edward Hervey <edward@fluendo.com>
19906 * tools/gst-launch.c: (main):
19907 Clarify the output strings, makes it easier to translate.
19910 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19913 don't try and build net if we don't even have <sys/socket.h>
19915 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19917 * check/Makefile.am:
19918 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19919 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19920 Add tests for fdsrc seekability
19922 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19923 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19924 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19925 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19926 * gst/elements/gstfdsrc.h:
19927 fdsrc should not be a 'live' source.
19928 Implement seeking on seekable fd's.
19930 * gst/gstquery.c: (gst_query_new_seeking),
19931 (gst_query_parse_seeking):
19933 Implement SEEKING query functions:
19934 *_new_seeking and *_parse_seeking
19936 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19938 * gst/gstelement.c: (gst_element_dispose):
19941 * gst/gstiterator.c:
19942 * gst/gststructure.c:
19945 * libs/gst/controller/gstcontroller.c:
19946 (gst_controlled_property_set_interpolation_mode):
19947 * libs/gst/controller/gstcontroller.h:
19948 * libs/gst/controller/gstinterpolation.c:
19949 (interpolate_none_get_enum_value_array):
19950 support controlling enums
19952 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19955 Improve documentation for gst_value_union().
19958 Change return value for union, intersect and subtract functions
19959 from gint to gboolean.
19961 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19963 * gst/gstvalue.c: (gst_value_serialize_any_list),
19964 (gst_value_transform_any_list_string),
19965 (gst_value_deserialize_list), (gst_value_deserialize_array),
19966 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19967 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19968 (gst_value_set_fraction_range_full),
19969 (gst_value_deserialize_fraction_range),
19970 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19971 (gst_value_deserialize_boolean),
19972 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19973 (gst_value_serialize_float), (gst_value_deserialize_float),
19974 (gst_string_wrap), (gst_value_deserialize_string),
19975 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19976 (gst_value_union_int_range_int_range),
19977 (gst_value_intersect_int_range_int_range),
19978 (gst_value_intersect_double_range_double_range),
19979 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19980 (gst_value_subtract_int_range_int_range),
19981 (gst_value_subtract_double_double_range),
19982 (gst_value_subtract_double_range_double_range),
19983 (gst_value_deserialize_fraction):
19985 Use gint, gdouble and gchar in our API instead of int, double and
19986 char (and make usage in gstvalue.c more consistent).
19988 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19990 * check/Makefile.am:
19991 * libs/gst/controller/Makefile.am:
19992 * libs/gst/dataprotocol/Makefile.am:
19993 fix up Makefile.am and remove GST_ENABLE_NEW
19995 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19999 * gst/base/Makefile.am:
20000 * gst/check/Makefile.am:
20001 * gst/elements/Makefile.am:
20002 * gst/net/Makefile.am:
20003 update LDFLAGS use some more
20005 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
20007 * common/m4/gst-doc.m4:
20010 2005-11-26 Edward Hervey <edward@fluendo.com>
20012 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20013 This shouldn't issue a g_warning since it returns NULL if it
20014 couldn't find the plugin, and all functions using this behave
20015 properly on a NULL return. Switching to a GST_WARNING.
20017 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
20019 * gst/gstbin.c: (gst_bin_handle_message_func):
20020 Don't leak clock messages.
20022 2005-11-25 Wim Taymans <wim@fluendo.com>
20024 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20025 (gst_util_uint64_scale_int):
20026 Optimisations, remove unneeded vars.
20028 2005-11-25 Wim Taymans <wim@fluendo.com>
20030 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20031 Added more checks for the high precision uint64 cases.
20033 * gst/gstutils.c: (gst_util_uint64_scale_int64),
20034 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20035 Implement high precision (guint64 * guint64) / guint64.
20037 2005-11-24 Wim Taymans <wim@fluendo.com>
20039 * gst/base/gstbasesrc.c: (gst_base_src_query):
20040 Fix wrong percentage query.
20042 * gst/gstutils.c: (gst_util_uint64_scale),
20043 (gst_util_uint64_scale_int):
20044 Add some more common cases that can be handled
20045 efficiently to _scale.
20047 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20049 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20050 (gst_mini_object_suite):
20051 don't use check calls from threads; check probably isn't
20052 threadsafe and using a lock to make it threadsafe would
20053 defeat the purpose of this check
20054 * gst/check/gstcheck.c:
20055 * gst/check/gstcheck.h:
20056 use GST_DEBUG some more
20058 2005-11-24 Wim Taymans <wim@fluendo.com>
20060 * gst/gstutils.c: (gst_util_uint64_scale),
20061 (gst_util_uint64_scale_int):
20062 Chain trivial case to _scale_int.
20064 2005-11-24 Wim Taymans <wim@fluendo.com>
20066 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20067 Added test for scaling.
20072 * gst/gstutils.c: (gst_util_uint64_scale_int):
20073 Implemented high precision scaling code.
20075 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20078 do not crash on pad==NULL
20080 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20082 Patch by: Stefan Kost
20084 * common/gtk-doc.mak:
20085 * docs/gst/Makefile.am:
20086 * docs/libs/Makefile.am:
20087 Fix distcheck issues for the libraries docs build
20090 2005-11-24 Michael Smith <msmith@fluendo.com>
20092 * docs/manual/basics-helloworld.xml:
20093 Fix bug #315027: memory leak in example code in docs.
20095 2005-11-24 Michael Smith <msmith@fluendo.com>
20097 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20098 Unlock the PREROLL_LOCK in a failure case.
20100 2005-11-24 Wim Taymans <wim@fluendo.com>
20102 * docs/gst/gstreamer-sections.txt:
20103 * gst/base/gstadapter.h:
20104 * gst/base/gstbasesink.h:
20105 * gst/base/gstbasesrc.h:
20106 * gst/base/gstbasetransform.h:
20107 * gst/base/gstpushsrc.h:
20108 * gst/elements/gstfakesink.h:
20109 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20110 * gst/elements/gstfakesrc.h:
20111 * gst/elements/gstfilesink.h:
20112 * gst/elements/gstfilesrc.h:
20115 * gst/gstbuffer.c: (_gst_buffer_copy):
20118 * gst/gstchildproxy.c:
20120 * gst/gstelement.c:
20121 * gst/gstelementfactory.c:
20122 * gst/gstelementfactory.h:
20124 * gst/gstghostpad.h:
20126 * gst/gstinterface.h:
20127 * gst/gstminiobject.c:
20128 * gst/gstminiobject.h:
20131 * gst/gstpadtemplate.h:
20132 * gst/gstpipeline.h:
20133 * gst/gstpluginfeature.h:
20136 * gst/gsttaglist.c:
20137 * gst/gsttaglist.h:
20138 * gst/gsttagsetter.c:
20139 * gst/gsttagsetter.h:
20142 * gst/gsttypefind.h:
20145 * gst/net/gstnetclientclock.c:
20146 * gst/net/gstnetclientclock.h:
20147 * gst/net/gstnettimepacket.c:
20148 * gst/net/gstnettimeprovider.c:
20149 * gst/net/gstnettimeprovider.h:
20152 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20154 * configure.ac: back to HEAD
20156 === release 0.9.6 ===
20158 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20161 releasing 0.9.6, "Always On Time"
20163 2005-11-23 Wim Taymans <wim@fluendo.com>
20165 * docs/gst/gstreamer-sections.txt:
20166 * gst/glib-compat.c:
20167 * gst/gsttagsetter.c:
20169 * gst/net/gstnetclientclock.c:
20170 * gst/net/gstnettimepacket.h:
20173 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20175 * docs/faq/using.xml:
20176 * docs/libs/tmpl/gstcontrol.sgml:
20177 * docs/manual/advanced-dparams.xml:
20178 * docs/manual/appendix-checklist.xml:
20179 * docs/manual/basics-elements.xml:
20180 * docs/pwg/other-source.xml:
20181 * docs/random/moving-plugins:
20183 * tools/gst-launch.1.in:
20184 remove mentions of sinesrc
20186 2005-11-23 Michael Smith <msmith@fluendo.com>
20188 * docs/gst/gstreamer-sections.txt:
20189 Update for new API and API changes.
20191 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20193 Documentation typo fix.
20194 * gst/net/gstnettimepacket.c:
20195 Documentation fixes for arguments.
20197 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20199 * gst/gststructure.c: (gst_structure_get_fraction),
20200 (gst_structure_parse_value),
20201 (gst_structure_fixate_field_nearest_fraction):
20202 * gst/gststructure.h:
20203 * gst/gstutils.c: (gst_util_uint64_scale_int):
20205 * scripts/update-funcnames:
20207 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20208 Make gst_structure_fixate_field_nearest_fraction take a numerator
20209 and denominator argument instead of a GValue
20210 add gst_structure_get_fraction helper function.
20212 2005-11-23 Wim Taymans <wim@fluendo.com>
20214 * docs/design/part-TODO.txt:
20217 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20218 * gst/net/gstnetclientclock.h:
20219 Use parent fields for timeout and window_size.
20221 2005-11-23 Andy Wingo <wingo@pobox.com>
20223 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20224 rate_num/rate_denom change.
20226 * gst/net/gstnetclientclock.c
20227 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20228 OBJECT_LOCK. Don't call add_observation with the lock.
20230 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20232 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20234 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20235 deal with rate as a fraction whose numerator and denominator are
20236 GstClockTime values.
20237 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20238 master; the other fields are protected by the SLAVE_LOCK.
20239 (do_linear_regression): Note that this must be called with the
20241 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20242 OBJECT_LOCK. Call set_calibration instead of touching the
20243 variables directly.
20244 (gst_clock_set_property, gst_clock_get_property): Protect
20245 master/slave parameters with the SLAVE_LOCK.
20247 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20248 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20249 note that all of the instance variables that add_observation and
20250 the set_master functions use are protected by that lock and not
20252 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20254 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20255 the caller to take the object lock.
20257 2005-11-23 Wim Taymans <wim@fluendo.com>
20259 * gst/gsterror.c: (_gst_core_errors_init):
20261 Add error for clock stuff.
20263 * gst/gstpipeline.c: (gst_pipeline_change_state),
20264 (gst_pipeline_set_clock):
20265 Post clock error when clock cannot be used in a pipeline.
20267 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20269 * docs/gst/gstreamer-sections.txt:
20270 make two symbols from gstinfo private for the docs
20271 * gst/base/gstcollectpads.h:
20273 fix doc typos, update docs
20275 2005-11-22 Wim Taymans <wim@fluendo.com>
20277 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20278 (gst_base_sink_wait), (gst_base_sink_do_sync),
20279 (gst_base_sink_handle_event):
20280 * gst/base/gstbasesink.h:
20281 No need to store the clock, the parent element class already
20284 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20285 Updates for clock_set returning a gboolean
20287 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20288 (gst_clock_id_wait_async), (gst_clock_class_init),
20289 (gst_clock_init), (gst_clock_finalize),
20290 (gst_clock_get_internal_time), (gst_clock_get_time),
20291 (gst_clock_slave_callback), (gst_clock_set_master),
20292 (gst_clock_get_master), (do_linear_regression),
20293 (gst_clock_add_observation), (gst_clock_set_property),
20294 (gst_clock_get_property):
20296 Implement master/slave. When setting a clock as a slave, a
20297 periodic timeout is scheduled to sample master and slave times.
20298 Then the slave clock is recalibrated to match offset and rate
20299 of the master clock.
20300 Update logging a bit.
20301 Add flag so that a clock can state that is cannot be slaved to
20304 * gst/gstelement.c: (gst_element_set_clock):
20305 * gst/gstelement.h:
20306 The set clock returns a gboolean for when an element cannot
20307 deal with the selected clock in the pipeline.
20309 * gst/gstpipeline.c: (gst_pipeline_change_state),
20310 (gst_pipeline_set_clock):
20311 * gst/gstpipeline.h:
20312 Handle the case where the selected clock cannot be set on
20315 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20316 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20317 (gst_net_client_clock_set_property),
20318 (gst_net_client_clock_get_property),
20319 (gst_net_client_clock_observe_times):
20320 * gst/net/gstnetclientclock.h:
20321 Use regression code in GstClock parent, remove duplicated
20324 2005-11-22 Michael Smith <msmith@fluendo.com>
20326 * gst/gstutils.c: (gst_util_clock_time_scale):
20328 * docs/gst/gstreamer-sections.txt:
20329 Rename method to have extra underscore.
20331 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20333 * gst/elements/Makefile.am:
20334 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20335 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20336 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20337 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20338 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20339 * gst/elements/gstfakesrc.h:
20340 * gst/gstqueue.c: (queue_leaky_get_type):
20341 correctly fix GEnumValues so that nick is the short lowercase
20343 * tools/gst-inspect.c: (print_element_properties_info):
20344 also show the nick, since it's useful to use from parse_launch
20348 2005-11-22 Michael Smith <msmith@fluendo.com>
20350 * gst/gstutils.c: (gst_util_clocktime_scale):
20352 * docs/gst/gstreamer-sections.txt:
20353 Add util method for scaling a clocktime by a fraction. Useful
20354 implementation is left as an exercise for the reader.
20356 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20358 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20359 If needed, allocate storage in the destination value during
20362 2005-11-22 Edward Hervey <edward@fluendo.com>
20364 * docs/gst/gstreamer-sections.txt:
20367 * gst/gsturitype.c:
20368 * gst/gsturitype.h:
20369 * gst/gstutils.c: (gst_util_set_object_arg):
20370 * tools/gst-compprep.c: (main):
20371 * tools/gst-inspect.c: (print_element_properties_info):
20372 Removed GstURI, closes bug #321061
20374 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20376 * check/gst/gststructure.c: (GST_START_TEST):
20377 * gst/gststructure.c: (gst_structure_parse_value):
20378 Oops, broke automatic string type parsing.
20379 Add a test to catch it in future.
20381 2005-11-22 Andy Wingo <wingo@pobox.com>
20383 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20384 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20385 Actually rename the function implementations. Grr.
20387 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20389 * check/gst/capslist.h:
20391 * check/gst/gststructure.c: (GST_START_TEST),
20392 (gst_structure_suite):
20393 Test automatic value type detection in gst_structure_from_string.
20394 * gst/gststructure.c: (gst_structure_parse_value):
20395 Add fraction as a type we try and guess automatically in
20396 caps/structure strings.
20398 2005-11-22 Andy Wingo <wingo@pobox.com>
20400 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20402 * gst/gsttagsetter.h:
20403 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20404 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20405 (gst_tag_setter_add_tag_valist)
20406 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20407 _add_values, _add_valist, and _add_valist_values. Since this is an
20408 interface the function suffixes should be more explicit so
20409 language binding don't end up with element.add_valist ->
20410 gst_tag_setter_add_valist, for example. Fixes #322069.
20412 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20414 * check/gst/gstcaps.c: (GST_START_TEST):
20415 Extend caps string tests to check that a caps to string
20416 conversion is reversible and produces the same caps.
20418 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20419 Output "fraction" as the generic type fraction range, so caps
20420 serialisation and deserialisation works.
20421 * check/gst/capslist.h:
20422 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20423 Support 'MIN' and 'MAX' for deserialising fractions.
20425 2005-11-22 Andy Wingo <wingo@pobox.com>
20427 * gst/gstevent.h (gst_event_new_new_segment)
20428 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20429 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20430 Renamed from *_newsegment, *_buffersize, *_notarget.
20432 * scripts/update-funcnames: New script, performs the changes
20435 2005-11-22 Wim Taymans <wim@fluendo.com>
20437 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20438 Make sure the GstFlowReturn is returned.
20440 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20441 (gst_bus_add_signal_watch):
20443 add gst_bus_add_signal_watch_full.
20445 * gst/gstplugin.c: (gst_plugin_load_file):
20446 Small style cleanup.
20448 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20450 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20451 Block the fakesrc srcpad when we send an event, to avoid
20452 contention on the stream_lock causing random test failures.
20454 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20456 * check/gst/gstvalue.c: (GST_START_TEST):
20457 * gst/gstvalue.c: (gst_value_fraction_subtract):
20460 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20463 include "gstchildproxy.h"
20464 * gst/gstchildproxy.h:
20465 * libs/gst/controller/gstcontroller.h:
20466 use G_GNUC_NULL_TERMINATED
20468 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20470 * check/gst/capslist.h:
20471 * check/gst/gstcaps.c: (GST_START_TEST):
20472 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20473 * gst/gststructure.c: (gst_structure_parse_range),
20474 (gst_structure_fixate_field_nearest_fraction):
20475 * gst/gststructure.h:
20476 * gst/gstvalue.c: (gst_value_init_fraction_range),
20477 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20478 (gst_value_collect_fraction_range),
20479 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20480 (gst_value_set_fraction_range_full),
20481 (gst_value_get_fraction_range_min),
20482 (gst_value_get_fraction_range_max),
20483 (gst_value_serialize_fraction_range),
20484 (gst_value_transform_fraction_range_string),
20485 (gst_value_compare_fraction_range),
20486 (gst_value_deserialize_fraction_range),
20487 (gst_value_intersect_fraction_fraction_range),
20488 (gst_value_intersect_fraction_range_fraction_range),
20489 (gst_value_subtract_fraction_fraction_range),
20490 (gst_value_subtract_fraction_range_fraction),
20491 (gst_value_subtract_fraction_range_fraction_range),
20492 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20493 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20494 (gst_value_transform_string_fraction), (_gst_value_initialize):
20496 Implement fraction ranges and extend GstFraction to support
20497 arithmetic subtraction, as well as deserialization from integer
20498 strings such as "100"
20499 Add a testsuite as for int and double range set operations
20501 2005-11-21 Andy Wingo <wingo@pobox.com>
20503 * gst/gsttaglist.h:
20505 * gst/gststructure.h: Add glib-compat.h.
20507 2005-11-21 Wim Taymans <wim@fluendo.com>
20509 * gst/gstbin.c: (gst_bin_change_state_func):
20512 2005-11-21 Wim Taymans <wim@fluendo.com>
20514 * gst/gstsegment.h:
20515 And add a nice define too.
20517 2005-11-21 Wim Taymans <wim@fluendo.com>
20519 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20520 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20521 (gst_segment_set_duration), (gst_segment_set_last_stop),
20522 (gst_segment_set_seek), (gst_segment_set_newsegment),
20523 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20524 (gst_segment_clip):
20525 * gst/gstsegment.h:
20526 Make binding friendly.
20528 2005-11-21 Andy Wingo <wingo@pobox.com>
20530 * gst/gsttagsetter.h:
20531 * gst/gsttaglist.h:
20532 * gst/gststructure.h:
20534 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20537 * gst/gsterror.c (_gst_core_errors_init):
20538 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20541 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20542 (noinst_HEADERS): noinst the -private.
20544 2005-11-21 Michael Smith <msmith@fluendo.com>
20547 * gst/gstregistry.h:
20548 Remove unimplemented declarations for which we can see no sensible
20551 2005-11-21 Andy Wingo <wingo@pobox.com>
20553 * gst/gst.h: Include glib-compat.h.
20555 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20557 * gst/glib-compat.c: Include the public and the private header.
20559 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20563 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20565 * check/gst/gstevent.c (create_custom_events): Check that
20566 FLUSH_STOP is serialized.
20568 * check/elements/identity.c (event_func):
20569 * check/elements/fakesrc.c (event_func): No stream lock, the core
20572 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20573 stream lock taking, yay.
20575 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20576 ensure that core takes the stream lock.
20578 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20581 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20582 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20583 it already. For the flush start we do take it though so we get the
20584 right preroll state change messages.
20586 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20587 the stream lock here, the core does it for us.
20589 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20590 GST_STREAM_GET_LOCK.
20591 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20592 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20593 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20594 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20595 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20596 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20598 * gst/gstpad.c: Update for stream lock name change.
20600 * gst/base/gstbasesink.c: Update for preroll lock name change.
20602 2005-11-21 Wim Taymans <wim@fluendo.com>
20604 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20605 (gst_clock_get_master):
20607 * gst/gstsystemclock.c: (gst_system_clock_init):
20608 Convert Clock flags to object flags.
20609 Added methods to manage master/slave clocks.
20611 2005-11-21 Wim Taymans <wim@fluendo.com>
20613 * check/gst/gstsegment.c: (GST_START_TEST):
20614 * docs/design/part-TODO.txt:
20615 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20616 (gst_base_sink_event), (gst_base_sink_do_sync),
20617 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20618 (gst_base_sink_query), (gst_base_sink_change_state):
20619 * gst/base/gstbasesink.h:
20620 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20621 (gst_base_src_default_newsegment),
20622 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20623 (gst_base_src_get_range), (gst_base_src_loop),
20624 (gst_base_src_change_state):
20625 * gst/base/gstbasesrc.h:
20626 * gst/base/gstbasetransform.c:
20627 (gst_base_transform_prepare_output_buf),
20628 (gst_base_transform_event), (gst_base_transform_change_state):
20629 * gst/base/gstbasetransform.h:
20630 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20631 (gst_collect_pads_event):
20632 * gst/base/gstcollectpads.h:
20633 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20634 (gst_fake_src_create):
20635 * gst/elements/gstfakesrc.h:
20636 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20637 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20638 (gst_segment_set_last_stop), (gst_segment_set_seek),
20639 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20640 (gst_segment_to_running_time), (gst_segment_clip):
20641 * gst/gstsegment.h:
20642 More segment updates, replace code in plugins with segment
20645 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20647 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20648 Don't ignore sscanf results
20650 2005-11-21 Andy Wingo <wingo@pobox.com>
20652 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20655 * *.c: Ran scripts/update-macros. Oh yes.
20657 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20658 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20661 * scripts/update-macros: New script. Run it on your files to
20662 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20665 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20667 * docs/gst/Makefile.am:
20668 * docs/gst/gstreamer-docs.sgml:
20669 * docs/gst/gstreamer-sections.txt:
20670 * docs/gst/gstreamer.types:
20672 more docs fixes, add new api to the docs
20674 2005-11-21 Andy Wingo <wingo@pobox.com>
20676 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20677 state_broadcast call.
20679 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20681 2005-11-21 Julien MOUTTE <julien@moutte.net>
20683 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20684 function calls for arrays.
20686 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20688 * docs/random/ensonic/media-device-daemon.txt:
20689 wild idea, can this be done?
20690 * docs/gst/gstreamer-sections.txt:
20695 * gst/gstpluginfeature.c:
20699 doc fixes and additions
20701 2005-11-21 Andy Wingo <wingo@pobox.com>
20703 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20704 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20705 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20706 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20707 private to the basesrc implementation.
20709 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20710 behalf of event function if necessary. It should no longer be
20711 necessary to take the stream lock in pad's event functions. Fixes
20714 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20715 * docs/gst/gstreamer-sections.txt:
20716 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20717 (gst_structure_fixate_field_nearest_double),
20718 (gst_structure_fixate_field_boolean):
20719 * gst/gststructure.h:
20720 * win32/common/libgstreamer.def:
20721 * win32/gstreamer.def:
20723 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20726 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20728 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20729 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20730 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20731 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20732 (gst_fdsrc_uri_handler_init):
20733 * gst/elements/gstfdsrc.h:
20734 Port fd:// URI handler from 0.8 to fdsrc
20736 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20738 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20739 (gst_value_serialize_fourcc):
20741 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20742 consistent with our other format defines (#320324).
20744 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20746 * gst/gstvalue.c: (gst_value_is_fixed):
20747 Revert previous commit. Value lists are by definition
20748 not fixed, as they are a list of possible values.
20750 2005-11-21 Andy Wingo <wingo@pobox.com>
20752 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20753 during the stable series if we need it. Fixes #319178.
20755 * gst/gstevent.c (gst_event_new_filler): Removed.
20757 * check/gst/gstevent.c: Update comment about filler events.
20759 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20761 * gst/gstvalue.c: (gst_value_is_fixed):
20762 Should handle both value arrays and value lists.
20764 2005-11-21 Andy Wingo <wingo@pobox.com>
20766 patch by: Alessandro Dessina <alessandro nnva org>
20768 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20769 functions to access arrays. Fixes #321962.
20771 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20773 * docs/gst/gstreamer.types:
20774 gst_collectpads_get_type => gst_collect_pads_get_type.
20776 * gst/base/gstbasetransform.c:
20777 Remove unused SIGNAL_HANDOFF enum.
20779 2005-11-21 Andy Wingo <wingo@pobox.com>
20781 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20782 the event type (upstream, downstream, serialized). Renamed
20783 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20784 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20785 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20787 * gst/gstevent.c: Update for new CUSTOM event names.
20789 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20792 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20795 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20797 * docs/gst/gstreamer-sections.txt:
20798 * win32/common/libgstbase.def:
20799 * win32/libgstbase.def:
20800 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20801 (gst_collect_pads_class_init), (gst_collect_pads_init),
20802 (gst_collect_pads_finalize), (gst_collect_pads_new),
20803 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20804 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20805 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20806 (gst_collect_pads_start), (gst_collect_pads_stop),
20807 (gst_collect_pads_peek), (gst_collect_pads_pop),
20808 (gst_collect_pads_available), (gst_collect_pads_read),
20809 (gst_collect_pads_flush), (gst_collect_pads_event),
20810 (gst_collect_pads_chain):
20811 * gst/base/gstcollectpads.h:
20812 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20813 unimplemented functions as unimplemented. Add padding to
20814 GstCollectData. (#320766, #320423)
20816 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20818 * gst/gstmessage.c:
20819 Improve docs for DURATION message (usage of duration parameter)
20822 2005-11-20 Wim Taymans <wim@fluendo.com>
20824 * check/Makefile.am:
20825 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20829 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20830 (gst_segment_set_seek), (gst_segment_set_newsegment),
20831 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20832 (gst_segment_clip):
20833 * gst/gstsegment.h:
20834 Added segment helper structure and methods. Not fully implemented
20836 Added segment check.
20838 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20840 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20841 Add a deserialisation test for fractions
20842 * examples/metadata/read-metadata.c: (message_loop),
20843 (make_pipeline), (main):
20844 Fix up metadata reading sample.
20845 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20847 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20848 Don't try and fixate empty caps
20849 * gst/gst_private.h:
20850 Wrap in G_BEGIN_DECLS/G_END_DECLS
20851 * gst/gstvalue.c: (gst_value_collect_fraction),
20852 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20853 (gst_value_transform_string_fraction),
20854 (gst_value_compare_fraction):
20855 Add some extra guards to ensure that we don't end up
20856 with an invalid denominator of 0 in a gstfraction and
20857 that fractions always get reduced.
20859 2005-11-20 Wim Taymans <wim@fluendo.com>
20861 * docs/gst/gstreamer-sections.txt:
20863 * gst/gstelement.c:
20872 2005-11-20 Wim Taymans <wim@fluendo.com>
20874 * docs/design/part-TODO.txt:
20876 Make a proper enum of the flag.
20878 2005-11-19 Wim Taymans <wim@fluendo.com>
20880 * docs/design/part-TODO.txt:
20881 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20882 (gst_format_to_quark), (gst_format_register):
20884 * gst/gstquery.c: (_gst_query_initialize),
20885 (gst_query_type_get_name), (gst_query_type_to_quark),
20886 (gst_query_type_register):
20888 Add type to quark and type to string conversions.
20890 2005-11-19 Andy Wingo <wingo@pobox.com>
20892 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20895 2005-11-19 Wim Taymans <wim@fluendo.com>
20897 * docs/design/part-TODO.txt:
20898 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20899 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20900 (gst_bin_handle_message_func):
20902 Make message handling overridable.
20904 2005-11-19 Andy Wingo <wingo@pobox.com>
20906 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20909 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20911 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20912 is a GstClockTime. Fixes #321710.
20914 * gst/gstclock.h (GstClock): Remove offset property. Add
20915 internal_calibration and external_calibration. Fix padding. Pad
20916 also by GstClockTime so we don't run into problems.
20918 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20919 (gst_clock_get_rate_offset): Remove.
20920 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20923 * gst/gstutils.c (g_static_rec_cond_wait)
20924 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20926 * gst/gstbin.c: Remove terrible continue_state prototype.
20928 * gst/gstelement.h (gst_element_continue_state): Make public.
20930 * gst/gstelement.h:
20931 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20932 by continue_state. Fixes #319389.
20934 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20935 Really fixes #168438. However I don't see anywhere where the
20936 filter function is called... stupid GStreamer...
20938 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20939 don't have a dispose function, so it won't get called when the
20940 object is unreffed, but oh well!
20942 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20943 allows a destroy function to be set so user_data can be freed.
20945 (gst_index_set_filter): Call gst_index_set_filter_full.
20947 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20949 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20950 string should produce an error, given the lack of a way to
20951 represent NULL strings. Fixes #165650.
20954 * gst/gstvalue.c (gst_value_array_append_value)
20955 (gst_value_array_prepend_value, gst_value_array_get_size)
20956 (gst_value_array_get_value): New API, copied from
20957 gst_value_list_*, only operates on arrays.
20958 (gst_value_list_append_value, gst_value_list_prepend_value)
20959 (gst_value_list_concat, gst_value_list_get_size)
20960 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20962 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20963 init_list, because it works on both.
20964 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20965 (gst_value_copy_list_or_array): Renamed from copy_list.
20966 (gst_value_free_list_or_array): Renamed from free_list.
20967 (gst_value_collect_list_or_array): Renamed from collect_list.
20968 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20969 (gst_value_list_or_array_peek_pointer): Renamed from
20971 (_gst_value_array_value_table, _gst_value_list_value_table):
20972 Update value table functions.
20973 (gst_value_compare_list_or_array): Renamed from compare_list.
20975 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20978 * gst/gsttaglist.c:
20979 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20980 GstTagList*. Fixes #143472.
20982 * gst/gststructure.h: Clarify what the foreach/map functions can
20983 or can't do to their arguments.
20985 2005-11-18 Wim Taymans <wim@fluendo.com>
20987 * gst/gstclock.c: (gst_clock_set_calibration),
20988 (gst_clock_get_calibration):
20990 Calibration can be set with internal time equal to current
20993 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20999 2005-11-18 Andy Wingo <wingo@pobox.com>
21002 * pkgconfig/gstreamer-net.pc.in:
21003 * pkgconfig/gstreamer-net-uninstalled.pc.in:
21004 * pkgconfig/Makefile.am: Add net pkgconfig files.
21006 2005-11-18 Stefan Kost <ensonic@users.sf.net>
21009 * gst/gstghostpad.c:
21015 2005-11-18 Andy Wingo <wingo@pobox.com>
21017 * gst/net/gstnetclientclock.c: Turn off debugging.
21019 * check/net/gstnetclientclock.c (test_functioning): Assert that the
21020 times connverge somewhat. Can't make a real test.
21022 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21023 integer arithmetic. Return the minimum of the domain, which can be
21024 set as "internal" for gst_clock_set_calibration.
21025 (gst_net_client_clock_observe_times): Call _set_calibration.
21026 (gst_net_client_clock_new): Call _set_calibration instead of
21029 * check/net/gstnetclientclock.c (test_functioning): Use the right
21033 * gst/gstclock.c (gst_clock_get_calibration)
21034 (gst_clock_set_calibration): New functions, obsolete the ones I
21035 added yesterday. Doh. Precision issues mean we have to extrapolate
21036 from a point in the more recent past than 1970.
21037 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21039 (gst_clock_adjust_unlocked): Use the right calibration data.
21041 2005-11-18 Edward Hervey <edward@fluendo.com>
21043 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21044 Also reset the ->current_* values in READY->PAUSED
21046 2005-11-18 Andy Wingo <wingo@pobox.com>
21048 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21049 Whoops, check the right fd. Also add some debugging.
21050 (gst_net_client_clock_observe_times): Adjust for int64 offset.
21051 (do_linear_regression): Add a crapload of debugging. Subtract off
21052 the minimum values from the input series to discard unneeded bits.
21053 Use only int arithmetic. There is still double arithmetic when
21054 calculating the intercept that needs fixing. Return boolean to
21055 indicate success; FALSE would mean the domain or range is too
21056 great. Still needs fixes.
21058 2005-11-18 Wim Taymans <wim@fluendo.com>
21060 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21061 For the current position in stream time, we need to subtract
21064 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21065 Release lock before calling the callback function of async
21068 2005-11-18 Andy Wingo <wingo@pobox.com>
21070 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21071 Port goes all the way to MAXUINT16.
21073 * gst/net/gstnettimeprovider.c: Make the port range the same as
21074 for the kernel: 0 assigns, otherwise ports are less than
21077 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21080 * check/net/gstnetclientclock.c (test_functioning): Add the start
21083 2005-11-18 Wim Taymans <wim@fluendo.com>
21085 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21086 (gst_bin_remove_func), (bin_bus_handler):
21088 Removing a clock provider from a bin, triggers a clock lost message
21089 so that a new clock will be selected.
21090 Adding a clock to a bin triggers a clock provider message.
21091 Make sure we reselect a clock when we received a clock lost message.
21092 Keep a reference to the element that provided the clock.
21094 2005-11-18 Andy Wingo <wingo@pobox.com>
21096 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21097 the clock initially so it produces values around the base time.
21098 (gst_net_client_clock_class_init): Typo fix.
21099 (gst_net_client_clock_thread): Add note on when the socket gets
21102 2005-11-17 Wim Taymans <wim@fluendo.com>
21104 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21105 Free remote and local time arrays.
21107 2005-11-17 Wim Taymans <wim@fluendo.com>
21109 * gst/net/gstnetclientclock.c: (do_linear_regression),
21110 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21111 Fix compilation, uninitialized vars and a forgotten continue.
21113 2005-11-17 Andy Wingo <wingo@pobox.com>
21115 * check/Makefile.am (check_PROGRAMS):
21116 * check/net/gstnetclientclock.c: Add a most minimal test for the
21117 net client clock. More to come later.
21119 * gst/net/gstnet.h:
21120 * gst/net/Makefile.am: Add netclientclock.
21122 * gst/net/gstnetclientclock.h:
21123 * gst/net/gstnetclientclock.c: New files, implement an untested
21124 GstClock that takes its time from a network time provider.
21125 Implements the algorithm in network-clock.scm.
21127 * tests/network-clock.scm (*window-size*): Rename from
21129 * tests/network-clock.scm (network-time):
21130 * tests/network-clock-utils.scm (q-push): Update callers.
21132 2005-11-17 Wim Taymans <wim@fluendo.com>
21134 * gst/gstbin.c: (gst_bin_provide_clock_func),
21135 (gst_bin_sort_iterator_new):
21136 And unref the child too..
21138 2005-11-17 Wim Taymans <wim@fluendo.com>
21140 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21141 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21142 Refactor the sort iterator so it can be used while holding the
21144 Make clock selection select a clock closest to the source.
21146 2005-11-17 Michael Smith <msmith@fluendo.com>
21148 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21149 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21151 Anonymous structs are a gcc (and some other compilers) extension, so
21152 don't use them. Since this is only for ABI-compatibility, and our
21153 API/ABI freeze is over in a few days, this whole thing will only
21154 last a few days, so don't bother trying to think up a meaningful
21155 name for the struct.
21157 2005-11-17 Andy Wingo <wingo@pobox.com>
21159 * gst/gstclock.h (GstClock): Add rate and offset properties,
21160 preserving ABI stability. Add rate/offset accessors. Will file bug
21161 for the freeze break.
21163 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21164 and offset, trying to keep precision and avoiding
21165 underflow/overflow.
21166 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21167 functions. Make gst_clock_set_time_adjust obsolete.
21168 (gst_clock_set_time_adjust): Note that this function is obsolete.
21169 Will file bug soon.
21171 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21172 greppable by using GST_PADDING-1+1.
21174 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21176 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21178 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21179 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21181 * gst/gstpadtemplate.h:
21182 * gst/gstpluginfeature.h:
21183 Don't use c++ style comments in headers (#321638).
21185 2005-11-16 Andy Wingo <wingo@pobox.com>
21187 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21190 * check/net/gstnettimeprovider.c: Check to see that the time
21191 provider actually provides times. Works, yo!
21193 2005-11-16 Wim Taymans <wim@fluendo.com>
21195 * check/Makefile.am:
21198 * check/elements/fakesrc.c: (GST_START_TEST):
21199 Set element to NULL before disposing it.
21201 2005-11-16 Andy Wingo <wingo@pobox.com>
21203 * gst/net/Makefile.am:
21204 * gst/net/gstnet.h:
21205 * gst/net/gstnettimeprovider.c:
21206 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21207 provider, include it from gstnet.h, and add it to the build.
21209 * gst/net/gstnettimepacket.h:
21210 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21211 sending and receiving.
21213 2005-11-16 Wim Taymans <wim@fluendo.com>
21215 * check/Makefile.am:
21216 Enable valgrind check.
21218 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21219 (gst_fake_src_alloc_buffer):
21222 2005-11-16 Wim Taymans <wim@fluendo.com>
21224 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21225 Call parent finalize too.
21227 2005-11-16 Wim Taymans <wim@fluendo.com>
21229 * check/Makefile.am:
21230 Enable valgrind check that should work fine now.
21232 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21233 * gst/gstqueue.c: (gst_queue_init):
21234 Fix memleaks in pad allocation.
21236 2005-11-16 Andy Wingo <wingo@pobox.com>
21238 * gst/net/Makefile.am:
21239 * gst/net/gstnet.h: New part of core to hold network elements and
21240 objects. Put in core because it exposes API that applications want
21241 to use. The library is named libgstnet-tempname right now because
21242 of the existing libgstnet in gst-plugins-base. Solution is
21243 probably to rename the one in plugins-base; will file a bug for
21246 * gst/net/gstnettimeprovider.c:
21247 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21248 get_time call over the network.
21251 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21253 * check/Makefile.am:
21254 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21255 get additions shortly.
21257 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21259 * gst/gstpad.c: (gst_pad_new_from_static_template):
21261 add gst_pad_new_from_static_template functions
21262 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21263 (gst_check_setup_sink_pad):
21264 * gst/elements/gsttee.c: (gst_tee_init):
21267 2005-11-16 Wim Taymans <wim@fluendo.com>
21269 * gst/gstpad.c: (gst_pad_pause_task):
21270 Removed warning, it's not really an error either.
21272 2005-11-16 Wim Taymans <wim@fluendo.com>
21274 * gst/base/gstbasetransform.c:
21275 (gst_base_transform_prepare_output_buf),
21276 (gst_base_transform_event):
21277 Check if the caps are NULL, this can happen if the element
21278 is shutting down and the pad caps are set to NULL.
21280 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21282 * gst/elements/gsttee.c: (gst_tee_init):
21283 fix pad template leak in tee
21285 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21287 * gst/glib-compat.c: (g_value_dup_gst_object):
21288 * gst/glib-compat.h:
21289 * gst/gstpad.c: (gst_pad_set_property):
21290 use gst_object_ref when setting the pad template; this will
21291 trigger the pad template leaks on GLib 2.6 and the slaves
21293 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21295 * gst/glib-compat.c: (gst_flags_get_first_value):
21296 * gst/glib-compat.h:
21297 * gst/gstregistryxml.c:
21298 remove functions copied from GLib 2.6
21300 2005-11-16 Michael Smith <msmith@fluendo.com>
21303 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21304 do, but only breaks with newer valgrind versions. We're not a
21305 valgrind tool, we have no link-time dependencies on libcoregrind.
21307 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21309 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21311 * gst/gstmessage.h:
21314 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21316 * gst/base/gstbasesrc.c: (gst_base_src_init):
21317 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21318 * gst/gstqueue.c: (gst_queue_init):
21319 * gst/gstregistryxml.c: (load_feature):
21320 Revert all these unrefs, they don't even pass make check !
21322 2005-11-15 Johan Dahlin <johan@gnome.org>
21324 * gst/base/gstbasesrc.c: (gst_base_src_init):
21325 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21326 * gst/gstqueue.c: (gst_queue_init):
21327 Free pad templates, fixes a couple of leaks.
21329 2005-11-15 Daniel Fischer <dan at f3c dot com>
21331 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21333 * gst/gstpad.c: (gst_pad_get_property):
21334 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21335 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21338 2005-11-15 Wim Taymans <wim@fluendo.com>
21343 2005-11-15 Andy Wingo <wingo@pobox.com>
21345 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21347 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21348 using GST_CLOCK_TIME_NONE to disable base time management.
21349 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21350 time if it was NONE before.
21351 (gst_pipeline_change_state): Only munge the base time if
21352 stream_time != GST_CLOCK_TIME_NONE.
21354 * check/gst/gstpipeline.c (test_base_time): Punt around the
21355 problem of the probe not being called, because that's not the
21356 issue I'm looking at. Add a check that setting stream_time to NONE
21357 disables base time management.
21359 2005-11-15 Wim Taymans <wim@fluendo.com>
21361 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21362 segment_stop == -1 at startup.
21364 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21365 (gst_base_transform_change_state):
21366 Init segment values at start.
21368 2005-11-15 Wim Taymans <wim@fluendo.com>
21370 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21371 0 segment values are 0 in any format.
21373 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21374 * gst/base/gstbasetransform.h:
21375 Parse newsegment correctly in basetransform
21377 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21378 Sync to clock using updated segment values.
21380 2005-11-15 Andy Wingo <wingo@pobox.com>
21382 * check/gst/gstpipeline.c (test_base_time): Add check that the
21383 base time and stream time are reset correctly.
21385 2005-11-15 Wim Taymans <wim@fluendo.com>
21387 * docs/design/part-TODO.txt:
21388 Some more TODO items.
21390 2005-11-15 Andy Wingo <wingo@pobox.com>
21392 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21393 error if the user selected "no clock" as the clocking method.
21395 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21396 timestamps with live capture.
21398 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21399 is 0 but we are a live source, timestamp the buffers using the
21402 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21404 * docs/gst/gstreamer-sections.txt:
21406 * gst/gstghostpad.c:
21411 2005-11-14 Wim Taymans <wim@fluendo.com>
21414 add suppressions from Wim's Debian machine
21416 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21419 add suppressions from Andy's AMD64 Ubuntu machine
21421 2005-11-14 Andy Wingo <wingo@pobox.com>
21423 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21424 STATE_LOCK not necessary. Fixes #311489.
21426 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21429 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21430 this function is not implemented.
21432 2005-11-14 Julien MOUTTE <julien@moutte.net>
21434 * gst/base/gstbasetransform.c:
21435 (gst_base_transform_prepare_output_buf):
21436 Ref the source pad caps while we need them.
21439 2005-11-11 Wim Taymans <wim@fluendo.com>
21441 * docs/gst/gstreamer-sections.txt:
21442 Added some docs for GstCollectData.
21444 * gst/base/gstadapter.c:
21445 Some small code example fix.
21447 * gst/base/gstcollectpads.c:
21448 * gst/base/gstcollectpads.h:
21449 Document some more.
21451 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21453 * configure.ac: back to HEAD
21455 === release 0.9.5 ===
21457 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21460 releasing 0.9.5, "Bike Lunch Day"
21462 2005-11-11 Wim Taymans <wim@fluendo.com>
21464 * gst/gstbuffer.c: (_gst_buffer_copy):
21467 * gst/gstcaps.c: (gst_caps_is_equal):
21469 Make _is_equal fast in the trivial cases.
21471 * gst/gstminiobject.c:
21472 * gst/gstminiobject.h:
21473 More docs. Spifify .h file.
21478 2005-11-11 Wim Taymans <wim@fluendo.com>
21480 * gst/base/gstbasetransform.c:
21481 (gst_base_transform_prepare_output_buf),
21482 (gst_base_transform_handle_buffer):
21484 If we're processing a buffer and need to allocate an output
21485 buffer, we cannot accept a format change. If we did get a
21486 format change, we have to alloc a buffer ourselves of the
21489 2005-11-11 Wim Taymans <wim@fluendo.com>
21491 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21492 While checking the flag for reentrancy in the gstcaps function
21493 is nice to detect recursive invocations, it also makes it
21494 impossible to call getcaps from multiple threads, which must be
21495 possible. So, checking for recursive calls has to go.
21497 2005-11-11 Michael Smith <msmith@fluendo.com>
21499 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21500 Don't sync on buffers that fall partially outside our current
21501 segment. Prevents an assertion failure/abort playing some files.
21503 2005-11-10 Andy Wingo <wingo@pobox.com>
21505 * check/gst/gstbin.c (test_message_state_changed_children): Style
21508 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21509 gst_bus_poll with the signal watch. Ensures that poll and a signal
21510 watch see the same messages.
21512 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21513 a poll and a watch at the same time get the same messages.
21515 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21517 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21518 * gst/gstcaps.c: (gst_caps_intersect):
21519 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21520 and it's not needed.
21522 2005-11-10 Wim Taymans <wim@fluendo.com>
21524 * docs/design/part-TODO.txt:
21527 2005-11-10 Wim Taymans <wim@fluendo.com>
21529 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21530 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21531 (gst_base_src_do_sync), (gst_base_src_get_range):
21532 Implement clock sync in base class.
21534 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21536 patch by: Tim-Philipp Müller <tim at centricular dot net>
21538 * gst/gststructure.c: (gst_structure_parse_field),
21539 (gst_structure_from_string):
21540 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21541 so that gst_parse_launch() can deal with spaces in filtered link
21542 caps (fixes #164479)
21543 * check/gst/capslist.h:
21544 * check/gst/gststructure.c: (GST_START_TEST):
21545 add unit tests for this change
21547 2005-11-10 Wim Taymans <wim@fluendo.com>
21549 * docs/gst/gstreamer-sections.txt:
21550 * gst/gstelement.c:
21551 * gst/gstelement.h:
21552 Fix docs, move some STATE macros to private.
21554 2005-11-10 Wim Taymans <wim@fluendo.com>
21556 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21557 Added check for bug #317341
21561 Some more spiffifying.
21563 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21564 Call peer linkfunction if we are a source pad. Totally fixes
21568 Update docs, source pads should call the peer linkfunction
21569 so they can atomically perform the pad link.
21571 2005-11-09 Wim Taymans <wim@fluendo.com>
21575 Uber-spiffy-spiffify some more.
21577 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21579 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21580 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21581 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21582 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21583 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21584 * gst/gstpad.c: (gst_pad_init):
21585 Use GST_DEBUG_FUNCPTR() more extensively.
21587 2005-11-09 Wim Taymans <wim@fluendo.com>
21589 * gst/gstobject.c: (gst_object_class_init):
21591 Documentation fixes.
21593 2005-11-09 Edward Hervey <edward@fluendo.com>
21595 * gst/gsttypefindfactory.c:
21598 2005-11-09 Edward Hervey <edward@fluendo.com>
21600 * gst/base/gsttypefindhelper.c:
21601 * gst/gsttypefind.c:
21602 * gst/gsttypefind.h:
21605 2005-11-09 Wim Taymans <wim@fluendo.com>
21607 * gst/gstiterator.c:
21614 2005-11-09 Wim Taymans <wim@fluendo.com>
21620 2005-11-09 Wim Taymans <wim@fluendo.com>
21622 * docs/gst/gstreamer-sections.txt:
21623 Moved the message async delivery private lock and cond
21624 to the private section.
21626 * gst/gstmessage.c:
21627 * gst/gstmessage.h:
21630 2005-11-09 Edward Hervey <edward@fluendo.com>
21632 * docs/gst/gstreamer-sections.txt:
21635 Document GstURIHandler
21637 2005-11-09 Wim Taymans <wim@fluendo.com>
21639 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21640 (gst_iterator_find_custom):
21641 * gst/gstiterator.h:
21644 2005-11-09 Wim Taymans <wim@fluendo.com>
21647 Document another field.
21649 * gst/gststructure.c:
21650 * gst/gststructure.h:
21653 2005-11-09 Wim Taymans <wim@fluendo.com>
21656 Documented structs.
21658 2005-11-09 Wim Taymans <wim@fluendo.com>
21660 * docs/gst/gstreamer-sections.txt:
21661 Added some new macros.
21668 2005-11-09 Wim Taymans <wim@fluendo.com>
21670 * docs/design/part-TODO.txt:
21671 Some more items for the TODO
21677 2005-11-09 Andy Wingo <wingo@pobox.com>
21679 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21680 to work on something else now tho...
21682 * gst/base/gstadapter.c: More adapter docs.
21684 * gst/elements/gstfilesink.c (gst_file_sink_start)
21685 (gst_file_sink_stop): New functions, replace the state change
21687 (gst_file_sink_class_init): Hook up the start and stop functions.
21688 (gst_file_sink_base_init): Don't set the state change handler any
21689 more. It was a bit ugly too, being set from here...
21690 (gst_file_sink_get_property, gst_file_sink_set_property):
21692 (gst_file_sink_set_location): More robust check that doesn't call
21693 GST_STATE. Ugggggg.
21695 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21697 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21698 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21700 2005-11-08 Wim Taymans <wim@fluendo.com>
21702 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21703 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21704 (gst_base_sink_chain), (gst_base_sink_change_state):
21705 * gst/base/gstbasesink.h:
21706 * gst/base/gstbasesrc.h:
21707 * gst/gstelement.h:
21709 Avoid excessive typechecking in macros.
21711 * gst/gstminiobject.c: (gst_mini_object_get_type),
21712 (gst_mini_object_init), (gst_mini_object_new),
21713 (gst_mini_object_free):
21714 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21715 (gst_object_finalize):
21716 Remove cruft code, optimize alloc_trace.
21718 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21720 * docs/faq/gst-uninstalled:
21721 fix up PS1 for systems that try to reset it
21723 2005-11-07 Wim Taymans <wim@fluendo.com>
21725 * gst/base/gstbasesrc.c: (gst_base_src_init),
21726 (gst_base_src_get_range):
21727 Set the segment_end to -1 initially. Fixed typefind.
21729 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21731 * gst/base/gstadapter.c:
21732 Debug category should be 'adapter', not 'GstAdapter'.
21734 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21735 (gst_collectpads_class_init), (gst_collectpads_init),
21736 (gst_collectpads_peek), (gst_collectpads_pop),
21737 (gst_collectpads_event), (gst_collectpads_chain):
21738 Add debug category and some debugging output. Use boilerplate
21739 macros. Remove some extraneous words from docs.
21741 2005-11-05 Andy Wingo <wingo@pobox.com>
21743 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21746 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21748 * docs/gst/gstreamer-sections.txt:
21751 * gst/gstminiobject.h:
21756 2005-11-04 Wim Taymans <wim@fluendo.com>
21758 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21759 Small update to stop at the configured segment_end
21762 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21764 * gst/gstregistry.c:
21765 * gst/gstregistry.h:
21768 2005-11-04 Edward Hervey <edward@fluendo.com>
21770 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21771 Check if we are doing a segment seek and have arrived at the
21772 end of that segment.
21774 2005-11-04 Wim Taymans <wim@fluendo.com>
21776 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21777 Don't leak a mutex unlock in case of an error.
21782 2005-11-04 Wim Taymans <wim@fluendo.com>
21784 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21786 Get the context to wake up only once.
21788 2005-11-03 Wim Taymans <wim@fluendo.com>
21790 * check/states/sinks.c: (GST_START_TEST):
21791 Uncomment fixed check.
21793 * docs/design/part-TODO.txt:
21796 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21797 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21798 (gst_base_sink_get_position):
21799 If we are going to PLAYING, post the right pending state
21800 when we post the intermediate paused message.
21802 * gst/gstelement.c: (gst_element_continue_state),
21803 (gst_element_set_state_func), (gst_element_change_state):
21804 Don't post state changes that were between the same state
21805 and were not ASYNC.
21807 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21809 * docs/gst/gstreamer-sections.txt:
21812 * gst/gstminiobject.h:
21815 more docs and doc style fixes
21817 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21819 * docs/gst/gstreamer-sections.txt:
21820 * gst/gstelement.c:
21821 * gst/gstminiobject.c:
21824 2005-11-03 Andy Wingo <wingo@pobox.com>
21826 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21827 state-changed messages actually have the right order and the right
21830 2005-11-03 Wim Taymans <wim@fluendo.com>
21832 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21833 Added some more checks. Specifically the case where NO_PREROLL
21834 elements are in the pipeline.
21836 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21837 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21838 (gst_base_sink_get_position):
21839 Post READY->PAUSED state change messages too.
21840 Fix bug where VOID was posted as pending state...
21842 * gst/gstbin.c: (gst_bin_recalc_state):
21843 use _element_continue_state() to continue the state change.
21845 * gst/gstelement.c: (gst_element_continue_state),
21846 (gst_element_commit_state), (gst_element_set_state_func),
21847 (gst_element_change_state), (gst_element_change_state_func):
21848 Lots of state change cleanups, assign the STATE_RETURN in
21849 a new continue_state() function that also propagates the
21850 last return value from a state change to the app.
21851 Update some debug statements with proper category.
21853 2005-11-03 Wim Taymans <wim@fluendo.com>
21855 * docs/design/part-events.txt:
21856 * docs/design/part-gstpipeline.txt:
21857 * docs/design/part-messages.txt:
21858 * docs/design/part-overview.txt:
21859 * docs/design/part-seeking.txt:
21860 * docs/design/part-states.txt:
21861 * docs/design/part-trickmodes.txt:
21862 * docs/manual/advanced-position.xml:
21863 Small docs updates.
21866 People think !! is ugly, this looks better.
21868 * gst/gstpad.c: (gst_pad_set_blocked_async):
21869 Remove !! since it's fixed elsewhere now.
21871 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21873 * gst/gstminiobject.h:
21875 Add !! to _FLAG_IS_SET macros to make the result boolean.
21877 2005-11-03 Edward Hervey <edward@fluendo.com>
21879 * gst/gstpad.c: (gst_pad_set_blocked_async):
21880 comparing a flag and a gboolean rarely returns coherent results...
21881 Added two characters (!!) to make that work correctly.
21883 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21885 * gst/gstbus.c: (gst_bus_class_init):
21888 * gst/gstqueue.c: (gst_queue_loop):
21889 Don't assume a miniobject that isn't a buffer is an
21890 event (it could be that there is a refcounting
21891 problem somewhere and the pointer is stale and
21892 refers to an already destroyed miniobject).
21894 2005-11-03 Julien MOUTTE <julien@moutte.net>
21896 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21898 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21900 * docs/manual/advanced-position.xml:
21901 Update seek example and explanations to current 0.9 API.
21903 * gst/elements/gsttypefindelement.c:
21904 (gst_type_find_element_activate):
21905 Remove FIXME comment now that the found caps
21908 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21910 * gst/gstregistryxml.c: (load_feature):
21911 Add another GST_STR_NULL instance
21913 2005-11-02 Edward Hervey <edward@fluendo.com>
21915 * gst/gstpad.c: (handle_pad_block):
21916 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21918 2005-11-02 Wim Taymans <wim@fluendo.com>
21923 * gst/gstelement.c: (gst_element_commit_state):
21924 Remove unused value.
21926 * gst/gstiterator.c:
21927 Mention that the returned element is reffed in the docs.
21929 2005-11-02 Wim Taymans <wim@fluendo.com>
21931 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21932 (gst_pad_push), (gst_pad_push_event):
21933 Unlock blocked pads when they are flushed.
21935 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21938 * docs/gst/gstreamer-sections.txt:
21941 * gst/gstregistry.c: (gst_registry_scan_path_level):
21942 fix for a nasty little missed situation where an installed plug-in
21943 which was in the cache did not get overridden by an uninstalled one
21944 which was earlier in the plugin path because the newly created plugin
21945 for the uninstalled one (not in the registry) didn't get its
21946 ->registered set to TRUE
21948 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21950 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21951 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21952 (gst_collectpads_is_active), (gst_collectpads_collect),
21953 (gst_collectpads_collect_range), (gst_collectpads_start),
21954 (gst_collectpads_stop), (gst_collectpads_peek),
21955 (gst_collectpads_pop), (gst_collectpads_available),
21956 (gst_collectpads_read), (gst_collectpads_flush):
21957 Guard public API with assertions.
21960 Fix docs for gst_pad_set_link_function().
21962 2005-11-02 Johan Dahlin <johan@gnome.org>
21964 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21965 Unref found_caps after we used it.
21967 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21969 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21970 Don't try to ref NULL.
21972 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21974 * win32/common/config.h.in:
21975 provide a GST_FUNCTION that just gives a string for now
21977 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21979 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21980 (gst_object_flags_get_type), (register_gst_bin_flags),
21981 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21982 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21983 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21984 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21985 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21986 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21987 (gst_clock_flags_get_type), (register_gst_state),
21988 (gst_state_get_type), (register_gst_state_change_return),
21989 (gst_state_change_return_get_type), (register_gst_state_change),
21990 (gst_state_change_get_type), (register_gst_element_flags),
21991 (gst_element_flags_get_type), (register_gst_core_error),
21992 (gst_core_error_get_type), (register_gst_library_error),
21993 (gst_library_error_get_type), (register_gst_resource_error),
21994 (gst_resource_error_get_type), (register_gst_stream_error),
21995 (gst_stream_error_get_type), (register_gst_event_type),
21996 (gst_event_type_get_type), (register_gst_seek_type),
21997 (gst_seek_type_get_type), (register_gst_seek_flags),
21998 (gst_seek_flags_get_type), (register_gst_format),
21999 (gst_format_get_type), (register_gst_index_certainty),
22000 (gst_index_certainty_get_type), (register_gst_index_entry_type),
22001 (gst_index_entry_type_get_type),
22002 (register_gst_index_lookup_method),
22003 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22004 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22005 (gst_index_resolver_method_get_type), (register_gst_index_flags),
22006 (gst_index_flags_get_type), (register_gst_debug_level),
22007 (gst_debug_level_get_type), (register_gst_debug_color_flags),
22008 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22009 (gst_iterator_result_get_type), (register_gst_iterator_item),
22010 (gst_iterator_item_get_type), (register_gst_message_type),
22011 (gst_message_type_get_type), (register_gst_mini_object_flags),
22012 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22013 (gst_pad_link_return_get_type), (register_gst_flow_return),
22014 (gst_flow_return_get_type), (register_gst_activate_mode),
22015 (gst_activate_mode_get_type), (register_gst_pad_direction),
22016 (gst_pad_direction_get_type), (register_gst_pad_flags),
22017 (gst_pad_flags_get_type), (register_gst_pad_presence),
22018 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22019 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22020 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22021 (gst_plugin_error_get_type), (register_gst_plugin_flags),
22022 (gst_plugin_flags_get_type), (register_gst_rank),
22023 (gst_rank_get_type), (register_gst_query_type),
22024 (gst_query_type_get_type), (register_gst_tag_merge_mode),
22025 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22026 (gst_tag_flag_get_type), (register_gst_task_state),
22027 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22028 (gst_alloc_trace_flags_get_type),
22029 (register_gst_type_find_probability),
22030 (gst_type_find_probability_get_type), (register_gst_uri_type),
22031 (gst_uri_type_get_type), (register_gst_parse_error),
22032 (gst_parse_error_get_type):
22033 * win32/common/gstversion.h:
22034 update win32 copies
22036 2005-11-01 Luca Ognibene <luogni@tin.it>
22039 fix docs. popt is dead, long live GOption.
22041 2005-10-31 Wim Taymans <wim@fluendo.com>
22046 2005-10-31 Andy Wingo <wingo@pobox.com>
22050 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22052 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22053 need to serialize property notifications on GLib 2.8. GLib 2.6 has
22054 the possibility of deadlocks here if code calling notify() or
22055 set() has a lock that can be taken in another notify handler (ABBA
22056 with class lock and e.g. python GIL state lock).
22058 2005-10-28 Julien MOUTTE <julien@moutte.net>
22060 * gst/gstbus.c: Doc updates.
22062 2005-10-28 Wim Taymans <wim@fluendo.com>
22064 * docs/design/part-TODO.txt:
22065 * gst/gstiterator.c:
22066 * gst/gstsystemclock.c:
22067 * gst/gstsystemclock.h:
22070 2005-10-28 Edward Hervey <edward@fluendo.com>
22072 * docs/gst/gstreamer-docs.sgml:
22073 * docs/gst/gstreamer-sections.txt:
22074 the GstURIType documentation page is private, it only defines GstURIType
22075 which should be defined in the GstURIHandler page
22077 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22079 * gst/gstbin.c: (gst_bin_class_init):
22082 Documentation updates.
22084 2005-10-28 Wim Taymans <wim@fluendo.com>
22086 * docs/gst/gstreamer-sections.txt:
22089 Documented the clocks.
22091 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22093 * docs/gst/gstreamer-sections.txt:
22094 move some macros to private sections
22095 * gst/gstminiobject.c:
22096 * gst/gstminiobject.h:
22097 add descriptions provided by ds and some more
22099 mark macro as to be removed
22101 2005-10-28 Wim Taymans <wim@fluendo.com>
22103 * docs/design/part-TODO.txt:
22104 Add an item to TODO.
22106 * gst/gstiterator.c: (gst_iterator_fold),
22107 (gst_iterator_find_custom):
22108 * gst/gstiterator.h:
22111 2005-10-28 Wim Taymans <wim@fluendo.com>
22113 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22114 (gst_base_transform_init):
22117 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22118 An EOS event marks the queue as completely filled.
22120 2005-10-27 Wim Taymans <wim@fluendo.com>
22122 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22123 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22124 Some more debugging.
22126 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22127 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22128 (gst_base_transform_event), (gst_base_transform_getrange),
22129 (gst_base_transform_chain):
22130 * gst/base/gstbasetransform.h:
22132 Protect transform and concurrent buffer alloc with a new lock.
22133 Try not to break ABI/API.
22135 2005-10-27 Wim Taymans <wim@fluendo.com>
22137 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22138 (gst_base_src_init), (gst_base_src_query),
22139 (gst_base_src_default_newsegment),
22140 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22141 (gst_base_src_send_event), (gst_base_src_event_handler),
22142 (gst_base_src_pad_get_range), (gst_base_src_loop),
22143 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22144 (gst_base_src_start), (gst_base_src_deactivate),
22145 (gst_base_src_activate_push), (gst_base_src_change_state):
22146 Move some stuff around and cleanup things.
22148 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22150 * gst/base/gstbasesrc.c: (gst_base_src_query):
22151 Add missing break statements.
22153 2005-10-27 Wim Taymans <wim@fluendo.com>
22155 * check/gst/gstbin.c: (GST_START_TEST):
22156 An extra refcount is taken in basesrc.
22158 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22159 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22160 (gst_base_src_loop):
22161 Small cleanups, check for flushing after being unlocked from the
22162 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22163 Don't send out EOS when going to READY.
22165 2005-10-27 Wim Taymans <wim@fluendo.com>
22167 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22168 (gst_base_sink_get_position):
22171 * gst/gstbin.c: (message_check), (bin_replace_message),
22172 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22173 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22174 (bin_query_duration_init), (bin_query_duration_fold),
22175 (bin_query_duration_done), (bin_query_generic_fold),
22177 * tools/gst-launch.c: (main):
22180 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22182 * examples/controller/audio-example.c: (main):
22183 * examples/queue/queue.c: (event_loop):
22184 * gst/base/gstbasetransform.h:
22185 * gst/gstelement.c: (gst_element_send_event):
22187 * gst/gstpad.c: (gst_pad_send_event):
22190 changing log priority in error situations
22192 2005-10-25 Wim Taymans <wim@fluendo.com>
22194 * gst/gstbin.c: (message_check), (bin_replace_message),
22195 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22196 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22197 (bin_query_duration_init), (bin_query_duration_fold),
22198 (bin_query_duration_done), (bin_query_generic_fold),
22200 Some doc and debug updates.
22201 Cache previously requested query DURATION for speed. invalidate
22202 cached duration if element posts a DURATION message.
22204 2005-10-25 Wim Taymans <wim@fluendo.com>
22206 * docs/design/part-TODO.txt:
22209 * gst/gstbin.c: (message_check), (bin_replace_message),
22210 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22211 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22212 (bin_query_duration_init), (bin_query_duration_fold),
22213 (bin_query_duration_done), (bin_query_generic_fold),
22215 Handle SEGMENT_START/DONE messages correctly.
22216 More evolved query algorithm that handles duration queries
22219 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22220 (gst_element_get_state_func), (gst_element_abort_state),
22221 (gst_element_commit_state), (gst_element_lost_state):
22222 Some more debugging.
22224 * gst/gstmessage.h:
22227 2005-10-25 Wim Taymans <wim@fluendo.com>
22229 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22230 Don't use invalid stream_time.
22232 * gst/gstevent.c: (gst_event_new_newsegment):
22233 stream_time in newsegment cannot be undefined.
22235 2005-10-24 Wim Taymans <wim@fluendo.com>
22240 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22242 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22244 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22246 * docs/libs/tmpl/gstdparam.sgml:
22247 * docs/libs/tmpl/gstdplinint.sgml:
22248 * docs/libs/tmpl/gstdpman.sgml:
22249 * docs/libs/tmpl/gstdpsmooth.sgml:
22250 * docs/libs/tmpl/gstunitconvert.sgml:
22253 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22258 === release 0.9.4 ===
22260 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22263 releasing 0.9.4, "Tyrannosaurus Rex"
22265 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22267 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22268 (gst_file_sink_get_current_offset):
22269 Use fseeko() and ftello() if available. When falling back on
22270 lseek() to get the current offset, fflush() first to make sure
22271 everything is up-to-date and we get the right offset.
22273 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22275 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22276 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22277 * gst/gsterror.c: (_gst_stream_errors_init):
22279 * gst/gstqueue.c: (gst_queue_loop):
22281 remove prematurely added error category and clean up the instances
22283 2005-10-21 Wim Taymans <wim@fluendo.com>
22285 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22286 (gst_base_sink_get_position), (gst_base_sink_query),
22287 (gst_base_sink_change_state):
22288 Simply set the right flag when going to playing, that's all
22289 we need to do instead of calling a function inside the object
22290 lock (that could take the lock as well and deadlock)
22292 2005-10-21 Wim Taymans <wim@fluendo.com>
22294 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22295 (gst_base_src_loop):
22296 Don't warn, the peer element knows what to do best when
22297 the seek failed, it might try something else.
22299 2005-10-21 Wim Taymans <wim@fluendo.com>
22301 * gst/base/gstbasesrc.c: (gst_base_src_init),
22302 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22305 2005-10-21 Wim Taymans <wim@fluendo.com>
22307 * docs/design/part-segments.txt:
22310 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22311 Correctly set caps, even on the subbufer.
22313 2005-10-21 Wim Taymans <wim@fluendo.com>
22315 * docs/gst/gstreamer-docs.sgml:
22316 * docs/gst/gstreamer-sections.txt:
22317 * gst/gstelement.h:
22320 * gst/gstmessage.h:
22323 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22327 And 2% more doc coverage.
22329 2005-10-21 Andy Wingo <wingo@pobox.com>
22331 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22332 position reporting.
22334 2005-10-20 Wim Taymans <wim@fluendo.com>
22336 * gst/gsterror.c: (gst_error_get_message):
22339 * gst/gststructure.c:
22344 2005-10-20 Wim Taymans <wim@fluendo.com>
22349 Another 1% more coverage.
22351 2005-10-20 Wim Taymans <wim@fluendo.com>
22353 * docs/gst/gstreamer-sections.txt:
22354 * gst/gstelement.c: (gst_element_get_state_func),
22355 (gst_element_abort_state), (gst_element_commit_state),
22356 (gst_element_lost_state):
22358 * gst/gstquery.c: (gst_query_set_position),
22359 (gst_query_parse_position), (gst_query_set_duration),
22360 (gst_query_parse_duration), (gst_query_new_convert):
22362 Yay! 1% more docs coverage.
22364 2005-10-20 Wim Taymans <wim@fluendo.com>
22367 * gst/gstquery.c: (gst_query_set_position),
22368 (gst_query_parse_position), (gst_query_set_duration),
22369 (gst_query_parse_duration), (gst_query_new_convert):
22371 * gst/gstutils.c: (gst_element_query_convert):
22373 Docs and consistency fixes.
22375 2005-10-20 Wim Taymans <wim@fluendo.com>
22381 2005-10-20 Wim Taymans <wim@fluendo.com>
22383 * gst/gstbin.c: (message_check), (bin_replace_message),
22384 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22385 (update_degree), (gst_bin_sort_iterator_next),
22386 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22387 Reworked the message handling a bit, cache the messages instead of
22388 only the senders. alows us to do more in the future.
22390 2005-10-20 Wim Taymans <wim@fluendo.com>
22392 * docs/design/part-TODO.txt:
22395 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22396 (gst_base_sink_query):
22397 Don't use clock time to report position when in EOS.
22399 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22401 * tools/gst-inspect.c: (print_interfaces),
22402 (print_element_properties_info), (print_element_info):
22403 Fix interface output with gst-inspect -a; don't print
22404 newlines after double/float properties.
22406 2005-10-20 Wim Taymans <wim@fluendo.com>
22408 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22409 (gst_base_sink_query):
22410 Speed up current position calculation.
22412 * gst/base/gstbasesrc.c: (gst_base_src_query),
22413 (gst_base_src_default_newsegment):
22414 Correctly set stream position in newsegment.
22416 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22417 (update_degree), (gst_bin_sort_iterator_next),
22418 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22419 * gst/gstmessage.c: (gst_message_new_custom):
22420 Clean up debugging info
22422 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22423 (gst_queue_loop), (gst_queue_handle_src_query):
22426 2005-10-19 Wim Taymans <wim@fluendo.com>
22428 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22429 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22430 Fix query handling again.
22432 2005-10-19 Wim Taymans <wim@fluendo.com>
22434 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22435 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22436 * gst/base/gstbasesrc.c: (gst_base_src_query):
22437 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22438 * gst/elements/gsttypefindelement.c:
22439 (gst_type_find_handle_src_query), (find_element_get_length),
22440 (gst_type_find_element_activate):
22443 * gst/gstquery.c: (gst_query_new_position),
22444 (gst_query_set_position), (gst_query_parse_position),
22445 (gst_query_new_duration), (gst_query_set_duration),
22446 (gst_query_parse_duration), (gst_query_set_segment),
22447 (gst_query_parse_segment):
22449 Bundling query position/duration is not a good idea since duration
22450 does not change much and we don't want to recalculate it for every
22451 position query, so they are separated again..
22452 Base value in segment query is not needed.
22454 * gst/gstqueue.c: (gst_queue_handle_src_query):
22455 * gst/gstutils.c: (gst_element_query_position),
22456 (gst_element_query_duration), (gst_pad_query_position),
22457 (gst_pad_query_duration):
22459 Updates for query API change.
22460 Added some docs here and there.
22462 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22464 * check/gst/gstbin.c: (GST_START_TEST):
22465 * check/gst/gstghostpad.c: (GST_START_TEST):
22466 * check/pipelines/cleanup.c: (GST_START_TEST):
22467 wait on thread to die so we can check refcount correctly
22469 2005-10-18 Wim Taymans <wim@fluendo.com>
22471 * check/pipelines/stress.c: (GST_START_TEST):
22472 Make check a little more time consuming.
22474 2005-10-18 Wim Taymans <wim@fluendo.com>
22476 * check/Makefile.am:
22477 * check/pipelines/stress.c: (GST_START_TEST),
22478 (simple_launch_lines_suite), (main):
22479 Small state change torture test.
22481 * docs/design/part-states.txt:
22482 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22483 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22484 (gst_base_sink_change_state):
22485 Never take state lock from streaming thread, clean up ugly
22486 hacks. Unfortunatly core does not yet support nice ways to
22487 async commit state.
22489 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22491 Start state recalc if a STATE_DIRTY message is posted, but only
22492 on the toplevel bin.
22494 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22495 (gst_element_get_state_func), (gst_element_abort_state),
22496 (gst_element_commit_state), (gst_element_lost_state),
22497 (gst_element_set_state_func), (gst_element_change_state):
22498 * gst/gstelement.h:
22499 State variables are now protected with the LOCK, the state
22500 lock is only used to serialize _set_state().
22502 2005-10-18 Wim Taymans <wim@fluendo.com>
22504 * check/gst/gstbin.c: (GST_START_TEST):
22505 * check/gst/gstmessage.c: (GST_START_TEST):
22506 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22507 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22509 * gst/gstelement.c: (gst_element_abort_state),
22510 (gst_element_commit_state), (gst_element_lost_state):
22511 * gst/gstmessage.c: (gst_message_new_state_changed),
22512 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22513 (gst_message_new_segment_done), (gst_message_new_duration),
22514 (gst_message_parse_state_changed),
22515 (gst_message_parse_segment_start),
22516 (gst_message_parse_segment_done), (gst_message_parse_duration):
22517 * gst/gstmessage.h:
22518 * tools/gst-launch.c: (event_loop):
22519 Seriously, this is better than a previous commit as we only need
22520 to notify the fact that an element changed state in a streaming
22521 thread, marking the state of the parents dirty, hence the
22522 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22525 2005-10-18 Wim Taymans <wim@fluendo.com>
22527 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22528 (gst_bin_recalc_func):
22529 * gst/gstelement.c: (gst_element_set_clock),
22530 (gst_element_abort_state), (gst_element_lost_state):
22531 Cleanups, prepare for state change fixes.
22533 2005-10-18 Wim Taymans <wim@fluendo.com>
22536 * gst/gstelement.c: (gst_element_class_init),
22537 (gst_element_set_state), (gst_element_set_state_func):
22538 * gst/gstelement.h:
22539 Pending ABI changes.
22540 GThreadPool in GstBinClass to monitor async state changes.
22541 state_cookie in GstElement to detect concurrent gst/set state.
22542 set_state is now virtual too in case a very complicated element
22543 has to be constructed.
22545 2005-10-18 Wim Taymans <wim@fluendo.com>
22547 * check/gst/gstbin.c: (GST_START_TEST):
22548 * check/gst/gstmessage.c: (GST_START_TEST):
22549 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22550 * gst/gstbin.c: (bin_bus_handler):
22551 * gst/gstelement.c: (gst_element_commit_state),
22552 (gst_element_lost_state):
22553 * gst/gstmessage.c: (gst_message_new_state_changed),
22554 (gst_message_new_segment_start), (gst_message_new_segment_done),
22555 (gst_message_new_duration), (gst_message_parse_state_changed),
22556 (gst_message_parse_segment_start),
22557 (gst_message_parse_segment_done), (gst_message_parse_duration):
22558 * gst/gstmessage.h:
22559 * tools/gst-launch.c: (event_loop):
22560 Make messages future proof.
22561 state-change gets a flag if it was a message comming from the
22563 segment-start/stop can also be specified in other formats.
22564 A message to notify an app that a pipeline changed playback
22566 Also fix a GstMessage leak in -launch
22568 2005-10-18 Andy Wingo <wingo@pobox.com>
22570 * gst/gstelement.c (gst_element_dispose): More helpful message.
22572 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22574 reviewed by: <delete if not using a buddy>
22576 * common/gtk-doc.mak:
22578 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22580 * gst/gstregistry.c: (gst_registry_scan_path_level):
22581 unref a plug-in we get that was already initialized
22583 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22585 * docs/gst/gstreamer-sections.txt:
22586 * docs/libs/gstreamer-libs-sections.txt:
22587 * gst/gstelement.h:
22588 add new api entries
22589 hide internal macro
22591 2005-10-17 Andy Wingo <wingo@pobox.com>
22593 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22596 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22598 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22600 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22601 (gst_element_get_state_func): Better debug message.
22602 (gst_element_commit_state): s/INFO/DEBUG/.
22603 (gst_element_lost_state, gst_element_change_state):
22605 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22606 (gst_message_new_custom): s/INFO/LOG/.
22608 2005-10-17 Michael Smith <msmith@fluendo.com>
22610 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22611 Check if end time is valid using end time, not start time.
22613 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22615 * check/gst-libs/controller.c: (GST_START_TEST),
22616 (gst_controller_suite):
22617 * libs/gst/controller/gstcontroller.c:
22618 (gst_controlled_property_set_interpolation_mode):
22619 * libs/gst/controller/gstcontroller.h:
22620 * libs/gst/controller/gstinterpolation.c:
22621 * testsuite/controller/.cvsignore:
22622 * testsuite/controller/Makefile.am:
22623 * testsuite/controller/interpolator.c:
22624 merge controller testsuites
22626 remove mem-chunk from docs
22628 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22630 * gst/gstmemchunk.c:
22631 * gst/gstmemchunk.h:
22632 * gst/gsttrashstack.c:
22633 * gst/gsttrashstack.h:
22634 out. get out. you're fired. to the Attic !
22636 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22638 * gst/gstcaps.c: (gst_caps_intersect):
22639 fix signedness issues in a (hopefully) correct way
22640 * gst/gstelement.c: (gst_element_pads_activate):
22642 * gst/gstobject.c: (gst_object_set_parent):
22645 2005-10-17 Julien MOUTTE <julien@moutte.net>
22647 * gst/gstvalue.h: Fix prototypes.
22649 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22651 * docs/gst/gstreamer-sections.txt:
22652 * gst/gst.c: (gst_version_string):
22654 * gst/gstversion.h.in:
22655 * win32/common/libgstreamer.def:
22656 add gst_version_string ()
22658 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22662 * gst/gst.c: (init_post):
22663 * win32/common/config.h.in:
22665 * gst/gstcaps.c: (gst_caps_intersect):
22666 use gint64, the range could be bigger than a guint
22668 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22671 document potential problem in 2038
22673 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22675 * gst/gstcaps.c: (gst_caps_intersect):
22676 Fix guint j diving under 0
22678 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22681 * win32/common/config.h:
22682 * win32/common/config.h.in:
22683 check for process.h, declares getpid() on Windows
22685 include process.h if we have it
22686 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22687 * gst/gstmemchunk.h:
22688 fix signedness issues
22689 * win32/common/libgstreamer.def:
22692 2005-10-16 Julien MOUTTE <julien@moutte.net>
22694 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22695 fix. Because of unsigned ints, caps intersection was going nuts and
22696 trying to access structures with G_MAXUINT index. That fixes
22697 videotestsrc ! ffmpegcolorspace ! fakesink
22698 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22701 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22704 use the gettext macro
22705 * gst/elements/gstelements.c:
22707 * gst/indexers/gstindexers.c:
22708 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22709 * win32/common/config.h:
22711 * win32/common/config.h.in:
22712 add the template to generate config.h
22713 * win32/common/gstenumtypes.c:
22714 * win32/common/gstversion.h:
22717 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22719 * gst/gst.c: (gst_version):
22720 * gst/gstversion.h.in:
22723 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22726 Oops, add missing closing bracket.
22728 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22731 use common m4's for argument checking
22733 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22735 * docs/gst/gstreamer-sections.txt:
22737 Add GST_EVENT_TYPE_NAME() macro.
22739 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22742 * gst/gstpluginfeature.c:
22744 privatize more symbols
22746 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22749 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22750 everything that uses GStreamer API should have the includes
22752 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22754 * docs/gst/gstreamer-sections.txt:
22755 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22757 give each value a _get_type, removes the DATA exports
22759 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22763 remove _gst_registry_auto_load, not used anymore
22764 * gst/gstbin.c: (gst_bin_get_type):
22766 * gst/gstelement.c: (gst_element_get_type):
22767 * gst/gstelement.h:
22768 * gst/gstobject.c: (gst_object_get_type):
22770 * gst/gstpad.c: (gst_pad_get_type):
22772 make _get_type functions similar, fixes data export from library
22774 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22777 correctly make conditionals
22778 * gst/elements/Makefile.am:
22779 * gst/elements/gstelements.c:
22780 fix typo causing fdsrc not to build
22782 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22784 * testsuite/Makefile.am:
22785 * testsuite/bytestream/.cvsignore:
22786 * testsuite/bytestream/Makefile.am:
22787 * testsuite/bytestream/filepadsink.c:
22788 * testsuite/bytestream/gstbstest.c:
22789 * testsuite/bytestream/test1.c:
22790 * testsuite/bytestream/testfile1:
22791 * testsuite/caps/normalisation.c:
22792 * testsuite/caps/random.c: (main):
22793 * testsuite/cleanup/.cvsignore:
22794 * testsuite/cleanup/Makefile.am:
22795 * testsuite/cleanup/cleanup1.c:
22796 * testsuite/cleanup/cleanup2.c:
22797 * testsuite/cleanup/cleanup3.c:
22798 * testsuite/cleanup/cleanup4.c:
22799 * testsuite/cleanup/cleanup5.c:
22800 * testsuite/controller/interpolator.c:
22801 * testsuite/debug/printf_extension.c: (main):
22802 * testsuite/elements/tee.c:
22803 * testsuite/negotiation/.cvsignore:
22804 * testsuite/negotiation/Makefile.am:
22805 * testsuite/negotiation/pad_link.c:
22806 * testsuite/pad/Makefile.am:
22807 * testsuite/pad/chainnopull.c:
22808 * testsuite/pad/getnopush.c:
22809 * testsuite/pad/link.c:
22810 * testsuite/refcounting/sched.c: (create_pipeline):
22811 * testsuite/registry/Makefile.am:
22812 * testsuite/registry/gst-print-formats.c:
22813 * testsuite/schedulers/.cvsignore:
22814 * testsuite/schedulers/142183-2.c:
22815 * testsuite/schedulers/142183.c:
22816 * testsuite/schedulers/143777-2.c:
22817 * testsuite/schedulers/143777.c:
22818 * testsuite/schedulers/147713.c:
22819 * testsuite/schedulers/147819.c:
22820 * testsuite/schedulers/147894-2.c:
22821 * testsuite/schedulers/147894.c:
22822 * testsuite/schedulers/Makefile.am:
22823 * testsuite/schedulers/group_link.c:
22824 * testsuite/schedulers/queue_link.c:
22825 * testsuite/schedulers/relink.c:
22826 * testsuite/schedulers/unlink.c:
22827 * testsuite/schedulers/unref.c:
22828 * testsuite/schedulers/useless_iteration.c:
22829 * testsuite/states/bin.c:
22830 clean out/remove some stuff from the testsuite directories
22832 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22835 check for some headers
22836 * gst/elements/Makefile.am:
22837 * gst/elements/gstelements.c:
22838 don't compile fdsrc without sys/socket.h
22839 * gst/indexers/Makefile.am:
22840 * gst/indexers/gstindexers.c: (plugin_init):
22841 don't compile fileindex without mmap
22843 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22850 * check/Makefile.am:
22851 * docs/gst/Makefile.am:
22852 * examples/helloworld/Makefile.am:
22854 * gst/base/Makefile.am:
22855 * gst/check/Makefile.am:
22856 * gst/elements/Makefile.am:
22857 * gst/indexers/Makefile.am:
22858 * gst/parse/Makefile.am:
22859 * libs/gst/controller/Makefile.am:
22860 * libs/gst/dataprotocol/Makefile.am:
22861 * examples/helloworld/helloworld.c: (event_loop):
22862 compile fixes, though it's not being compiled currently
22864 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22866 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22867 Add some simple tests for the new taglist date API.
22869 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22871 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22872 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22873 Beautify 'last-message' output: print 'none' for buffer timestamps
22874 and durations if none is set; improve alignment with next messages.
22876 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22878 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22879 * gst/gstpluginfeature.h:
22880 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22881 * gst/gstregistry.h:
22882 * docs/gst/gstreamer-sections.txt:
22883 Add new API to check plugin feature version requirements.
22885 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22886 Some basic tests for the above.
22888 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22890 * gst/gststructure.c: (gst_structure_to_string):
22891 guard against NULL printf - happens when for example
22892 a message structure with GstClock gets serialized
22894 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22896 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22897 Fix presumable copy'n'pasto.
22899 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22901 * gst/elements/gstfakesrc.h:
22902 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22903 * gst/elements/gsttypefindelement.c:
22904 fix some signedness
22905 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22906 I wonder if this could actually write +2GB files before
22908 2005-10-13 Andy Wingo <wingo@pobox.com>
22910 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22911 Fix Timmeke Waymans bug.
22912 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22913 string of the proper length to gst_caps_from_string. There's a
22914 potential for, before this fix, that this could cause someone
22915 connecting over the network to cause a segfault if the payload is
22916 not NUL-terminated.
22918 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22920 * docs/design/draft-push-pull.txt:
22921 * docs/design/part-overview.txt:
22922 * docs/random/TODO-pre-0.9:
22923 * docs/random/old/ChangeLog.gstreamer:
22924 * gst/base/gstpushsrc.c:
22928 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22930 * gst/glib-compat.c: (gst_flags_get_first_value):
22931 * gst/glib-compat.h:
22932 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22933 (gst_value_compare_double), (gst_value_serialize_flags):
22934 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22937 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22939 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22940 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22942 * tools/gst-launch.c: (event_loop):
22943 print out clock nicely
22945 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22947 * docs/gst/gstreamer-sections.txt:
22948 * gst/gsttaglist.h:
22949 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22950 (gst_tag_list_get_date_index):
22951 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22952 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22954 2005-10-13 Julien MOUTTE <julien@moutte.net>
22956 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22957 (gst_collectpads_chain):
22958 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22961 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22963 * docs/gst/gstreamer-sections.txt:
22966 * tools/gst-inspect.c: (main):
22967 * tools/gst-launch.c: (main):
22968 * tools/gst-run.c: (main):
22969 * tools/gst-xmlinspect.c: (main):
22970 fix GOption context leaks
22973 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22977 * win32/common/config.h:
22979 * win32/vs6/grammar.dsp:
22980 * win32/vs6/libgstelements.dsp:
22981 * win32/vs6/libgstreamer.dsp:
22984 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22986 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22987 * gst/base/gstbasesrc.c: (gst_base_src_query):
22988 fix more guint64<->gdouble conversions
22990 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22993 add win32-update target
22994 * win32/common/gstconfig.h:
22995 * win32/common/gstenumtypes.c:
22996 * win32/common/gstenumtypes.h:
22997 * win32/common/gstversion.h:
22998 add files that visual studio can't generate
23000 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
23003 add a win32-update target
23006 2005-10-12 Wim Taymans <wim@fluendo.com>
23008 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23009 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23010 * gst/gstelement.c: (gst_element_commit_state),
23011 (gst_element_set_state):
23012 Protect flags with proper lock.
23013 unref provided cached clock in dispose.
23015 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23018 * gst/gstminiobject.h:
23020 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23021 removed unused flags from miniobject
23024 2005-10-12 Wim Taymans <wim@fluendo.com>
23026 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23027 (gst_file_sink_event), (gst_file_sink_render):
23028 Flush before seeking.
23030 2005-10-12 Andy Wingo <wingo@pobox.com>
23032 * gst/gst.c (gst_init_check): Ignore unknown options, as has
23033 always been the case.
23035 2005-10-12 Stefan Kost <ensonic@users.sf.net>
23037 * check/gst/gstbin.c: (GST_START_TEST):
23038 * docs/gst/gstreamer-sections.txt:
23039 * gst/base/gstbasesink.c: (gst_base_sink_init):
23040 * gst/base/gstbasesrc.c: (gst_base_src_init),
23041 (gst_base_src_get_range), (gst_base_src_check_get_range),
23042 (gst_base_src_start), (gst_base_src_stop):
23043 * gst/base/gstbasesrc.h:
23044 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23045 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23046 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23050 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23052 * gst/gstelement.c: (gst_element_is_locked_state),
23053 (gst_element_set_locked_state), (gst_element_commit_state),
23054 (gst_element_set_state):
23055 * gst/gstelement.h:
23056 * gst/gstindex.c: (gst_index_init):
23058 * gst/gstminiobject.h:
23059 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23060 (gst_object_set_parent):
23062 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23063 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23065 * gst/gstpadtemplate.h:
23066 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23067 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23068 * gst/gstpipeline.h:
23069 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23070 (gst_file_index_commit):
23071 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23072 * testsuite/pad/link.c: (gst_test_src_init),
23073 (gst_test_filter_init), (gst_test_sink_init):
23074 * testsuite/states/locked.c: (main):
23075 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23076 moved bitshift from macro to enum definition
23078 2005-10-12 Wim Taymans <wim@fluendo.com>
23080 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23081 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23082 (gst_file_sink_render):
23083 Some more debugging info.
23085 2005-10-12 Wim Taymans <wim@fluendo.com>
23087 * docs/design/part-states.txt:
23088 * tools/gst-launch.c: (main):
23090 Revert non-intentional change.
23092 2005-10-12 Wim Taymans <wim@fluendo.com>
23094 * check/gst/gstbin.c: (GST_START_TEST):
23095 * check/gst/gstelement.c: (GST_START_TEST):
23096 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23097 * check/gst/gstghostpad.c: (GST_START_TEST):
23098 * check/gst/gstpipeline.c: (GST_START_TEST):
23099 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23100 * check/states/sinks.c: (GST_START_TEST):
23101 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23102 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23103 (gst_bin_remove_func), (gst_bin_get_state_func),
23104 (gst_bin_recalc_state), (gst_bin_change_state_func),
23106 * gst/gstelement.c: (gst_element_get_state_func),
23107 (gst_element_get_state), (gst_element_abort_state),
23108 (gst_element_commit_state), (gst_element_set_state),
23109 (gst_element_change_state), (gst_element_change_state_func):
23110 * gst/gstelement.h:
23111 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23112 (gst_pipeline_provide_clock_func):
23113 * gst/gstutils.c: (gst_element_link_pads_filtered):
23114 * tools/gst-launch.c: (main):
23115 * tools/gst-typefind.c: (main):
23116 Use GstClockTime in _get_state() instead of GTimeVal.
23117 Remove old code in gstutils.c
23119 2005-10-12 Andy Wingo <wingo@pobox.com>
23121 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23124 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23125 there is no task. Shouldn't affect any code, as nothing in our
23126 plugins checks this return value.
23127 (gst_pad_stop_task): Also take the stream lock if the pad has no
23128 task. Docs updated.
23130 2005-10-12 Wim Taymans <wim@fluendo.com>
23132 * gst/gstpad.c: (pre_activate), (post_activate),
23133 (gst_pad_activate_pull), (gst_pad_activate_push):
23134 Cleanup activation code. Reset old state if
23137 2005-10-12 Wim Taymans <wim@fluendo.com>
23139 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23140 (gst_base_sink_change_state):
23141 No need to prerol after receiving EOS.
23143 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23144 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23145 * gst/elements/gstidentity.c: (gst_identity_event):
23146 Print events more verbosely.
23148 2005-10-12 Wim Taymans <wim@fluendo.com>
23150 * check/Makefile.am:
23151 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23152 * check/states/sinks2.c:
23153 Moved sinks2 testcode in sinks check.
23155 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23156 (gst_bin_remove_func), (gst_bin_recalc_state),
23157 (gst_bin_change_state_func), (bin_bus_handler):
23158 Fix potential race condition when _get_state() iterated over an
23159 ASYNC element right before it posted a state completion.
23162 Do proper cast here.
23164 * gst/gstevent.c: (gst_event_new_newsegment),
23165 (gst_event_parse_newsegment):
23166 A playback rate of 0.0 is not allowed.
23168 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23170 * win32/common/config.h:
23171 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23172 (_trewinddir), (_ttelldir), (_tseekdir):
23173 * win32/common/dirent.h:
23174 * win32/common/gtchar.h:
23175 * win32/common/libgstbase.def:
23176 * win32/common/libgstreamer.def:
23177 * win32/vs6/grammar.dsp:
23178 * win32/vs6/gst_inspect.dsp:
23179 * win32/vs6/gst_launch.dsp:
23180 * win32/vs6/gstreamer.dsw:
23181 * win32/vs6/libgstbase.dsp:
23182 * win32/vs6/libgstelements.dsp:
23183 * win32/vs6/libgstreamer.dsp:
23184 Visual Studio 6 project files, and a new common directory.
23187 2005-10-11 Wim Taymans <wim@fluendo.com>
23189 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23190 (gst_base_sink_do_sync), (gst_base_sink_query),
23191 (gst_base_sink_change_state):
23192 * gst/base/gstbasesink.h:
23193 Correctly parse newsegment info.
23195 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23197 * gst/gst.c: (init_post):
23198 split plugin paths correctly
23200 2005-10-11 Wim Taymans <wim@fluendo.com>
23202 * check/gst/gstevent.c: (GST_START_TEST):
23203 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23204 (gst_base_sink_change_state):
23205 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23206 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23207 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23208 * gst/gstevent.c: (gst_event_new_newsegment),
23209 (gst_event_parse_newsegment):
23211 Added extra flag to newsegment for future API freeze.
23212 Updated check and base elements.
23214 2005-10-11 Julien MOUTTE <julien@moutte.net>
23216 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23217 (gst_collectpads_add_pad), (gst_collectpads_pop),
23218 (gst_collectpads_event), (gst_collectpads_chain):
23219 * gst/base/gstcollectpads.h: Handle EOS correctly.
23221 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23223 * tools/gst-launch.c: (main):
23224 more null protecting
23226 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23228 * gst/gst-i18n-lib.h:
23229 check for ENABLE_NLS, not GETTEXT_PACKAGE
23230 * gst/gstregistry.c: (gst_registry_add_plugin),
23231 (gst_registry_scan_path_level),
23232 (_gst_registry_remove_cache_plugins):
23233 protect possibly NULL strings
23234 * gst/parse/types.h:
23235 config.h already included before
23236 * tools/gst-inspect.c: (main):
23237 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23238 check for ENABLE_NLS, not GETTEXT_PACKAGE
23239 * tools/gst-launch.c: (main):
23240 check for ENABLE_NLS, not GETTEXT_PACKAGE
23242 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23245 if we don't have glib, fail before testing 2.8
23246 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23247 fix a leak, should fix plugins-base testsuite
23249 2005-10-11 Andy Wingo <wingo@pobox.com>
23251 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23252 take the mode we're going to as an arg. Go head and set the mode
23253 and flushing flags now, so that if the activate function starts a
23254 thread all the flags will be in the right state.
23255 (post_activate): Renamed also. Just handle making sure streaming
23256 finishes for the deactivation case, and setting the deactivated
23258 (gst_pad_set_active): Complain loudly if deactivation fails.
23259 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23260 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23261 remove the terrible hack.
23263 2005-10-11 Wim Taymans <wim@fluendo.com>
23265 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23266 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23267 (gst_bin_recalc_state), (gst_bin_change_state_func),
23268 (gst_bin_dispose), (bin_bus_handler):
23270 Prepare to make current EOS message queue more generic.
23273 * gst/gstevent.c: (gst_event_new_newsegment),
23274 (gst_event_parse_newsegment):
23276 Rename base to stream_time.
23278 * gst/gstmessage.h:
23281 2005-10-11 Wim Taymans <wim@fluendo.com>
23283 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23284 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23285 (gst_bin_change_state_func), (bin_bus_handler):
23287 Work on proper clock selection.
23289 2005-10-11 Edward Hervey <edward@fluendo.com>
23291 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23292 * libs/gst/controller/gstcontroller.h:
23293 Added GList* version of _remove_properties() in order to be able to wrap
23296 2005-10-11 Wim Taymans <wim@fluendo.com>
23298 * docs/design/part-states.txt:
23301 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23302 (gst_bin_change_state_func), (bin_bus_handler):
23303 Doc updates. Don't distribute the same clock over and over again.
23309 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23310 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23311 (gst_pad_send_event):
23313 Make probe emission threadsafe again.
23314 Register quarks and move _get_name() from utils.
23317 * gst/gstpipeline.c: (gst_pipeline_class_init),
23318 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23319 Only redistribute the clock of it changed.
23321 * gst/gstsystemclock.h:
23326 Moved the _flow_get_name() to GstPad.
23328 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23330 * check/gst-libs/gdp.c: (GST_START_TEST):
23331 * check/gst/gstcaps.c: (GST_START_TEST):
23332 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23333 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23334 (gst_dp_packet_from_caps):
23335 fix more valgrind warnings before turning up the heat
23337 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23339 * gst/parse/grammar.y:
23340 some cleanup before the hacking
23342 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23344 * gst/base/gstbasesrc.c: (gst_base_src_query):
23346 * gst/gstutils.c: (gst_guint64_to_gdouble),
23347 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23349 externalize, basesrc uses it
23350 obviously the implementation needs testing
23352 2005-10-10 Wim Taymans <wim@fluendo.com>
23354 * tests/sched/Makefile.am:
23355 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23356 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23358 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23360 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23361 apparently converting from guint64 to double is not implemented
23364 2005-10-10 Wim Taymans <wim@fluendo.com>
23366 * check/Makefile.am:
23367 * check/generic/states.c: (GST_START_TEST):
23368 * check/gst/gstbin.c: (GST_START_TEST):
23369 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23370 * check/states/sinks.c: (GST_START_TEST):
23371 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23373 Check fixes, use API as stated in design docs, remove hacks.
23375 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23376 (gst_base_sink_change_state):
23377 Catch stopping our task while we're shutting down.
23379 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23380 (gst_bin_remove_func), (gst_bin_get_state_func),
23381 (gst_bin_recalc_state), (gst_bin_change_state_func),
23384 * gst/gstelement.c: (gst_element_init),
23385 (gst_element_get_state_func), (gst_element_abort_state),
23386 (gst_element_commit_state), (gst_element_lost_state),
23387 (gst_element_set_state), (gst_element_change_state),
23388 (gst_element_change_state_func):
23389 * gst/gstelement.h:
23390 New state change algorithm (see #318116)
23392 * gst/gstpipeline.c: (gst_pipeline_class_init),
23393 (gst_pipeline_init), (gst_pipeline_set_property),
23394 (gst_pipeline_get_property), (do_pipeline_seek),
23395 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23396 * gst/gstpipeline.h:
23397 Remove crude state change hacks.
23400 Remove crude hacks.
23402 * tools/gst-launch.c: (main):
23403 Fixes for state change. Needs some more work to fully use the
23406 2005-10-10 Andy Wingo <wingo@pobox.com>
23408 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23410 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23411 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23414 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23416 * gst/gstiterator.c: (gst_iterator_new):
23417 Fix my previous commit: GTypes passed to gst_iterator_new()
23418 can be fundamental types.
23420 2005-10-10 Wim Taymans <wim@fluendo.com>
23422 * gst/gstelement.c: (gst_element_iterate_pad_list),
23423 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23424 (gst_element_iterate_sink_pads):
23425 Use src/sink pads lists for the respective iterators instead
23428 2005-10-10 Andy Wingo <wingo@pobox.com>
23430 Merged in popt removal + GOption addition patch from Ronald, bug
23433 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23434 GstElement macros around, remove popt-related symbols, add goption
23437 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23439 * docs/gst/Makefile.am:
23440 * docs/libs/Makefile.am: No POPT_CFLAGS.
23442 * examples/manual/Makefile.am:
23443 * docs/manual/basics-init.xml: Doc updates with an example.
23445 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23446 (gst_init), (parse_one_option), (parse_goption_arg):
23447 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23448 bit of hand merging and debugging to get the GOption stuff working
23451 * tests/Makefile.am:
23452 * tools/Makefile.am:
23453 * tools/gst-inspect.c: (main):
23454 * tools/gst-launch.c: (main):
23455 * tools/gst-run.c: (main):
23456 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23458 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23460 * gst/gstiterator.c: (gst_iterator_new):
23461 Add assertions to make sure passed GType is likely to really
23462 be a GType (as the compiler won't catch it if the size and
23463 GType arguments get mixed up, see #318447).
23465 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23467 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23469 * gst/gstbin.c: (gst_bin_iterate_sorted):
23470 Pass GType and size arguments to gst_iterator_new() in the right
23471 order (maybe we should make _new() take the GType as first argument
23472 just like _new_list()?) (#318447).
23475 2005-10-10 Wim Taymans <wim@fluendo.com>
23477 * gst/gstelement.c: (gst_element_finalize):
23478 And free the GStaticRecMutex too
23480 2005-10-10 Andy Wingo <wingo@pobox.com>
23482 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23483 Allocate and free the mutex properly.
23485 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23487 (GstElement): The state_lock is now recursive. Rebuild your
23488 plugins, suckers. Old macros adapted.
23490 * docs/gst/gstreamer-sections.txt: Doc updates.
23493 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23494 (g_static_rec_cond_wait): Ported from state changes patch, while
23495 we wait on bug #317802 to be solved in a well-distributed GLib.
23497 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23498 gst_element_change_state, variable name changes.
23499 (gst_element_change_state): Split out of gst_element_set_state in
23500 preparation for the state change merge. Doesn't pay attention to
23501 the 'transition' argument.
23502 (gst_element_set_state): Updates, hopefully purely cosmetic.
23503 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23504 state change patch.
23505 (gst_element_get_state_func): Renamed from get_state, cosmetic
23508 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23510 * gst/elements/gstelements.c:
23511 * win32/GStreamer.vcproj:
23513 * win32/dirent.c: (_tseekdir):
23514 * win32/gst-inspect.vcproj:
23515 * win32/gst-launch.vcproj:
23516 * win32/gstconfig.h:
23517 * win32/gstelements.vcproj:
23518 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23519 * win32/gstreamer.def:
23520 * win32/msvc71.sln:
23521 updates for the win32 build (patch from Sebastien Moutte)
23523 2005-10-10 Andy Wingo <wingo@pobox.com>
23525 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23526 gst_bin_get_state, cleaned up (but no logic changes).
23527 (bin_element_is_sink): Comment updates.
23528 (sink_iterator_filter): Remove needless cast.
23529 (gst_bin_iterate_sinks): Doc update.
23530 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23531 cleaned up (but no logic changes).
23533 * check/states/sinks.c (test_src_sink): Cleanups from the state
23535 (test_livesrc_sink): Sync on the state.
23537 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23538 the state change patch.
23540 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23543 * check/gst/gstbin.c: Merge in some style fixes and additional
23544 checks from Wim's state change patch.
23546 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23548 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23549 (gst_type_find_helper):
23550 Check whether we have the requested data already in our list of
23551 cached buffers before pulling a new buffer; also make the buffer
23552 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23554 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23559 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23560 don't use long long, it's not portable. Replacing with
23561 gint64 seems to work; let's hope no skeletons fall out of the closet.
23563 2005-10-10 Andy Wingo <wingo@pobox.com>
23565 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23567 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23569 * docs/gst/gstreamer-sections.txt:
23574 * gst/gstmessage.c: (gst_message_parse_state_changed):
23577 more docs, fix compilation
23579 2005-10-09 Philippe Khalaf <burger@speedy.org>
23580 * gst/gstmessage.c:
23581 Fixed a few forgotten variables on previous commit
23583 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23585 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23586 Fix evil typefind crasher: getrange() might return a short
23587 buffer at the end of a file, but gst_type_find_peek() must
23588 either return the full data as requested or NULL, but
23589 never a short buffer.
23591 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23593 * gst/gstmessage.c: (gst_message_new_state_changed),
23594 (gst_message_parse_state_changed):
23595 * gst/gstmessage.h:
23596 don't use "new", it's a C++ keyword
23598 2005-10-08 Wim Taymans <wim@fluendo.com>
23600 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23601 * gst/gstelement.c: (gst_element_post_message):
23602 * gst/gstpipeline.c: (gst_pipeline_change_state):
23603 Small docs and debug updates.
23605 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23607 * docs/gst/gstreamer-sections.txt:
23608 * gst/gstelementfactory.c:
23610 * gst/gsttaglist.c:
23613 2005-10-08 Wim Taymans <wim@fluendo.com>
23615 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23616 (gst_bin_dispose), (bin_bus_handler):
23617 Fix typos, add comments.
23618 Clear EOS list when going to PAUSED from any direction and do it
23619 in a threadsafe way.
23620 Get base time in a threadsafe way too.
23621 Fix confusing debug in the change_state function.
23622 Various other small cleanups.
23624 * gst/gstelement.c: (gst_element_post_message):
23625 Fix very verbose bus posting code.
23627 * gst/gstpipeline.c: (gst_pipeline_class_init),
23628 (gst_pipeline_set_property), (gst_pipeline_get_property),
23629 (gst_pipeline_change_state):
23630 Small ARG_ -> PROP_ cleanup
23632 2005-10-08 Wim Taymans <wim@fluendo.com>
23634 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23635 Do a less CPU demanding EOS check because we can.
23637 2005-10-08 Wim Taymans <wim@fluendo.com>
23639 * libs/gst/dataprotocol/dataprotocol.c:
23640 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23641 (gst_dp_packet_from_event):
23642 * libs/gst/dataprotocol/dataprotocol.h:
23643 * libs/gst/dataprotocol/dp-private.h:
23644 It's about time we bump the version number.
23645 Since event types don't fit in the guint8 anymore describing
23646 the payload type, make payload type 16 bits wide.
23648 2005-10-08 Wim Taymans <wim@fluendo.com>
23650 * docs/design/part-TODO.txt:
23651 * docs/design/part-clocks.txt:
23652 * docs/design/part-events.txt:
23653 * docs/design/part-gstbin.txt:
23654 * docs/design/part-gstelement.txt:
23655 * docs/design/part-gstpipeline.txt:
23656 * docs/design/part-live-source.txt:
23657 * docs/design/part-messages.txt:
23658 * docs/design/part-overview.txt:
23659 * docs/design/part-states.txt:
23662 2005-10-08 Wim Taymans <wim@fluendo.com>
23666 Fix event quark registration.
23667 Add some space between events so we can insert them in the
23670 2005-10-08 Wim Taymans <wim@fluendo.com>
23672 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23673 (gst_base_sink_handle_buffer):
23674 Better log message.
23677 * gst/gstelement.h:
23680 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23681 (gst_queue_set_property), (gst_queue_get_property):
23683 Remove old unused properties.
23685 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23686 * docs/gst/gstreamer-sections.txt:
23687 * gst/gstmessage.c:
23688 * gst/gstmessage.h:
23689 * gst/gstminiobject.c:
23690 * gst/gstminiobject.h:
23694 lots of new docs and doc fixes
23696 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23698 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23700 * gst/gstregistry.c: (gst_registry_lookup_locked),
23701 (gst_registry_scan_path_level):
23702 * gst/gstregistryxml.c: (load_plugin):
23703 Only ever load one plugin for a given plugin basename.
23704 This ensures correct overriding of GST_PLUGIN_PATH over
23705 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23706 system installed plugins.
23708 2005-10-08 Wim Taymans <wim@fluendo.com>
23710 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23711 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23712 Prepare for doing QOS.
23714 2005-10-08 Wim Taymans <wim@fluendo.com>
23716 * check/gst/gstbin.c: (GST_START_TEST):
23717 * check/pipelines/cleanup.c: (GST_START_TEST):
23718 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23719 Allow new clock message too.
23721 2005-10-08 Wim Taymans <wim@fluendo.com>
23723 * gst/gstmessage.c: (gst_message_new_error),
23724 (gst_message_new_warning), (gst_message_new_tag),
23725 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23726 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23727 (gst_message_new_segment_start), (gst_message_new_segment_done),
23728 (gst_message_parse_state_changed),
23729 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23730 (gst_message_parse_new_clock):
23731 * gst/gstmessage.h:
23732 Also carry the clock in question.
23734 2005-10-08 Wim Taymans <wim@fluendo.com>
23736 * gst/gstmessage.c: (gst_message_new_custom),
23737 (gst_message_new_eos), (gst_message_new_error),
23738 (gst_message_new_warning), (gst_message_new_tag),
23739 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23740 (gst_message_new_new_clock), (gst_message_new_segment_start),
23741 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23742 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23743 * gst/gstmessage.h:
23745 Added clock related messages.
23747 * gst/gstpipeline.c: (gst_pipeline_change_state):
23748 Post message when the clock changed.
23750 * tools/gst-launch.c: (event_loop):
23753 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23755 * tools/gst-inspect.c: (print_element_properties_info):
23756 Can't pass NULL strings to g_print() on windows.
23758 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23760 * docs/Makefile.am:
23761 * docs/gst/Makefile.am:
23762 * docs/gst/gstreamer-docs.sgml:
23763 * docs/gst/running.xml:
23764 * docs/version.entities.in:
23765 add a chapter on running GStreamer.
23766 document GST_DEBUG and GST_PLUGIN* env vars
23768 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23773 remove PLUGINS_BUILDDIR stuff
23774 * gst/gst.c: (init_post):
23775 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23777 remove, it was condescending and not needed
23779 2005-10-08 Wim Taymans <wim@fluendo.com>
23781 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23782 (gst_base_sink_handle_object), (gst_base_sink_event),
23783 (gst_base_sink_wait), (gst_base_sink_handle_event),
23784 (gst_base_sink_change_state):
23785 * gst/base/gstbasesink.h:
23786 Repost EOS message while going to PLAYING if still EOS.
23787 Make sure that when receiving a FLUSH_START we don't attempt
23788 to sync on the clock anymore.
23790 2005-10-08 Wim Taymans <wim@fluendo.com>
23792 * tools/gst-launch.c: (event_loop):
23793 Better message printout.
23795 2005-10-08 Wim Taymans <wim@fluendo.com>
23797 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23798 (gst_bin_child_proxy_get_children_count):
23799 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23800 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23801 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23802 (gst_child_proxy_set_valist):
23803 * gst/parse/grammar.y:
23804 Make ChildProxy threadsafe and fix mem leaks.
23806 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23808 * gst/gst.c: (init_post):
23809 debug the GST_PLUGIN_ env vars
23811 2005-10-08 Wim Taymans <wim@fluendo.com>
23813 * check/gst/gstbin.c: (GST_START_TEST):
23814 * check/gst/gstmessage.c: (GST_START_TEST):
23815 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23816 * gst/gstelement.c: (gst_element_commit_state),
23817 (gst_element_lost_state):
23818 * gst/gstmessage.c: (gst_message_new_state_changed),
23819 (gst_message_parse_state_changed):
23820 * gst/gstmessage.h:
23821 * tools/gst-launch.c: (event_loop):
23822 Added extra field to STATE_CHANGE message with the pending
23823 state, which will be different from the new state soon.
23825 2005-10-08 Wim Taymans <wim@fluendo.com>
23827 * gst/gstbus.c: (gst_bus_pop):
23829 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23830 Small cleanups and doc updates.
23832 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23834 * gst/gst.c: (init_pre):
23835 * gst/gstbin.c: (gst_bin_add_func):
23836 log distributing clocks and base time
23837 * gst/gstregistry.c: (gst_registry_add_plugin),
23838 (gst_registry_scan_path_level), (gst_registry_scan_path):
23839 clean up the debugging output a little
23840 * gst/gstutils.c: (gst_element_state_get_name):
23841 warn about a memleak (I've actually seen this be used, though
23842 it was probably a bug)
23844 2005-10-07 Wim Taymans <wim@fluendo.com>
23846 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23847 (gst_base_src_init), (gst_base_src_default_newsegment),
23848 (gst_base_src_newsegment), (gst_base_src_do_seek),
23849 (gst_base_src_loop), (gst_base_src_start):
23850 * gst/base/gstbasesrc.h:
23851 Make the newsegment event customizable by subclasses.
23853 2005-10-07 Wim Taymans <wim@fluendo.com>
23855 * gst/gstevent.c: (gst_event_new_buffersize),
23856 (gst_event_parse_buffersize):
23858 New event for future idea.
23860 2005-10-07 Andy Wingo <wingo@pobox.com>
23862 * gst/gstelement.c (gst_element_post_message): Doc update.
23864 * docs/gst/gstreamer-sections.txt: Update.
23866 * gst/gstmessage.c (gst_message_new_application): Made into a
23867 function like honest API calls.
23868 (gst_message_new_element): New message type.
23870 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23872 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23873 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23876 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23877 NO_PREROLL from gst_element_change_state to fall through.
23879 2005-10-07 Wim Taymans <wim@fluendo.com>
23881 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23882 (gst_ghost_pad_do_activate_push):
23883 Activating a ghostpad with no internal pad in push mode
23886 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23889 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23890 Fixes compilation on Windows.
23892 2005-10-07 Michael Smith <msmith@fluendo.com>
23894 * tools/gst-inspect.c:
23895 Print out feature and plugin count at the end when printing out
23898 2005-10-04 Michael Smith <msmith@fluendo.com>
23900 * gst/gsterror.c: (_gst_stream_errors_init):
23901 Add another error string used in a few existing plugins.
23904 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23905 * tools/gst-inspect.c: (print_element_info):
23906 When a feature disappears from a plugin (and the feature exists in
23907 the cached registry file), things went horribly wrong. This isn't a
23908 complete fix, we should actually be removing the 'missing' features
23909 from the features list when we load the actual plugin. That's not
23912 2005-10-04 Johan Dahlin <johan@gnome.org>
23914 * check/gst/gstiterator.c: (GST_START_TEST):
23915 * gst/gstbin.c: (gst_bin_iterate_elements),
23916 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23917 * gst/gstelement.c: (gst_element_iterate_pads):
23918 * gst/gstformat.c: (gst_format_iterate_definitions):
23919 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23920 (gst_iterator_new_list), (gst_iterator_filter):
23921 * gst/gstiterator.h:
23922 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23923 Add a GType to GstIterator, update callsites and tests.
23925 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23927 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23928 give events a chance to be handled by event probes when the pad
23931 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23933 * gst/gstevent.c: (gst_event_type_get_name),
23934 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23936 add string representations for event types
23938 2005-10-06 Wim Taymans <wim@fluendo.com>
23940 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23941 Don't use NULL pointers.
23943 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23945 * gst/gst_private.h:
23947 * gst/gstelement.c:
23949 * gst/gstpluginfeature.c:
23950 widen the debug category in output to fit the biggest one we have
23951 add a bus category and use it
23952 play with the colors
23953 fix up some categories
23955 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23957 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23958 add push activation of sink ghost pads.
23959 Andye, please verify
23961 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23963 * gst/gstutils.c: (gst_element_link_pads):
23964 fix a bug in the case where neither element has a pad
23965 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23966 add a test for that case
23968 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23970 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23971 emit have-data before checking for peers. This allows
23972 for probe handlers to connect elements. This helps autopluggers.
23973 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23975 add six checks, linked/unlinked with no/true/false probe
23977 2005-10-04 Wim Taymans <wim@fluendo.com>
23979 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23980 (gst_fake_sink_event), (gst_fake_sink_preroll),
23981 (gst_fake_sink_render), (gst_fake_sink_change_state):
23982 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23983 (gst_fake_src_get_property), (gst_fake_src_create),
23984 (gst_fake_src_stop):
23985 * gst/elements/gstidentity.c: (gst_identity_stop):
23986 Protect last_message with lock.
23988 2005-10-04 Edward Hervey <edward@fluendo.com>
23991 Added precision in the comments for GST_FORMAT_DEFAULT
23993 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23995 * tools/gst-launch.c: (main):
23996 Don't try to run erroneous pipelines.
23998 2005-10-04 Julien MOUTTE <julien@moutte.net>
24000 * gst/gstbus.c: We don't need this header.
24002 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24005 back to development
24007 === release 0.9.3 ===
24009 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
24013 Releasing 0.9.3, "Unregistered"
24015 2005-10-03 Andy Wingo <wingo@pobox.com>
24017 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24018 whereby calling a pad's activatepush() function can start a thread
24019 that starts to push or pull before the pad gets the FLUSHING flag
24020 unset. Hack around it by holding the stream lock until the flag is
24021 set. Need to replace this with a proper solution. Together with
24022 the ghost pad fixes, this fixes mp3 playing/tagreading.
24024 * docs/design/part-gstghostpad.txt: Add a note about activation of
24025 proxy pads outside of ghost pads.
24027 * gst/gstghostpad.c: Implement the ghost pad activation design.
24029 2005-10-02 Andy Wingo <wingo@pobox.com>
24031 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24032 It is volatile, after all.
24034 * docs/design/part-gstghostpad.txt: Flesh out activation with
24037 * gst/base/gstbasesrc.c (gst_base_src_init): Use
24040 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
24043 Fix (unused) AM_CONDITIONAL tests.
24045 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
24047 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24049 * gst/gstutils.c: (gst_pad_query_convert):
24050 Add assertion that makes sure src_val is >=0, just like
24051 gst_query_new_convert() has. (#315895)
24053 2005-09-30 Edward Hervey <edward@fluendo.com>
24055 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24056 Let's not iterate pads we're not interested in, it avoids getting
24057 sky-high refcounts on sinkpad.
24059 2005-09-30 Wim Taymans <wim@fluendo.com>
24061 * gst/gstelement.c: (gst_element_set_state),
24062 (gst_element_change_state):
24063 Small tweak, element in ASYNC remains ASYNC.
24065 2005-09-30 Wim Taymans <wim@fluendo.com>
24067 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24068 Only error is an error.
24070 * gst/gstbin.c: (gst_bin_change_state):
24073 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24074 Also call pad_block in pad alloc.
24076 * gst/gstutils.c: (gst_flow_get_name):
24079 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24081 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24082 (gst_base_src_get_range):
24083 Fix documentation typos. Add some more debug info.
24085 2005-09-29 David Schleef <ds@schleef.org>
24087 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24088 more end-user friendly.
24089 * tools/gst-inspect.c: (main): Check if command-line argument is
24090 a file and attempt to load that file as a plugin.
24092 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24094 * check/gst/gstbin.c:
24095 * check/states/sinks.c:
24096 fix tests for the new warning
24097 * check/gst/gstpipeline.c:
24098 add a test for pipeline and bus interaction
24099 * gst/gstelement.c:
24100 elements should be NULL if they get disposed; add a warning if not
24102 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24105 for 2.6 refcounting, make debug log more correct by printing
24106 the actual refcounts at the time of swap (Wim)
24108 2005-09-29 Andy Wingo <wingo@pobox.com>
24110 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24111 removes signal watches previously added via
24112 gst_bus_add_signal_watch.
24113 (gst_bus_add_signal_watch): Don't return the source id, just store
24114 it on the bus if there wasn't an id already.
24116 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24117 add_signal_watch and remove_signal_watch.
24119 2005-09-29 Edward Hervey <edward@fluendo.com>
24121 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24122 Better if we actually iterate the list :)
24124 2005-09-29 Wim Taymans <wim@fluendo.com>
24126 * check/gst/gstbin.c: (GST_START_TEST):
24127 Change for new bus API.
24129 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24130 (send_messages), (GST_START_TEST), (gstbus_suite):
24131 Change for new bus signal API.
24133 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24134 (gst_bus_source_prepare), (gst_bus_source_check),
24135 (gst_bus_create_watch), (gst_bus_add_watch_full),
24136 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24137 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24139 Remove support for multiple GSources operating on different
24140 message types as it is too complex and unneeded when using
24142 Added support for receiving signals from the bus.
24144 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24146 * docs/libs/tmpl/gstdataprotocol.sgml:
24147 * docs/manual/advanced-dataaccess.xml:
24148 * gst/elements/gstcapsfilter.c:
24150 rename filter-caps to caps property
24152 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24154 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24155 More robust fraction string parsing.
24157 * docs/pwg/appendix-porting.xml:
24158 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24160 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24162 * gst/gstcaps.c: (gst_caps_do_simplify):
24163 Thou shalt not free a structure and then continue using it
24164 in the next loop iteration.
24166 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24168 Add test case for caps simplification.
24170 2005-09-29 Wim Taymans <wim@fluendo.com>
24172 * check/gst/gstbin.c: (GST_START_TEST):
24175 2005-09-29 Wim Taymans <wim@fluendo.com>
24177 * check/gst/gstbin.c: (GST_START_TEST):
24180 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24181 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24182 (find_element), (gst_bin_sort_iterator_next),
24183 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24184 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24185 (gst_bin_change_state), (gst_bin_dispose):
24186 A bin does not have a bus, it gets the bus from the parent.
24188 * gst/gstelement.c: (gst_element_requires_clock),
24189 (gst_element_provides_clock), (gst_element_is_indexable),
24190 (gst_element_is_locked_state), (gst_element_change_state),
24191 (gst_element_set_bus_func):
24194 * gst/gstpipeline.c: (gst_pipeline_class_init),
24195 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24196 The pipeline provides a bus.
24198 2005-09-28 Johan Dahlin <johan@gnome.org>
24200 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24201 gst_structure_get_enum instead of gst_structure_get_int
24203 * gst/gststructure.c (gst_structure_get_enum): Impl.
24205 * gst/gststructure.h (gst_structure_get_enum): Add
24207 * docs/gst/gstreamer-sections.txt: Ditto
24209 * gst/gstmessage.c (gst_message_new_state_changed): Use
24210 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24211 which does introspection.
24212 Reviewed by Christian Schaller
24214 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24216 * gst/gstinfo.c: (gst_debug_log_default):
24217 don't do dummy g_strdup()s
24218 * libs/gst/controller/gstcontroller.c:
24219 (on_object_controlled_property_changed),
24220 (gst_controlled_property_new), (gst_controller_new_valist),
24221 (gst_controller_new_list),
24222 (gst_controller_remove_properties_valist), (gst_controller_set),
24223 (gst_controller_get), (gst_controller_sync_values),
24224 (gst_controller_get_value_array), (_gst_controller_class_init),
24225 (gst_controller_get_type):
24226 * libs/gst/controller/gstcontroller.h:
24227 * libs/gst/controller/gstinterpolation.c:
24228 (gst_controlled_property_find_timed_value_node):
24229 convert // to /**/ comments
24231 2005-09-28 Wim Taymans <wim@fluendo.com>
24233 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24234 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24235 (gst_bus_sync_signal_handler):
24237 Added async-message and sync-message signals to the bus.
24238 Added helper BusFunc to emit signals for all posted messages.
24240 * gst/gstmessage.c: (gst_message_type_get_name),
24241 (gst_message_type_to_quark), (gst_message_get_type):
24242 * gst/gstmessage.h:
24243 Register quarks for message names.
24245 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24247 * docs/libs/gstreamer-libs-sections.txt:
24248 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24249 (gst_controller_new_list):
24250 * libs/gst/controller/gstcontroller.h:
24251 added another constructor for language bindings
24253 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24255 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24259 * gst/gstinfo.c: (_gst_debug_init):
24260 slightly more readable color for refcount debugging
24262 2005-09-28 Wim Taymans <wim@fluendo.com>
24264 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24265 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24266 (find_element), (gst_bin_sort_iterator_next),
24267 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24268 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24269 (gst_bin_change_state), (gst_bin_dispose):
24270 Small doc fixes. get_clock -> provide_clock.
24272 * gst/gstelement.c: (gst_element_class_init),
24273 (gst_element_provides_clock), (gst_element_provide_clock),
24274 (gst_element_get_clock), (gst_element_commit_state),
24275 (gst_element_lost_state):
24276 * gst/gstelement.h:
24277 Make get/set_clock() symetric. Add provide_clock vmethod since
24278 that is actually what this function does.
24280 * gst/gstpipeline.c: (gst_pipeline_class_init),
24281 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24282 (gst_pipeline_get_clock):
24283 get_clock -> provide_clock.
24285 2005-09-28 Andy Wingo <wingo@pobox.com>
24287 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24288 lieu of real docs...
24290 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24292 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24294 * gst/elements/gstcapsfilter.c:
24295 * gst/elements/gstfakesink.c:
24296 * gst/elements/gstfakesrc.c:
24297 * gst/elements/gstfdsink.c:
24298 * gst/elements/gstfdsrc.c:
24299 * gst/elements/gstfilesink.c:
24300 * gst/elements/gstfilesrc.c:
24301 * gst/elements/gstidentity.c:
24302 * gst/elements/gsttee.c:
24303 * gst/elements/gsttypefindelement.c:
24304 Make element details static.
24306 2005-09-28 Wim Taymans <wim@fluendo.com>
24308 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24309 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24310 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24311 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24312 (gst_bin_change_state), (gst_bin_dispose):
24313 Some documentation updates.
24314 Clean up dispose handlers.
24316 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24317 * gst/gstpad.c: (gst_pad_dispose):
24318 Clean up dispose handler.
24320 * gst/gstpipeline.c: (gst_pipeline_change_state):
24321 Removed spurious UNLOCK.
24323 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24325 * docs/gst/gstreamer-sections.txt:
24326 * gst/base/gstbasesrc.h:
24327 * gst/gstelement.h:
24331 * gst/gstpipeline.c:
24332 * gst/gstpipeline.h:
24335 added two new functions to the docs
24336 documents all undocumented GstXXXFlags
24337 completed some incomplete docs
24339 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24341 * gst/gstbin.c: (gst_bin_dispose):
24342 * gst/gstelement.c: (gst_element_dispose):
24343 remove now useless and leaky resurrection code in dispose
24344 * gst/base/gstbasesrc.c: (gst_base_src_init):
24345 * gst/gstelementfactory.c: (gst_element_factory_create):
24346 * gst/gstobject.c: (gst_object_set_parent):
24349 2005-09-27 Wim Taymans <wim@fluendo.com>
24351 * docs/design/part-TODO.txt:
24354 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24355 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24356 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24357 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24358 (gst_bin_change_state):
24359 * gst/gstelement.h:
24360 Remove element variable, we keep element info in the iterator now.
24362 2005-09-27 Andy Wingo <wingo@pobox.com>
24364 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24367 2005-09-27 Wim Taymans <wim@fluendo.com>
24369 * check/gst/gstbin.c: (GST_START_TEST):
24370 Enable check that works now.
24372 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24373 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24374 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24375 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24376 (gst_bin_change_state):
24378 Redid the state change algorithm using a topological sort algo.
24379 Handles all cases correctly.
24380 Exposed iterator for state change order.
24382 * gst/gstelement.h:
24383 Temp storage for state changes. Need to get rid of this soon.
24385 2005-09-27 Wim Taymans <wim@fluendo.com>
24387 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24388 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24389 (link_fold_func), (gst_pad_proxy_setcaps):
24390 Leak fixes, the fold functions need to unref the passed object and
24391 _get_parent_*() returns ref to parent.
24393 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24395 * check/gst/gstbuffer.c: (test_make_writable):
24396 Plug leak in test case and fix 'make check-valgrind'
24398 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24400 * gst/gstbuffer.c: (gst_subbuffer_init):
24401 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24402 works correctly in all circumstances (we could have just copied
24403 the parent buffer's readonly flag, but conceptually it seems
24404 cleaner to mark all subbuffers as read-only). (based on patch
24405 by Alessandro Decina, #314710).
24407 * check/gst/gstbuffer.c: (create_read_only_buffer),
24408 (test_make_writable), (test_subbuffer_make_writable),
24410 Add some tests for gst_buffer_make_writable().
24412 2005-09-27 Wim Taymans <wim@fluendo.com>
24414 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24415 use gst_object_has_ancestor().
24417 * gst/gstobject.c: (gst_object_has_ancestor):
24419 gst_object_has_ancestor() copied from gstbin.c as it is a
24422 * tests/instantiate/create.c: (create_all_elements):
24423 * tests/lat.c: (handoff_src), (handoff_sink):
24424 * tests/sched/runxml.c: (main):
24425 * tests/seeking/seeking1.c: (main):
24426 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24428 Fix compilation of some tests.
24430 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24433 Remove comment. GST_TYPE_G_ERROR is here to stay,
24434 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24435 (#316961, #300610).
24437 2005-09-26 Wim Taymans <wim@fluendo.com>
24439 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24440 Added check that shows error in state change order.
24442 2005-09-26 Wim Taymans <wim@fluendo.com>
24444 * gst/gstbin.c: (gst_bin_change_state):
24445 Make state change function use 3 queues again, we were
24446 adding elements in the wrong order.
24448 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24451 * gst/gstpad.c: (gst_pad_dispose):
24452 Added some debug info first.
24454 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24456 * docs/design/draft-push-pull.txt:
24457 * docs/design/part-events.txt:
24458 * docs/design/part-overview.txt:
24459 * docs/design/part-scheduling.txt:
24460 Replace all _pull_region() with _pull_range()
24462 2005-09-26 Andy Wingo <wingo@pobox.com>
24464 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24466 * check/gst-libs/controller.c: Update for controller api change.
24469 * tests/Makefile.am:
24470 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24471 over by GLib bug 118439.
24473 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24474 routines to a function.
24476 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24478 * libs/gst/controller/gsthelper.c:
24479 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24480 (gst_object_sync_values): Renamed from sink_values. Ugh.
24482 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24484 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24485 Renamed from controller_key, as it is exported.
24487 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24489 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24494 * gst/gstpadtemplate.h:
24497 * gst/gstqueryutils.c:
24498 * gst/gstqueryutils.h:
24499 remove queryutils headers after moving the two used functions
24500 to gstquery. also fixes build problem for gstsiddec
24502 2005-09-26 Michael Smith <msmith@fluendo.com>
24504 * tools/gst-launch.1.in:
24505 Correct documentation in manpage of debug syntax
24507 2005-09-26 Wim Taymans <wim@fluendo.com>
24509 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24510 (gst_base_src_is_seekable), (gst_base_src_change_state):
24511 Some more debugging info.
24513 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24515 * docs/gst/gstreamer-sections.txt:
24516 * gst/base/gstbasetransform.h:
24520 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24522 * docs/gst/.cvsignore:
24523 * docs/gst/tmpl/.cvsignore:
24524 * docs/gst/tmpl/gstpipeline.sgml:
24525 * docs/gst/tmpl/gstplugin.sgml:
24526 * gst/gstpipeline.c:
24529 inlined the last two docs files
24530 removed the tmpl directory from cvs (no more conflicts here!)
24532 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24534 * docs/gst/gstreamer-sections.txt:
24535 * docs/gst/tmpl/.cvsignore:
24536 * docs/gst/tmpl/gstpad.sgml:
24537 * docs/gst/tmpl/gstpadtemplate.sgml:
24539 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24540 (gst_pad_finalize), (gst_pad_set_pad_template):
24542 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24543 (gst_pad_template_class_init), (gst_pad_template_init),
24544 (gst_pad_template_dispose), (name_is_valid),
24545 (gst_static_pad_template_get), (gst_pad_template_new),
24546 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24547 (gst_pad_template_pad_created):
24548 * gst/gstpadtemplate.h:
24549 inlined two more docs
24550 factored gstpadtemplate out of gstpad
24552 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24554 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24555 (test_children_state_change_order_semi_sink):
24556 Fix test case: we can't rely on a fixed state change order when
24557 going from READY => PAUSED because the sink might commit its
24558 new state first when the first buffer created by the source
24559 reaches the sink before the source has finished its change state.
24560 (Test case still fails at times, see #316856, comment 5 onwards)
24562 2005-09-24 Wim Taymans <wim@fluendo.com>
24564 * docs/design/part-events.txt:
24565 * docs/design/part-gstbus.txt:
24566 * docs/design/part-gstpipeline.txt:
24567 * docs/design/part-messages.txt:
24568 * docs/design/part-overview.txt:
24569 * docs/design/part-segments.txt:
24573 * gst/gstelement.c:
24576 * gst/gstiterator.c:
24577 Various documentation updates.
24579 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24582 Well, that's embarassing. Luckily we weren't using
24583 GST_CLOCK_DIFF anywhere.
24585 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24587 * common/gtk-doc.mak:
24588 don't fail on building XML, FC4 slave shows a bunch of doc
24589 missing bits that I don't get
24591 * gst/gstpipeline.c:
24592 * gst/gststructure.c:
24595 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24597 * docs/design/part-gstbin.txt:
24598 * docs/design/part-gstbus.txt:
24600 Add blurb about how the bus goes into flushing mode and
24601 drops all messages when its bin goes from READY into NULL
24604 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24606 * docs/gst/gstreamer-sections.txt:
24607 * gst/gststructure.c: (gst_structure_get_clock_time):
24608 * gst/gststructure.h:
24609 add a method to get a GstClockTime out of a structure
24611 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24613 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24614 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24615 Added test to check state change order in bins (can still be made
24616 to fail here under heavy disk load; bails out with 'Push on pad
24617 fakesink:sink0, but it was not activated in push mode').
24619 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24620 Fix state change order when there is only a semi sink (#316856)
24622 * gst/gstbus.c: (gst_bus_class_init):
24623 Use _class_peek_parent(), not _class_ref(); fix docs to say
24624 'default main context' instead of 'mainloop' where that is
24627 * gst/gstelement.c: (gst_element_commit_state),
24628 (gst_element_set_state):
24629 Fix typos in debug messages
24631 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24634 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24635 * gst/gstpluginfeature.c:
24637 various doc updates
24638 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24639 change an assert into an error until it gets fixed properly
24641 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24643 * docs/gst/gstreamer-sections.txt:
24644 * docs/gst/tmpl/.cvsignore:
24645 * docs/gst/tmpl/gstelement.sgml:
24646 * docs/gst/tmpl/gstinfo.sgml:
24647 * docs/gst/tmpl/gstobject.sgml:
24648 * gst/gstelement.c:
24649 * gst/gstelement.h:
24652 * gst/gstobject.c: (gst_object_class_init):
24654 inlined 3 more biiiig doc files and added some missing docs on the fly
24656 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24658 * check/gst/.cvsignore:
24659 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24660 * gst/gstregistryxml.c: (load_plugin),
24661 (gst_registry_xml_save_plugin):
24662 put back source in registry. add checks for find_plugin.
24663 * testsuite/states/bin.c: (assert_state), (empty_bin),
24664 (test_adding_one_element), (main):
24665 * testsuite/states/locked.c: (main):
24666 some compile/run fixes
24668 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24670 * check/gst/gstvalue.c: (GST_START_TEST):
24671 fix leaks in the test itself
24673 2005-09-22 Wim Taymans <wim@fluendo.com>
24675 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24676 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24677 (gst_base_sink_query):
24678 Prepare for more accurate position reporting and query
24681 * gst/gstelement.c: (gst_element_send_event),
24682 (gst_element_set_state):
24685 2005-09-22 Wim Taymans <wim@fluendo.com>
24687 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24688 (gst_query_parse_segment):
24690 More documentation.
24691 Add segment query for future use.
24693 2005-09-22 Wim Taymans <wim@fluendo.com>
24695 * gst/gstbin.c: (gst_bin_add_func):
24696 Some more debug info.
24698 * gst/gstelement.c: (gst_element_send_event):
24699 Simplify send_event
24701 * gst/gstelement.h:
24702 Don't know how flags got broken.
24707 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24709 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24710 Add simplistic test suite for GST_TYPE_DATE serialisation and
24713 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24715 * docs/gst/gstreamer-sections.txt:
24716 * gst/gststructure.c: (gst_structure_set_valist),
24717 (gst_structure_get_date):
24718 * gst/gststructure.h:
24719 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24720 (gst_date_copy), (gst_value_compare_date),
24721 (gst_value_serialize_date), (gst_value_deserialize_date),
24722 (gst_value_transform_date_string),
24723 (gst_value_transform_string_date), (_gst_value_initialize):
24725 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24726 bunch of utility functions along with a hack that checks that
24727 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24728 is required. Part of the grand scheme in #170777.
24730 2005-09-22 Andy Wingo <wingo@pobox.com>
24732 * gst/gstconfig.h.in: Psych out gtk-doc.
24734 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24736 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24738 * tools/gst-inspect.c (print_element_list): Plug some
24739 inconsequential leaks.
24741 * gst/gstregistry.c (gst_registry_get_default): Doc.
24743 * check/gst/gstplugin.c:
24744 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24745 * gst/gstelementfactory.c (gst_element_factory_create):
24746 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24749 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24750 (gst_plugin_feature_load): Doc, don't eat refs.
24752 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24753 (gst_plugin_list_free): Doc.
24754 (gst_plugin_load_file): Doc updates.
24756 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24757 accessors returning refcounted objects, return a ref.
24759 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24760 accessor for caps. IDEMPOTENCE. Oh yes.
24762 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24764 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24766 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24767 (_gst_debug_register_funcptr):
24768 Add mutex to serialise access to the hash table with
24769 the function pointer => function name string mapping;
24770 make that hash table static scope (#316809).
24772 * gst/registries/.cvsignore:
24773 Remove left-over file.
24775 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24777 * docs/pwg/appendix-porting.xml:
24778 And something about newsegment events and caps-on-buffers to
24779 the porting guide (feel free to improve).
24781 2005-09-21 Andy Wingo <wingo@pobox.com>
24783 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24784 data and event probes on the same pad.
24785 (test_buffer_probe_once): Test that removing probes from within
24786 the probe functions works.
24788 2005-09-21 Andy Wingo <wingo@pobox.com>
24790 * check/gst/gstutils.c: New file.
24791 (test_buffer_probe_n_times): A simple buffer probe test. More to
24794 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24795 have-data::buffer, not have-data.
24796 (gst_pad_add_event_probe): Likewise for have-data::event.
24797 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24798 peer' isn't quite right yet though.
24799 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24800 (gst_pad_remove_data_probe): Change to take the guint handler_id
24801 as their arg, not the function+data, which is more glib-like.
24803 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24804 the signal emission to indicate if the data is a buffer or an
24806 (gst_pad_get_type): Initialize buffer and event quarks.
24807 (gst_pad_class_init): have-data is now a detailed signal, yes it
24810 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24812 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24813 * gst/gstutils.c: (gst_util_set_value_from_string),
24814 (gst_util_set_object_arg):
24815 Don't put functional code in g_return_if_fail() or
24816 g_return_val_if_fail() statements, otherwise things will
24817 break when G_DISABLE_CHECKS is defined during compilation.
24819 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24821 * docs/gst/tmpl/.cvsignore:
24822 * docs/gst/tmpl/gstvalue.sgml:
24825 inlied another one and added some obvious docs
24827 2005-09-21 Wim Taymans <wim@fluendo.com>
24829 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24830 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24831 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24832 (gst_fdsrc_get_property), (gst_fdsrc_create):
24833 * gst/elements/gstfdsrc.h:
24834 Properly implement fdsrc. Removed signal and timeout,
24835 better implemented somewhere else.
24837 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24839 * docs/gst/tmpl/.cvsignore:
24840 * docs/gst/tmpl/gstimplementsinterface.sgml:
24841 * gst/gstinterface.c:
24844 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24846 * docs/gst/gstreamer-sections.txt:
24847 * docs/gst/tmpl/.cvsignore:
24848 * docs/gst/tmpl/gstenumtypes.sgml:
24849 remove obsolete doc file
24851 2005-09-21 David Schleef <ds@schleef.org>
24853 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24854 little beer, fix a little leak.
24856 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24858 * docs/gst/gstreamer-docs.sgml:
24859 * docs/gst/gstreamer-sections.txt:
24860 * docs/gst/tmpl/.cvsignore:
24864 * gst/gstelement.h:
24865 * gst/gstindex.c: (gst_index_class_init):
24867 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24868 (gst_index_factory_class_init), (gst_index_factory_init),
24869 (gst_index_factory_finalize), (gst_index_factory_new),
24870 (gst_index_factory_destroy), (gst_index_factory_find),
24871 (gst_index_factory_create), (gst_index_factory_make):
24872 * gst/gstindexfactory.h:
24873 * gst/gstpluginfeature.c:
24874 * gst/gstpluginfeature.h:
24875 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24876 more docs inlined, splitted gstindex.{c,h}
24878 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24880 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24883 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24885 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24886 Set sync to FALSE by default.
24888 2005-09-20 Wim Taymans <wim@fluendo.com>
24890 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24891 (gst_base_sink_init):
24892 Make sync property settable from subclass.
24894 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24895 (gst_fake_sink_change_state):
24896 Set sync to FALSE by default.
24898 2005-09-20 Wim Taymans <wim@fluendo.com>
24900 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24901 * tools/gst-launch.c: (main):
24902 The timeout handler should have lower priority than the source
24903 so we don't timeout before popping a message with 0 timeout.
24904 Dump error messages after failed state change.
24906 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24908 * tools/gst-inspect.c: (print_element_properties_info):
24911 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24913 * check/gst/gstevent.c:
24914 * gst/elements/gstfakesink.c:
24915 * gst/elements/gstfakesink.h:
24916 remove the sync property from fakesink.
24917 has the side effect of setting sync TRUE
24918 for fakesink, which is a change. Anyone who knows how
24919 to fix this nicely in a GObject-y way, feel free.
24921 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24923 * docs/gst/gstreamer-docs.sgml:
24924 remove probe refsection
24926 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24928 * check/Makefile.am:
24929 disable valgrinding the controller test again
24930 * docs/gst/gstreamer-sections.txt:
24931 update for api-changes
24933 2005-09-20 Wim Taymans <wim@fluendo.com>
24935 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24936 (gst_base_sink_set_property), (gst_base_sink_get_property),
24937 (gst_base_sink_do_sync):
24938 * gst/base/gstbasesink.h:
24939 Added sync property to basesink to disable clock sync.
24941 2005-09-20 Andy Wingo <wingo@pobox.com>
24943 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24944 eating the caller's refcount.
24946 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24947 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24950 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24951 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24952 of GLib 2.8 public, so we can know which refcount to check in
24955 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24956 (gst_object_init): Only set the gst refcount if we're going ahead
24957 with the refcount hack.
24959 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24961 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24962 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24963 more leaks plumbed, added more debug-logging
24967 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24969 * gst/gstmessage.c:
24970 remove include of gstmemchunk.h
24972 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24974 * gst/gstclock.c: (_gst_clock_id_free):
24975 Commit from the Political Party For More Atomic CVS Commits,
24976 so that people don't waste too much of their day fishing
24977 out obvious leaks out of massive commits.
24978 Oh, and fix a pretty damn obvious leak in the memchunk
24981 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24983 * check/Makefile.am:
24984 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24985 plug mem-leak, re-add to valgrindable tests
24987 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24990 unbreak the build for those who have chronic arthritis
24991 and typing "make check" is just too taxing on the hands
24993 2005-09-20 Andy Wingo <wingo@pobox.com>
24995 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24996 really want it out, you should fix plugins at the same time.
24998 2005-09-19 Stefan Kost <ensonic@users.sf.net>
25001 * docs/gst/gstreamer-sections.txt:
25003 added missing symbols to api docs
25004 disable ref-count hack if we have glib >= 2.8
25006 2005-09-19 David Schleef <ds@schleef.org>
25008 * docs/gst/Makefile.am: Ignore a few more internal headers
25009 * docs/gst/gstreamer-docs.sgml: Remove old sections
25010 * docs/gst/gstreamer-sections.txt: Remove old sections
25011 * docs/gst/tmpl/gstobject.sgml: update
25012 * docs/gst/tmpl/gstplugin.sgml: update
25013 * docs/gst/tmpl/gstpluginfeature.sgml: update
25014 * docs/random/ds/0.9-suggested-changes: update.
25015 * gst/Makefile.am: remove memchunk and trashstack, since they're
25017 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25018 * gst/gst.h: don't include some headers
25019 * gst/gstchildproxy.c: add gstmarshal.h
25020 * gst/gstclock.c: Don't use memchunks
25021 * gst/gstminiobject.c: Add some docs
25022 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25023 * gst/gstobject.h: same
25024 * gst/gstplugin.c: include gstmacros.h
25025 * gst/gstplugin.h: don't include gstmacros.h, since it's private
25026 * gst/gstquery.c: don't use memchunks
25027 * gst/gstregistry.c: rename gst_registry_deinit()
25028 * gst/gstregistry.h: same
25030 2005-09-19 David Schleef <ds@schleef.org>
25032 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25033 * docs/libs/gstreamer-libs-sections.txt:
25034 * docs/libs/tmpl/gstgetbits.sgml:
25035 * docs/libs/tmpl/gstputbits.sgml:
25037 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
25039 * win32/gstenumtypes.c:
25040 * win32/gstenumtypes.h:
25043 2005-09-19 Wim Taymans <wim@fluendo.com>
25045 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25046 Automatically PAUSE and RESUME a pipeline when a flushing seek
25049 2005-09-19 Andy Wingo <wingo@pobox.com>
25051 * gst/gstregistry.h: Spacing fixen.
25053 2005-09-19 Wim Taymans <wim@fluendo.com>
25055 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25056 Handle state change failure more correctly.
25058 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25060 * check/Makefile.am:
25061 * check/pipelines/cleanup.c: (run_pipeline):
25062 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25064 enable cleanup again after fixing the leak
25066 some more info on docs
25068 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25070 * check/Makefile.am:
25071 re-enable tests now that leaks are plugged
25073 * check/gst/gstbin.c:
25074 * check/gst/gstpipeline.c:
25075 add some more tests while fixing leaks
25076 * common/check.mak:
25077 make sure binaries are uptodate when valgrinding/gdbing
25079 * gst/gstelementfactory.c:
25080 remove a ref too many, and add a FIXME for when we get
25081 round to disposing of classes
25083 fix the refcounting when loading a plugin from a file and
25084 the code pretends that the pointer is the same even though
25085 of course it can change
25086 * gst/gstpluginfeature.c:
25087 unref plugins marked cached (a bit confusing as a name)
25088 as the docs state should be done
25089 various doc additions to explain refcounting
25090 * gst/gstregistry.c:
25091 * gst/gstregistryxml.c:
25094 2005-09-19 Wim Taymans <wim@fluendo.com>
25096 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25097 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25098 (send_messages), (GST_START_TEST), (gstbus_suite):
25099 * check/gst/gstpipeline.c: (GST_START_TEST):
25100 * check/pipelines/cleanup.c: (run_pipeline):
25101 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25103 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25104 (gst_bus_source_check), (gst_bus_source_dispatch),
25105 (gst_bus_create_watch), (gst_bus_add_watch_full),
25106 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25108 * tools/gst-launch.c: (event_loop):
25109 * tools/gst-md5sum.c: (event_loop):
25110 GstBusHandler -> GstBusFunc, return value has the same meaning as
25111 any other GSource (FALSE == remove source).
25112 _add_watch() and _add_watch_full() now take a MessageType mask to
25113 only handle specific types of messages.
25114 _poll() returns the GstMessage instead of the message type to avoid
25116 _have_pending() takes a MessageType mask now too.
25117 Added testsuite for multiple bus watches.
25118 Fix testsuites and applications for new bus API.
25120 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25122 * check/Makefile.am:
25123 mark a bunch of the tests as to fix until we fix them
25125 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25127 * common/check.mak:
25128 use GST_PLUGIN settings for valgrind tests as well, so we're
25129 valgrinding the correct thing
25130 * gst/gst.c: (init_post):
25133 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25135 * gst/gst.c: (init_post), (gst_deinit):
25136 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25137 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25138 * gst/gstindex.c: (gst_index_factory_class_init),
25139 (gst_index_factory_finalize):
25140 * gst/gstobject.c: (gst_object_dispose):
25141 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25142 (gst_plugin_load_file), (gst_plugin_desc_free):
25143 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25144 (gst_plugin_feature_finalize):
25145 * gst/gstregistry.c: (gst_registry_class_init),
25146 (gst_registry_init), (gst_registry_finalize),
25147 (gst_registry_get_default), (gst_registry_deinit):
25148 * gst/gstregistry.h:
25149 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25150 various cleanups and memleak plugging. make valgrind is happy now.
25152 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25154 * common/check.mak:
25155 add a check-valgrind target
25157 2005-09-18 David Schleef <ds@schleef.org>
25159 * tools/gst-inspect.c: Revert the GOption code.
25161 2005-09-17 David Schleef <ds@schleef.org>
25163 * check/Makefile.am: Fix environment variables.
25164 * check/gst/gstplugin.c: Fix for API changes.
25165 * tools/gst-inspect.c: Fix for API changes.
25166 * tools/gst-xmlinspect.c: Fix for API changes.
25167 * gst/gstelementfactory.c:
25170 * gst/gstpluginfeature.c:
25171 * gst/gstpluginfeature.h:
25172 * gst/gstregistry.c:
25173 * gst/gstregistry.h:
25174 * gst/gstregistryxml.c:
25175 * gst/gsttypefind.c:
25176 * gst/gsttypefindfactory.c:
25177 * gst/indexers/gstfileindex.c:
25178 * gst/indexers/gstmemindex.c:
25179 * gst/schedulers/Makefile.am:
25180 Change registry to keep track of both plugins and features,
25181 removing the feature tracking from plugins themselves.
25183 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25185 * check/Makefile.am:
25186 * tools/gst-register.1.in:
25187 remove gst-register
25189 2005-09-15 David Schleef <ds@schleef.org>
25191 * check/gst/gstplugin.c:
25192 * gst/gstelementfactory.c:
25194 * gst/gstpluginfeature.c:
25195 * gst/gstregistry.c:
25196 Getting tired of debugging. Disabled all the unreffing of
25197 plugins and features, which fixes the segfaults, but of
25198 course leaks like crazy. At least playbin works.
25200 2005-09-15 David Schleef <ds@schleef.org>
25202 * check/gst/gstplugin.c: (register_check_elements),
25203 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25205 * gst/elements/gsttypefindelement.c: Fix refcounting.
25206 * gst/gsttypefind.c:
25207 * gst/gsttypefindfactory.c:
25208 * gst/gsttypefindfactory.h:
25210 2005-09-15 David Schleef <ds@schleef.org>
25212 * gst/gstindex.c: get refcounting correct.
25213 * gst/gstregistry.c: Handle the case where a feature/plugin is
25216 2005-09-15 David Schleef <ds@schleef.org>
25218 * check/Makefile.am:
25219 * check/gst/gstplugin.c: Add test
25220 * gst/gstplugin.c: Fix problems noticed by testsuite
25222 * gst/gstregistry.c:
25223 * gst/gstregistry.h:
25225 2005-09-15 David Schleef <ds@schleef.org>
25227 * gst/gstplugin.c: Implement semi-decent recounting and locking
25228 in plugins and plugin features.
25230 * gst/gstpluginfeature.c:
25231 * gst/gstpluginfeature.h:
25232 * gst/gstregistry.c:
25234 2005-09-15 Michael Smith <msmith@fluendo.com>
25236 * gst/gstregistry.c: (gst_registry_get_feature_list):
25237 Implement this. Makes oggdemux work; decodebin still broken.
25239 2005-09-14 David Schleef <ds@schleef.org>
25241 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25243 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25244 * gst/check/Makefile.am:
25245 * libs/gst/controller/Makefile.am:
25246 * libs/gst/dataprotocol/Makefile.am:
25248 2005-09-14 David Schleef <ds@schleef.org>
25250 * configure.ac: Remove getbits library. Nothing uses it, and
25251 it should be in something like liboil if someone did want
25253 * libs/gst/Makefile.am:
25254 * libs/gst/getbits/Makefile.am:
25255 * libs/gst/getbits/gbtest.c:
25256 * libs/gst/getbits/getbits.c:
25257 * libs/gst/getbits/getbits.h:
25258 * libs/gst/getbits/gstgetbits_generic.c:
25259 * libs/gst/getbits/gstgetbits_i386.s:
25260 * libs/gst/getbits/gstgetbits_inl.h:
25262 2005-09-14 David Schleef <ds@schleef.org>
25264 * gst/Makefile.am: Dist glib-compat.h
25266 2005-09-14 David Schleef <ds@schleef.org>
25268 * configure.ac: Remove gst/registries, since it's no longer used.
25269 * gst/registries/Makefile.am:
25270 * gst/registries/gstlibxmlregistry.c:
25271 * gst/registries/gstlibxmlregistry.h:
25272 * gst/registries/gstxmlregistry.c:
25273 * gst/registries/gstxmlregistry.h:
25274 * gst/registries/registrytest.c:
25276 2005-09-14 David Schleef <ds@schleef.org>
25278 * gst/glib-compat.h:
25279 * gst/gstregistryxml.c:
25280 Convergence is near. Seriously.
25282 2005-09-14 David Schleef <ds@schleef.org>
25284 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25285 * gst/glib-compat.h:
25286 Attempt #4 to appease the buildbots.
25288 2005-09-14 David Schleef <ds@schleef.org>
25290 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25293 2005-09-14 David Schleef <ds@schleef.org>
25295 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25298 2005-09-14 David Schleef <ds@schleef.org>
25300 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25303 2005-09-14 David Schleef <ds@schleef.org>
25305 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25306 * gst/glib-compat.h: Add some functions that are in newer versions
25307 of glib than we care to require.
25308 * gst/gstregistryxml.c: Use them.
25310 2005-09-14 David Schleef <ds@schleef.org>
25312 * po/POTFILES.in: remove gst-register.c
25314 2005-09-14 David Schleef <ds@schleef.org>
25316 * docs/gst/gstreamer-docs.sgml:
25317 * docs/gst/gstreamer-sections.txt:
25318 * docs/gst/gstreamer.types:
25319 * docs/gst/tmpl/gstelement.sgml:
25320 * docs/gst/tmpl/gstplugin.sgml:
25321 * docs/gst/tmpl/gstpluginfeature.sgml:
25322 Documentation updates for registry changes.
25324 2005-09-14 David Schleef <ds@schleef.org>
25326 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25327 because we don't require glib-2.8.
25329 2005-09-14 David Schleef <ds@schleef.org>
25331 * gst/gstregistryxml.c: Added. Essentially moved out of the
25332 registries directory.
25334 2005-09-14 David Schleef <ds@schleef.org>
25336 * check/Makefile.am:
25337 * check/generic/states.c:
25341 * gst/gst_private.h:
25342 * gst/gstelementfactory.c:
25347 * gst/gstpluginfeature.c:
25348 * gst/gstpluginfeature.h:
25349 * gst/gstregistry.c:
25350 * gst/gstregistry.h:
25351 * gst/gstregistrypool.c: remove
25352 * gst/gstregistrypool.h: remove
25353 * gst/gsttypefind.c:
25354 * gst/gsttypefindfactory.c:
25356 * tools/Makefile.am:
25357 * tools/gst-compprep.c:
25358 * tools/gst-inspect.c:
25359 * tools/gst-register.c: remove
25360 * tools/gst-xmlinspect.c:
25361 Registry rewrite. Changes registry from being a file created
25362 by a tool into a simple cache file created automatically by
25363 libgstreamer. Removed gst-register (because it's no longer
25364 needed). Remove registry pools, because we only have one
25365 registry implementation (XML). Fix up other subsystems as
25368 2005-09-13 Michael Smith <msmith@fluendo.com>
25370 * gst/gstconfig.h.in:
25371 Don't Use windows linking attributes for MinGW. Fixes #316157
25373 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25375 * gst/gstutils.c: (set_state_async_thread_func),
25376 (gst_element_set_state_async):
25377 Apparently people think it's better if this function doesn't
25378 try to set the state to whatever state was asked for on the first
25379 call to this function for any object. Seriously.
25381 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25383 * check/gst/gstpipeline.c: (GST_START_TEST):
25384 * docs/gst/gstreamer-sections.txt:
25385 * gst/gstutils.c: (set_state_async_thread_func),
25386 (gst_element_set_state_async):
25388 add a "gst_element_set_state_async" method that
25389 sets the state and starts a thread to make sure the state
25390 change completes as best as it can
25392 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25394 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25395 codify design+behaviour in testsuite after discussion
25397 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25399 * docs/gst/tmpl/gstelement.sgml:
25400 * docs/manual/appendix-quotes.xml:
25402 * gst/gstelement.c: (gst_element_set_state):
25405 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25407 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25408 (gst_base_transform_prepare_output_buf),
25409 (gst_base_transform_handle_buffer):
25410 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25411 (gst_capsfilter_prepare_buf):
25412 Remove the requirement for sub-classes to call the parent
25413 implementation of prepare_output_buffer with a wrapper function.
25415 * gst/gsttaglist.h:
25416 * gst/gsttagsetter.h:
25417 Fix #define wrapper
25419 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25421 * docs/gst/gstreamer-sections.txt:
25424 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25426 * docs/gst/gstreamer-sections.txt:
25427 * docs/gst/tmpl/gstelement.sgml:
25428 * docs/gst/tmpl/gstplugin.sgml:
25429 * gst/gstminiobject.c:
25431 docs now stop throwing warnings
25433 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25435 * docs/gst/gstreamer-sections.txt:
25436 * docs/gst/gstreamer.types:
25437 * docs/gst/tmpl/gstpad.sgml:
25438 * docs/gst/tmpl/gsttypes.sgml:
25439 * gst/base/gstadapter.h:
25440 * gst/base/gstbasesink.h:
25441 * gst/base/gstbasesrc.h:
25447 * gst/gstelement.h:
25449 * gst/gstmessage.h:
25451 * gst/gststructure.c:
25452 * gst/registries/gstlibxmlregistry.h:
25453 various documentation fixes
25455 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25457 * docs/gst/gstreamer-sections.txt:
25458 * docs/gst/tmpl/gstvalue.sgml:
25459 rearrange gstvalue section
25460 * gst/gstutils.c: (gst_element_state_get_name):
25462 * gst/gstvalue.c: (_gst_value_initialize):
25466 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25468 * check/gst-libs/controller.c:
25469 Header include fix.
25470 * gst/base/gstbasetransform.c:
25471 (gst_base_transform_default_prepare_buf),
25472 (gst_base_transform_handle_buffer):
25473 * gst/base/gstbasetransform.h:
25474 Some more basetransform changes and fixes to enable sub-classes
25475 that modify buffer metadata only.
25476 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25477 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25478 (gst_capsfilter_prepare_buf):
25479 If the output pad has fixed allowed caps and input buffers
25480 don't have any, set the fixed caps on outgoing buffers.
25482 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25483 * check/elements/identity.c: (GST_START_TEST):
25484 Make the error a little clearer when the test fails because
25485 identity made a copy of the buffer.
25486 * docs/gst/gstreamer-sections.txt:
25487 New symbols in gstbasetransform.h
25488 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25489 (gst_base_transform_init), (gst_base_transform_transform_size),
25490 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25491 (gst_base_transform_default_prepare_buf),
25492 (gst_base_transform_get_unit_size),
25493 (gst_base_transform_buffer_alloc),
25494 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25495 (gst_base_transform_change_state),
25496 (gst_base_transform_set_passthrough),
25497 (gst_base_transform_set_in_place),
25498 (gst_base_transform_is_in_place):
25499 * gst/base/gstbasetransform.h:
25500 Change BaseTransform to separate in_place operate from same_caps
25501 output. in_place implies that the element can perform the transform
25502 on incoming buffers in-place, even if the caps on the output are
25504 Sub-class elements can now implement special buffer allocation
25505 methods for outgoing buffers if they wish to.
25506 Big documentation addition.
25507 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25508 * gst/elements/gstelements.c:
25509 Changes for basetransform modifications.
25510 * gst/elements/Makefile.am:
25511 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25512 Compile fix. Extra debug output.
25514 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25516 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25518 add tests for valid pad naming
25519 * gst/check/gstcheck.c: (gst_check_log_message_func),
25520 (gst_check_log_critical_func):
25522 remove printing of code, it is fragile when the code contains
25523 % and the line number is enough info
25524 * gst/check/gstcheck.h:
25525 * gst/gstpad.c: (gst_pad_template_new):
25528 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25531 say what CHECK flags we use
25532 * docs/libs/gstreamer-libs.types:
25533 * libs/gst/controller/Makefile.am:
25534 * libs/gst/controller/gst-controller.c:
25535 * libs/gst/controller/gst-controller.h:
25536 * libs/gst/controller/gst-helper.c:
25537 * libs/gst/controller/gst-interpolation.c:
25538 * libs/gst/controller/gstcontroller.c:
25539 * libs/gst/controller/gsthelper.c:
25540 * libs/gst/controller/gstinterpolation.c:
25541 * tools/gst-inspect.c: (print_plugin_info):
25542 we don't use dashes in header names
25544 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25546 * check/Makefile.am:
25547 * check/gst/.cvsignore:
25548 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25549 (gst_pipeline_suite), (main):
25550 adding a test for pipelines and state changes
25551 * gst/gstutils.c: (get_state_func):
25553 * gstreamer.spec.in:
25556 2005-09-08 Michael Smith <msmith@fluendo.com>
25558 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25559 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25560 (gst_file_src_is_seekable), (gst_file_src_get_size),
25561 (gst_file_src_start):
25562 * gst/elements/gstfilesrc.h:
25563 Various fixes for unseekable, unmmapable, and non-normal files, so
25564 that fallback to read() rather than mmap() works.
25565 * gst/gstevent.c: (gst_event_new_newsegment):
25566 Allow newsegment events with segment_start == segment_end, as will
25567 correctly happen if you use filesrc on a zero-size file, for
25570 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25572 * gst/gstplugin.c: (gst_plugin_load_file):
25573 Call g_module_close when we don't load the module
25575 * gst/registries/gstlibxmlregistry.c:
25576 (gst_xml_registry_get_property):
25577 Port leak fix from 0.8
25579 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25581 * docs/gst/gstreamer-docs.sgml:
25582 * docs/gst/tmpl/.cvsignore:
25583 * docs/gst/tmpl/gsttrace.sgml:
25584 * docs/gst/tmpl/gsttrashstack.sgml:
25587 * gst/gstelement.h:
25589 * gst/gstmessage.c:
25590 * gst/gstmessage.h:
25593 * gst/gsttaginterface.c:
25594 * gst/gsttaginterface.h:
25595 * gst/gsttaglist.c:
25596 * gst/gsttaglist.h:
25597 * gst/gsttagsetter.c:
25598 * gst/gsttagsetter.h:
25601 * gst/gsttrashstack.c:
25602 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25603 inlined docs for gsttrace, gsttrashstack
25605 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25608 * gst/elements/gstbufferstore.h:
25609 * gst/elements/gsttypefindelement.c:
25610 * gst/elements/gsttypefindelement.h:
25612 * gst/gsttypefind.c:
25613 * gst/gsttypefind.h:
25614 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25615 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25616 (gst_type_find_factory_dispose),
25617 (gst_type_find_factory_unload_thyself),
25618 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25619 (gst_type_find_factory_get_caps),
25620 (gst_type_find_factory_get_extensions),
25621 (gst_type_find_factory_call_function):
25622 * gst/gsttypefindfactory.h:
25623 * gst/registries/gstlibxmlregistry.c:
25624 * gst/registries/gstxmlregistry.c:
25625 splitted gsttypefind into gsttypefind, gsttypefindfactory
25627 2005-09-07 Andy Wingo <wingo@pobox.com>
25629 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25630 condition whereby the pad's task function is entered before the
25631 pad_mode variable was set.
25633 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25635 * gst/gstpad.c: (gst_pad_alloc_buffer):
25636 Catch misbehaving pad_alloc functions that don't
25637 set up caps and do it for them.
25639 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25641 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25642 test for pipe!=NULL
25643 * docs/gst/tmpl/.cvsignore:
25644 * docs/gst/tmpl/gstmemchunk.sgml:
25645 * docs/gst/tmpl/gstparse.sgml:
25646 * docs/gst/tmpl/gsttaglist.sgml:
25647 * docs/gst/tmpl/gsttagsetter.sgml:
25648 * docs/gst/tmpl/gsttypefind.sgml:
25649 * docs/gst/tmpl/gsttypefindfactory.sgml:
25650 * gst/gstmemchunk.c:
25653 * gst/gsttaginterface.c:
25654 * gst/gsttypefind.c:
25655 * gst/gsttypefind.h:
25658 === release 0.9.2 ===
25660 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25665 releasing 0.9.2, "South"
25667 2005-09-05 Andy Wingo <wingo@pobox.com>
25669 * gst/registries/gstxmlregistry.h:
25670 * gst/registries/gstxmlregistry.c: Um... resurrect...
25672 * gst/registries/gstxmlregistry.h:
25673 * gst/registries/gstxmlregistry.c: and update to newer API.
25674 Incidentally they should be a bit faster now that they don't have
25677 2005-09-05 Andy Wingo <wingo@pobox.com>
25679 * gst/registries/gstxmlregistry.h:
25680 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25681 replaced by the libxml registry a while back
25683 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25685 * docs/gst/tmpl/gstplugin.sgml:
25686 * gst/elements/gstelements.c:
25688 * gst/gstplugin.c: (gst_plugin_register_func),
25689 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25690 (gst_plugin_get_source):
25692 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25693 (gst_xml_registry_save_plugin):
25694 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25695 (gst_xml_registry_save_plugin):
25696 * tools/gst-inspect.c: (print_plugin_info):
25697 add a "source" plugin description field, to represent the source
25698 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25699 will set it to PACKAGE, which is automake's idea of the name of
25700 the source project.
25702 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25707 * docs/Makefile.am:
25708 * docs/faq/Makefile.am:
25709 * docs/gst/tmpl/gstelement.sgml:
25710 * docs/gst/tmpl/gsttypes.sgml:
25711 * docs/htmlinstall.mak:
25712 * docs/manual/Makefile.am:
25713 * docs/pwg/Makefile.am:
25714 reorganize doc build a little
25715 split out docbook and gtk-doc stuff
25716 have two separate --enable's and enable them through autogen
25717 but disable by default in configure (to be similar to other
25719 * gstreamer.spec.in:
25720 clean up docs install
25738 translation updates
25740 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25742 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25745 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25746 (gst_fake_sink_change_state):
25747 Make state change function thread-safe.
25749 * gst/gstpad.c: (gst_pad_alloc_buffer):
25750 Set offset on generic buffer allocated by fallback.
25752 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25754 * docs/gst/gstreamer-sections.txt:
25755 * docs/gst/tmpl/gstelement.sgml:
25757 * libs/gst/controller/gst-controller.c:
25758 (gst_controlled_property_set_interpolation_mode),
25759 (gst_controlled_property_new),
25760 (gst_controller_find_controlled_property):
25761 run the wingo-magic script against the docs
25763 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25765 * docs/gst/gstreamer-docs.sgml:
25766 * docs/gst/gstreamer-sections.txt:
25767 * docs/gst/tmpl/.cvsignore:
25768 * docs/gst/tmpl/gstelementdetails.sgml:
25769 * docs/gst/tmpl/gstelementfactory.sgml:
25772 * gst/gstelementfactory.c:
25773 * gst/gstelementfactory.h:
25774 merged elementdetails docs into elementfactory docs
25777 2005-09-02 Andy Wingo <wingo@pobox.com>
25779 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25780 consider this enum an enum and not a flags.
25782 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25784 * docs/gst/gstreamer-docs.sgml:
25785 * docs/gst/tmpl/.cvsignore:
25786 * docs/gst/tmpl/gstghostpad.sgml:
25787 * docs/gst/tmpl/gstiterator.sgml:
25788 * docs/gst/tmpl/gstmacros.sgml:
25789 * docs/gst/tmpl/gstrealpad.sgml:
25790 * docs/gst/tmpl/gstregistry.sgml:
25791 * docs/gst/tmpl/gstregistrypool.sgml:
25792 * docs/gst/tmpl/gststructure.sgml:
25793 * docs/gst/tmpl/gstsystemclock.sgml:
25794 * docs/gst/tmpl/gsttrace.sgml:
25795 * gst/gstghostpad.c:
25797 * gst/gstmemchunk.c:
25798 * gst/gstmemchunk.h:
25800 * gst/gstregistry.c:
25801 * gst/gstregistrypool.c:
25802 * gst/gststructure.c:
25803 * gst/gstsystemclock.c:
25806 2005-09-02 Andy Wingo <wingo@pobox.com>
25808 * gst/gstelement.h (GstState): Renamed from GstElementState,
25809 changed to be a normal enum instead of flags.
25810 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25811 munged to be GST_STATE_CHANGE_*.
25812 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25813 work with the new state representation.
25814 (GstStateChange): New enumeration of possible state transitions.
25815 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25816 (GstElementClass::change_state): Pass the GstStateChange along as
25817 an argument. Helps language bindings, so they don't have to use
25818 tricky lock-needing macros like GST_STATE_CHANGE ().
25820 * scripts/update-states (file): New script. Run it on a file to
25821 update it for state naming and API changes. Updates files in
25824 * All files updated for the new API.
25826 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25828 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25829 * gst/gstutils.c: (gst_util_set_value_from_string),
25830 (gst_util_set_object_arg):
25831 fix a bunch of unchecked return values
25832 * tools/gst-complete.c: (main):
25833 * gstreamer.spec.in:
25836 2005-09-01 Wim Taymans <wim@fluendo.com>
25838 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25839 (gst_base_sink_event), (gst_base_sink_do_sync),
25840 (gst_base_sink_handle_event):
25841 * gst/base/gstbasesink.h:
25842 Handle newsegments more correctly.
25847 * gst/gstevent.c: (gst_event_new_newsegment):
25848 A newsegment cannot have a start_time of -1
25850 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25852 * win32/gstenumtypes.c:
25853 * win32/gstenumtypes.h:
25856 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25858 * libs/gst/controller/gst-controller.c:
25859 (gst_controlled_property_set_interpolation_mode),
25860 (gst_controlled_property_new):
25861 fixed boolean again
25863 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25865 * docs/faq/gst-uninstalled:
25870 * gst/gstutils.c: (gst_element_link_filtered):
25872 add gst_element_link_filtered
25874 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25876 * docs/gst/gstreamer-docs.sgml:
25877 * docs/gst/gstreamer-sections.txt:
25878 * docs/gst/tmpl/.cvsignore:
25879 * docs/gst/tmpl/gsterror.sgml:
25880 * docs/gst/tmpl/gstfilter.sgml:
25881 * docs/gst/tmpl/gsturihandler.sgml:
25882 * docs/gst/tmpl/gsturitype.sgml:
25883 * docs/gst/tmpl/gstutils.sgml:
25884 * docs/gst/tmpl/gstxml.sgml:
25889 * gst/gsturitype.c:
25892 inlined more docs, fixed double id-ref
25894 2005-08-31 Wim Taymans <wim@fluendo.com>
25896 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25897 (gst_base_transform_handle_buffer):
25898 Passthrough elements don't need the caps as they don't care.
25900 2005-08-31 Wim Taymans <wim@fluendo.com>
25902 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25903 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25904 Don't leak refcounts on buffers.
25906 2005-08-31 Wim Taymans <wim@fluendo.com>
25908 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25909 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25910 (gst_base_transform_chain), (gst_base_transform_change_state):
25911 * gst/base/gstbasetransform.h:
25912 Handle the case where we are not negotiated more gracefully.
25914 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25916 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25917 (gst_file_src_map_region):
25918 Set READONLY flag on mmap'ed buffers, otherwise
25919 gst_buffer_make_writable() won't work properly (#314708).
25921 2005-08-31 Wim Taymans <wim@fluendo.com>
25923 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25924 passthrough elements can even do inplace on non writable
25925 buffers (as they don't touch them).
25927 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25929 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25930 (gst_test_mono_source_set_property),
25931 (gst_test_mono_source_class_init), (GST_START_TEST),
25932 (gst_controller_suite):
25933 more tests (hehe I have the most)
25935 describe popping messages whenusing mulltiple sources
25936 * libs/gst/controller/gst-controller.c:
25937 (gst_controlled_property_set_interpolation_mode),
25938 (gst_controlled_property_new):
25939 * libs/gst/controller/gst-controller.h:
25940 * libs/gst/controller/gst-interpolation.c:
25941 implement boolean properties
25943 2005-08-31 Wim Taymans <wim@fluendo.com>
25945 * gst/gstminiobject.c: (gst_mini_object_ref):
25946 Cannot assert that the refcount has to be positive
25947 since a disposed object can be resurrected.
25949 2005-08-31 Wim Taymans <wim@fluendo.com>
25951 * gst/gstpad.c: (gst_pad_init):
25952 Revert change, need to first fix badly behaving
25955 2005-08-30 Wim Taymans <wim@fluendo.com>
25957 * check/elements/fakesrc.c: (setup_fakesrc):
25958 * check/elements/identity.c: (setup_identity):
25959 Activate pads before using them.
25961 2005-08-30 Wim Taymans <wim@fluendo.com>
25963 * gst/base/gstadapter.c: (gst_adapter_flush):
25964 Flushing out 0 bytes is ok for this function.
25966 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25967 no newsegment gives a warning and sets the start/stop to
25970 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25971 (gst_base_transform_set_passthrough):
25974 * gst/gstminiobject.c: (gst_mini_object_ref):
25975 Check refcount here too.
25977 * gst/gstpad.c: (gst_pad_init):
25978 Pads are initially flushing and refusing data.
25980 * gst/gstutils.c: (gst_element_link_pads_filtered):
25981 When adding a capsfilter element make sure it has the
25982 same state as the parent bin.
25984 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25986 * docs/gst/tmpl/.cvsignore:
25987 * docs/gst/tmpl/gstformat.sgml:
25988 * docs/gst/tmpl/gstversion.sgml:
25992 * gst/gstversion.h.in:
25993 more docs and two more inlined
25995 2005-08-30 Wim Taymans <wim@fluendo.com>
25997 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25998 Don't sync to clock.
26000 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26002 * docs/gst/gstreamer-sections.txt:
26003 ultral33t func10ns deserve to appear in the docs actually
26004 * docs/gst/tmpl/.cvsignore:
26005 * docs/gst/tmpl/gstcompat.sgml:
26006 * docs/gst/tmpl/gstconfig.sgml:
26007 * gst/check/gstcheck.c:
26009 * gst/gstconfig.h.in:
26012 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26014 * docs/gst/tmpl/.cvsignore:
26015 * docs/gst/tmpl/gstquery.sgml:
26016 * docs/gst/tmpl/gstutils.sgml:
26019 inlined and extended docs
26021 2005-08-30 Stefan Kost <ensonic@users.sf.net>
26023 * check/gst-libs/controller.c: (GST_START_TEST),
26024 (gst_controller_suite):
26026 * docs/gst/tmpl/gstutils.sgml:
26027 * docs/libs/gstreamer-libs-sections.txt:
26028 * docs/libs/tmpl/gstdataprotocol.sgml:
26030 * examples/controller/audio-example.c: (main):
26031 controller example works now
26034 * tools/gst-inspect.c: (print_element_properties_info):
26035 show param spec flags
26037 2005-08-29 Andy Wingo <wingo@pobox.com>
26039 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26041 2005-08-28 Andy Wingo <wingo@pobox.com>
26043 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26044 as having two arguments instead of just one. Allows superclasses
26045 to access information on subclasses -- see the terrible for() loop
26046 in gtype.c:g_type_create_instance for the reason why. All callers
26049 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26051 * docs/design/part-messages.txt:
26053 * docs/gst/tmpl/.cvsignore:
26054 * docs/gst/tmpl/gstcaps.sgml:
26055 * docs/gst/tmpl/gstclock.sgml:
26061 * gst/gstmessage.c:
26062 added descriptions for bus and message
26063 inline caps and clock docs
26065 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26067 * gst/gstmessage.c:
26068 * gst/gstmessage.h:
26071 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26073 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26076 2005-08-26 Andy Wingo <wingo@pobox.com>
26078 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26079 element_set_state's return val.
26080 (test_2_elements): Add test that's been disabled for months.
26082 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26083 can-activate-pull properties.
26085 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26086 can-activate-pull properties. Implement is_seekable so fakesrc can
26087 operate in pull mode.
26089 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26091 (gst_base_sink_activate, gst_base_sink_activate_pull)
26092 (gst_base_sink_activate_push): Make activation mode choosing work.
26094 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26095 is right. Make pull mode work. Post an eos before pausing in pull
26097 (gst_base_sink_change_state): Pay attention to the core's
26098 change_state() return val.
26100 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26101 has-getrange properties. Cleanups.
26103 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26104 has_getrange and replace with can_activate_pull and
26107 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26108 locking comments. Remove has_loop, has_chain and replace with
26109 can_activate_pull and can_activate_push.
26111 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26114 * examples/Makefile.am:
26115 * examples/metadata/Makefile.am:
26116 * examples/metadata/read-metadata.c: (message_loop),
26117 (have_pad_handler), (make_pipeline), (print_tag), (main):
26118 Add metadata reading example that loops over a list of filenames,
26119 dumping any tags found.
26121 * gst/gstbus.c: (gst_bus_dispose):
26122 * gst/gstelement.c: (gst_element_dispose):
26123 Release a few potentially-held references in dispose.
26125 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26127 * docs/gst/tmpl/gstminiobject.sgml:
26128 do *not* add tmpl/*.sgml files to CVS!
26130 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26132 * libs/gst/bytestream/.cvsignore:
26133 * libs/gst/bytestream/Makefile.am:
26134 * libs/gst/bytestream/adapter.c:
26135 * libs/gst/bytestream/adapter.h:
26136 * libs/gst/bytestream/bytestream.c:
26137 * libs/gst/bytestream/bytestream.h:
26138 * libs/gst/bytestream/filepad.c:
26139 * libs/gst/bytestream/filepad.h:
26140 removing obsolete files
26142 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26144 * docs/gst/gstreamer-docs.sgml:
26145 * docs/libs/gstreamer-libs-docs.sgml:
26146 disabed additional index entries again, as this makes docs-gen just
26147 slow and they aren't useful yet
26148 * docs/libs/gstreamer-libs-sections.txt:
26149 little -section.txt cleanup for libs
26151 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26153 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26154 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26155 fix up some debugging
26156 (gst_base_transform_get_unit_size),
26157 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26158 (gst_base_transform_handle_buffer):
26159 * gst/base/gstbasetransform.h:
26160 handle and store timed NEWSEGMENT events so that subclasses that
26161 calculate time by counting samples have a segment_start time they
26162 need to add to their timestamps - see audioresample
26164 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26167 removed ';' from the end of macro defs
26168 * docs/gst/gstreamer-docs.sgml:
26169 * docs/gst/gstreamer-sections.txt:
26170 * docs/gst/tmpl/.cvsignore:
26172 * gst/gstelement.c: (gst_element_class_init),
26173 (gst_element_set_state), (activate_pads),
26174 (gst_element_save_thyself):
26175 * gst/gstevent.c: (gst_event_new_newsegment):
26177 * gst/gstiterator.c:
26178 * gst/gstiterator.h:
26181 * gst/gstutils.c: (gst_pad_query_convert):
26183 fixed parameter name mismatches between source, header and docs
26184 added some more docs, resolved the last batch of unused elements in
26185 docs (now someone needs to doc them)
26187 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26189 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26190 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26191 don't walk through the plugins backwards. Where is all this
26192 reversed logic coming from ?
26194 2005-08-25 Wim Taymans <wim@fluendo.com>
26196 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26197 (gst_base_transform_transform_size),
26198 (gst_base_transform_configure_caps),
26199 (gst_base_transform_get_unit_size),
26200 (gst_base_transform_buffer_alloc),
26201 (gst_base_transform_change_state):
26202 * gst/base/gstbasetransform.h:
26203 Cache caps unit_size.
26204 Make sure we cannot negotiate up and downstream at the
26207 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26209 * gst/gst.c: (init_pre), (init_post):
26210 register the installed plugin path after the env var
26211 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26212 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26213 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26214 directories, so the tests can prefer uninstalled over installed
26216 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26218 * gst/base/gstbasetransform.h:
26223 2005-08-25 Wim Taymans <wim@fluendo.com>
26225 * gst/gstbin.c: (bin_bus_handler):
26226 Be a bit more conservative about the posted message.
26228 * gst/gstbus.c: (gst_bus_post):
26229 Some cleanups, warn wrong return values.
26231 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26233 * check/gst/gstbin.c: (GST_START_TEST):
26234 * gst/gstbin.c: (bin_bus_handler):
26235 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26236 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26237 (gst_message_new_warning), (gst_message_new_tag),
26238 (gst_message_new_state_changed), (gst_message_new_segment_start),
26239 (gst_message_new_segment_done), (gst_message_new_custom):
26240 * gst/gstmessage.h:
26241 * tools/gst-launch.c: (event_loop):
26242 * tools/gst-md5sum.c: (event_loop):
26243 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26245 2005-08-25 Wim Taymans <wim@fluendo.com>
26247 * check/generic/states.c: (GST_START_TEST):
26248 Cleanup can be done at the end.
26250 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26251 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26252 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26253 Oh boy.. Thanks for finding this, Thomas.
26255 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26257 * docs/gst/gstreamer.types:
26258 added missing types
26260 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26262 * docs/gst/gstreamer-docs.sgml:
26263 * docs/gst/gstreamer-sections.txt:
26264 * docs/gst/tmpl/.cvsignore:
26266 * gst/gstiterator.c:
26268 * gst/registries/gstxmlregistry.h:
26269 added missing classes and symbols (123 more to go)
26270 removed removed symbols from section file
26271 fixed many doc-comments
26273 2005-08-24 Wim Taymans <wim@fluendo.com>
26275 * check/generic/states.c: (GST_START_TEST):
26276 Make sure all tasks are stopped.
26278 * check/gst/gstbin.c: (GST_START_TEST):
26279 Unref after usage for proper valgrinding.
26281 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26282 Really wait for the task to stop before destroying the
26285 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26286 (gst_queue_src_activate_push):
26287 Small cleanups. Don't stop the task when we did not start
26290 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26291 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26292 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26295 Protect the stream lock with the object lock.
26296 Disallow setting the stream lock when running.
26297 Add cleanup_all to wait for the threadpool to finish.
26298 Remove code to autoallocate a mutex if none was provided.
26299 Add _join() to wait for a task to stop.
26300 Protect the thread pool with a global lock.
26302 2005-08-24 Wim Taymans <wim@fluendo.com>
26304 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26305 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26306 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26307 * gst/base/gstbasesink.h:
26308 Handle newsegment events correctly.
26309 Drop buffers out of the segment range.
26311 2005-08-22 Andy Wingo <wingo@pobox.com>
26313 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26314 macro, implements an interface and gstimplementsinterface for a
26317 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26319 * check/Makefile.am:
26320 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26321 add a test that does a bunch of state changes on elements
26322 needs some fixing for valgrind
26323 * check/states/sinks.c: (gst_object_suite):
26326 add prototype for gst_caps_is_equal_fixed
26328 * gst/gstregistrypool.c:
26331 2005-08-24 Andy Wingo <wingo@pobox.com>
26333 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26334 convert a negative value. Doesn't make much sense. Mostly this is
26335 here to force callers to ensure -1 maps to -1.
26337 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26339 * docs/pwg/advanced-types.xml:
26340 Well done to Michael for catching my deliberate introduction
26341 of this spelling mistake.
26342 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26343 * gst/gstelement.h:
26344 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26345 unlink pads before removing the element from the bin.
26347 2005-08-24 Andy Wingo <wingo@pobox.com>
26349 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26350 the same thing as GST_DEBUG=*:4.
26351 (parse_debug_level, parse_debug_category): New helper parsers.
26353 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26355 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26356 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26357 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26358 (gst_base_transform_buffer_alloc),
26359 (gst_base_transform_handle_buffer):
26360 use gboolean return values and pointers to size so we can use the
26361 full GST_BUFFER_SIZE range (guint) for buffer sizes
26362 use GstPadDirection for transform_caps
26363 * gst/base/gstbasetransform.h:
26364 rename get_size to get_unit_size since that's what it is
26365 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26366 use GstPadDirection for transform_caps
26367 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26369 cleanup and debugging
26371 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26373 * gst/gstelement.c: (gst_element_class_init),
26374 (gst_element_set_state), (activate_pads),
26375 (gst_element_save_thyself):
26376 * tools/gst-compprep.c: (main):
26377 * tools/gst-inspect.c: (print_element_properties_info):
26378 * tools/gst-xmlinspect.c: (print_element_properties):
26379 Fixed long standing mem-leak
26381 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26383 * check/gst/gstbin.c: (GST_START_TEST):
26384 * gst/gstbin.c: (bin_bus_handler):
26385 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26386 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26387 (gst_message_new_warning), (gst_message_new_tag),
26388 (gst_message_new_state_changed), (gst_message_new_segment_start),
26389 (gst_message_new_segment_done), (gst_message_new_custom):
26390 * gst/gstmessage.h:
26391 * tools/gst-launch.c: (event_loop):
26392 * tools/gst-md5sum.c: (event_loop):
26393 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26394 that applications can sensibly post custom messages with references
26395 to their own objects.
26397 2005-08-24 Andy Wingo <wingo@pobox.com>
26399 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26402 2005-08-24 Wim Taymans <wim@fluendo.com>
26404 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26405 (gst_base_transform_transform_caps),
26406 (gst_base_transform_transform_size),
26407 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26408 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26409 (gst_base_transform_handle_buffer):
26410 * gst/base/gstbasetransform.h:
26411 Many fixes and new features added by Thomas. Can now also do
26412 transforms with variable sizes and a custom fixate_caps function.
26414 2005-08-24 Wim Taymans <wim@fluendo.com>
26416 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26420 Cast to ClockTime before formatting to time.
26425 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26427 * check/gst-libs/controller.c: (GST_START_TEST),
26428 (gst_controller_suite):
26429 * docs/gst/tmpl/gstcaps.sgml:
26430 * docs/gst/tmpl/gstghostpad.sgml:
26431 * docs/gst/tmpl/gstquery.sgml:
26432 * docs/gst/tmpl/gstutils.sgml:
26433 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26434 (gst_object_sink_values), (gst_object_get_value_arrays),
26435 (gst_object_get_value_array):
26436 gracefully handle helper method calls to objects that are not beeing
26437 controlled, added test case for that
26439 2005-08-23 Wim Taymans <wim@fluendo.com>
26441 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26442 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26443 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26444 (gst_event_parse_qos), (gst_event_new_seek),
26445 (gst_event_parse_seek):
26447 Some more debugging output and doc cleanups.
26449 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26450 Fix possible deadlock.
26452 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26454 * docs/gst/gstreamer-docs.sgml:
26455 * docs/gst/gstreamer-sections.txt:
26456 * docs/gst/gstreamer.types:
26457 * docs/gst/tmpl/.cvsignore:
26460 * gst/gstelement.c:
26462 added 100 symbols from gstreamer-unused.txt to the right sections
26463 fixed more broken comments
26464 added GstBus to docs
26466 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26468 * docs/gst/gstreamer-sections.txt:
26469 * docs/gst/tmpl/.cvsignore:
26470 * docs/gst/tmpl/gstbin.sgml:
26471 * docs/gst/tmpl/gstbuffer.sgml:
26472 * gst/base/gstbasesrc.c:
26473 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26476 * tools/gst-launch.1.in:
26477 inlined more doc comments, added missing comments and fixed comments
26480 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26482 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26486 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26488 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26489 * gst/gststructure.h:
26490 add a fixate function for booleans; add a FIXME that these func
26491 names should probably be gst_structure_fixate_*
26493 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26495 * docs/gst/gstreamer-docs.sgml:
26496 * docs/gst/gstreamer-sections.txt:
26498 * gst/gstbin.c: (gst_bin_get_type),
26499 (gst_bin_child_proxy_get_child_by_index),
26500 (gst_bin_child_proxy_get_children_count),
26501 (gst_bin_child_proxy_init):
26502 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26503 (gst_child_proxy_get_child_by_index),
26504 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26505 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26506 (gst_child_proxy_get), (gst_child_proxy_set_property),
26507 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26508 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26509 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26510 * gst/gstchildproxy.h:
26511 * gst/parse/grammar.y:
26512 * tools/gst-inspect.c: (print_interfaces),
26513 (print_element_properties_info), (print_element_info):
26514 ported gstchildproxy over from 0.8
26515 ported gst-inspect fixes and enhancements over from 0.8
26517 2005-08-22 Wim Taymans <wim@fluendo.com>
26519 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26520 (gst_base_transform_handle_buffer):
26521 Also call the transform function if we have ANY caps.
26523 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26526 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26528 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26529 Don't pretend to handle seek events if the source is not seekable
26531 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26533 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26534 Remove extra parameter to debug output
26536 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26537 (gst_base_src_do_seek), (gst_base_src_activate_push):
26538 Fix seek event handling.
26540 * gst/gstpipeline.c: (gst_pipeline_change_state):
26541 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26542 (gst_queue_src_activate_push):
26543 Don't start the src pad task on FLUSH_STOP if the pad
26547 2005-08-22 Wim Taymans <wim@fluendo.com>
26549 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26550 Added check for gst_static_caps_get() refcounting.
26552 2005-08-22 Wim Taymans <wim@fluendo.com>
26554 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26555 Make _static_caps_get() refcounting sane.
26557 * gst/gstelement.c: (gst_element_set_state):
26558 Add g_return_val_if_fail() to protect against segfaults.
26560 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26562 * docs/gst/tmpl/gstevent.sgml:
26565 inlined remaining docs, added missing doc comments
26567 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26569 * check/gst/gstbin.c: (GST_START_TEST):
26570 since we don't know when preroll is done, use refcount range
26572 * gst/check/gstcheck.h:
26573 add macro for checking refcount range
26575 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26577 * check/Makefile.am:
26578 clean up environment for when registry gets built versus
26579 when actual tests are run; valgrind seems to not report
26580 leaks if GST_PLUGIN_PATH is set to some specific values
26581 * check/gst/gstbin.c: (GST_START_TEST):
26582 add more refcounting checks; maybe this exposes a
26584 * common/check.mak:
26585 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26586 * gst/check/gstcheck.h:
26587 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26588 (gst_bin_change_state):
26589 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26590 add/fix debugging/whitespace
26592 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26594 * check/gst/gstevent.c: (event_probe), (test_event),
26596 Er, don't call gst_bin_watch_for_state_change you idiot.
26598 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26600 * check/Makefile.am:
26601 Use CHECK_CFLAGS and CHECK_LIBS
26602 * check/gst/gstevent.c: (event_probe), (test_event),
26605 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26606 (gst_base_src_start), (gst_base_src_stop),
26607 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26608 (gst_base_src_change_state):
26609 Sprinkle gst_base_src_stop liberally around error paths to fix
26610 problems reusing a source after failed state changes.
26611 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26612 (helper_find_suggest), (gst_type_find_helper):
26613 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26615 * docs/gst/tmpl/gstevent.sgml:
26616 Migrate part of the docs from the SGML file. Wait for ensonic to
26617 tell me how I did it wrong ;)
26618 * tools/gst-typefind.c: (main):
26619 Extra robustness to state changes between files.
26621 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26623 * check/Makefile.am:
26624 don't valgrind the controller test - it's leaking - Stefan, HELP
26625 * gst/check/gstcheck.c: (gst_check_message_error),
26626 (gst_check_chain_func), (gst_check_setup_element),
26627 (gst_check_teardown_element), (gst_check_setup_src_pad),
26628 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26629 (gst_check_teardown_sink_pad):
26630 * gst/check/gstcheck.h:
26631 add a bunch of methods to set up elements, and src and sink pads
26632 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26633 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26636 * gst/gstmessage.c:
26638 whitespace/doc fixes
26640 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26642 * gst/gstelement.h:
26643 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26644 be handled by the application and not always printed as well
26646 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26648 * check/Makefile.am:
26650 * gst/check/gstcheck.c: (gst_check_message_error):
26651 * gst/check/gstcheck.h:
26652 add a fail_unless_equals_int
26653 add fail_unless for error messages
26655 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26657 * check/Makefile.am:
26659 * common/Makefile.am:
26660 * common/check.mak:
26662 factor out some of the common stuff so we can use it
26664 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26666 * check/Makefile.am:
26667 * check/gst/gstiterator.c: (GST_START_TEST):
26668 * check/gst/gstsystemclock.c: (GST_START_TEST),
26669 (gst_systemclock_suite):
26670 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26672 valgrind more tests
26674 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26676 * check/elements/.cvsignore:
26677 * check/elements/gstfakesrc.c:
26678 rename to name of element
26679 * check/elements/identity.c: (chain_func), (event_func),
26680 (setup_identity), (cleanup_identity), (GST_START_TEST),
26681 (identity_suite), (main):
26682 add a test for identity
26683 * check/Makefile.am:
26684 * pkgconfig/Makefile.am:
26685 * pkgconfig/gstreamer-check.pc.in:
26686 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26690 move the check stuff to a library that gets installed
26691 * check/gst-libs/controller.c: (GST_START_TEST):
26692 * check/gst-libs/gdp.c:
26693 * check/gst/gst.c: (GST_START_TEST):
26694 * check/gst/gstbin.c:
26695 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26696 * check/gst/gstbus.c:
26697 * check/gst/gstcaps.c: (GST_START_TEST):
26698 * check/gst/gstelement.c:
26699 * check/gst/gstghostpad.c:
26700 * check/gst/gstiterator.c:
26701 * check/gst/gstmessage.c:
26702 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26703 * check/gst/gstobject.c:
26704 * check/gst/gstpad.c: (GST_START_TEST):
26705 * check/gst/gststructure.c: (GST_START_TEST):
26706 * check/gst/gstsystemclock.c: (GST_START_TEST),
26707 (gst_systemclock_suite):
26708 * check/gst/gsttag.c: (gst_tag_suite):
26709 * check/gst/gstvalue.c:
26710 * check/pipelines/cleanup.c:
26711 * check/pipelines/simple_launch_lines.c:
26712 * check/states/sinks.c:
26713 change include statement
26715 * docs/gst/gstreamer-sections.txt:
26716 * docs/gst/tmpl/gstpad.sgml:
26717 document more pad stuff
26718 * gst/gstminiobject.c: (gst_mini_object_ref),
26719 (gst_mini_object_unref):
26722 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26724 * docs/gst/tmpl/gst.sgml:
26726 eliminate another tmpl file, fix spelling in the long-description
26728 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26730 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26731 (test_event), (timediff), (gstevents_suite):
26732 Should fix build on 64-bit arch's
26734 2005-08-18 Andy Wingo <wingo@pobox.com>
26736 Make sure that when a pipeline goes to PLAYING, that data has
26737 actually hit the sink.
26739 * check/states/sinks.c (test_sink): A sink that doesn't get any
26740 data shouldn't return SUCCESS for going to either PLAYING or
26741 PAUSED. Test also the return values on the way back down.
26743 * gst/gstelement.c (gst_element_set_state): When changing the
26744 state of an element currently changing state asynchronously, go to
26745 lost-state after commiting the pending state. Makes future calls
26746 to get_state continue to return ASYNC.
26748 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26749 ASYNC when going to PLAYING if we still don't have preroll, as can
26750 happen with live sources.
26752 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26754 * docs/pwg/advanced-types.xml:
26755 Hack long paragraph into 2 chunks as a workaround for buggy
26756 jadetex version in sid and breezy that loops infinitely and
26759 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26761 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26762 (test_event), (timediff), (gstevents_suite):
26763 Provide more error margin in clock measurements to allow for
26764 g_get_current_time inaccuracies.
26766 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26768 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26769 (test_event), (timediff), (gstevents_suite):
26770 Fix error message output so I might be able to tell why the
26771 test works here but fails on the build farm.
26773 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26775 * check/Makefile.am:
26776 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26777 (test_event), (timediff), (gstevents_suite), (main):
26780 * docs/design/part-seeking.txt:
26781 Spelling correction
26783 * docs/gst/tmpl/gstevent.sgml:
26784 * docs/gst/tmpl/gstfakesrc.sgml:
26787 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26788 Treat a buffer-without-newsegment the same as a receiving
26789 a newsegment not in time format, and disable syncing to the clock
26792 * gst/gstbus.c: (gst_bus_set_sync_handler):
26793 Assert if anyone tries to replace the existing sync_handler for bus,
26794 as only the owner should be setting it.
26797 Have a fixed set of custom event enums with events identified by
26798 their structure name (as in 0.8), rather than a free-for-all
26799 allowing collisions between enum values from different plugins.
26801 * gst/gstpad.c: (gst_pad_class_init):
26804 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26805 Handle out-of-band downstream events from the sending thread.
26807 2005-08-17 Andy Wingo <wingo@pobox.com>
26809 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26810 play-timeout==0 to mean no timeout at all. In that case, don't
26811 bother with a get_state or a warning, just return directly, even
26814 * gst/base/gstbasetransform.c: Debug changes.
26817 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26818 ensure bins post state change messages. A bit of a hack but I can't
26819 think of a way to avoid it.
26821 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26823 2005-08-16 Andy Wingo <wingo@pobox.com>
26825 * gst/base/gstadapter.h:
26826 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26827 peek() but you own the data. Not terribly efficient atm.
26829 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26831 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26832 (gst_element_found_tags):
26834 Add two utility functions for tag handling.
26836 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26838 * docs/manual/advanced-dataaccess.xml:
26839 * docs/manual/basics-helloworld.xml:
26840 Fix docs to use _bin_add() before _link(), which fixes the examples
26841 with recent core versions (reported by Madhan Raj M
26842 <raj_madan@rediffmail.com>, #313199).
26844 2005-08-16 Wim Taymans <wim@fluendo.com>
26846 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26847 Added subtract checks.
26849 * docs/design/part-events.txt:
26850 Some more docs about newsegment
26852 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26855 * gst/gstcaps.c: (gst_caps_to_string):
26856 Add comments, cleanups.
26858 * gst/gstelement.c: (gst_element_save_thyself):
26861 * gst/gstvalue.c: (gst_value_collect_int_range),
26862 (gst_string_unwrap), (gst_value_union_int_int_range),
26863 (gst_value_union_int_range_int_range),
26864 (gst_value_intersect_int_int_range),
26865 (gst_value_intersect_int_range_int_range),
26866 (gst_value_intersect_double_double_range),
26867 (gst_value_intersect_double_range_double_range),
26868 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26869 (gst_value_subtract_int_range_int),
26870 (gst_value_subtract_double_range_double),
26871 (gst_value_subtract_double_range_double_range),
26872 (gst_value_subtract_from_list), (gst_value_subtract_list),
26873 (gst_value_can_compare), (gst_value_compare_fraction):
26874 Cleanups, add comments, remove unneeded asserts.
26876 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26878 * tools/gst-launch.c: (event_loop):
26879 don't convert NULL structures to strings
26881 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26883 * docs/gst/gstreamer-sections.txt:
26884 made some defines private
26885 * docs/gst/tmpl/gstconfig.sgml:
26886 * docs/gst/tmpl/gstqueue.sgml:
26887 * docs/gst/tmpl/gsttaglist.sgml:
26888 * docs/gst/tmpl/gsttypes.sgml:
26889 * docs/gst/tmpl/gstutils.sgml:
26890 * docs/pwg/appendix-porting.xml:
26891 * gst/base/gstbasesink.h:
26892 * gst/base/gstbasesrc.c:
26893 * gst/base/gstbasesrc.h:
26894 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26895 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26896 * gst/gstelement.c: (gst_element_class_init):
26897 * gst/gstpad.c: (gst_pad_class_init):
26898 * gst/gstqueue.c: (gst_queue_class_init):
26899 * gst/gstxml.c: (gst_xml_class_init):
26900 documented all undocumented signal inline
26901 * libs/gst/controller/gst-controller.h:
26904 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26906 * docs/pwg/appendix-porting.xml:
26907 Document _set_link_function -> _set_setcaps_function.
26909 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26911 * check/Makefile.am:
26912 add a .check target for running the check
26913 * check/gst-libs/controller.c: (GST_START_TEST):
26915 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26916 complete checks for gstbuffer; would be nice if I could get the
26917 gcov stuff to work so I can see if I actually completed gstbuffer.c
26918 * check/gstcheck.h:
26919 add ASSERT_BUFFER_REFCOUNT
26921 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26923 * docs/gst/gstreamer-sections.txt:
26924 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26926 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26927 spew out a warning if a tag that is already registered
26928 is re-registered, unless it is re-registered with a
26929 different type (#308438).
26931 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26933 * docs/pwg/appendix-porting.xml:
26934 * docs/pwg/building-state.xml:
26935 Add some paragraphs about state changes in 0.9 to the PWG
26936 and the porting guide, in particular about the new meaning
26937 of GST_STATE_PAUSED and how to write state change functions
26938 with concurrent access by multiple threads in mind.
26940 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26942 * docs/gst/gstreamer-docs.sgml:
26943 * docs/libs/gstreamer-libs-docs.sgml:
26944 added deprecation and since indexes
26945 * libs/gst/controller/gst-controller.c:
26946 * libs/gst/controller/gst-helper.c:
26950 2005-08-11 Wim Taymans <wim@fluendo.com>
26952 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26953 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26954 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26955 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26956 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26957 (gst_ghost_pad_set_target):
26958 Actually implement (re)setting the target on a ghostpad
26959 as described in the docs.
26961 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26963 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26964 Check whether GST_DEBUG_NO_COLOR environment variable is
26965 set and disable coloured debug output if that is the case.
26967 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26969 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26970 (gst_type_find_helper):
26971 The memory returned by gst_type_find_peek() needs to
26972 stay valid until the end of a typefind function, and
26973 typefind functions may keep results from different
26974 offsets around, so we can't just unref the buffer from
26975 the previous _peek(), but have to save all buffers
26976 returned by _peek() until typefinding is done and only
26979 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26981 * docs/gst/gstreamer-sections.txt:
26983 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26985 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26987 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26988 Fix a pretty good memleak.
26990 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26992 * gst/gstiterator.h:
26993 Fix wrong include and 'make distcheck'.
26995 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26997 * gst/gstbin.c: (bin_bus_handler):
26998 Use gst_element_post_message() instead.
27000 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
27002 * gst/base/gstadapter.h:
27003 * gst/base/gstbasesink.h:
27004 * gst/base/gstbasesrc.h:
27005 * gst/base/gstbasetransform.h:
27006 * gst/base/gstcollectpads.h:
27007 * gst/base/gstpushsrc.h:
27008 * gst/gstiterator.h:
27009 Add padding to our base elements' class and instance structs and
27010 to GstIterator (you will need to rebuild all plugins and apps!)
27012 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27014 * gst/gstbin.c: (bin_bus_handler):
27015 Make default message forwarding from child->bus to bin->bus
27016 threadsafe and make it not emit warnings if the parent has no bus.
27018 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27020 * gst/gstelement.c: (activate_pads):
27021 On paused->ready, set pad->caps to NULL, as is the documented
27022 behaviour in this state change. Fixes playback of series of
27023 media files when visualization is enabled in Totem.
27025 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27027 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27028 Allow NULL as filter-caps (which means "any").
27030 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27032 * docs/libs/gstreamer-libs-sections.txt:
27033 * libs/gst/controller/gst-controller.c:
27034 * libs/gst/controller/gst-controller.h:
27035 * libs/gst/controller/gst-helper.c:
27036 adding more entries to the docs and fix small doc-bugs
27038 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27040 * docs/gst/gstreamer-docs.sgml:
27041 * docs/gst/gstreamer-sections.txt:
27042 * docs/gst/gstreamer.types:
27043 * docs/gst/tmpl/gstbasesink.sgml:
27044 * docs/gst/tmpl/gstbasesrc.sgml:
27045 * docs/gst/tmpl/gstbasetransform.sgml:
27046 * docs/gst/tmpl/gstfakesrc.sgml:
27047 * gst/base/gstcollectpads.c:
27048 * gst/base/gstcollectpads.h:
27049 * libs/gst/controller/gst-controller.c:
27050 * libs/gst/controller/gst-controller.h:
27051 * libs/gst/controller/gst-helper.c:
27052 * libs/gst/controller/gst-interpolation.c:
27053 * libs/gst/controller/lib.c:
27054 added long/short desc for controller docs
27055 added collectpads base class docs
27056 added correct includes to base-class docs
27058 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27060 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27061 (gst_test_mono_source_set_property),
27062 (gst_test_mono_source_class_init), (GST_START_TEST),
27063 (gst_controller_suite):
27064 * docs/gst/gstreamer-docs.sgml:
27065 * docs/gst/gstreamer-sections.txt:
27066 * docs/gst/gstreamer.types:
27067 * docs/libs/gstreamer-libs-docs.sgml:
27068 * docs/libs/gstreamer-libs-sections.txt:
27069 * gst/base/gstadapter.c:
27070 * libs/gst/controller/gst-controller.c:
27071 (gst_controlled_property_new), (gst_controlled_property_free),
27072 (gst_controller_new_valist),
27073 (gst_controller_remove_properties_valist),
27074 (gst_controller_sink_values), (_gst_controller_finalize):
27075 * libs/gst/controller/gst-controller.h:
27076 * libs/gst/controller/gst-helper.c:
27077 (gst_object_control_properties), (gst_object_uncontrol_properties),
27078 (gst_object_get_controller), (gst_object_set_controller),
27079 (gst_object_sink_values), (gst_object_get_value_arrays),
27080 (gst_object_get_value_array):
27081 more tests (and fixes) for the controller
27082 more docs for the controller
27083 integrated companies docs for the adapter
27085 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27087 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27088 (GST_START_TEST), (fakesrc_suite):
27089 add tests for sizetype
27091 2005-08-04 Andy Wingo <wingo@pobox.com>
27093 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27094 fixes buffer_alloc proxying among other things.
27096 * gst/base/gstbasetransform.c:
27097 * gst/base/gstbasetransform.h:
27098 Revert patch to gstbasetransform from 7-28 removing
27101 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27102 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27103 Semantics changed, should return not the size of the output buffer
27104 but the byte size of a buffer with a given caps.
27106 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27108 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27109 out) are not the pad caps until setcaps finishes.
27110 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27111 not-in-place case as well. Deal with changing from in-place to
27112 not-in-place within calling pad_alloc_buffer. Still a bit
27113 concerned about the overhead here...
27115 2005-08-03 Andy Wingo <wingo@pobox.com>
27117 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27118 fixating is an error.
27120 2005-08-04 Edward Hervey <edward@fluendo.com>
27122 * gst/base/gstadapter.h:
27123 Added gst_adapter_get_type() to the header
27125 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27127 * check/Makefile.am:
27128 * check/gst-libs/controller.c:
27129 * libs/gst/controller/gst-controller.c:
27130 (gst_controller_new_valist):
27131 added check test suite for the controller
27132 * gst/base/gstpushsrc.c:
27135 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27137 * docs/gst/Makefile.am:
27138 * docs/gst/gstreamer-docs.sgml:
27139 * docs/gst/gstreamer-sections.txt:
27140 * docs/gst/gstreamer.types:
27141 * docs/gst/tmpl/gstfakesrc.sgml:
27143 * gst/base/gstbasesink.c:
27144 * gst/base/gstbasesink.h:
27145 * gst/base/gstbasesrc.c:
27146 * gst/base/gstbasesrc.h:
27147 * gst/base/gstbasetransform.c:
27148 * gst/base/gstpushsrc.c:
27149 * gst/base/gstpushsrc.h:
27150 add short/long description docs to base classes
27151 add pushsrc to the docs
27152 remove consolidated doc fragments
27154 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27157 * docs/libs/Makefile.am:
27158 * docs/libs/gstreamer-libs-docs.sgml:
27159 * docs/libs/gstreamer-libs-sections.txt:
27160 * docs/libs/gstreamer-libs.types:
27161 * examples/Makefile.am:
27162 * examples/controller/.cvsignore:
27163 * examples/controller/Makefile.am:
27164 * examples/controller/audio-example.c: (main):
27165 * libs/gst/Makefile.am:
27166 * libs/gst/controller/.cvsignore:
27167 * libs/gst/controller/Makefile.am:
27168 * libs/gst/controller/gst-controller.c:
27169 (on_object_controlled_property_changed), (gst_timed_value_compare),
27170 (gst_timed_value_find),
27171 (gst_controlled_property_set_interpolation_mode),
27172 (gst_controlled_property_new), (gst_controlled_property_free),
27173 (gst_controller_find_controlled_property),
27174 (gst_controller_new_valist), (gst_controller_new),
27175 (gst_controller_remove_properties_valist),
27176 (gst_controller_remove_properties), (gst_controller_set),
27177 (gst_controller_set_from_list), (gst_controller_unset),
27178 (gst_controller_get), (gst_controller_get_all),
27179 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27180 (gst_controller_get_value_array),
27181 (gst_controller_set_interpolation_mode),
27182 (_gst_controller_finalize), (_gst_controller_init),
27183 (_gst_controller_class_init), (gst_controller_get_type):
27184 * libs/gst/controller/gst-controller.h:
27185 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27186 (g_object_uncontrol_properties), (g_object_get_controller),
27187 (g_object_set_controller), (g_object_sink_values),
27188 (g_object_get_value_arrays), (g_object_get_value_array):
27189 * libs/gst/controller/gst-interpolation.c:
27190 (gst_controlled_property_find_timed_value_node),
27191 (interpolate_none_get), (interpolate_trigger_get),
27192 (interpolate_trigger_get_value_array):
27193 * libs/gst/controller/lib.c: (gst_controller_init):
27194 * pkgconfig/Makefile.am:
27195 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27196 * pkgconfig/gstreamer-control.pc.in:
27197 * testsuite/Makefile.am:
27198 * testsuite/controller/.cvsignore:
27199 * testsuite/controller/Makefile.am:
27200 * testsuite/controller/interpolator.c: (main):
27201 added controller code
27202 removed dparam pc files
27204 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27205 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27206 (gst_collectpads_stop):
27207 Broadcast the condition when shutting down, to make sure we wake all
27208 threads up. Shut down pads on finalize, for safety.
27210 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27211 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27212 (gst_base_transform_handle_buffer),
27213 (gst_base_transform_change_state):
27214 Handle PAUSED->READY->PAUSED transition after negotiation
27216 * gst/gstmessage.c: (gst_message_init):
27217 Extra piece of debug for new messages.
27219 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27222 * docs/gst/tmpl/gstbasesrc.sgml:
27223 * docs/gst/tmpl/gstelement.sgml:
27224 * docs/gst/tmpl/gstevent.sgml:
27225 * docs/gst/tmpl/gstfakesrc.sgml:
27226 * docs/gst/tmpl/gstformat.sgml:
27227 * docs/gst/tmpl/gstghostpad.sgml:
27228 * docs/gst/tmpl/gstpad.sgml:
27229 * docs/gst/tmpl/gstquery.sgml:
27230 * docs/gst/tmpl/gststructure.sgml:
27231 * docs/gst/tmpl/gsttaglist.sgml:
27232 * docs/gst/tmpl/gstvalue.sgml:
27233 * docs/libs/gstreamer-libs-docs.sgml:
27234 * docs/libs/gstreamer-libs-sections.txt:
27235 * docs/libs/gstreamer-libs.types:
27236 * libs/gst/Makefile.am:
27237 * libs/gst/control/.cvsignore:
27238 * libs/gst/control/Makefile.am:
27239 * libs/gst/control/control.c:
27240 * libs/gst/control/control.h:
27241 * libs/gst/control/dparam.c:
27242 * libs/gst/control/dparam.h:
27243 * libs/gst/control/dparam_smooth.c:
27244 * libs/gst/control/dparam_smooth.h:
27245 * libs/gst/control/dparamcommon.h:
27246 * libs/gst/control/dparammanager.c:
27247 * libs/gst/control/dparammanager.h:
27248 * libs/gst/control/dplinearinterp.c:
27249 * libs/gst/control/dplinearinterp.h:
27250 * libs/gst/control/unitconvert.c:
27251 * libs/gst/control/unitconvert.h:
27252 * testsuite/Makefile.am:
27253 * testsuite/dynparams/.cvsignore:
27254 * testsuite/dynparams/Makefile.am:
27255 * testsuite/dynparams/dparamstest.c:
27256 * tools/Makefile.am:
27257 * tools/gst-inspect.c: (print_element_info), (main):
27258 * tools/gst-xmlinspect.c: (print_element_info), (main):
27259 deactivate and remove dparams (libgstcontrol)
27261 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27263 * gst/elements/gsttypefindelement.c:
27264 (gst_type_find_element_have_type), (gst_type_find_element_init),
27265 (stop_typefinding), (gst_type_find_element_handle_event),
27266 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27267 * gst/elements/gsttypefindelement.h:
27268 Set caps on all outgoing buffers, not just the first one.
27270 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27272 * gst/elements/gsttypefindelement.c:
27273 (gst_type_find_element_have_type),
27274 (gst_type_find_element_check_set_buffer_caps),
27275 (gst_type_find_element_init), (stop_typefinding),
27276 (gst_type_find_element_handle_event),
27277 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27278 * gst/elements/gsttypefindelement.h:
27279 Set caps on first outgoing buffer when we've found the type.
27281 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27283 * docs/gst/gstreamer-docs.sgml:
27284 * docs/gst/gstreamer-sections.txt:
27285 * docs/gst/tmpl/gstscheduler.sgml:
27286 * docs/gst/tmpl/gstschedulerfactory.sgml:
27287 Remove some old cruft from docs.
27289 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27292 Fix inline docs for GstPadLinkReturn.
27294 * gst/gststructure.c: (gst_structure_has_name):
27295 * gst/gststructure.h:
27296 * docs/gst/gstreamer-sections.txt:
27297 New API: gst_structure_has_name().
27299 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27302 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27303 and _LARGEFILE_SOURCE in config.h as required. Do not
27304 export those flags in our .pc files any longer (#142209).
27306 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27308 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27309 (gst_file_sink_do_seek), (gst_file_sink_event),
27310 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27311 Redo seek/tell calls with large file support in mind; add some
27312 debugging messages; add log message that tells us when large
27313 file support is unavailable or not enabled for some reason.
27315 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27316 Add log message that tells us when large file support
27317 is unavailable or not enabled for some reason.
27319 2005-07-29 Wim Taymans <wim@fluendo.com>
27321 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27322 Added test for removing an element with ghostpad from a bin.
27323 Fixed test as current implementation does the right thing.
27325 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27326 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27327 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27328 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27329 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27330 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27331 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27332 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27333 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27334 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27335 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27336 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27337 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27338 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27339 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27340 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27341 * gst/gstghostpad.h:
27342 Clean up ghostpads, remove properties for internal stuff.
27345 Prepare for switching targets, not all use cases work yet.
27347 2005-07-29 Wim Taymans <wim@fluendo.com>
27349 * docs/design/part-gstghostpad.txt:
27352 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27353 (gst_bin_remove_func):
27354 Unlinking pads while holding the bin LOCK is not a good
27357 * gst/gstpad.c: (gst_pad_class_init),
27358 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27359 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27360 No prob setting template after creating the pad.
27362 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27364 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27365 (gst_bus_peek), (gst_bus_source_dispatch),
27366 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27367 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27368 gst_bus_poll may be called from other threads. Handle
27369 this nicely by not making poll_data disappear off the
27370 stack once gst_bus_poll returns.
27371 gst_bus_peek now increments the refcount on the returned
27374 2005-07-29 Wim Taymans <wim@fluendo.com>
27376 * docs/design/part-gstghostpad.txt:
27377 Overview of current GhostPad datastructures and use
27378 cases for changing the target.
27380 2005-07-28 Wim Taymans <wim@fluendo.com>
27382 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27383 Added checks for hierarchy consistency whan adding linked
27386 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27387 Added check to test element scheduling without bin/pipeline.
27389 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27390 First add elements to bin, then link.
27392 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27393 (gst_bin_remove_func):
27394 Unlink pads from elements added/removed from bin to maintain
27395 hierarchy consistency.
27397 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27399 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27400 (gst_base_transform_handle_buffer):
27401 * gst/base/gstbasetransform.h:
27402 Remove broken delay_configure (fixes renegotiation of software
27403 scaling pipelines); remove some leftover printf()s.
27405 2005-07-28 Wim Taymans <wim@fluendo.com>
27407 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27408 Added some more tests for wrong hierarchy
27410 * docs/design/part-overview.txt:
27413 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27416 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27417 (gst_element_dispose):
27418 Some more cleanups.
27420 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27421 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27422 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27423 (gst_pad_set_caps), (gst_pad_send_event):
27424 Check for correct hierarchy when linking pads. Moving to
27425 strict requirement for ghostpads when linking elements in
27429 Clean ups. Added WRONG_HIERARCHY return value.
27431 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27433 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27434 Better debug if no transform is possible.
27436 2005-07-27 Wim Taymans <wim@fluendo.com>
27438 * docs/random/wtay/network-transp:
27439 Some old doc I had.
27441 2005-07-27 Wim Taymans <wim@fluendo.com>
27443 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27444 (gst_dp_event_from_packet):
27445 Fix serialization of seek events.
27447 2005-07-27 Wim Taymans <wim@fluendo.com>
27449 * check/gst-libs/gdp.c: (GST_START_TEST):
27450 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27451 Fix compilation and fix event serialization.
27453 2005-07-27 Wim Taymans <wim@fluendo.com>
27456 * docs/design/part-TODO.txt:
27457 * docs/design/part-events.txt:
27460 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27461 (gst_base_sink_event), (gst_base_sink_do_sync),
27462 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27463 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27464 (gst_base_src_do_seek), (gst_base_src_event_handler),
27465 (gst_base_src_loop):
27466 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27467 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27468 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27469 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27470 (gst_base_transform_set_passthrough),
27471 (gst_base_transform_is_passthrough):
27472 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27473 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27479 * gst/gstelement.c: (gst_element_seek):
27480 * gst/gstelement.h:
27481 Update gst_element_seek.
27483 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27484 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27485 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27486 (gst_event_new_eos), (gst_event_new_newsegment),
27487 (gst_event_parse_newsegment), (gst_event_new_tag),
27488 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27489 (gst_event_parse_qos), (gst_event_new_seek),
27490 (gst_event_parse_seek), (gst_event_new_navigation):
27492 Make GstEvent use GstStructure. Add parsing code, make sure the
27493 API is sufficiently generic.
27494 Mark possible directions of events and serialization.
27496 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27497 (_gst_message_copy), (gst_message_new_segment_start),
27498 (gst_message_new_segment_done), (gst_message_new_custom),
27499 (gst_message_parse_segment_start),
27500 (gst_message_parse_segment_done):
27503 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27504 (gst_pad_set_caps), (gst_pad_send_event):
27505 Update for new events.
27506 Catch events sent in wrong directions.
27508 * gst/gstqueue.c: (gst_queue_link_src),
27509 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27510 (gst_queue_handle_src_query):
27515 Remove event code from this file.
27517 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27518 (gst_dp_event_from_packet):
27521 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27523 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27524 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27525 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27526 Make debugging actually useful.
27528 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27530 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27531 (gst_pad_fixate_caps):
27532 Implement default fixation once again, so that gst_pad_fixate()
27533 actually does anything at all. This probably needs to be some
27534 sort of a last resort, and use profile-based fixation first, but
27535 since that doesn't exist yet, this is the best we have. Fixes
27536 visualization in Totem.
27538 2005-07-22 Wim Taymans <wim@fluendo.com>
27540 * docs/design/part-events.txt:
27543 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27544 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27545 (gst_base_sink_activate_pull):
27546 Some more comments.
27548 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27549 (gst_fake_src_create):
27550 Fix handoff marshall.
27552 * gst/elements/gstidentity.c: (gst_identity_class_init),
27553 (gst_identity_transform_ip):
27554 We're a real inplace element.
27556 * gst/gstbus.c: (gst_bus_post):
27557 Added some comments.
27559 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27560 * tests/muxing/case1.c: (main):
27561 * tests/sched/dynamic-pipeline.c: (main):
27562 * tests/sched/interrupt1.c: (main):
27563 * tests/sched/interrupt2.c: (main):
27564 * tests/sched/interrupt3.c: (main):
27565 * tests/sched/runxml.c: (main):
27566 * tests/sched/sched-stress.c: (main):
27567 * tests/seeking/seeking1.c: (event_received), (main):
27568 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27570 * tests/threadstate/threadstate3.c: (main):
27571 * tests/threadstate/threadstate4.c: (main):
27572 * tests/threadstate/threadstate5.c: (main):
27575 2005-07-21 Wim Taymans <wim@fluendo.com>
27577 * docs/design/part-seeking.txt:
27578 Some small additions.
27580 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27581 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27582 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27583 * gst/base/gstbasesink.h:
27584 discont values are gint64, handle the math correctly.
27586 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27587 Make the basesrc report error if the source pad is not linked.
27589 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27590 (gst_queue_loop), (gst_queue_handle_src_query),
27591 (gst_queue_src_activate_push):
27592 Make queue collect data even if the srcpad is not linked.
27593 Start pushing out data as soon as it is linked.
27595 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27597 Added gst_flow_get_name() to ease error reporting.
27599 2005-07-20 Wim Taymans <wim@fluendo.com>
27601 * gst/gstmessage.c: (gst_message_new_segment_start),
27602 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27603 (gst_message_parse_segment_done):
27604 * gst/gstmessage.h:
27605 Added a bunch of messages for advanced seeking.
27607 * gst/parse/grammar.y:
27608 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27609 (gst_dpman_state_changed):
27610 Fix some new-pad -> pad-added signals
27612 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27614 * docs/manual/appendix-porting.xml:
27615 * docs/pwg/appendix-porting.xml:
27616 Document new-pad/state-change signal renames and the FixedList
27619 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27621 * docs/manual/advanced-autoplugging.xml:
27622 * docs/manual/basics-helloworld.xml:
27623 * docs/manual/basics-pads.xml:
27624 * docs/random/ds/0.9-suggested-changes:
27625 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27626 * gst/gstelement.h:
27630 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27631 (gst_structure_parse_array), (gst_structure_parse_value):
27632 * gst/gstvalue.c: (gst_type_is_fixed),
27633 (gst_value_list_prepend_value), (gst_value_list_append_value),
27634 (gst_value_list_get_size), (gst_value_list_get_value),
27635 (gst_value_transform_array_string), (gst_value_serialize_array),
27636 (gst_value_deserialize_array), (gst_value_intersect_array),
27637 (gst_value_is_fixed), (_gst_value_initialize):
27639 GstElement::new-pad -> pad-added, GstElement::state-change ->
27640 state-changed, GstValueFixedList -> GstValueArray, add format and
27641 flags as their own arguments in gst_element_seek() (should improve
27642 "bindeability"), remove function generators since they don't work
27643 under a whole bunch of compilers (they were deprecated already
27646 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27648 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27649 (_gst_debug_register_funcptr):
27651 Fix illegal cast on some platforms (#309253).
27653 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27655 * gst/gstmessage.c: (gst_message_new_custom):
27656 * gst/gstmessage.h:
27657 Add _new_custom, make _new_application a macro to _new_custom.
27659 2005-07-20 Wim Taymans <wim@fluendo.com>
27661 * gst/base/gstbasesrc.c: (gst_base_src_init),
27662 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27663 * gst/base/gstbasesrc.h:
27664 Add a gboolean to decide when to push out a discont.
27666 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27667 (gst_queue_loop), (gst_queue_handle_src_query),
27668 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27669 (gst_queue_set_property), (gst_queue_get_property):
27672 * tests/threadstate/threadstate1.c: (main):
27673 Make a thread test compile and run... very silly..
27676 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27678 * docs/manual/appendix-porting.xml:
27679 Mention removal of libgstgconf-0.9.la and existence of gconf
27682 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27684 * docs/pwg/advanced-clock.xml:
27685 * docs/pwg/appendix-porting.xml:
27686 * docs/pwg/intro-preface.xml:
27687 * docs/pwg/other-base.xml:
27688 * docs/pwg/other-manager.xml:
27689 * docs/pwg/other-nton.xml:
27690 * docs/pwg/other-ntoone.xml:
27691 * docs/pwg/other-oneton.xml:
27692 * docs/pwg/pwg.xml:
27693 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27694 demuxer), remove n-to-n (was never written), fix some code examples
27695 and links and update the porting section to include all this.
27697 2005-07-19 Wim Taymans <wim@fluendo.com>
27699 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27700 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27701 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27702 (gst_queue_src_activate_push), (gst_queue_change_state),
27703 (gst_queue_get_property):
27705 Propagate GstFlowReturn more intelligently upstream and output
27706 an ERROR/EOS when streaming stopped due to fatal error.
27708 2005-07-19 Wim Taymans <wim@fluendo.com>
27710 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27711 Don't block forever for the state change to complete, the
27712 pipeline already did with a sensible timeout.
27714 2005-07-19 Wim Taymans <wim@fluendo.com>
27716 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27717 Make sure we never call the create function is we
27720 2005-07-19 Andy Wingo <wingo@pobox.com>
27722 * gst/parse/parse.l: Attempt to solve bug #172815.
27724 2005-07-19 Wim Taymans <wim@fluendo.com>
27726 * docs/design/part-clocks.txt:
27727 * docs/design/part-events.txt:
27728 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27729 Small docs updates.
27730 Only update the seeking values when we are not
27733 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27735 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27736 Oops, ignore the result of gst_pad_push_event here.
27738 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27740 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27741 (gst_base_src_activate_push):
27742 Send discont event from the loop function, as pads
27743 aren't activated yet in the activate_push handler.
27745 * gst/gstbin.c: (bin_bus_handler):
27746 Don't leak element name.
27748 2005-07-18 Andy Wingo <wingo@pobox.com>
27750 * configure.ac: Use AS_LIBTOOL_TAGS.
27752 2005-07-18 Wim Taymans <wim@fluendo.com>
27754 * docs/gst/gstreamer.types:
27755 Remove deleted types.
27757 2005-07-18 Wim Taymans <wim@fluendo.com>
27759 * check/elements/gstfakesrc.c: (GST_START_TEST):
27762 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27763 (init_popt_callback):
27765 * gst/gst_private.h:
27766 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27767 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27770 * gst/gstconfig.h.in:
27771 * gst/gstelement.c: (gst_element_class_init),
27772 (gst_element_set_base_time), (gst_element_get_base_time),
27773 (iterator_fold_with_resync), (gst_element_change_state),
27774 (gst_element_dispose), (gst_element_get_bus):
27775 * gst/gstelement.h:
27776 * gst/gstelementfactory.h:
27777 * gst/gsterror.c: (_gst_core_errors_init):
27780 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27782 * gst/gstinfo.c: (_gst_debug_init):
27783 * gst/gstmessage.c: (_gst_message_copy):
27784 * gst/gstmessage.h:
27785 * gst/gstminiobject.h:
27788 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27789 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27792 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27793 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27794 (gst_pipeline_get_last_stream_time):
27795 * gst/gstpipeline.h:
27796 * gst/gstpluginfeature.h:
27798 * gst/gstscheduler.c:
27799 * gst/gstscheduler.h:
27800 * gst/gststructure.h:
27801 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27802 (gst_task_finalize), (gst_task_func), (gst_task_create),
27803 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27804 (gst_task_stop), (gst_task_pause):
27806 * gst/gsttypefind.h:
27808 * gst/registries/gstlibxmlregistry.c: (load_feature),
27809 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27810 * gst/registries/gstxmlregistry.c:
27811 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27812 * gst/schedulers/threadscheduler.c:
27813 * libs/gst/control/dparammanager.h:
27814 * tools/gst-inspect.c: (print_element_list),
27815 (print_plugin_features), (print_element_features):
27816 * tools/gst-xmlinspect.c: (print_element_list),
27817 (print_plugin_info), (main):
27818 Removed plugable schedulers.
27819 Removed Scheduler/Manager from elements.
27820 Removed gsttypes.h, rearranged includes.
27821 Removed dependency pad<->element, element<>pipeline, and
27822 various others, fix includes.
27823 implement gst_pad_get_parent() with gst_object_get_parent()
27824 Make GstTask sefcontained.
27825 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27827 Fix endless loop in iterator_fold_with_resync.
27830 2005-07-18 Wim Taymans <wim@fluendo.com>
27836 2005-07-18 Wim Taymans <wim@fluendo.com>
27839 No more cothreads.h
27841 2005-07-18 Wim Taymans <wim@fluendo.com>
27845 Let's remove these.
27847 2005-07-18 Wim Taymans <wim@fluendo.com>
27849 * docs/design/part-dynamic.txt:
27850 * docs/design/part-events.txt:
27851 * docs/design/part-seeking.txt:
27852 Some more docs in the works.
27854 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27855 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27856 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27857 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27858 (gst_base_transform_handle_buffer),
27859 (gst_base_transform_sink_activate_push),
27860 (gst_base_transform_src_activate_pull),
27861 (gst_base_transform_set_passthrough),
27862 (gst_base_transform_is_passthrough):
27865 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27868 * gst/gstevent.c: (gst_event_finalize):
27871 * gst/gstutils.c: (gst_element_unlink),
27872 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27873 (gst_pad_proxy_setcaps):
27875 Add _get_parent_element() to get a pads parent as an element.
27877 2005-07-18 Wim Taymans <wim@fluendo.com>
27879 * check/gst/gstbin.c: (GST_START_TEST):
27882 2005-07-18 Wim Taymans <wim@fluendo.com>
27884 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27885 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27886 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27887 (gst_base_sink_event), (gst_base_sink_do_sync),
27888 (gst_base_sink_chain), (gst_base_sink_loop),
27889 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27890 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27892 Fix logic for returning ASYNC when not prerolled.
27894 2005-07-18 Wim Taymans <wim@fluendo.com>
27896 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27897 Fix nasty refcount bug.
27899 2005-07-16 Philippe Khalaf <burger@speedy.org>
27901 * gst/elements/gstfdsrc.c:
27902 * gst/elements/gstfdsrc.h:
27903 * gst/elements/gstelements.c:
27904 * gst/elements/Makefile.am:
27905 Ported fdsrc to 0.9.
27907 2005-07-16 Wim Taymans <wim@fluendo.com>
27909 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27910 (gst_base_sink_do_sync):
27913 2005-07-16 Wim Taymans <wim@fluendo.com>
27915 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27916 (gst_base_sink_event), (gst_base_sink_get_times),
27917 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27918 * gst/base/gstbasesink.h:
27919 Store and use discont values when syncing buffers as described
27922 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27923 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27924 (gst_base_src_activate_push):
27925 Push discont event when starting.
27927 * gst/elements/gstidentity.c: (gst_identity_transform):
27930 * gst/gstbin.c: (gst_bin_change_state):
27931 Small cleanups in base_time distribution.
27933 * gst/gstelement.c: (gst_element_set_base_time),
27934 (gst_element_get_base_time), (gst_element_change_state):
27935 * gst/gstelement.h:
27936 Added methods for the base_time of the element.
27939 * gst/gstpipeline.c: (gst_pipeline_send_event),
27940 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27941 (gst_pipeline_get_last_stream_time):
27942 * gst/gstpipeline.h:
27944 Handle seeking as described in design doc, remove stream_time
27946 Cleanups clock and stream_time selection code. Added accessors
27947 for the stream_time.
27950 2005-07-16 Andy Wingo <wingo@pobox.com>
27952 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27955 2005-07-16 Wim Taymans <wim@fluendo.com>
27957 * check/gst/gstbin.c: (GST_START_TEST):
27958 Make elements silent as the deep_notify refs the
27959 parent, which might make the test fail.
27961 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27962 Don't hold the lock for too long.
27964 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27966 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27967 Don't unref the caps we passed to gst_caps_make_writable() after
27968 passing them. gst_caps_make_writable() will do that for us.
27970 2005-07-15 Andy Wingo <wingo@pobox.com>
27972 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27975 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27976 own marshalling function for the handoff signal. Properly type the
27977 buffer as a buffer. Fixes some warnings. Should do a more general
27979 (gst_identity_class_init): Plug into the right marshaller.
27981 2005-07-15 Wim Taymans <wim@fluendo.com>
27983 * docs/design/part-TODO.txt:
27984 * docs/design/part-clocks.txt:
27985 * docs/design/part-element-sink.txt:
27986 * docs/design/part-events.txt:
27987 * docs/design/part-gstpipeline.txt:
27988 Updated docs, mostly DISCONT related.
27990 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27992 * docs/pwg/building-pads.xml:
27993 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27995 2005-07-15 Andy Wingo <wingo@pobox.com>
27997 * tools/gst-typefind.c: Update, add copyright block.
27999 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28000 Normalize and truncate caps before fixation.
28003 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28004 discards all but the first structure from its argument.
28006 2005-07-15 Wim Taymans <wim@fluendo.com>
28008 * gst/base/gstbasetransform.c: (gst_base_transform_init),
28009 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28010 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28011 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28012 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28013 (gst_base_transform_chain), (gst_base_transform_change_state),
28014 (gst_base_transform_set_passthrough),
28015 (gst_base_transform_is_passthrough):
28016 * gst/base/gstbasetransform.h:
28017 Make passthrough work using the bufferpools.
28018 Changed API a bit, subclasses have to write into a buffer
28019 provided by the base class.
28020 More debug info in nego functions.
28022 * gst/elements/gstidentity.c: (gst_identity_init),
28023 (gst_identity_transform):
28024 Port to new base class.
28026 2005-07-15 Wim Taymans <wim@fluendo.com>
28028 * gst/gstmessage.c: (gst_message_new_state_changed):
28029 * tools/gst-launch.c: (event_loop), (main):
28030 Totally dump messages in -launch with the -m option.
28031 Fix message name for State messages,
28033 2005-07-14 Wim Taymans <wim@fluendo.com>
28035 * gst/base/gstbasesrc.c: (gst_base_src_loop):
28036 Post error messages on errors.
28038 2005-07-14 Wim Taymans <wim@fluendo.com>
28040 * gst/gstcaps.c: (gst_caps_do_simplify):
28044 Define error for stream stopped.
28046 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28047 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28048 Do proper return values.
28050 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28051 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28052 (gst_pad_get_range):
28053 Better return values.
28056 Reorganise return values, add macro to check for fatal errors.
28058 * gst/gstqueue.c: (gst_queue_chain):
28059 Return proper GstFlowReturn values,
28061 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
28063 * docs/gst/gstreamer-sections.txt:
28064 * docs/gst/gstreamer.types:
28065 * docs/gst/tmpl/gst.sgml:
28066 * docs/gst/tmpl/gstbasesink.sgml:
28067 * docs/gst/tmpl/gstbasesrc.sgml:
28068 * docs/gst/tmpl/gstbasetransform.sgml:
28069 * docs/gst/tmpl/gstbin.sgml:
28070 * docs/gst/tmpl/gstbuffer.sgml:
28071 * docs/gst/tmpl/gstcaps.sgml:
28072 * docs/gst/tmpl/gstclock.sgml:
28073 * docs/gst/tmpl/gstcompat.sgml:
28074 * docs/gst/tmpl/gstconfig.sgml:
28075 * docs/gst/tmpl/gstelement.sgml:
28076 * docs/gst/tmpl/gstelementdetails.sgml:
28077 * docs/gst/tmpl/gstelementfactory.sgml:
28078 * docs/gst/tmpl/gstenumtypes.sgml:
28079 * docs/gst/tmpl/gsterror.sgml:
28080 * docs/gst/tmpl/gstevent.sgml:
28081 * docs/gst/tmpl/gstfakesink.sgml:
28082 * docs/gst/tmpl/gstfakesrc.sgml:
28083 * docs/gst/tmpl/gstfilesink.sgml:
28084 * docs/gst/tmpl/gstfilesrc.sgml:
28085 * docs/gst/tmpl/gstfilter.sgml:
28086 * docs/gst/tmpl/gstformat.sgml:
28087 * docs/gst/tmpl/gstghostpad.sgml:
28088 * docs/gst/tmpl/gstimplementsinterface.sgml:
28089 * docs/gst/tmpl/gstindex.sgml:
28090 * docs/gst/tmpl/gstindexfactory.sgml:
28091 * docs/gst/tmpl/gstinfo.sgml:
28092 * docs/gst/tmpl/gstiterator.sgml:
28093 * docs/gst/tmpl/gstmacros.sgml:
28094 * docs/gst/tmpl/gstmemchunk.sgml:
28095 * docs/gst/tmpl/gstminiobject.sgml:
28096 * docs/gst/tmpl/gstobject.sgml:
28097 * docs/gst/tmpl/gstpad.sgml:
28098 * docs/gst/tmpl/gstpadtemplate.sgml:
28099 * docs/gst/tmpl/gstparse.sgml:
28100 * docs/gst/tmpl/gstpipeline.sgml:
28101 * docs/gst/tmpl/gstplugin.sgml:
28102 * docs/gst/tmpl/gstpluginfeature.sgml:
28103 * docs/gst/tmpl/gstquery.sgml:
28104 * docs/gst/tmpl/gstqueue.sgml:
28105 * docs/gst/tmpl/gstregistry.sgml:
28106 * docs/gst/tmpl/gstregistrypool.sgml:
28107 * docs/gst/tmpl/gstscheduler.sgml:
28108 * docs/gst/tmpl/gstschedulerfactory.sgml:
28109 * docs/gst/tmpl/gststructure.sgml:
28110 * docs/gst/tmpl/gstsystemclock.sgml:
28111 * docs/gst/tmpl/gsttaglist.sgml:
28112 * docs/gst/tmpl/gsttagsetter.sgml:
28113 * docs/gst/tmpl/gsttrace.sgml:
28114 * docs/gst/tmpl/gsttrashstack.sgml:
28115 * docs/gst/tmpl/gsttypefind.sgml:
28116 * docs/gst/tmpl/gsttypefindfactory.sgml:
28117 * docs/gst/tmpl/gsttypes.sgml:
28118 * docs/gst/tmpl/gsturihandler.sgml:
28119 * docs/gst/tmpl/gsturitype.sgml:
28120 * docs/gst/tmpl/gstutils.sgml:
28121 * docs/gst/tmpl/gstvalue.sgml:
28122 * docs/gst/tmpl/gstversion.sgml:
28123 * docs/gst/tmpl/gstxml.sgml:
28124 * docs/libs/tmpl/gstcontrol.sgml:
28125 * docs/libs/tmpl/gstdataprotocol.sgml:
28126 * docs/libs/tmpl/gstdparam.sgml:
28127 * docs/libs/tmpl/gstdplinint.sgml:
28128 * docs/libs/tmpl/gstdpman.sgml:
28129 * docs/libs/tmpl/gstdpsmooth.sgml:
28130 * docs/libs/tmpl/gstgetbits.sgml:
28131 * docs/libs/tmpl/gstunitconvert.sgml:
28132 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28133 (gst_push_src_base_init), (gst_push_src_class_init),
28134 (gst_push_src_init), (gst_push_src_create):
28135 * gst/base/gstpushsrc.h:
28136 * gst/elements/gstelements.c:
28137 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28138 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28139 (gst_fake_sink_init), (gst_fake_sink_set_property),
28140 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28141 (gst_fake_sink_event), (gst_fake_sink_preroll),
28142 (gst_fake_sink_render), (gst_fake_sink_change_state):
28143 * gst/elements/gstfakesink.h:
28144 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28145 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28146 (gst_fake_src_base_init), (gst_fake_src_class_init),
28147 (gst_fake_src_init), (gst_fake_src_event_handler),
28148 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28149 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28150 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28151 (gst_fake_src_create_buffer), (gst_fake_src_create),
28152 (gst_fake_src_start), (gst_fake_src_stop):
28153 * gst/elements/gstfakesrc.h:
28154 * gst/elements/gstfilesink.c: (_do_init),
28155 (gst_file_sink_base_init), (gst_file_sink_class_init),
28156 (gst_file_sink_init), (gst_file_sink_dispose),
28157 (gst_file_sink_set_location), (gst_file_sink_set_property),
28158 (gst_file_sink_get_property), (gst_file_sink_open_file),
28159 (gst_file_sink_close_file), (gst_file_sink_query),
28160 (gst_file_sink_event), (gst_file_sink_render),
28161 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28162 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28163 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28164 * gst/elements/gstfilesink.h:
28165 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28166 (gst_file_src_class_init), (gst_file_src_init),
28167 (gst_file_src_finalize), (gst_file_src_set_location),
28168 (gst_file_src_set_property), (gst_file_src_get_property),
28169 (gst_file_src_map_region), (gst_file_src_map_small_region),
28170 (gst_file_src_create_mmap), (gst_file_src_create_read),
28171 (gst_file_src_create), (gst_file_src_is_seekable),
28172 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28173 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28174 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28175 (gst_file_src_uri_handler_init):
28176 * gst/elements/gstfilesrc.h:
28177 more autistic cleanliness in functions/names/defines
28179 2005-07-13 Andy Wingo <wingo@pobox.com>
28181 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28182 source couldn't negotiate.
28184 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28188 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28189 function. I am channeling Hades. Put your boots on suckers!!!
28191 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28193 * testsuite/caps/Makefile.am:
28194 * testsuite/caps/value_compare.c:
28195 * testsuite/caps/value_intersect.c:
28196 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28197 move two testsuite apps over to the check dir
28199 2005-07-12 Wim Taymans <wim@fluendo.com>
28201 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28202 Added more debug info in the negotiate process.
28204 * gst/gstmessage.h:
28205 Prepare for segment playback.
28207 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28213 * tools/gst-launch.c: (main):
28214 NULL pipeline on errors.
28216 2005-07-12 Andy Wingo <wingo@pobox.com>
28218 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28219 not it comes from a malloc region. Make sure our copy gets freed.
28221 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28223 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28224 * check/gst/gstmessage.c: (GST_START_TEST):
28225 * check/gst/gststructure.c: (GST_START_TEST),
28226 (gst_structure_suite), (main):
28228 * gst/gstelement.c: (gst_element_message_full):
28229 clean up GError and debug string now that they get copied
28230 * gst/gstmessage.c: (gst_message_new_error),
28231 (gst_message_new_warning), (gst_message_parse_error),
28232 (gst_message_parse_warning):
28233 use GST_TYPE_G_ERROR for structure_new, and take copies of
28234 arguments, so that we don't mess up refcounting
28236 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28238 * check/Makefile.am:
28239 add per-test valgrind targets
28240 * check/gst-libs/gdp.c: (GST_START_TEST),
28241 (gst_data_protocol_suite), (main):
28244 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28246 * check/Makefile.am:
28247 instate more valgrindable tests
28248 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28249 (GST_START_TEST), (fakesrc_suite):
28250 * check/gst/gstpad.c: (GST_START_TEST):
28251 * check/gst/gststructure.c: (GST_START_TEST):
28253 * docs/gst/tmpl/gstminiobject.sgml:
28254 * gst/gstpad.c: (gst_pad_finalize):
28255 fix the static mutex leak
28257 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28259 * check/Makefile.am:
28260 add two more tests for valgrinding
28261 * check/gst/gstvalue.c: (GST_START_TEST):
28262 test refcount of deserialized buffer, found a leak
28263 * docs/gst/gstreamer-docs.sgml:
28264 * docs/gst/gstreamer-sections.txt:
28265 * docs/gst/gstreamer.types:
28266 * docs/gst/tmpl/gstminiobject.sgml:
28267 add miniobject to docs
28268 * gst/gstminiobject.c:
28270 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28271 (gst_string_unwrap):
28272 fix a hard-to-find invalid write for one of the tests
28273 fix a leak for deserialized buffers
28275 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28277 * docs/pwg/advanced-events.xml:
28278 * docs/pwg/advanced-request.xml:
28279 * docs/pwg/advanced-scheduling.xml:
28280 * docs/pwg/appendix-porting.xml:
28281 * docs/pwg/building-boiler.xml:
28282 * docs/pwg/intro-preface.xml:
28283 * docs/pwg/other-ntoone.xml:
28284 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28285 of example code and explanation for pad activation, loop() and
28286 getrange() functions and a bit more. Remove old comments pointing
28288 * examples/pwg/Makefile.am:
28289 Add loop/getrange examples.
28291 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28294 check for valgrind binary + some fixes
28296 valgrind suppressions for the tests
28297 * check/Makefile.am:
28298 add a valgrind: target that valgrinds the unit tests
28299 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28300 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28301 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28302 * check/gst/gstghostpad.c:
28304 * check/gst/gstdata.c:
28306 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28307 (thread_unref), (gst_mini_object_suite), (main):
28309 * gst/gst.c: (gst_deinit):
28311 add a method to clean up.
28312 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28313 (gst_system_clock_obtain):
28314 allow for disposing the system clock.
28315 * tools/gst-launch.c: (main):
28318 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28320 * docs/gst/tmpl/gstbasesrc.sgml:
28321 * docs/gst/tmpl/gstfakesrc.sgml:
28322 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28323 (gst_base_src_init), (gst_base_src_set_property),
28324 (gst_base_src_get_property), (gst_base_src_get_range),
28325 (gst_base_src_start):
28326 * gst/base/gstbasesrc.h:
28327 add num-buffers property
28328 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28329 (gst_fakesrc_init), (gst_fakesrc_set_property),
28330 (gst_fakesrc_get_property), (gst_fakesrc_create),
28331 (gst_fakesrc_start):
28332 remove num-buffers property
28334 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28336 * docs/gst/gstreamer-sections.txt:
28337 * docs/gst/tmpl/gstbasesink.sgml:
28338 * docs/gst/tmpl/gstbasesrc.sgml:
28339 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28340 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28341 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28342 (gst_base_sink_set_property), (gst_base_sink_get_property),
28343 (gst_base_sink_handle_object), (gst_base_sink_event),
28344 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28345 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28346 (gst_base_sink_loop), (gst_base_sink_deactivate),
28347 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28348 (gst_base_sink_change_state):
28349 * gst/base/gstbasesink.h:
28350 * gst/base/gstbasesrc.h:
28351 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28352 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28353 (gst_filesink_init):
28354 more macro splitting
28356 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28358 * gst/gstelement.c: (gst_element_get_bus):
28360 * tools/gst-launch.c: (check_intr), (event_loop):
28363 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28365 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28368 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28370 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28371 (gst_base_src_finalize):
28372 add finalize method and clean up properly
28373 * gst/gstpipeline.c: (gst_pipeline_dispose):
28376 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28378 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28380 add more things to check
28381 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28382 * gst/gstelement.c:
28385 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28387 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28388 (GST_START_TEST), (fakesrc_suite):
28389 * check/gst-libs/gdp.c: (GST_START_TEST):
28390 * check/gst/gst.c: (GST_START_TEST):
28391 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28392 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28393 * check/gst/gstbus.c: (GST_START_TEST):
28394 * check/gst/gstcaps.c: (GST_START_TEST):
28395 * check/gst/gstdata.c: (GST_START_TEST):
28396 * check/gst/gstelement.c: (GST_START_TEST):
28397 * check/gst/gstghostpad.c: (GST_START_TEST):
28398 * check/gst/gstiterator.c: (GST_START_TEST):
28399 * check/gst/gstmessage.c: (GST_START_TEST):
28400 * check/gst/gstobject.c: (GST_START_TEST):
28401 * check/gst/gstpad.c: (GST_START_TEST):
28402 * check/gst/gststructure.c: (GST_START_TEST):
28403 * check/gst/gstsystemclock.c: (GST_START_TEST),
28404 (gst_systemclock_suite):
28405 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28406 * check/gst/gstvalue.c: (GST_START_TEST):
28407 * check/pipelines/cleanup.c: (GST_START_TEST):
28408 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28409 * check/states/sinks.c: (GST_START_TEST):
28410 * check/gstcheck.c: (gst_check_init):
28411 * check/gstcheck.h:
28412 add debugging category
28413 use GST_START_TEST now, so we add a debug line
28415 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28417 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28418 add test for state change message on a bin
28419 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28421 * gst/gstbin.c: (gst_bin_init):
28422 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28423 * gst/gstelement.c: (gst_element_post_message),
28424 (gst_element_set_state):
28425 * gst/gstelementfactory.c: (gst_element_factory_create):
28426 * gst/gstmessage.c: (gst_message_new):
28427 * gst/gstscheduler.c:
28428 various debugging additions and cleanups
28430 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28432 * check/Makefile.am:
28433 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28435 adding tests for elements
28436 * gst/gstelement.c: (gst_element_dispose):
28438 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28440 * gst/registries/gstlibxmlregistry.c: (load_feature):
28441 plug more leaks. A simple gst_init() now is leakfree, yay.
28443 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28445 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28446 (gst_xml_registry_load):
28447 plug another memleak
28449 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28452 use GST_SET_ERROR_CFLAGS
28453 * docs/faq/cvs.xml:
28454 change to ERROR_CFLAGS
28456 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28459 make GST_ERROR_CFLAGS overridable and re-enable Werror
28460 * docs/faq/cvs.xml:
28461 add a note about error CFLAGS
28462 * docs/gst/tmpl/gstfakesrc.sgml:
28463 * gst/elements/gstfakesrc.c:
28464 comment out some unused code
28465 * gst/gst.c: (split_and_iterate):
28466 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28470 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28472 * common/Makefile.am:
28473 * common/gtk-doc.mak:
28474 * docs/gst/Makefile.am:
28475 factor out gtk-doc.mak
28477 2005-07-07 Wim Taymans <wim@fluendo.com>
28479 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28480 (gst_thread_scheduler_dispose):
28481 Unlock the STREAM_LOCK completely.
28483 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28485 * check/Makefile.am:
28486 * check/elements/.cvsignore:
28487 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28488 (START_TEST), (fakesrc_suite), (main):
28489 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28490 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28491 (gst_fakesrc_create), (gst_fakesrc_start):
28492 * gst/elements/gstfakesrc.h:
28493 adding a first element test
28495 2005-07-07 Andy Wingo <wingo@pobox.com>
28497 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28500 2005-07-07 Wim Taymans <wim@fluendo.com>
28506 2005-07-07 Wim Taymans <wim@fluendo.com>
28508 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28509 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28510 Allow subclasses to implement their own negotiation.
28512 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28514 * docs/design/part-gstbin.txt:
28515 * docs/design/part-gstpipeline.txt:
28516 Update design notes to reflect the movement of
28517 responsibility for bus handling from GstPipeline to
28520 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28523 Remove unnecessary queue2/3/4 examples.
28525 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28527 * examples/Makefile.am:
28528 * examples/helloworld/helloworld.c: (event_loop), (main):
28529 * examples/queue/queue.c: (event_loop), (main):
28530 * examples/queue2/queue2.c: (main):
28531 Update a couple of the examples to work again.
28533 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28534 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28535 Spelling corrections and extra debug.
28537 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28538 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28539 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28541 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28542 (gst_pipeline_change_state):
28543 * gst/gstpipeline.h:
28544 Move the bus handler for children to the GstBin, and create a
28545 separate bus for receiving messages from children to the one the
28546 bus sends 'upwards' on.
28548 2005-07-06 Wim Taymans <wim@fluendo.com>
28551 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28552 (gst_base_sink_handle_object), (gst_base_sink_loop),
28553 (gst_base_sink_change_state):
28554 * gst/base/gstbasesink.h:
28555 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28556 (gst_base_src_init), (gst_base_src_setcaps),
28557 (gst_base_src_getcaps), (gst_base_src_loop),
28558 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28559 (gst_base_src_start), (gst_base_src_change_state):
28560 * gst/base/gstbasesrc.h:
28561 Make basesrc negotiate.
28562 Handle the case where preroll fails in basesink.
28565 2005-07-06 Wim Taymans <wim@fluendo.com>
28567 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28568 Implement the fixate function.
28569 Clean up acceptcaps.
28571 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28573 * docs/pwg/building-filterfactory.xml:
28574 * docs/pwg/pwg.xml:
28575 Remove never-written filter-factory chapter; I'll add the various
28576 base classes to part 4 ("other element types") later on.
28578 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28580 * docs/pwg/advanced-negotiation.xml:
28581 * docs/pwg/building-boiler.xml:
28582 * docs/pwg/building-pads.xml:
28583 * docs/pwg/pwg.xml:
28584 * examples/pwg/Makefile.am:
28585 Add a chapter on caps negotiation, simplify the original code
28586 samples a bit w.r.t. caps negotiation, add link to the advanced
28587 section. Add a bunch of examples showing different use cases of
28588 different types of caps negotiation. Upstream renegotiation isn't
28589 fully documented yet since nobody knows how that works.
28591 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28593 * check/gst/gstpad.c:
28594 * check/gstcheck.c:
28595 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28596 if pad has no parent, return NULL as list of internal links
28598 2005-07-05 Andy Wingo <wingo@pobox.com>
28600 * gst/elements/gstfilesrc.c:
28601 * gst/elements/gstfakesrc.c:
28602 * gst/base/gstpushsrc.c:
28603 * gst/base/gstbasesrc.h:
28604 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28606 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28609 better report generation target (lcov needs a patch)
28611 2005-07-05 Andy Wingo <wingo@pobox.com>
28613 * gst/elements, testsuite: Null if we got it...
28615 2005-07-05 Wim Taymans <wim@fluendo.com>
28618 * libs/gst/dataprotocol/Makefile.am:
28619 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28620 * libs/gst/dataprotocol/dataprotocol.h:
28621 * pkgconfig/Makefile.am:
28622 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28623 * pkgconfig/gstreamer-dataprotocol.pc.in:
28624 Ported dataprotol to 0.9.
28625 Added pkgconfig files.
28627 2005-07-05 Andy Wingo <wingo@pobox.com>
28629 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28630 Default to returning TRUE for the case when tranform_caps returns
28631 a fixed caps, like for identity or volume.
28633 * check/gst/gstbus.c (pound_bus_with_messages):
28634 * check/gst/gstmessage.c (START_TEST):
28635 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28636 message API change.
28638 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28639 logic weaks here: always run transform_caps, trying passthrough
28640 operation only if the original caps intersects with the transform.
28642 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28643 source and sink caps.
28645 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28646 Intersect the peer caps with the pad template before going into
28648 (gst_base_transform_transform_caps): More debugging.
28650 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28653 2005-07-04 Edward Hervey <edward@fluendo.com>
28657 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28660 2005-07-04 Andy Wingo <wingo@pobox.com>
28662 * check/gst/gstpad.c: Only set explicit caps on pads.
28664 2005-07-01 Andy Wingo <wingo@pobox.com>
28666 * tests/network-clock.scm: Commentary update.
28668 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28669 Didn't really make sense, not implementable with basetransform,
28671 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28672 attempt at implementing the sync property, needs an unlock method.
28674 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28675 New func, by default returns the same caps (the identity
28677 (gst_base_transform_getcaps): Uses transform_caps to return
28678 something sensible.
28679 (gst_base_transform_setcaps): Complicated logic to get caps on
28680 both pads, even if they are different, and to call set_caps once
28681 for every time both pads get their caps set.
28682 (gst_base_transform_handle_buffer): Give the ref to the transform
28683 function. Allows in-place modification of the buffer.
28685 * gst/base/gstbasetransform.h (transform_caps): New class method.
28686 Given caps on one side, what can I do on the other.
28687 (set_caps): Take two caps, one for each side of the element.
28690 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28691 caps in place. This is safe because we can check the mutability of
28692 the caps, and a good idea because fixate functions are just called
28693 as a matter of last resort. (Not actually implemented.)
28694 (gst_pad_set_caps): If the caps we're setting is actually the same
28695 as the existing pad caps, just update the pointer without calling
28696 setcaps. Assert that caps is either NULL or fixed, as per the
28699 * gst/gstghostpad.c: Update for fixate changes.
28701 2005-07-02 Andy Wingo <wingo@pobox.com>
28704 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28705 two refcounts makes it immutable, which is enough. Doc more.
28707 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28709 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28710 Put the mini_object into GValue as a mini_object,
28711 not a gpointer, since that's how we declared
28714 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28716 * examples/pwg/Makefile.am:
28717 Fix buildbot again.
28719 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28721 * docs/pwg/building-testapp.xml:
28723 * examples/pwg/Makefile.am:
28726 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28729 * examples/Makefile.am:
28730 * examples/pwg/Makefile.am:
28731 * examples/pwg/extract.pl:
28732 Enable building the PWG examples.
28733 * docs/pwg/advanced-interfaces.xml:
28734 Add URI interface stub.
28735 * docs/pwg/advanced-types.xml:
28736 * docs/pwg/other-autoplugger.xml:
28737 * docs/pwg/appendix-porting.xml:
28738 * docs/pwg/pwg.xml:
28739 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28740 * docs/pwg/building-boiler.xml:
28741 * docs/pwg/building-chainfn.xml:
28742 * docs/pwg/building-pads.xml:
28743 * docs/pwg/building-props.xml:
28744 * docs/pwg/building-state.xml:
28745 * docs/pwg/building-testapp.xml:
28746 Update the building-*.xml parts for 0.9 changes. All examples
28747 code blocks compile in examples/pwg/*.
28749 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28751 * docs/manual/advanced-autoplugging.xml:
28752 * docs/manual/appendix-checklist.xml:
28753 * docs/manual/appendix-integration.xml:
28754 * docs/manual/highlevel-components.xml:
28755 Fix playbin/decodebin examples, update docs a bit, mention bus
28756 instead of signals in various places, mention kmplayer and
28757 kaffeine since they have a working GStreamer backend in the KDE
28760 2005-06-30 Wim Taymans <wim@fluendo.com>
28763 * docs/design/draft-ghostpads.txt:
28764 * docs/design/draft-push-pull.txt:
28765 * docs/design/draft-query.txt:
28766 * docs/design/part-TODO.txt:
28767 * docs/design/part-query.txt:
28768 Added CHANGES-0.9 doc, updated status of other docs.
28773 2005-06-30 Wim Taymans <wim@fluendo.com>
28775 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28776 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28777 (gst_base_sink_change_state):
28778 * gst/base/gstbasesink.h:
28779 Some tweaks, only EOS and a buffer complete a preroll.
28781 2005-06-30 Andy Wingo <wingo@pobox.com>
28783 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28784 activate_push down to the internal pad as well.
28786 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28788 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28790 * gst/gsttaginterface.c:
28791 Some documentation fixes (#307394 and #307397).
28793 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28795 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28797 * gst/gstvalue.c: (gst_value_intersect_list):
28798 Fix memleak (#309125).
28800 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28802 * docs/manual/advanced-dataaccess.xml:
28803 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28804 * docs/manual/basics-pads.xml:
28805 Add reference for filtered caps to above chapter.
28807 2005-06-30 Wim Taymans <wim@fluendo.com>
28809 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28810 (gst_bin_change_state):
28812 Lame attempt at making the state change function a bit
28815 2005-06-30 Wim Taymans <wim@fluendo.com>
28817 * docs/design/part-clocks.txt:
28818 * docs/design/part-element-sink.txt:
28819 * docs/design/part-events.txt:
28820 * docs/design/part-preroll.txt:
28821 * docs/design/part-states.txt:
28822 Some more tweeks and additions to the docs.
28824 2005-06-30 Wim Taymans <wim@fluendo.com>
28826 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28827 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28828 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28829 (gst_pad_check_pull_range), (gst_pad_get_range),
28830 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28832 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28833 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28834 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28835 (gst_pad_remove_buffer_probe):
28836 Removed atomic operations, use existing LOCK.
28837 Move exception handling out of main code path.
28839 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28841 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28842 (silly_return_true_function), (gst_pad_class_init),
28843 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28844 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28845 (gst_pad_send_event):
28846 Fix accumulator, add default value by using _emitv() instead
28847 of _emit() for signal emission.
28849 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28851 * docs/manual/advanced-dataaccess.xml:
28852 * examples/manual/Makefile.am:
28854 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28857 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28859 * gst/elements/gstfilesink.c: (gst_filesink_render):
28860 Simplify code so that we don't have to handle short
28861 writes and return GST_FLOW_ERROR if an error occured.
28863 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28865 * docs/gst/gstreamer-docs.sgml:
28866 Remove probes more.
28868 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28870 * docs/gst/gstreamer-sections.txt:
28871 * docs/gst/tmpl/gstpad.sgml:
28872 * docs/gst/tmpl/gstprobe.sgml:
28874 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28875 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28876 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28877 (gst_pad_push_event), (gst_pad_send_event):
28879 * gst/gstutils.c: (gst_pad_add_data_probe),
28880 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28881 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28882 (gst_pad_remove_buffer_probe):
28884 Remove old probes, add new g-signal-based probes and some utility
28887 2005-06-29 Edward Hervey <edward@fluendo.com>
28889 * gst/gstelementfactory.c:
28892 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28893 the definition to the header file.
28895 2005-06-29 Andy Wingo <wingo@pobox.com>
28897 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28898 plugins from the source directory.
28900 2005-06-29 Wim Taymans <wim@fluendo.com>
28902 * docs/gst/tmpl/gstbuffer.sgml:
28903 * docs/gst/tmpl/gstclock.sgml:
28904 Some fixings for blantently wrong text.
28906 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28908 * check/Makefile.am:
28909 * gst/gst.c: (add_path_func), (init_pre):
28910 * gst/gstregistry.c: (gst_registry_add_path):
28911 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28912 only scan the GST_PLUGIN_PATH locations, and not add
28915 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28917 * docs/gst/gstreamer-sections.txt:
28918 * docs/gst/tmpl/gstbasesrc.sgml:
28919 * gst/gstelement.c:
28920 * gst/gstelement.h:
28925 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28927 * docs/manual/advanced-autoplugging.xml:
28928 Fix autoplugging example.
28930 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28932 * docs/manual/advanced-autoplugging.xml:
28933 * docs/manual/mime-world.fig:
28934 Try to get autoplugging working, fix type detection. Fix text
28935 in hello-world image.
28937 2005-06-29 Wim Taymans <wim@fluendo.com>
28939 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28940 (gst_base_sink_change_state):
28944 map SIGNAL and BROADCAST to the right function.
28947 Remove redundant braces.
28949 * gst/gstpad.c: (gst_pad_set_caps):
28950 Don't call setcaps function when reseting caps to NULL.
28952 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28953 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28954 (gst_system_clock_id_unschedule):
28955 Use BROADCAST as this is what we do.
28957 2005-06-29 Wim Taymans <wim@fluendo.com>
28959 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28960 We are actually prerolling before commiting the state
28963 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28965 * docs/manual/advanced-clocks.xml:
28966 * docs/manual/advanced-interfaces.xml:
28967 * docs/manual/advanced-metadata.xml:
28968 * docs/manual/advanced-position.xml:
28969 * docs/manual/advanced-schedulers.xml:
28970 * docs/manual/advanced-threads.xml:
28971 * docs/manual/appendix-porting.xml:
28972 * docs/manual/basics-bins.xml:
28973 * docs/manual/basics-bus.xml:
28974 * docs/manual/basics-elements.xml:
28975 * docs/manual/basics-helloworld.xml:
28976 * docs/manual/basics-pads.xml:
28977 * docs/manual/highlevel-components.xml:
28978 * docs/manual/manual.xml:
28979 * docs/manual/thread.fig:
28980 Update (until threads/scheduling) Application Development Manual;
28981 remove GstThread, add GstBus, add simple porting checklist, add
28982 documentation for tag writing, clocks, make all examples until this
28983 part compile and run.
28984 * examples/manual/Makefile.am:
28985 Update from changes to Application Development Manual; add bus
28986 example, remove thread example.
28988 2005-06-28 Wim Taymans <wim@fluendo.com>
28990 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28991 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28992 (gst_bus_source_dispatch):
28993 Add debugging messages.
28994 Make internal methods static.
28995 Handle the case where the bus is flushed in the handler.
28997 * gst/gstelement.c: (gst_element_get_bus):
28998 Fix refcount in _get_bus();
29000 * gst/gstpipeline.c: (gst_pipeline_change_state),
29001 (gst_pipeline_get_clock_func):
29002 Clock refcounting fixes.
29003 Handle the case where preroll timed out more gracefully.
29005 * gst/gstsystemclock.c: (gst_system_clock_dispose):
29006 Clean up the internal thread in dispose. This is needed
29007 for subclasses that actually get disposed.
29009 * gst/schedulers/threadscheduler.c:
29010 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29011 (gst_thread_scheduler_dispose):
29012 Free thread pool in dispose.
29014 2005-06-28 Andy Wingo <wingo@pobox.com>
29016 * tests/network-clock-utils.scm (debug, print-event): New utils.
29018 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29019 (*packet-loss*): Unified loss probability.
29020 (network-time): Report out-of-band events.
29022 * tests/plot-data: Add support for out-of-band events. Hack it
29023 into this script instead of passing it down the pipe; should fix
29026 2005-06-28 Wim Taymans <wim@fluendo.com>
29028 * docs/gst/gstreamer.types:
29029 * docs/gst/tmpl/gstbasesrc.sgml:
29030 * docs/gst/tmpl/gstpad.sgml:
29033 2005-06-28 Wim Taymans <wim@fluendo.com>
29035 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29036 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29037 (gst_proxy_pad_do_fixatecaps):
29038 Correctly proxy the check_pull_range function.
29040 2005-06-28 Andy Wingo <wingo@pobox.com>
29042 * tests/network-clock.scm: Removed need for slib.
29044 2005-06-28 Wim Taymans <wim@fluendo.com>
29046 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29047 (gst_basesink_preroll_queue_flush):
29048 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29049 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29050 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29051 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29052 (gst_proxy_pad_set_property):
29055 * gst/gstqueue.c: (gst_queue_init):
29056 The deprecated pad loop function is removed now.
29058 2005-06-28 Andy Wingo <wingo@pobox.com>
29060 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29061 New parameters, simulate network packet loss.
29063 * tests/network-clock-utils.scm: Initialize the RNG.
29065 2005-06-28 Wim Taymans <wim@fluendo.com>
29067 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29068 (gst_basesink_event), (gst_basesink_deactivate):
29069 Flushing the preroll queue always needs to unlock the waiters.
29071 2005-06-28 Edward Hervey <edward@fluendo.com>
29073 * gst/gstpipeline.c: (gst_pipeline_send_event):
29074 Wheen a seek was successful on a pipeline, set the stream_time to the
29075 seek offset in order to have a synchronized stream_time.
29077 2005-06-28 Wim Taymans <wim@fluendo.com>
29079 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29080 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29081 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29082 (gst_proxy_pad_do_fixatecaps):
29083 Call wrapper function instead of just calling the function
29084 pointers. This takes care of any locking and whatmore.
29086 2005-06-28 Wim Taymans <wim@fluendo.com>
29088 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29089 (gst_pad_pull_range):
29091 CONNECTED -> LINKED.
29093 2005-06-28 Andy Wingo <wingo@pobox.com>
29095 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29096 source-munging commit!!!
29098 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29099 (gst_object_sink): Take gpointer arguments, not GstObject --
29100 avoids casts. Like GLib.
29102 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29105 2005-06-27 Andy Wingo <wingo@pobox.com>
29107 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29110 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29111 returns a sorted copy of the trace list.
29112 (gst_alloc_trace_print_live): New API, only prints traces with
29113 live objects. Sort the list.
29114 (gst_alloc_trace_print_all): Sort the list.
29115 (gst_alloc_trace_print): Align columns.
29117 * gst/elements/gstttypefindelement.c:
29118 * gst/elements/gsttee.c:
29119 * gst/base/gstbasesrc.c:
29120 * gst/base/gstbasesink.c:
29121 * gst/base/gstbasetransform.c:
29122 * gst/gstqueue.c: Adapt for pad activation changes.
29124 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29126 (gst_pipeline_dispose): Drop ref on sched.
29128 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29129 (gst_pad_activate_default): Push mode by default.
29130 (pre_activate_switch, post_activate_switch): New stubs, things to
29131 do before and after switching activation modes on pads.
29132 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29133 the pad's activate function to choose which mode to activate.
29134 Shortcut on deactivation and call the right function directly.
29135 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29137 (gst_pad_activate_push): New API, same for push mode.
29138 (gst_pad_set_activate_function)
29139 (gst_pad_set_activatepull_function)
29140 (gst_pad_set_activatepush_function): Setters for new API.
29142 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29143 Trace all miniobjects.
29144 (gst_mini_object_make_writable): Unref the arg if we copy, like
29145 gst_caps_make_writable.
29147 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29149 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29150 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29151 Adapt for new pad API.
29153 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29155 * gst/gstelement.h:
29156 * gst/gstelement.c (gst_element_iterate_src_pads)
29157 (gst_element_iterate_sink_pads): New API functions.
29159 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29160 should fold into gstiterator.c in some form.
29161 (gst_element_pads_activate): Simplified via use of fold and
29162 delegation of decisions to gstpad->activate.
29164 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29167 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29168 class once in init, like gstmessage. Didn't run into this issue
29169 but it seems correct. Don't initialize a trace, gstminiobject does
29172 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29173 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29175 (assert_live_count): New util function, uses alloc traces to check
29178 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29179 To be modified when unlink drops the internal pad.
29181 2005-06-27 Wim Taymans <wim@fluendo.com>
29183 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29184 (gst_bin_change_state):
29185 Cleanup the get_state() function a little, make sure it
29186 iterates the same set of elements.
29187 Added stub iterate_state_order().
29189 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29191 * docs/gst/gstreamer-docs.sgml:
29192 * docs/gst/gstreamer-sections.txt:
29193 * docs/gst/gstreamer.types:
29194 * docs/gst/tmpl/gstbasesink.sgml:
29195 * docs/gst/tmpl/gstbasesrc.sgml:
29196 * docs/gst/tmpl/gstbasetransform.sgml:
29197 * docs/gst/tmpl/gstelement.sgml:
29198 * docs/gst/tmpl/gstiterator.sgml:
29199 * gst/base/gstbasesrc.c:
29200 * gst/base/gstbasesrc.h:
29201 * gst/base/gstbasetransform.h:
29202 * gst/gstelement.c:
29203 * gst/gstiterator.h:
29204 adding basetransform and iterator docs
29206 2005-06-27 Andy Wingo <wingo@pobox.com>
29208 * docs/design/part-activation.txt: Notes on how activation should
29209 work -- not quite implemented yet.
29211 2005-06-25 Wim Taymans <wim@fluendo.com>
29213 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29214 At least get the chain function correct, needs more
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 Right, two problems here: ghostpads don't take locks and
29225 glib _rec_mutex_lock_full() with depth==0 still locks.
29226 Catch illegal locking and g_warn them.
29228 2005-06-25 Wim Taymans <wim@fluendo.com>
29230 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29231 Have to check for completion now...
29233 2005-06-25 Wim Taymans <wim@fluendo.com>
29235 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29236 (gst_basesink_handle_object), (gst_basesink_event),
29237 (gst_basesink_do_sync), (gst_basesink_handle_event),
29238 (gst_basesink_change_state):
29240 Unlock STREAM_LOCK whatever the recursion was.
29242 2005-06-25 Wim Taymans <wim@fluendo.com>
29244 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29245 (gst_basesink_preroll_queue_empty),
29246 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29247 (gst_basesink_event), (gst_basesink_do_sync),
29248 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29249 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29250 (gst_basesink_change_state):
29251 Reworked the base sink, handle event and buffer serialisation
29252 correctly and removed possible deadlock.
29253 Handle EOS correctly.
29255 2005-06-25 Wim Taymans <wim@fluendo.com>
29257 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29258 (gst_pipeline_change_state):
29259 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29260 Allow elements to post EOS in the state change function.
29261 Fix up -launch, make it exit the poll loop when the
29262 pipeline actually changed state.
29263 Fix up warning parsing in -launch.
29265 2005-06-25 Wim Taymans <wim@fluendo.com>
29267 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29268 (gst_tee_sink_activate):
29269 Core takes STREAM_LOCK for us now.
29271 2005-06-25 Wim Taymans <wim@fluendo.com>
29273 * gst/gstelement.c: (gst_element_get_state_func),
29274 (gst_element_set_state):
29275 * gst/gstelement.h:
29276 * gst/gstmessage.c: (gst_message_parse_error),
29277 (gst_message_parse_warning):
29278 Keep track of current target state while performing a state
29279 change so that subclasses can do something interesting.
29280 Fix parsing of warning/error messages when GError is NULL.
29282 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29284 * docs/gst/Makefile.am:
29285 * docs/gst/gstreamer-docs.sgml:
29286 * docs/gst/gstreamer-sections.txt:
29287 * docs/gst/gstreamer.types:
29288 * docs/gst/tmpl/gstbasesink.sgml:
29289 * docs/gst/tmpl/gstbasesrc.sgml:
29290 * docs/gst/tmpl/gstbin.sgml:
29291 * docs/gst/tmpl/gstcompat.sgml:
29292 * docs/gst/tmpl/gstfakesink.sgml:
29293 * docs/gst/tmpl/gstfakesrc.sgml:
29294 * docs/gst/tmpl/gstfilesink.sgml:
29295 * docs/gst/tmpl/gstfilesrc.sgml:
29296 * docs/gst/tmpl/gstindex.sgml:
29297 * docs/manual/appendix-quotes.xml:
29298 * gst/base/gstbasesrc.h:
29299 * gst/elements/gstfakesrc.h:
29300 * gst/gstmessage.h:
29301 start pulling in base classes and elements in our docs
29303 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29305 * docs/gst/Makefile.am:
29306 * docs/libs/Makefile.am:
29307 fixed make distcheck with gtk-doc 1.3
29309 2005-06-23 Wim Taymans <wim@fluendo.com>
29311 * gst/gstelement.c: (gst_element_get_state_func),
29312 (gst_element_set_state), (gst_element_change_state):
29313 When the state did not change, also report NO_PREROLL
29316 2005-06-23 Wim Taymans <wim@fluendo.com>
29318 * gst/gstpad.c: (gst_pad_event_default):
29319 * gst/gstqueue.c: (gst_queue_loop):
29320 No unsafe task pausing please.
29322 2005-06-23 Wim Taymans <wim@fluendo.com>
29324 * gst/schedulers/threadscheduler.c:
29325 (gst_thread_scheduler_task_start),
29326 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29327 Ref the task before pushing it on the threadpool. This
29328 makes sure that we have a ref when the threadfunction is
29331 2005-06-23 Andy Wingo <wingo@pobox.com>
29333 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29334 offset is greater than the file's size.
29336 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29337 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29338 * gst/gstobject.c (gst_object_class_init): Make the class lock
29339 recursive. Wim won't let me drop deep_notify. Decodebin works
29340 again, whoopdy doo.
29342 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29343 internal pad, and hacks accordingly. Doesn't do it on the target
29344 pad because we change its caps. Probably catches all cases of
29346 (gst_ghost_pad_set_property): Connect to notify::caps as
29349 * tests/network-clock.scm (plot-simulation): Pipe data to the
29350 elite python skript.
29352 * tests/network-clock-utils.scm (define-parameter): New macro,
29353 defines a parameter that can be set via the command line.
29354 (set-parameter!, parse-parameter-arguments): Command line args
29357 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29360 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29362 * gst/elements/gsttypefindelement.c:
29363 (gst_type_find_element_handle_event):
29364 Don't restart typefinding on a discont.
29365 * gst/gstelement.c: (gst_element_set_state):
29366 Debug spelling fix.
29367 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29368 Allow changing mode of an active pad.
29369 Debug output fixes.
29370 * gst/registries/gstlibxmlregistry.c: (load_feature):
29371 Don't cast a static pad template to a normal pad template.
29373 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29375 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29376 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29377 remove gst_strtoll completely, since it didn't actually do
29378 anything more than what g_ascii_strtoull already does.
29379 check for range errors when deserializing
29380 do a cast for the unsigned cases; but further fixing needs
29381 a decision on what the interpretation of "(int)" and
29382 deserialization should be for values that fall outside the
29383 type's boundaries (ie, refuse, or interpret as casting)
29385 2005-06-23 Wim Taymans <wim@fluendo.com>
29387 * check/Makefile.am:
29388 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29389 * docs/design/part-live-source.txt:
29390 * docs/design/part-states.txt:
29391 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29392 (gst_basesrc_set_live), (gst_basesrc_is_live),
29393 (gst_basesrc_get_range), (gst_basesrc_activate),
29394 (gst_basesrc_change_state):
29395 * gst/base/gstbasesrc.h:
29396 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29397 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29398 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29399 * gst/gstelement.c: (gst_element_get_state_func),
29400 (gst_element_set_state):
29401 * gst/gstelement.h:
29403 * tools/gst-launch.c: (event_loop), (main):
29404 Added support for live sources and other elements that
29406 Updated design docs, added live-source design doc.
29407 Implemented live source functionality in basesrc
29408 Fix error condition in _bin_get_state()
29409 Implement live source handling in -launch.
29410 Added check for live sources.
29411 Fixed case in GstBin where elements were changed state
29415 2005-06-23 Andy Wingo <wingo@pobox.com>
29417 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29418 borken refcounting.
29420 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29421 gst_caps_replace takes care of this for us.
29423 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29424 gst_pad_set_caps on the target, not just its setcaps() function.
29426 * tests/network-clock.scm:
29427 * tests/network-clock-utils.scm: A network clock simulator.
29428 Something of an algorithmic testbed before doing something in C.
29430 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29432 * check/Makefile.am:
29433 * check/gst/capslist.h:
29434 copy over from 0.8, and add two with bitmasks specified with
29436 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29437 add test to parse everything from capslist.h
29438 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29440 add test for structure deserialization
29441 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29442 add tests for deserialization of strings to int types
29443 * gst/gststructure.c: (gst_structure_nth_field_name):
29444 * gst/gststructure.h:
29445 add a way to get the name of a field referenced by index
29446 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29447 instead of checking if the resulting long long lies between
29448 min and max, we check if the long long would fit into
29449 a number of bytes for the final type.
29450 This fixes cases where a string represents 2^32 - 1, which
29451 when cast to int would be the (valid) -1, but is bigger than
29454 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29456 * gst/parse/grammar.y:
29457 add a log line for type deserialization
29459 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29461 * check/gst/gstvalue.c: (START_TEST):
29462 * gst/gstvalue.c: (gst_value_deserialize):
29463 return long long, not int, so gint64 deserialization actually
29464 works. Is there any flag that makes the compiler check this ?
29467 2005-06-22 Wim Taymans <wim@fluendo.com>
29470 Added convenience macros for setting buffers in GValue.
29472 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29474 * check/gst/.cvsignore:
29475 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29476 add a test deserializing int64, and comment part out because
29479 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29481 * check/Makefile.am:
29482 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29483 * testsuite/Makefile.am:
29484 * testsuite/caps/Makefile.am:
29485 * testsuite/caps/value_serialize.c:
29486 * testsuite/test_gst_init.c:
29487 move a value_serialize test over
29489 2005-06-20 Wim Taymans <wim@fluendo.com>
29494 * gst/gstvalue.c: (gst_value_compare_buffer),
29495 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29496 (gst_value_compare_flags), (gst_value_serialize_flags),
29497 (gst_value_deserialize_flags), (_gst_value_initialize):
29498 Fix serialisation of buffers, they are not boxed types anymore
29500 2005-06-20 Wim Taymans <wim@fluendo.com>
29502 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29503 Testcase to show error in buffer-on-caps serialisation.
29505 2005-06-20 Andy Wingo <wingo@pobox.com>
29507 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29508 will be adding to later.
29510 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29511 if its socks fill with rocks.
29512 (gst_system_clock_obtain): Set the name on object construction.
29513 Avoid double-checked locking.
29515 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29517 * gst/gsturi.c: (gst_element_make_from_uri):
29518 Fix potential endless loop.
29520 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29522 * check/Makefile.am:
29524 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29526 move over from testsuite dir and clean up
29529 * testsuite/Makefile.am:
29530 * testsuite/tags/.cvsignore:
29531 * testsuite/tags/Makefile.am:
29532 * testsuite/tags/merge.c:
29533 remove testsuite/tags
29535 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29537 * docs/gst/gstreamer-sections.txt:
29538 * docs/gst/tmpl/gstenumtypes.sgml:
29539 * win32/gstenumtypes.c:
29540 clean up documentation build a little
29542 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29544 * check/gstcheck.h:
29545 add macros for checking refcounts on objects and caps
29546 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29547 add some more unit tests
29548 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29549 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29550 fix leaked refcounts (I hope :)) so unittest works
29554 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29556 * configure.ac: back to HEAD
29558 === release 0.9.1 ===
29560 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29566 2005-06-17 Andy Wingo <wingo@pobox.com>
29568 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29569 assert; it's always possible that the pad gets deactivated in
29570 between the checks in gstpad.c and the implementation. Rely on
29571 finish_preroll() to return a FLUSHING or similar instead of on the
29574 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29575 clock and post an EOS message if we come out of finish_preroll in
29578 2005-06-16 David Schleef <ds@schleef.org>
29580 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29581 (gst_capsfilter_set_property): Allow NULL as possible value
29582 for filter_caps property, indicating GST_CAPS_ANY.
29584 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29586 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29588 * gst/schedulers/Makefile.am:
29590 * gstreamer.spec.in:
29593 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29595 * gstreamer.spec.in:
29598 2005-06-08 Andy Wingo <wingo@pobox.com>
29600 * gst/gstutils.c: RPAD fixes all around.
29601 (gst_element_link_pads): Refcounting fixes.
29603 * tools/gst-inspect.c:
29604 * tools/gst-xmlinspect.c:
29606 * gst/base/gsttypefindhelper.c:
29607 * gst/base/gstbasesink.c:
29608 * gst/gstqueue.c: RPAD fixes.
29610 * gst/gstghostpad.h:
29611 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29612 pads. The tricky thing is they provide both source and sink
29613 interfaces, since they proxy the internal pad for the external
29614 pad, and vice versa. Implement with lower-level ProxyPad objects,
29615 with the interior proxy pad as a child of the exterior ghost pad.
29616 Should write a doc on this.
29618 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29619 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29622 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29623 pads are real pads. No ghost pads in this file. Not documenting
29624 the myriad s/RPAD/PAD/ and REALIZE fixes.
29625 (gst_pad_class_init): Add properties for "direction" and
29626 "template". Both are construct-only, so they can't change during
29627 the life of the pad. Fixes properly deriving from GstPad.
29628 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29629 derived objects, just set properties when creating the objects via
29631 (gst_pad_get_parent): Implement as a function, return NULL if the
29632 parent is not an element.
29633 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29634 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29636 * gst/gstobject.c (gst_object_class_init): Make name a construct
29637 property. Don't set it in the object init.
29639 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29640 with UNKNOWN direction.
29641 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29642 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29643 (gst_element_remove_pad): Remove ghost-pad special cases.
29644 (gst_element_pads_activate): Remove rpad cruft.
29646 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29647 catch the pad's-parent-not-an-element case.
29649 * gst/gst.h: Include gstghostpad.h.
29651 * gst/gst.c (init_post): No more real, ghost pads.
29653 * gst/Makefile.am: Add gstghostpad.[ch].
29655 * check/Makefile.am:
29656 * check/gst/gstbin.c:
29657 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29658 into a bin creates ghost pads, and that the refcounts are right.
29659 Partly moved from gstbin.c.
29661 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29663 * check/gst-libs/.cvsignore:
29664 * check/gst/.cvsignore:
29665 * check/pipelines/.cvsignore:
29667 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29668 (START_TEST), (cleanup_suite), (main):
29669 add some tests related to cleanup after running pipelines
29671 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29673 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29674 add a testsuite for GstBuffer
29676 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29678 * gst/gstminiobject.h:
29679 add defines for accessing the refcount
29681 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29683 * Makefile.am: added support for html unit test coverage reports
29685 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29687 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29688 Free existing caps if the capsfilter changes. Add a FIXME about
29689 setting those caps on the pads.
29691 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29692 Before adding a ghost pad to a parent bin, check that there isn't
29693 already one for the element on the bin. Prevents infinite recursion
29694 when using decodebin in parse pipelines. Andy says he'll rewrite the
29695 way this works anyway, so ignore the hack.
29697 2005-06-02 Andy Wingo <wingo@pobox.com>
29699 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29700 file size, pass it on to the type find helper.
29702 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29703 segment_start and segment_end properly according to the seek
29704 method. Segment_end is still a bit flaky because offset can be
29705 negative for CUR and END cases, but it takes -1 as an "unset"
29708 2005-06-02 Wim Taymans <wim@fluendo.com>
29710 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29711 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29712 (gst_basesink_activate):
29713 * gst/base/gstbasesink.h:
29714 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29715 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29716 (gst_pad_query), (gst_pad_start_task):
29718 * gst/gstqueue.c: (gst_queue_bufferalloc),
29719 (gst_queue_handle_sink_event), (gst_queue_chain):
29720 Bufferalloc: return GstFlowReturn to more accuratly report
29721 why allocation failed.
29723 2005-06-02 Wim Taymans <wim@fluendo.com>
29725 * gst/gstpipeline.c: (gst_pipeline_send_event):
29726 Take snapshot of state without blocking.
29728 2005-06-02 Wim Taymans <wim@fluendo.com>
29730 * docs/design/part-TODO.txt:
29731 * docs/design/part-caps.txt:
29732 * docs/design/part-clocks.txt:
29733 * docs/design/part-negotiation.txt:
29734 * docs/design/part-preroll.txt:
29737 2005-05-30 Wim Taymans <wim@fluendo.com>
29739 * gst/elements/gstidentity.c: (gst_identity_event),
29740 (gst_identity_transform), (gst_identity_get_property):
29741 Protect last_message property as it is accessed from
29744 2005-05-30 Wim Taymans <wim@fluendo.com>
29746 * gst/gstelement.c: (gst_element_init),
29747 (gst_element_pads_activate), (gst_element_change_state):
29748 Slicker pad activation code.
29750 2005-05-30 Wim Taymans <wim@fluendo.com>
29753 * gst/gstelement.h:
29754 * gst/gstelementfactory.h:
29756 Move elementfactory methods to separate .h file.
29758 2005-05-30 Wim Taymans <wim@fluendo.com>
29760 * docs/design/part-overview.txt:
29761 * gst/gstsystemclock.h:
29762 Small typo fixes, doc updates.
29764 2005-05-30 Wim Taymans <wim@fluendo.com>
29766 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29767 (init_popt_callback):
29768 Remove cpu-opt flag.
29770 2005-05-30 Wim Taymans <wim@fluendo.com>
29772 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29773 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29775 Avoid typechecking in places where not needed.
29776 Added accessor for malloc_data.
29778 2005-05-30 Wim Taymans <wim@fluendo.com>
29780 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29781 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29782 (gst_pad_configure_sink), (gst_pad_configure_src),
29783 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29784 (gst_pad_start_task):
29785 Propagate errors from _set_caps() in configure_src/sink
29786 functions instead of returning TRUE.
29787 FLUSH events can travel up and downstream
29790 2005-05-30 Wim Taymans <wim@fluendo.com>
29792 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29793 (gst_basesink_activate):
29794 Handle EOS in preroll.
29796 2005-05-30 Wim Taymans <wim@fluendo.com>
29798 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29799 (gst_queue_loop), (gst_queue_handle_src_event):
29800 Remove old pieces of code
29801 Flushing the queue in an upstream event is a very bad idea.
29803 2005-05-26 Andy Wingo <wingo@pobox.com>
29805 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29806 gst_value_set_mini_object so as to add a ref on the object (which
29807 will be removed when the value is unset).
29809 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29810 arg type in ::handoff.
29812 * gst/gstelement.c (gst_element_change_state): Also deactivate
29813 pads in READY->NULL, just in case the element didn't make it to
29814 PAUSED. Wingo tested, Wim approved.
29816 2005-05-26 Wim Taymans <wim@fluendo.com>
29818 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29819 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29820 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29821 A flushing pad cannot be used to alloc_buffer from.
29823 2005-05-26 Wim Taymans <wim@fluendo.com>
29825 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29826 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29827 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29828 (gst_bus_create_watch), (gst_bus_add_watch_full):
29830 Implement a real GSource and use g_main_context_wakeup() to
29831 signal new messages instead of the socketpair.
29833 2005-05-25 Wim Taymans <wim@fluendo.com>
29835 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29836 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29837 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29838 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29839 (gst_pad_send_event), (gst_pad_start_task):
29840 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29841 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29842 (gst_queue_sink_activate), (gst_queue_src_activate),
29843 (gst_queue_change_state):
29845 Fix state changes for non sinks. We now change sinks, then elements
29846 with unconnected srcpads, then the rest.
29847 More efficient queue unlocking in flush and state changes.
29848 Set the pad activate mode even if it does not have an activate
29851 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29853 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29854 Don't go in pull mode for non-seekable sources.
29855 * gst/elements/gsttypefindelement.h:
29856 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29857 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29858 (free_entry), (stop_typefinding),
29859 (gst_type_find_element_handle_event), (find_peek),
29860 (gst_type_find_element_chain), (do_pull_typefind),
29861 (gst_type_find_element_change_state):
29862 Allow typefinding (w/o seeking) in push-mode, simplified version
29863 of what was in 0.8.
29864 * gst/gstutils.c: (gst_buffer_join):
29866 gst_buffer_join() from 0.8.
29868 2005-05-25 Wim Taymans <wim@fluendo.com>
29870 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29871 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29872 (gst_pad_send_event), (gst_pad_start_task):
29873 Disable attempt at mode switching until it is figured out.
29875 2005-05-25 Wim Taymans <wim@fluendo.com>
29877 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29878 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29879 (gst_basesink_finish_preroll), (gst_basesink_chain),
29880 (gst_basesink_loop), (gst_basesink_activate),
29881 (gst_basesink_change_state):
29882 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29883 (gst_basesrc_get_range), (gst_basesrc_loop),
29884 (gst_basesrc_activate):
29885 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29886 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29887 (gst_real_pad_init), (gst_real_pad_set_property),
29888 (gst_real_pad_get_property), (gst_pad_set_active),
29889 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29890 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29891 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29892 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29893 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29894 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29895 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29896 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29897 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29898 (gst_pad_stop_task):
29900 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29901 (gst_queue_loop), (gst_queue_src_activate):
29902 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29903 (gst_task_get_state):
29905 * gst/schedulers/threadscheduler.c:
29906 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29907 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29909 Remove ACTIVE pad flag, use FLUSHING everywhere
29910 Added _pad_chain(), _pad_get_range() to call chain/getrange
29912 Add locks around IS_FLUSHING when reading.
29913 Take STREAM lock in chain(), get_range() functions so plugins
29914 don't need to take it anymore.
29918 2005-05-25 Wim Taymans <wim@fluendo.com>
29920 * tools/gst-launch.c: (event_loop):
29921 Unref message after using its contents instead of
29924 2005-05-24 Wim Taymans <wim@fluendo.com>
29926 * docs/design/draft-ghostpads.txt:
29927 * docs/design/draft-push-pull.txt:
29928 * docs/design/draft-query.txt:
29929 * docs/design/part-overview.txt:
29930 Docs updates, added general overview doc.
29932 2005-05-21 David Schleef <ds@schleef.org>
29934 * docs/gst/tmpl/old/GstBin.sgml:
29935 * docs/gst/tmpl/old/GstBuffer.sgml:
29936 * docs/gst/tmpl/old/GstCaps.sgml:
29937 * docs/gst/tmpl/old/GstClock.sgml:
29938 * docs/gst/tmpl/old/GstCompat.sgml:
29939 * docs/gst/tmpl/old/GstData.sgml:
29940 * docs/gst/tmpl/old/GstElement.sgml:
29941 * docs/gst/tmpl/old/GstEvent.sgml:
29942 * docs/gst/tmpl/old/GstIndex.sgml:
29943 * docs/gst/tmpl/old/GstStructure.sgml:
29944 * docs/gst/tmpl/old/GstTag.sgml:
29945 * docs/gst/tmpl/old/cothreads.sgml:
29946 * docs/gst/tmpl/old/cothreads_compat.sgml:
29947 * docs/gst/tmpl/old/gettext.sgml:
29948 * docs/gst/tmpl/old/gobject2gtk.sgml:
29949 * docs/gst/tmpl/old/grammar.tab.sgml:
29950 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29951 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29952 * docs/gst/tmpl/old/gst_private.sgml:
29953 * docs/gst/tmpl/old/gstaggregator.sgml:
29954 * docs/gst/tmpl/old/gstarch.sgml:
29955 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29956 * docs/gst/tmpl/old/gstbufferstore.sgml:
29957 * docs/gst/tmpl/old/gstdata_private.sgml:
29958 * docs/gst/tmpl/old/gstdisksink.sgml:
29959 * docs/gst/tmpl/old/gstdisksrc.sgml:
29960 * docs/gst/tmpl/old/gstelementfactory.sgml:
29961 * docs/gst/tmpl/old/gstextratypes.sgml:
29962 * docs/gst/tmpl/old/gstfakesink.sgml:
29963 * docs/gst/tmpl/old/gstfakesrc.sgml:
29964 * docs/gst/tmpl/old/gstfdsink.sgml:
29965 * docs/gst/tmpl/old/gstfdsrc.sgml:
29966 * docs/gst/tmpl/old/gstfilesink.sgml:
29967 * docs/gst/tmpl/old/gstfilesrc.sgml:
29968 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29969 * docs/gst/tmpl/old/gstidentity.sgml:
29970 * docs/gst/tmpl/old/gstindexfactory.sgml:
29971 * docs/gst/tmpl/old/gstmarshal.sgml:
29972 * docs/gst/tmpl/old/gstmd5sink.sgml:
29973 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29974 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29975 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29976 * docs/gst/tmpl/old/gstpipefilter.sgml:
29977 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29978 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29979 * docs/gst/tmpl/old/gstshaper.sgml:
29980 * docs/gst/tmpl/old/gstspider.sgml:
29981 * docs/gst/tmpl/old/gstspideridentity.sgml:
29982 * docs/gst/tmpl/old/gststatistics.sgml:
29983 * docs/gst/tmpl/old/gsttee.sgml:
29984 * docs/gst/tmpl/old/gsttimecache.sgml:
29985 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29986 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29987 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29988 * docs/gst/tmpl/old/types.sgml:
29989 I didn't intend to add these or check them in.
29991 2005-05-19 David Schleef <ds@schleef.org>
29993 * configure.ac: Use -no-common everywhere. In a sane world, it
29994 would be the default in libtool, because without it, you can't
29995 build DLLs on Windows.
29996 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29997 * docs/gst/gstreamer-sections.txt:
29998 * docs/gst/tmpl/gstcpu.sgml:
29999 * docs/gst/tmpl/gstdata.sgml:
30000 * docs/gst/tmpl/gstthread.sgml:
30002 2005-05-19 David Schleef <ds@schleef.org>
30004 * gst/gstminiobject.c: (gst_value_set_mini_object),
30005 (gst_value_take_mini_object), (gst_value_get_mini_object):
30006 * gst/gstminiobject.h: Add GValue set/get functions.
30008 2005-05-19 Wim Taymans <wim@fluendo.com>
30010 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30011 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30012 (gst_subbuffer_init), (gst_buffer_is_span_fast):
30014 * gst/gstbus.c: (gst_bus_post):
30015 * gst/gstelement.c: (gst_element_get_random_pad):
30016 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30017 Make subbufer unref the parent in finalize.
30018 some more debugging info.
30021 2005-05-19 Wim Taymans <wim@fluendo.com>
30023 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30024 (gst_basesink_init), (gst_basesink_finalize),
30025 (gst_basesink_activate), (gst_basesink_change_state):
30026 Don't free preroll queue too early.
30028 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30032 Hi, I'm outdated. Please shoot me.
30034 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30036 * gst/gstpipeline.c: (gst_pipeline_send_event):
30037 Do not access variables after they have been deleted.
30039 2005-05-19 Wim Taymans <wim@fluendo.com>
30041 * tools/gst-inspect.c: (print_plugin_features):
30042 A plugin feature does unfortunatly not use the
30045 2005-05-18 Wim Taymans <wim@fluendo.com>
30047 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30048 Port _span() functions to new subbuffers.
30050 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30052 * gst/gstbin.c: (gst_bin_add_func):
30053 Fix clock settery in bins when adding kids after the clock has
30056 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30058 * gst/elements/gstidentity.c: (gst_identity_class_init):
30059 Workaround until signals support GstMiniObject.
30061 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30064 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30066 2005-05-18 Wim Taymans <wim@fluendo.com>
30068 * gst/base/Makefile.am:
30069 * gst/base/gstadapter.c: (gst_adapter_base_init),
30070 (gst_adapter_class_init), (gst_adapter_init),
30071 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30072 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30073 (gst_adapter_flush), (gst_adapter_available),
30074 (gst_adapter_available_fast):
30075 * gst/base/gstadapter.h:
30076 Ported and added adapter to the base classes.
30078 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30081 * gst/gstmessage.c:
30082 Make sure the class is reffed/unreffed once before threads can be
30083 used. Fixes #304551.
30085 2005-05-17 Wim Taymans <wim@fluendo.com>
30087 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30088 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30089 * gst/gstminiobject.c: (gst_mini_object_get_type),
30090 (gst_mini_object_free):
30091 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30092 (gst_pad_push), (gst_pad_push_event):
30093 * gst/gstqueue.c: (gst_queue_change_state):
30094 Don't queue buffers in basesink when we are flushing.
30095 Unref buffer when flushing in basesink.
30096 Flush queue when going to READY
30097 Unref buffer when _push() returns an error.
30098 Don't free MiniObject instance when refcount is incremented
30099 in _finalize() so that we can recover objects.
30101 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30103 * docs/manual/advanced-schedulers.xml:
30104 * docs/manual/appendix-checklist.xml:
30105 * docs/pwg/advanced-clock.xml:
30106 * docs/pwg/advanced-interfaces.xml:
30107 * docs/pwg/advanced-request.xml:
30108 * docs/pwg/advanced-types.xml:
30109 * docs/pwg/intro-preface.xml:
30110 * examples/plugins/example.c: (gst_example_get_type),
30111 (gst_example_class_init), (gst_example_chain),
30112 (gst_example_set_property), (gst_example_get_property),
30113 (gst_example_change_state), (plugin_init):
30114 * examples/plugins/example.h:
30117 2005-05-17 Wim Taymans <wim@fluendo.com>
30119 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30120 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30121 * gst/gstqueue.c: (gst_queue_change_state):
30122 Clear queue when going to READY.
30123 Remove IN_SETCAPS flag too.
30125 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30127 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30128 Remove implicit cast from gboolean to GstElementStateReturn;
30129 make sure we still return failure in paused => ready case if
30130 the parent class fails to change state and our own stop
30133 2005-05-17 Wim Taymans <wim@fluendo.com>
30135 * tools/gst-launch.c: (event_loop):
30136 Message was unreffed too soon.
30138 2005-05-16 Andy Wingo <wingo@pobox.com>
30140 * gst/gstbin.c (sink_iterator_filter): Err... um...
30142 * check/gst/gstbin.c (test_ghost_pads): New test for the
30143 ghosting-if-elements-not-in-same-bin behavior.
30145 2005-05-16 David Schleef <ds@schleef.org>
30147 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30148 accessing refcount directly.
30150 2005-05-15 David Schleef <ds@schleef.org>
30152 * check/Makefile.am: remove GstData checks
30153 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30154 * gst/Makefile.am: add miniobject, remove data
30155 * gst/gst.h: add miniobject, remove data
30156 * gst/gstdata.c: remove
30157 * gst/gstdata.h: remove
30158 * gst/gstdata_private.h: remove
30159 * gst/gsttypes.h: remove GstEvent and GstMessage
30160 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30161 * gst/gstmarshal.list: change BOXED -> OBJECT
30163 Implement GstMiniObject.
30164 * gst/gstminiobject.c:
30165 * gst/gstminiobject.h:
30167 Modify to be subclasses of GstMiniObject.
30168 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30169 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30170 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30171 (gst_subbuffer_get_type), (gst_subbuffer_init),
30172 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30175 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30176 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30177 (_gst_event_copy), (gst_event_new):
30179 * gst/gstmessage.c: (_gst_message_initialize),
30180 (gst_message_get_type), (gst_message_class_init),
30181 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30182 (gst_message_new), (gst_message_new_error),
30183 (gst_message_new_warning), (gst_message_new_tag),
30184 (gst_message_new_state_changed), (gst_message_new_application):
30185 * gst/gstmessage.h:
30186 * gst/gstprobe.c: (gst_probe_perform),
30187 (gst_probe_dispatcher_dispatch):
30189 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30190 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30191 (_gst_query_copy), (gst_query_new):
30193 Update elements for GstData -> GstMiniObject changes
30195 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30196 (gst_queue_chain), (gst_queue_loop):
30197 * gst/elements/gstbufferstore.c:
30198 (gst_buffer_store_add_buffer_func),
30199 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30200 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30201 (gst_fakesink_render):
30202 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30203 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30204 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30205 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30206 (gst_filesrc_create_read):
30207 * gst/elements/gstidentity.c: (gst_identity_class_init):
30208 * gst/elements/gsttypefindelement.c:
30209 (gst_type_find_element_src_event), (free_entry_buffers),
30210 (gst_type_find_element_handle_event):
30211 * libs/gst/dataprotocol/dataprotocol.c:
30212 (gst_dp_header_from_buffer):
30213 * libs/gst/dataprotocol/dataprotocol.h:
30214 * libs/gst/dataprotocol/dp-private.h:
30216 2005-05-15 David Schleef <ds@schleef.org>
30218 * gst/elements/gstelements.c: Don't include headers that were
30221 2005-05-15 David Schleef <ds@schleef.org>
30223 * gst/elements/Makefile.am: Remove some elements that don't
30224 need to be in the core (or even exist at all).
30225 * gst/elements/gstaggregator.c:
30226 * gst/elements/gstaggregator.h:
30227 * gst/elements/gstmd5sink.c:
30228 * gst/elements/gstmd5sink.h:
30229 * gst/elements/gstmultifilesrc.c:
30230 * gst/elements/gstmultifilesrc.h:
30231 * gst/elements/gstpipefilter.c:
30232 * gst/elements/gstpipefilter.h:
30233 * gst/elements/gstshaper.c:
30234 * gst/elements/gstshaper.h:
30235 * gst/elements/gststatistics.c:
30236 * gst/elements/gststatistics.h:
30237 * po/POTFILES.in: Remove above files.
30239 2005-05-14 Andy Wingo <wingo@pobox.com>
30241 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30242 so as to get the refs right.
30243 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30244 unreffing objects that don't pass the filter.
30246 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30247 gst_element_set_bus.
30248 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30249 normal cases, this will destroy the bus.
30251 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30254 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30257 2005-05-13 Andy Wingo <wingo@pobox.com>
30259 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30260 gst_pad_link, call pad_link_maybe_ghosting,
30261 (pad_link_maybe_ghosting): Links pads, making sure that the
30262 elements being linked are in the same bin.
30263 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30264 Helpers for pad_link_maybe_ghosting.
30266 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30269 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30271 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30273 * docs/design/part-element-source.txt:
30276 2005-05-12 Wim Taymans <wim@fluendo.com>
30278 * gst/base/gstbasesink.c: (gst_basesink_init),
30279 (gst_basesink_activate):
30280 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30281 (gst_basesrc_is_seekable):
30282 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30283 (bin_element_is_sink), (gst_bin_change_state):
30284 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30285 * gst/gstelement.h:
30286 Identify sinks by their flag to avoid overly complicated
30288 Do state changes even for elements not reachable from the
30290 BaseSink is a sink now :)
30291 Some more debugging info in the basesrc.
30294 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30296 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30297 Implement _query on a bin, similar to _send_event.
30299 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30301 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30302 Discont event offset format should be GST_FORMAT_BYTES,
30303 not GST_FORMAT_TIME.
30305 2005-05-12 Wim Taymans <wim@fluendo.com>
30307 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30308 Same fix as Ronald's but without the signal.
30310 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30312 * gst/gstutils.c: (gst_element_query_position):
30313 No, an element is not a pad.
30315 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30317 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30318 (gst_bin_get_state):
30319 If a child is removed from a bin while we remove the child from
30320 the bin and while we're retrieving its state, signal this to the
30321 get_state function so we abort the wait (instead of waiting for
30322 a timeout) and can immediately re-iterate over all other elements.
30324 2005-05-12 Wim Taymans <wim@fluendo.com>
30326 * gst/base/Makefile.am:
30327 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30328 (gst_basesrc_start):
30329 * gst/base/gstbasesrc.h:
30330 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30331 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30332 (gst_pushsrc_init), (gst_pushsrc_create):
30333 * gst/base/gstpushsrc.h:
30334 Added is_seekable to BaseSrc
30335 Added simple PushSrc.
30337 2005-05-11 Wim Taymans <wim@fluendo.com>
30339 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30340 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30341 (gst_element_link_pads), (gst_element_query_position),
30342 (gst_element_query_convert), (intersect_caps_func),
30343 (gst_pad_query_position), (gst_pad_query_convert):
30344 Fix refcounting in utils function.
30345 No point in trying to activate a pad when it's added, it could
30346 be added from the state change function and then we deadlock, the
30347 element has to decide what to do.
30349 2005-05-10 Andy Wingo <wingo@pobox.com>
30351 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30352 *all* the arguments.
30354 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30355 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30356 lock (according to the docs -- if this is wrong change the docs).
30358 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30359 flush messages in the NULL state.
30361 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30362 message immediately and return.
30363 (gst_bus_set_flushing): New function. If a bus is flushing, it
30364 flushes out any queued messages and immediately unrefs new
30365 messages. This is so when an element goes to NULL, all of the
30366 unhandled messages coming from it can be freed, and their
30367 references to the element dropped. In other words: message source
30368 ref considered harmful :P
30370 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30371 we're finished with it.
30373 * gst/gstmessage.c (gst_message_new_state_changed):
30375 2005-05-10 Wim Taymans <wim@fluendo.com>
30377 * gst/gstvalue.c: (gst_value_compare_flags),
30378 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30379 (_gst_value_initialize):
30380 Added flags serialize/deserialize/compare code.
30382 2005-05-09 Andy Wingo <wingo@pobox.com>
30384 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30385 Intersect the peer's caps with our caps.
30387 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30389 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30390 * gst/elements/gsttypefindelement.c: (find_peek):
30391 Handle negative offsets better. Fixes decodebin.
30393 2005-05-09 Wim Taymans <wim@fluendo.com>
30395 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30396 (gst_base_transform_event):
30397 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30398 Implement accept_caps.
30399 Fix silly lock/unlock mismatch in base class.
30401 2005-05-09 Wim Taymans <wim@fluendo.com>
30403 * docs/design/draft-push-pull.txt:
30404 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30405 * gst/elements/gstfilesink.c: (gst_filesink_init),
30406 (gst_filesink_query):
30407 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30408 (gst_type_find_handle_src_query), (find_element_get_length):
30409 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30410 * gst/gstelement.h:
30411 * gst/gstmessage.c:
30412 * gst/gstmessage.h:
30413 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30414 (gst_real_pad_get_caps_unlocked),
30415 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30416 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30417 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30418 (gst_real_pad_dispose), (gst_real_pad_finalize),
30419 (gst_pad_load_and_link), (gst_pad_save_thyself),
30420 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30421 (gst_pad_check_pull_range), (gst_pad_pull_range),
30422 (gst_pad_template_get_type), (gst_pad_template_class_init),
30423 (gst_pad_template_init), (gst_pad_template_dispose),
30424 (name_is_valid), (gst_static_pad_template_get),
30425 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30426 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30427 (gst_pad_get_element_private), (gst_pad_start_task),
30428 (gst_pad_pause_task), (gst_pad_stop_task),
30429 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30430 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30431 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30432 (gst_ghost_pad_new):
30434 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30435 (gst_query_new_position), (gst_query_set_position),
30436 (gst_query_parse_position), (gst_query_new_convert),
30437 (gst_query_set_convert), (gst_query_parse_convert):
30439 * gst/gstqueryutils.c:
30440 * gst/gstqueryutils.h:
30441 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30442 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30443 (gst_queue_handle_src_query):
30444 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30445 (gst_element_query_position), (gst_element_query_convert),
30446 (intersect_caps_func), (gst_pad_query_position),
30447 (gst_pad_query_convert):
30449 * tools/gst-inspect.c: (print_pad_info):
30450 * tools/gst-xmlinspect.c: (print_element_info):
30451 Remove old query functions. Ported old code.
30452 Added position/convert helper functions to gstutils.
30453 Reordered gstpad.c code, grouping relevant things.
30454 Remove gst_message_new(), always need to speficy a specific
30458 2005-05-09 Andy Wingo <wingo@pobox.com>
30460 * gst/gstiterator.h: Add some includes.
30462 * gst/gstqueryutils.h: Include more headers.
30465 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30466 some uses of gst_pad_query.
30468 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30469 NULL out parameters.
30470 (gst_query_new_position): New proc, allocates a new position
30473 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30474 gstqueryutils.c to the build.
30476 * gst/gststructure.c (gst_structure_set_valist): Implement with
30477 the generic G_VALUE_COLLECT.
30479 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30481 * gst/Makefile.am: (gst_headers):
30482 Added gstqueryutils.h to the list of headers to install, that was
30483 a 'nachty' move wingo :)
30485 2005-05-06 Andy Wingo <wingo@pobox.com>
30488 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30489 GstData, init a memchunk.
30490 (standard_definitions): Add a few query types, deprecate a few.
30491 (gst_query_get_type): New proc.
30492 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30494 (gst_query_new_application, gst_query_get_structure): New public
30497 * docs/design/draft-query.txt: Removed LINKS from the query types,
30498 because all the rest can be dispatched to other pads -- seemed
30499 ugly to have a query that couldn't be dispatched. internal_links
30500 is fine as a pad method.
30502 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30503 in gstpad.c, but maintain binary compatibility for the moment.
30504 Will fix before 0.9 is out.
30506 * gst/gstqueryutils.c:
30507 * gst/gstqueryutils.h: New files, implement 3 methods for each
30508 query type: parse_query, parse_response, and set. Probably need an
30511 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30513 * gst/elements/gstfilesink.c (gst_filesink_query2):
30514 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30515 query_types, and formats methods.
30517 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30518 (gst_pad_set_query2_function): New functions.
30519 (gst_real_pad_init): Set query2_default as the default query2
30520 function. Basically just dispatches to internally linked pads.
30524 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30525 without using the atomic operations. Only one thread can possibly
30526 be accessing the data at this point. Changed so as to avoid
30527 gst_atomic operations.
30529 2005-05-06 Wim Taymans <wim@fluendo.com>
30531 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30532 Also set caps if we use the fallback buffer alloc.
30534 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30536 * docs/gst/Makefile.am:
30537 * docs/gst/gstreamer-docs.sgml:
30538 * docs/gst/gstreamer-sections.txt:
30539 * docs/gst/tmpl/gstatomic.sgml:
30540 * docs/gst/tmpl/gstmemchunk.sgml:
30541 * testsuite/elements/struct_i386.h:
30542 * win32/GStreamer.vcproj:
30544 Purge GstAtomic stuff from docs and win32 makefiles as well
30546 2005-05-06 Wim Taymans <wim@fluendo.com>
30548 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30549 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30550 * gst/gstpad.c: (gst_pad_peer_get_caps):
30551 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30552 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30553 (gst_queue_src_activate), (gst_queue_change_state):
30555 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30556 (intersect_caps_func):
30557 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30558 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30559 Some fixes for the peer_get_caps() change.
30561 2005-05-06 Wim Taymans <wim@fluendo.com>
30563 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30564 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30565 (gst_basesink_activate):
30566 Actually do something with error codes returned from the push
30569 2005-05-06 Wim Taymans <wim@fluendo.com>
30571 * docs/design/part-element-sink.txt:
30572 * docs/design/part-element-source.txt:
30573 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30574 (gst_basesink_event), (gst_basesink_activate):
30575 * gst/base/gstbasesink.h:
30576 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30577 (gst_basesrc_activate):
30578 * gst/base/gstbasesrc.h:
30579 * gst/gstelement.c: (gst_element_pads_activate):
30580 Some more documentation.
30581 Fixed scheduling decision in _pads_activate().
30583 2005-05-05 Andy Wingo <wingo@pobox.com>
30585 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30588 2005-05-05 Wim Taymans <wim@fluendo.com>
30590 * gst/base/Makefile.am:
30591 * gst/base/gstbasesink.h:
30592 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30593 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30594 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30595 (gst_collectpads_class_init), (gst_collectpads_init),
30596 (gst_collectpads_finalize), (gst_collectpads_new),
30597 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30598 (find_pad), (gst_collectpads_remove_pad),
30599 (gst_collectpads_is_active), (gst_collectpads_collect),
30600 (gst_collectpads_collect_range), (gst_collectpads_start),
30601 (gst_collectpads_stop), (gst_collectpads_peek),
30602 (gst_collectpads_pop), (gst_collectpads_available),
30603 (gst_collectpads_read), (gst_collectpads_flush),
30604 (gst_collectpads_chain):
30605 * gst/base/gstcollectpads.h:
30606 * gst/elements/Makefile.am:
30607 * gst/elements/gstelements.c:
30608 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30609 (gst_fakesink_get_times), (gst_fakesink_event),
30610 (gst_fakesink_preroll), (gst_fakesink_render):
30611 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30612 (gst_filesink_init), (gst_filesink_set_location),
30613 (gst_filesink_open_file), (gst_filesink_close_file),
30614 (gst_filesink_pad_query), (gst_filesink_event),
30615 (gst_filesink_render), (gst_filesink_change_state):
30616 * gst/elements/gstfilesink.h:
30617 Added object to help in making collect pad based elements.
30619 Make event function in sink baseclass return gboolean.
30621 2005-05-05 Wim Taymans <wim@fluendo.com>
30623 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30624 (gst_bin_get_by_name):
30626 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30627 (gst_clock_finalize):
30628 * gst/gstdata.c: (gst_data_replace):
30630 * gst/gstelement.c: (gst_element_request_pad),
30631 (gst_element_pads_activate):
30632 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30633 (gst_object_unref):
30634 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30635 (gst_pad_set_checkgetrange_function),
30636 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30637 (gst_pad_check_pull_range), (gst_pad_pull_range),
30638 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30639 (gst_pad_pause_task), (gst_pad_stop_task):
30640 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30641 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30642 Fix name lookup in GstBin.
30643 Added _data_replace() function and _buffer_replace()
30644 Use finalize method to clean up clock.
30645 Fix refcounting on request pads.
30646 Fix pad schedule mode error.
30647 Some more object refcounting debug info,
30650 2005-05-04 Andy Wingo <wingo@pobox.com>
30652 * check/Makefile.am:
30653 * docs/gst/tmpl/gstatomic.sgml:
30654 * docs/gst/tmpl/gstplugin.sgml:
30655 * gst/base/gstbasesink.c: (gst_basesink_activate):
30656 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30657 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30658 (gst_basesrc_query), (gst_basesrc_set_property),
30659 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30660 (gst_basesrc_activate):
30661 * gst/base/gstbasesrc.h:
30662 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30663 (gst_base_transform_src_activate):
30664 * gst/elements/gstelements.c:
30665 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30666 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30667 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30668 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30669 (gst_type_find_element_checkgetrange),
30670 (gst_type_find_element_activate):
30671 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30672 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30673 (gst_caps_load_thyself):
30674 * gst/gstelement.c: (gst_element_pads_activate),
30675 (gst_element_save_thyself), (gst_element_restore_thyself):
30676 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30677 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30679 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30680 (gst_xml_parse_file), (gst_xml_parse_memory),
30681 (gst_xml_get_element), (gst_xml_make_element):
30682 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30683 (_file_index_id_save_xml), (gst_file_index_commit):
30684 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30685 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30687 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30688 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30689 * tools/gst-complete.c: (main):
30690 * tools/gst-compprep.c: (main):
30691 * tools/gst-inspect.c: (print_element_properties_info):
30692 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30693 * tools/gst-xmlinspect.c: (print_element_properties):
30696 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30698 * gst/gstplugin.c: (gst_plugin_check_module),
30699 (gst_plugin_check_file), (gst_plugin_load_file):
30700 apply patch from #172526 to make register work on MacOSX
30702 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30704 * docs/gst/tmpl/gstconfig.sgml:
30705 * gst/gstconfig.h.in:
30706 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30707 * testsuite/debug/printf_extension.c: (main):
30708 Do not use GST_PTR_FORMAT on pointers to types with
30709 sizeof < sizeof(gpointer). Fixes test on 64-bit
30710 * testsuite/elements/property.h:
30711 use correct printf format
30713 2005-05-02 Wim Taymans <wim@fluendo.com>
30715 * docs/design/draft-push-pull.txt:
30716 * docs/design/draft-query.txt:
30717 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30718 (gst_basesrc_start):
30719 Added draft for new query API.
30720 Added draft for better selecting scheduling methods.
30721 Make basesrc ignore length if the subclass does not support
30724 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30727 possible fixes for automake-1.5 - _LIBADD is reserved
30729 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30731 * docs/faq/Makefile.am:
30732 * docs/manual/Makefile.am:
30733 * docs/manuals.mak:
30734 * docs/pwg/Makefile.am:
30736 possible fixes for automake-1.5
30738 2005-04-28 Wim Taymans <wim@fluendo.com>
30740 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30741 (gst_basesink_pad_getcaps), (gst_basesink_init),
30742 (gst_basesink_do_sync):
30743 * gst/gstclock.c: (gst_clock_entry_new):
30744 * gst/gstevent.c: (gst_event_discont_get_value):
30745 * gst/gstpipeline.c: (pipeline_bus_handler),
30746 (gst_pipeline_change_state):
30747 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30748 Better debugging of clocking info.
30749 Allow NULL values when getting discont values.
30751 2005-04-27 Wim Taymans <wim@fluendo.com>
30753 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30754 * check/gst/gstpad.c: (gst_pad_suite):
30755 Increase timeout for checks.
30757 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30759 * check/Makefile.am:
30760 fix the broken rule for cleanup. Apparently this rule is
30761 only needed on FC2, so maybe this warrants further autotool
30764 2005-04-26 Wim Taymans <wim@fluendo.com>
30766 * gst/gsttrashstack.h:
30767 Ooohh. a nasty one! After having a failed pop() from the stack,
30768 it's possible that the stack is empty. In that case, don't
30769 follow the NULL pointer.
30771 2005-04-25 Wim Taymans <wim@fluendo.com>
30773 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30774 (gst_pad_set_checkgetrange_function),
30775 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30776 (gst_pad_check_pull_range), (gst_pad_pull_range),
30777 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30778 (gst_pad_pause_task), (gst_pad_stop_task):
30779 * gst/gstplugin.c: (gst_plugin_load):
30781 Remove gst_library_load as it does more harm than good with
30782 the new g_module flags.
30783 Revert bogus caps template check in pad linking, pad caps
30784 are important when linking not the template, which is more
30785 general than the current caps.
30787 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30789 * gst/autoplug/.cvsignore:
30790 * gst/autoplug/Makefile.am:
30791 * gst/autoplug/gstsearchfuncs.c:
30792 * gst/autoplug/gstsearchfuncs.h:
30793 * gst/autoplug/gstspider.c:
30794 * gst/autoplug/gstspider.h:
30795 * gst/autoplug/gstspideridentity.c:
30796 * gst/autoplug/gstspideridentity.h:
30797 * gst/autoplug/spidertest.c:
30800 2005-04-25 Wim Taymans <wim@fluendo.com>
30802 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30803 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30804 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30805 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30807 Added stubs for unimplemented functions.
30809 2005-04-24 David Schleef <ds@schleef.org>
30811 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30814 2005-04-24 David Schleef <ds@schleef.org>
30816 Convert everything from GstAtomicInt to g_atomic_int_*, and
30821 * gst/gstatomic_impl.h:
30829 * gst/gstdata_private.h:
30833 * gst/gstmessage.c:
30836 * gst/gststructure.c:
30837 * gst/gststructure.h:
30838 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30841 2005-04-24 David Schleef <ds@schleef.org>
30843 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30844 make the regressions tests work. Remove some code that is no
30846 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30847 Disable warning for pads without templates.
30849 2005-04-24 David Schleef <ds@schleef.org>
30851 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30852 functions that handle filtered links.
30853 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30855 * gst/gstutils.c: Fix/remove utility functions that handle
30858 * gst/gstvalue.c: Add serialization/deserialization of caps
30859 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30860 requires fixing so that the filter caps notation creates
30861 a capsfilter element and sets the filter_caps property. I
30862 think everyone probably wants to keep the shorthand notation.
30863 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30864 * docs/gst/tmpl/gstpad.sgml:
30866 * gst/elements/gstelements.c: Register capsfilter element.
30867 * gst/Makefile.am: fix spacing
30868 * docs/random/ds/0.9-suggested-changes: random
30870 2005-04-23 David Schleef <ds@schleef.org>
30872 * gst/elements/Makefile.am:
30873 * gst/elements/gstcapsfilter.c: New element that acts like an
30874 identity, but filters caps. Will eventually replace filtered
30875 caps in pad linking.
30876 * gst/gstutils.c: (gst_element_create_all_pads): New function
30877 to create all the ALWAYS pads that are registered with an
30878 element class. This functionality should eventually be
30879 merged in with GstElement initialization.
30881 * testsuite/trigger/README: part of trigger test code that should
30882 have been checked in a long time ago.
30884 2005-04-23 David Schleef <ds@schleef.org>
30886 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30887 needed with new versions of libtool (nobody will confirm this),
30888 and hard to carry around.
30889 * gst/autoplug/Makefile.am:
30890 * gst/base/Makefile.am:
30891 * gst/elements/Makefile.am:
30892 * gst/indexers/Makefile.am:
30893 * gst/schedulers/Makefile.am:
30894 * libs/gst/bytestream/Makefile.am:
30895 * libs/gst/control/Makefile.am:
30896 * libs/gst/dataprotocol/Makefile.am:
30897 * libs/gst/getbits/Makefile.am:
30899 2005-04-21 Wim Taymans <wim@fluendo.com>
30901 * docs/design/draft-push-pull.txt:
30902 * docs/design/part-MT-refcounting.txt:
30903 * docs/design/part-TODO.txt:
30904 * docs/design/part-caps.txt:
30905 * docs/design/part-events.txt:
30906 * docs/design/part-gstbus.txt:
30907 * docs/design/part-gstpipeline.txt:
30908 * docs/design/part-messages.txt:
30909 * docs/design/part-push-pull.txt:
30910 * docs/design/part-query.txt:
30913 2005-04-21 Wim Taymans <wim@fluendo.com>
30915 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30916 (gst_message_new), (gst_message_new_error),
30917 (gst_message_new_warning), (gst_message_new_tag),
30918 (gst_message_new_state_changed), (gst_message_new_application),
30919 (gst_message_get_structure):
30920 * gst/gstmessage.h:
30921 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30922 (gst_structure_copy_conditional):
30923 Use parent refcount in GstMessage to ensure GstStructure
30925 Cleaned up headers a bit.
30928 2005-04-20 Wim Taymans <wim@fluendo.com>
30930 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30931 (gst_basesink_pad_getcaps), (gst_basesink_init),
30932 (gst_basesink_chain_unlocked):
30933 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30934 (gst_type_find_helper):
30935 * gst/elements/gsttypefindelement.c:
30936 (gst_type_find_element_have_type), (gst_type_find_element_init),
30937 (stop_typefinding), (gst_type_find_element_handle_event),
30938 (find_suggest), (gst_type_find_element_chain),
30939 (gst_type_find_element_checkgetrange),
30940 (gst_type_find_element_getrange), (do_typefind),
30941 (gst_type_find_element_activate):
30942 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30943 (gst_buffer_default_free), (gst_buffer_default_copy),
30944 (gst_buffer_set_caps):
30945 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30946 (gst_caps_replace):
30947 * gst/gstmessage.c: (gst_message_new),
30948 (gst_message_new_state_changed):
30949 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30950 (gst_pad_set_checkgetrange_function),
30951 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30952 (gst_pad_set_caps), (gst_pad_check_pull_range),
30953 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30955 * gst/gsttypefind.c: (gst_type_find_register):
30956 Make gst_caps_replace() work like other _replace() functions.
30957 Use _caps_replace() where possible.
30958 Make sure _message_new() initialises its field.
30959 Add gst_static_pad_template_get_caps()
30962 2005-04-18 Andy Wingo <wingo@pobox.com>
30964 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30965 on the peer, not the pad. I think that was a typo. Pass an extra
30966 arg to see if random access is possible. Activate the pads as
30967 PULL_RANGE if possible.
30969 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30971 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30972 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30975 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30977 * docs/faq/using.xml:
30978 Add note on gstreamer-properties (#154996).
30980 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30982 * docs/random/bbb/optional-properties:
30983 Some analysis on optional properties.
30985 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30987 * docs/gst/tmpl/gstelementfactory.sgml:
30988 * gst/gstelement.h:
30989 * gst/gstelementfactory.c: (gst_element_factory_init),
30990 (gst_element_factory_cleanup), (gst_element_register),
30991 (__gst_element_factory_add_static_pad_template),
30992 (gst_element_factory_get_static_pad_templates),
30993 (gst_element_factory_can_src_caps),
30994 (gst_element_factory_can_sink_caps):
30995 * gst/registries/Makefile.am:
30996 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30997 (gst_xml_registry_class_init), (gst_xml_registry_init),
30998 (gst_xml_registry_new), (gst_xml_registry_set_property),
30999 (gst_xml_registry_get_property), (get_time), (make_dir),
31000 (gst_xml_registry_get_perms_func),
31001 (plugin_times_older_than_recurse), (plugin_times_older_than),
31002 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31003 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31004 (add_to_char_array), (read_string), (read_uint), (read_enum),
31005 (load_pad_template), (load_feature), (load_plugin), (load_paths),
31006 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31007 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31008 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31009 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31010 (gst_xml_registry_rebuild):
31011 * gst/registries/gstlibxmlregistry.h:
31012 * tools/gst-compprep.c: (main):
31013 * tools/gst-inspect.c: (print_pad_templates_info):
31014 * tools/gst-xmlinspect.c: (print_element_info):
31015 Use libxml2 for registry parsing, use staticpadtemplates in
31016 elementfactories. Makes gst_init() +/- 10x faster.
31018 2005-04-12 Wim Taymans <wim@fluendo.com>
31020 * gst/base/Makefile.am:
31021 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31022 (gst_basesink_pad_getcaps), (gst_basesink_init),
31023 (gst_basesink_event), (gst_basesink_change_state):
31024 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31025 (gst_basesrc_init), (gst_basesrc_query),
31026 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31027 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31028 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31029 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31030 (gst_basesrc_stop), (gst_basesrc_activate),
31031 (gst_basesrc_change_state):
31032 * gst/base/gsttypefindhelper.c: (helper_find_peek),
31033 (helper_find_suggest), (gst_type_find_helper):
31034 * gst/base/gsttypefindhelper.h:
31035 * gst/elements/Makefile.am:
31036 * gst/elements/gstelements.c:
31037 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31038 (gst_fakesink_get_times), (gst_fakesink_event),
31039 (gst_fakesink_preroll), (gst_fakesink_render):
31040 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31041 (gst_fakesrc_init), (gst_fakesrc_event_handler),
31042 (gst_fakesrc_get_property), (gst_fakesrc_create),
31043 (gst_fakesrc_start), (gst_fakesrc_stop):
31044 * gst/elements/gstfakesrc.h:
31045 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31046 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31047 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31048 (gst_filesrc_create_read), (gst_filesrc_create),
31049 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31050 (gst_filesrc_start):
31051 * gst/elements/gsttypefindelement.c:
31052 (gst_type_find_element_have_type), (gst_type_find_element_init),
31053 (start_typefinding), (stop_typefinding), (push_buffer_store),
31054 (gst_type_find_element_handle_event),
31055 (gst_type_find_element_chain),
31056 (gst_type_find_element_checkgetrange),
31057 (gst_type_find_element_getrange), (do_typefind),
31058 (gst_type_find_element_activate),
31059 (gst_type_find_element_change_state):
31060 * gst/elements/gsttypefindelement.h:
31061 * gst/gstpipeline.c: (pipeline_bus_handler):
31062 Added typefind helper.
31063 Small preroll fix in the base sink.
31064 Disable typefind code in basesrc.
31065 Crude port of typefindelement.
31069 2005-04-11 Wim Taymans <wim@fluendo.com>
31071 * check/gst/gstbus.c: (gstbus_suite):
31072 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31073 * check/gstcheck.h:
31074 Fix up the timeout so that the test does not fail.
31076 2005-04-06 Wim Taymans <wim@fluendo.com>
31079 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31080 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31081 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31082 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31083 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31084 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31085 (gst_basesrc_stop), (gst_basesrc_activate),
31086 (gst_basesrc_change_state), (basesrc_find_peek),
31087 (basesrc_find_suggest), (gst_basesrc_type_find):
31088 * gst/base/gstbasesrc.h:
31089 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31090 (gst_filesrc_class_init), (gst_filesrc_init),
31091 (gst_filesrc_finalize), (gst_filesrc_set_location),
31092 (gst_filesrc_set_property), (gst_filesrc_get_property),
31093 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31094 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31095 (gst_filesrc_create_read), (gst_filesrc_create),
31096 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31097 * gst/elements/gstfilesrc.h:
31098 * gst/gstelement.c: (gst_element_get_state_func),
31099 (gst_element_lost_state), (gst_element_pads_activate):
31100 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31101 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31102 (gst_pad_pull_range):
31104 More work on the generic source base class, implement seeking,
31106 Make filesrc extend the base source class.
31107 Added gst_pad_set_checkgetrange_function to GstPad.
31109 2005-04-06 Andy Wingo <wingo@pobox.com>
31111 * pkgconfig/gstreamer-base.pc.in:
31112 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31114 * pkgconfig/Makefile.am:
31115 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31117 2005-04-04 Wim Taymans <wim@fluendo.com>
31119 * gst/base/Makefile.am:
31121 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31122 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31123 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31124 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31125 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31126 (gst_basesrc_base_init), (gst_basesrc_class_init),
31127 (gst_basesrc_init), (gst_basesrc_get_formats),
31128 (gst_basesrc_get_query_types), (gst_basesrc_query),
31129 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31130 (gst_basesrc_set_property), (gst_basesrc_get_property),
31131 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31132 (gst_basesrc_loop), (gst_basesrc_activate),
31133 (gst_basesrc_change_state):
31134 * gst/base/gstbasesrc.h:
31135 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31136 (gst_fakesrc_class_init), (gst_fakesrc_init),
31137 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31138 (gst_fakesrc_get_property), (gst_fakesrc_create):
31139 * gst/elements/gstfakesrc.h:
31140 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31141 (gst_filesrc_open_file), (gst_filesrc_loop),
31142 (gst_filesrc_activate), (filesrc_find_peek),
31143 (gst_filesrc_type_find):
31144 Made base source class, make fakesrc extend it.
31145 Add comments to basesink class.
31146 Some filesrc cleanup.
31148 2005-03-31 David Schleef <ds@schleef.org>
31150 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31151 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31152 expected to link against libgstreamer.
31153 * gst/base/Makefile.am: link against libgstreamer
31154 * gst/elements/Makefile.am: same
31156 2005-03-31 Andy Wingo <wingo@pobox.com>
31158 * tests/instantiate/Makefile.am:
31159 * tests/instantiate/caps.c: Add test to test speed of caps copy
31162 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31163 GMemChunk to be fair.
31165 * gst/gsttrashstack.h: Remove warning about using the fallback
31166 trash stack implementation, it's still faster than malloc.
31168 2005-03-30 Andy Wingo <wingo@pobox.com>
31170 * tests/complexity.c: Add a copyright.
31172 2005-03-31 Wim Taymans <wim@fluendo.com>
31174 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31175 (gst_base_transform_class_init), (gst_base_transform_init),
31176 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31177 (gst_base_transform_get_property),
31178 (gst_base_transform_sink_activate),
31179 (gst_base_transform_src_activate),
31180 (gst_base_transform_change_state):
31181 * gst/base/gstbasetransform.h:
31182 * gst/elements/gstidentity.c: (gst_identity_class_init),
31183 (gst_identity_event), (gst_identity_check_perfect),
31184 (gst_identity_transform), (gst_identity_start),
31185 (gst_identity_stop):
31186 Added start/stop methods to transform base class so subclasses
31187 don't need to deal with state changes even.
31189 2005-03-31 Wim Taymans <wim@fluendo.com>
31191 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31192 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31194 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31195 (gst_pad_pull_range):
31196 Added rate to the discont event to prepare for variable speed
31197 and reverse playback.
31199 2005-03-29 David Schleef <ds@schleef.org>
31202 * testsuite/trigger/Makefile.am:
31203 * testsuite/trigger/trigger.c: A little example program to show
31204 how trigger-based elements can work.
31206 2005-03-29 Wim Taymans <wim@fluendo.com>
31208 * gst/base/Makefile.am:
31210 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31211 (gst_basesink_base_init), (gst_basesink_class_init),
31212 (gst_basesink_pad_getcaps), (gst_basesink_init),
31213 (gst_basesink_activate), (gst_basesink_change_state):
31214 * gst/base/gstbasesink.h:
31215 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31216 (gst_base_transform_base_init), (gst_base_transform_finalize),
31217 (gst_base_transform_class_init), (gst_base_transform_init),
31218 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31219 (gst_base_transform_event), (gst_base_transform_getrange),
31220 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31221 (gst_base_transform_set_property),
31222 (gst_base_transform_get_property),
31223 (gst_base_transform_sink_activate),
31224 (gst_base_transform_src_activate),
31225 (gst_base_transform_change_state):
31226 * gst/base/gstbasetransform.h:
31227 * gst/elements/gstidentity.c: (gst_identity_finalize),
31228 (gst_identity_class_init), (gst_identity_init),
31229 (gst_identity_event), (gst_identity_check_perfect),
31230 (gst_identity_transform), (gst_identity_set_property),
31231 (gst_identity_get_property), (gst_identity_change_state):
31232 * gst/elements/gstidentity.h:
31233 * gst/gstelement.c: (gst_element_get_state_func),
31234 (gst_element_lost_state), (gst_element_pads_activate):
31235 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31236 (gst_pad_check_pull_range), (gst_pad_pull_range):
31238 Simplify pad activation.
31239 Added function to check if pull_range can be performed.
31240 Error out when pulling inactive or flushing pads.
31241 Removed const from refcounted types as it does not make sense.
31242 Simplify pad templates in basesink
31243 Added base class for simple 1-to-1 transforms.
31244 Make identity subclass the base transform.
31246 2005-03-29 Andy Wingo <wingo@pobox.com>
31248 * docs/libs/gstreamer-libs-overrides.txt:
31249 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31250 really don't understand what's going on, but like whatever. I want
31253 * docs/gst/Makefile.am:
31254 * docs/libs/Makefile.am: Dist the overrides files.
31256 * check/Makefile.am (clean-local): Remove .libs directories.
31258 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31259 elements to EXTRA_DIST, so po/ files are happy.
31261 * po/POTFILES.in: Er, remove it here.
31263 * po/POTFILES: Remove gstspider.c.
31265 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31267 * docs/libs/gstreamer-libs-docs.sgml:
31268 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31271 * tests/complexity.c (main): Set the length of the preroll queue
31272 on the sinks to prevent a lockup.
31274 * libs/gst/dataprotocol/Makefile.am:
31275 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31276 the same as the one in check/gst-libs/gdp.c.
31278 * po/, docs/gst/: Commit automatic changes to docs and po files.
31280 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31281 the versioned libgstbase.
31283 * check/Makefile.am: Depend on an unversioned gst-register, seems
31284 to make autoconf happier.
31286 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31288 2005-03-28 Wim Taymans <wim@fluendo.com>
31291 * docs/design/part-gstelement.txt:
31292 * docs/design/part-negotiation.txt:
31293 * docs/design/part-preroll.txt:
31294 * docs/design/part-scheduling.txt:
31295 * docs/design/part-states.txt:
31297 * gst/base/Makefile.am:
31299 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31300 (gst_basesink_base_init), (gst_basesink_class_init),
31301 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31302 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31303 (gst_basesink_set_pad_functions),
31304 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31305 (gst_basesink_set_property), (gst_basesink_get_property),
31306 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31307 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31308 (gst_basesink_preroll_queue_push),
31309 (gst_basesink_preroll_queue_empty),
31310 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31311 (gst_basesink_event), (gst_basesink_get_times),
31312 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31313 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31314 (gst_basesink_loop), (gst_basesink_activate),
31315 (gst_basesink_change_state):
31316 * gst/base/gstbasesink.h:
31317 * gst/elements/Makefile.am:
31318 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31319 (gst_fakesink_class_init), (gst_fakesink_init),
31320 (gst_fakesink_set_property), (gst_fakesink_get_property),
31321 (gst_fakesink_get_times), (gst_fakesink_event),
31322 (gst_fakesink_preroll), (gst_fakesink_render),
31323 (gst_fakesink_change_state):
31324 * gst/elements/gstfakesink.h:
31325 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31326 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31327 * gst/gstelement.c: (gst_element_add_pad),
31328 (gst_element_get_state_func), (gst_element_abort_state),
31329 (gst_element_commit_state), (gst_element_lost_state),
31330 (gst_element_set_state), (gst_element_pads_activate):
31331 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31332 * gst/gstpipeline.c: (gst_pipeline_send_event),
31333 (gst_pipeline_change_state):
31334 Added state change code.
31335 Added/updated docs.
31336 Added sink base class, make fakesink extend the base class.
31337 Small cleanups in GstPipeline.
31339 2005-03-26 David Schleef <ds@schleef.org>
31341 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31342 is broken and should be implemented in a different library.
31343 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31344 * gst/gst.h: remove gstcpu.h
31345 * gst/gstcpu.c: remove
31346 * gst/gstcpu.h: remove
31347 * gst/Makefile.am.future: Remove this file. It's ancient.
31349 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31351 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31352 (gst_bin_send_event):
31353 Add default event/set_manager handlers. The set_manager handler
31354 takes care that the manager is distributed over kids that were
31355 already in the bin before the manager was set. The event handler
31356 is a utility virtual function that sends the event over all sinks,
31357 so that gst_element_send_event (bin, event); has the expected
31359 * gst/gstpad.c: (gst_pad_event_default):
31360 Re-install default event handling for discontinuities, so that
31361 seeking works without requiring hacks in applications or extra
31363 * gst/gstpipeline.c: (gst_pipeline_class_init),
31364 (gst_pipeline_send_event):
31365 Half hack, half utility: set a pipeline to PAUSED for seek events,
31366 since that is the only way we can guarantee a/v sync. Means that
31367 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31368 and it "just works".
31370 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31372 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31373 Lock/unlock mismatch.
31375 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31377 * docs/faq/gst-uninstalled:
31378 add gst-plugins-base
31379 * docs/gst/Makefile.am:
31380 don't error out until docs are fixed
31381 * docs/gst/gstreamer.types:
31384 2005-03-22 Wim Taymans <wim@fluendo.com>
31386 * check/Makefile.am:
31387 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31388 * gst/gststructure.c: (gst_structure_set_valist),
31389 (gst_structure_copy_conditional):
31390 Activated more tests.
31391 Added message test.
31392 Added G_TYPE_POINTER to GstStructure.
31395 2005-03-22 Wim Taymans <wim@fluendo.com>
31397 * docs/design/part-TODO.txt:
31398 * docs/design/part-events.txt:
31399 * docs/design/part-gstbin.txt:
31400 * docs/design/part-gstbus.txt:
31401 * docs/design/part-gstpipeline.txt:
31402 * docs/design/part-messages.txt:
31404 * gst/gstmessage.c:
31407 2005-03-21 Wim Taymans <wim@fluendo.com>
31409 * gst/gstbus.c: (gst_bus_post):
31410 Fix copy-and-paste error.
31412 2005-03-21 Wim Taymans <wim@fluendo.com>
31414 * check/Makefile.am:
31416 * gst/elements/Makefile.am:
31417 * gst/elements/gstelements.c:
31418 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31419 (gst_fakesink_event), (gst_fakesink_chain):
31420 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31421 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31422 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31423 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31424 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31425 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31426 (gst_fakesrc_loop), (gst_fakesrc_activate),
31427 (gst_fakesrc_change_state):
31428 * gst/elements/gstfakesrc.h:
31429 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31430 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31431 (gst_filesrc_open_file), (gst_filesrc_loop),
31432 (gst_filesrc_activate), (gst_filesrc_change_state),
31433 (filesrc_find_peek), (filesrc_find_suggest),
31434 (gst_filesrc_type_find):
31435 * gst/elements/gstidentity.c: (gst_identity_finalize),
31436 (gst_identity_class_init), (gst_identity_init),
31437 (gst_identity_proxy_getcaps), (identity_queue_push),
31438 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31439 (gst_identity_getrange), (gst_identity_chain),
31440 (gst_identity_sink_loop), (gst_identity_src_loop),
31441 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31442 (gst_identity_set_property), (gst_identity_get_property),
31443 (gst_identity_change_state):
31444 * gst/elements/gstidentity.h:
31445 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31446 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31447 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31448 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31449 (gst_tee_sink_activate):
31450 * gst/elements/gsttee.h:
31451 * gst/gst.c: (gst_register_core_elements), (init_post):
31453 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31454 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31455 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31456 (gst_bin_change_state):
31458 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31459 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31460 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31461 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31462 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31463 (bus_watch_callback), (bus_watch_destroy),
31464 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31465 (poll_timeout), (gst_bus_poll):
31469 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31470 (gst_element_post_message), (gst_element_message_full),
31471 (gst_element_get_state_func), (gst_element_get_state),
31472 (gst_element_abort_state), (gst_element_commit_state),
31473 (gst_element_lost_state), (gst_element_set_state),
31474 (gst_element_pads_activate), (gst_element_change_state),
31475 (gst_element_dispose), (gst_element_set_manager_func),
31476 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31477 (gst_element_set_manager), (gst_element_get_manager),
31478 (gst_element_set_bus), (gst_element_get_bus),
31479 (gst_element_set_scheduler), (gst_element_get_scheduler):
31480 * gst/gstelement.h:
31481 * gst/gstevent.c: (gst_event_new_segment_seek),
31482 (gst_event_new_flush):
31484 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31485 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31486 (gst_message_new_eos), (gst_message_new_error),
31487 (gst_message_new_warning), (gst_message_new_tag),
31488 (gst_message_new_state_changed), (gst_message_new_application),
31489 (gst_message_get_structure), (gst_message_parse_tag),
31490 (gst_message_parse_state_changed), (gst_message_parse_error),
31491 (gst_message_parse_warning):
31492 * gst/gstmessage.h:
31493 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31494 (gst_real_pad_set_property), (gst_pad_set_active),
31495 (gst_pad_is_active), (gst_pad_set_blocked_async),
31496 (gst_pad_set_blocked), (gst_pad_is_blocked),
31497 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31498 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31499 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31500 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31501 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31502 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31503 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31504 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31505 (gst_pad_set_caps), (gst_pad_configure_sink),
31506 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31507 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31508 (gst_real_pad_dispose), (gst_real_pad_finalize),
31509 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31510 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31511 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31513 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31514 (pipeline_bus_handler), (gst_pipeline_change_state),
31515 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31516 * gst/gstpipeline.h:
31518 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31519 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31520 (gst_queue_link_src), (gst_queue_bufferalloc),
31521 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31522 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31523 (gst_queue_loop), (gst_queue_handle_src_event),
31524 (gst_queue_handle_src_query), (gst_queue_src_activate),
31525 (gst_queue_change_state):
31527 * gst/gstscheduler.c: (gst_scheduler_init),
31528 (gst_scheduler_dispose), (gst_scheduler_create_task),
31529 (gst_scheduler_factory_create):
31530 * gst/gstscheduler.h:
31531 * gst/gststructure.c: (gst_structure_get_type),
31532 (gst_structure_copy_conditional):
31533 * gst/gststructure.h:
31534 * gst/gsttaginterface.h:
31535 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31536 (gst_task_init), (gst_task_dispose), (gst_task_create),
31537 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31543 * gst/schedulers/Makefile.am:
31544 * gst/schedulers/cothreads_compat.h:
31545 * gst/schedulers/entryscheduler.c:
31546 * gst/schedulers/faircothreads.c:
31547 * gst/schedulers/faircothreads.h:
31548 * gst/schedulers/fairscheduler.c:
31549 * gst/schedulers/gstbasicscheduler.c:
31550 * gst/schedulers/gstoptimalscheduler.c:
31551 * gst/schedulers/gthread-cothreads.h:
31552 * gst/schedulers/threadscheduler.c:
31553 (gst_thread_scheduler_task_get_type),
31554 (gst_thread_scheduler_task_class_init),
31555 (gst_thread_scheduler_task_init),
31556 (gst_thread_scheduler_task_start),
31557 (gst_thread_scheduler_task_stop),
31558 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31559 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31560 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31561 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31563 * libs/gst/Makefile.am:
31564 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31565 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31566 (gst_file_pad_parent_set):
31567 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31568 (gst_dp_event_from_packet):
31569 * tests/complexity.c: (main):
31570 * tests/mass_elements.c: (main):
31571 * testsuite/states/locked.c: (message_received), (main):
31572 * testsuite/states/parent.c: (main):
31573 * tools/gst-inspect.c: (print_element_flag_info),
31574 (print_implementation_info), (print_pad_info):
31575 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31577 * tools/gst-md5sum.c: (event_loop), (main):
31578 * tools/gst-typefind.c: (main):
31579 * tools/gst-xmlinspect.c: (print_element_info):
31581 Added GstBus for mainloop integration.
31582 Added GstMessage for sending notifications on the bus.
31583 Added GstTask as an abstraction for pipeline entry points.
31585 Removed Schedulers.
31586 Simplified GstQueue for multithreaded core.
31587 Made _link threadsafe, removed old capsnego.
31588 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31589 Added pad blocking functions.
31590 Reworked scheduling functions in GstPad to prepare for
31591 scheduling updates soon.
31592 Moved events out of data stream.
31593 Simplified GstEvent types.
31594 Added return values to push/pull.
31595 Removed clocking from GstElement.
31596 Added prototypes for state change function for next merge.
31597 Removed iterate from bins and state change management.
31598 Fixed some elements, disabled others for now.
31599 Fixed -inspect and -launch.
31600 Added check for GstBus.
31602 2005-03-10 Wim Taymans <wim@fluendo.com>
31604 * docs/design/part-MT-refcounting.txt:
31605 * docs/design/part-clocks.txt:
31606 * docs/design/part-gstelement.txt:
31607 * docs/design/part-gstobject.txt:
31608 * docs/design/part-standards.txt:
31609 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31610 (gst_bin_remove_func), (gst_bin_remove):
31614 * testsuite/clock/clock1.c: (main):
31615 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31617 * testsuite/dlopen/loadgst.c: (do_test):
31618 * testsuite/refcounting/bin.c: (add_remove_test1),
31619 (add_remove_test2), (main):
31620 * testsuite/refcounting/element.c: (main):
31621 * testsuite/refcounting/element_pad.c: (main):
31622 * testsuite/refcounting/pad.c: (main):
31623 * tools/gst-launch.c: (sigint_handler_sighandler):
31624 * tools/gst-typefind.c: (main):
31626 Added doc about clock.
31627 removed gst_bin_iterate_recurse_up(), marked methods
31629 Fix more testsuites.
31631 2005-03-09 Wim Taymans <wim@fluendo.com>
31633 * gst/gstpad.c: (gst_pad_get_direction),
31634 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31635 (gst_pad_collect_valist):
31636 * testsuite/bins/interface.c: (main):
31637 * testsuite/caps/audioscale.c: (test_caps):
31638 * testsuite/caps/caps.c: (test1), (test2), (test3):
31639 * testsuite/caps/deserialize.c: (main):
31640 * testsuite/caps/enumcaps.c: (main):
31641 * testsuite/caps/filtercaps.c: (main):
31642 * testsuite/caps/intersect2.c: (main):
31643 * testsuite/caps/random.c: (main):
31644 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31645 * testsuite/caps/sets.c: (check_caps):
31646 * testsuite/caps/simplify.c: (check_caps), (main):
31647 * testsuite/caps/subtract.c: (check_caps):
31648 Fix _pad_get_direction wrt ghostpads.
31649 Fix caps testsuite.
31651 2005-03-09 Wim Taymans <wim@fluendo.com>
31653 * check/Makefile.am:
31654 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31655 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31656 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31657 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31658 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31659 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31660 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31661 (bin_element_is_sink), (gst_bin_iterate_sinks),
31662 (gst_bin_iterate_all_by_interface):
31664 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31665 (gst_element_change_state), (gst_element_dispose),
31666 (gst_element_finalize), (gst_element_set_loop_function):
31667 * gst/gstelement.h:
31668 * gst/gstiterator.c: (find_custom_fold_func):
31669 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31670 (gst_pad_collectv), (gst_pad_collect_valist),
31671 (gst_pad_template_new):
31672 * gst/gstpipeline.c: (gst_pipeline_class_init),
31673 (gst_pipeline_dispose), (gst_pipeline_set_property),
31674 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31675 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31676 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31678 * gst/schedulers/entryscheduler.c:
31679 * gst/schedulers/gstbasicscheduler.c:
31680 (gst_basic_scheduler_cothreaded_chain),
31681 (gst_basic_scheduler_chain_add_element):
31682 * testsuite/bins/interface.c: (main):
31684 Added GstSystemClock test.
31685 Implemented clock distribution code in GstBin.
31686 Implemented iterate sinks method for future use.
31687 Rearranged gstelement.h
31688 Fix GstIterator comparison bug.
31689 Moved some code to GstPipeline, mostly clocking related.
31691 2005-03-09 Wim Taymans <wim@fluendo.com>
31694 * gst/gst_private.h:
31695 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31696 (gst_bin_remove_func), (gst_bin_remove),
31697 (gst_bin_get_by_name_recurse_up):
31698 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31699 (gst_clock_id_compare_func), (gst_clock_id_wait),
31700 (gst_clock_id_wait_async), (gst_clock_init),
31701 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31702 * gst/gstelement.h:
31703 * gst/gstinfo.c: (_gst_debug_init):
31705 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31706 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31708 Bump version number, we're now 0.9.0
31709 Add future debugging category.
31710 Fix NULL _unref() in _get_by_name_recurse_up
31711 Rearrange gstpad.h.
31714 2005-03-08 Wim Taymans <wim@fluendo.com>
31716 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31717 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31718 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31719 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31720 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31721 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31722 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31723 * gst/elements/gstidentity.c: (gst_identity_class_init):
31724 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31725 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31726 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31727 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31728 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31730 * gst/gstelement.c: (gst_element_class_init),
31731 (gst_element_base_class_init), (gst_element_init),
31732 (gst_element_get_random_pad), (gst_element_wait_state_change),
31733 (gst_element_change_state), (gst_element_dispose),
31734 (gst_element_finalize), (gst_element_set_loop_function):
31735 * gst/gstelement.h:
31736 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31737 * gst/gstthread.c: (gst_thread_class_init),
31738 (gst_thread_release_children_locks), (gst_thread_change_state):
31739 * gst/schedulers/gstbasicscheduler.c:
31740 (gst_basic_scheduler_loopfunc_wrapper),
31741 (gst_basic_scheduler_chain_wrapper),
31742 (gst_basic_scheduler_src_wrapper),
31743 (gst_basic_scheduler_remove_element):
31744 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31745 Remove threadsafe properties. Fix elements because GObject
31746 complains when installing a property before declaring a
31747 set/get_property handler.
31748 Rearrange gstelement.h file, use STATE macros for state locks.
31749 Free mutexes in the finalize method instead of dispose.
31751 2005-03-08 Wim Taymans <wim@fluendo.com>
31753 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31754 * gst/gstthread.c: (gst_thread_release_children_locks):
31755 Added parentage check.
31756 Fix build og GstThread again.
31758 2005-03-08 Wim Taymans <wim@fluendo.com>
31760 * docs/design/part-MT-refcounting.txt:
31761 * docs/design/part-conventions.txt:
31762 * docs/design/part-gstobject.txt:
31763 * docs/design/part-relations.txt:
31764 * docs/design/part-standards.txt:
31765 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31766 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31767 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31768 (gst_bin_iterate_all_by_interface):
31771 * gst/gstelement.c: (gst_element_class_init),
31772 (gst_element_change_state), (gst_element_set_loop_function):
31773 * gst/gstelement.h:
31774 * gst/gstiterator.c:
31775 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31776 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31777 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31778 (gst_object_set_parent), (gst_object_unparent),
31779 (gst_object_check_uniqueness):
31781 Docs updates, clean up some headers.
31783 2005-03-07 Wim Taymans <wim@fluendo.com>
31785 * check/.cvsignore:
31786 * check/Makefile.am:
31787 * check/gst-libs/.cvsignore:
31788 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31789 * check/gst/.cvsignore:
31790 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31791 (START_TEST), (gstbus_suite), (main):
31792 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31793 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31794 (gst_data_suite), (main):
31795 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31796 (add_fold_func), (gstiterator_suite), (main):
31797 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31798 (thread_name_object), (thread_name_object_default),
31799 (gst_object_name_compare), (gst_object_suite), (main):
31800 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31801 (gst_pad_suite), (main):
31802 * check/gstcheck.c: (gst_check_log_message_func),
31803 (gst_check_log_critical_func), (gst_check_init):
31804 * check/gstcheck.h:
31805 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31806 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31809 2005-03-07 Wim Taymans <wim@fluendo.com>
31811 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31812 (gst_list_iterator_next), (gst_list_iterator_resync),
31813 (gst_list_iterator_free), (gst_iterator_new_list),
31814 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31815 (gst_iterator_free), (gst_iterator_push), (filter_next),
31816 (filter_resync), (filter_uninit), (filter_free),
31817 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31818 (gst_iterator_foreach), (find_custom_fold_func),
31819 (gst_iterator_find_custom):
31820 * gst/gstiterator.h:
31821 Added missing files.
31823 2005-03-07 Wim Taymans <wim@fluendo.com>
31827 * docs/design/part-MT-refcounting.txt:
31828 * docs/design/part-conventions.txt:
31829 * docs/design/part-gstobject.txt:
31830 * docs/design/part-relations.txt:
31831 * examples/mixer/mixer.c: (main):
31832 * examples/thread/thread.c: (eos), (main):
31834 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31835 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31836 (gst_spider_plug_from_srcpad):
31837 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31838 (gst_spider_identity_change_state),
31839 (gst_spider_identity_sink_loop_type_finding):
31840 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31841 * gst/elements/gstidentity.c: (gst_identity_init):
31842 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31843 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31844 * gst/elements/gsttypefindelement.c: (free_entry):
31847 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31848 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31849 (gst_bin_set_index), (gst_bin_set_element_sched),
31850 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31851 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31852 (gst_bin_iterate_elements), (iterate_child_recurse),
31853 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31854 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31855 (compare_interface), (gst_bin_get_by_interface),
31856 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31858 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31859 (gst_buffer_default_free), (gst_buffer_default_copy),
31860 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31861 (gst_buffer_create_sub):
31863 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31864 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31865 (gst_caps_unref), (gst_static_caps_get),
31866 (gst_caps_remove_and_get_structure), (gst_caps_append),
31867 (gst_caps_append_structure), (gst_caps_remove_structure),
31868 (gst_caps_copy_nth), (gst_caps_set_simple),
31869 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31870 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31871 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31872 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31873 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31874 (gst_caps_structure_figure_out_union),
31875 (gst_caps_switch_structures), (gst_caps_do_simplify),
31876 (gst_caps_replace), (gst_caps_from_string),
31877 (gst_caps_copy_conditional):
31879 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31880 (_gst_clock_id_free), (gst_clock_id_unref),
31881 (gst_clock_id_compare_func), (gst_clock_id_wait),
31882 (gst_clock_id_wait_async), (gst_clock_class_init),
31883 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31884 (gst_clock_get_time), (gst_clock_set_time_adjust),
31885 (gst_clock_set_property), (gst_clock_get_property):
31888 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31889 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31891 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31892 (gst_element_requires_clock), (gst_element_provides_clock),
31893 (gst_element_set_clock), (gst_element_clock_wait),
31894 (gst_element_wait), (gst_element_set_time_delay),
31895 (gst_element_is_indexable), (gst_element_add_pad),
31896 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31897 (pad_compare_name), (gst_element_get_static_pad),
31898 (gst_element_request_pad), (gst_element_get_request_pad),
31899 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31900 (gst_element_class_get_pad_template_list),
31901 (gst_element_class_get_pad_template), (gst_element_error_func),
31902 (gst_element_get_random_pad), (gst_element_get_event_masks),
31903 (gst_element_send_event), (gst_element_seek),
31904 (gst_element_get_query_types), (gst_element_query),
31905 (gst_element_get_formats), (gst_element_convert),
31906 (gst_element_is_locked_state), (gst_element_set_locked_state),
31907 (gst_element_sync_state_with_parent), (gst_element_change_state),
31908 (gst_element_finalize), (gst_element_yield),
31909 (gst_element_interrupt), (gst_element_set_scheduler),
31910 (gst_element_get_scheduler), (gst_element_set_loop_function):
31911 * gst/gstelement.h:
31913 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31914 (gst_format_get_by_nick), (gst_format_get_details),
31915 (gst_format_iterate_definitions):
31917 * gst/gstindex.c: (gst_index_gtype_resolver):
31920 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31921 (gst_mem_chunk_free):
31922 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31923 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31924 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31925 (gst_object_dispatch_properties_changed),
31926 (gst_object_set_name_default), (gst_object_set_name),
31927 (gst_object_get_name), (gst_object_set_name_prefix),
31928 (gst_object_get_name_prefix), (gst_object_set_parent),
31929 (gst_object_get_parent), (gst_object_unparent),
31930 (gst_object_check_uniqueness), (gst_object_save_thyself),
31931 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31932 (gst_object_set_property), (gst_object_get_property),
31933 (gst_object_get_path_string):
31935 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31936 (gst_real_pad_init), (gst_real_pad_get_property),
31937 (gst_pad_custom_new), (gst_pad_get_direction),
31938 (gst_pad_set_active), (gst_pad_is_active),
31939 (gst_pad_set_event_function), (gst_pad_is_linked),
31940 (gst_pad_link_free), (gst_pad_link_intersect),
31941 (gst_pad_link_fixate), (gst_pad_set_caps),
31942 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31943 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31944 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31945 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31946 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31947 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31948 (gst_pad_realize), (gst_pad_get_allowed_caps),
31949 (gst_real_pad_dispose), (gst_real_pad_finalize),
31950 (gst_pad_collectv), (gst_pad_collect_valist),
31951 (gst_pad_template_dispose), (gst_pad_template_new),
31952 (gst_pad_get_internal_links):
31954 * gst/gstpipeline.c: (gst_pipeline_dispose),
31955 (gst_pipeline_change_state):
31956 * gst/gstpipeline.h:
31958 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31959 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31960 * gst/gstpluginfeature.h:
31961 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31962 * gst/gstquery.c: (_gst_query_type_initialize),
31963 (gst_query_type_register), (gst_query_type_get_by_nick),
31964 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31966 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31967 * gst/gstscheduler.c: (gst_scheduler_add_element),
31968 (gst_scheduler_factory_create):
31969 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31970 (gst_structure_free), (gst_structure_set_name),
31971 (gst_structure_id_set_value), (gst_structure_set_value),
31972 (gst_structure_set_valist), (gst_structure_remove_field),
31973 (gst_structure_remove_fields),
31974 (gst_structure_remove_fields_valist),
31975 (gst_structure_remove_all_fields), (gst_structure_foreach),
31976 (gst_structure_map_in_place),
31977 (gst_caps_structure_fixate_field_nearest_int),
31978 (gst_caps_structure_fixate_field_nearest_double):
31979 * gst/gststructure.h:
31980 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31981 (gst_system_clock_init), (gst_system_clock_dispose),
31982 (gst_system_clock_async_thread),
31983 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31984 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31985 * gst/gstsystemclock.h:
31986 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31987 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31988 * gst/gsttaginterface.c:
31989 * gst/gstthread.c: (gst_thread_dispose),
31990 (gst_thread_release_children_locks), (gst_thread_change_state),
31991 (gst_thread_main_loop):
31992 * gst/gsttrashstack.h:
31993 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31995 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31996 (gst_element_request_pad), (gst_element_get_pad_from_template),
31997 (gst_element_request_compatible_pad),
31998 (gst_element_get_compatible_pad_filtered),
31999 (gst_element_get_compatible_pad), (gst_element_state_get_name),
32000 (gst_element_link_pads_filtered), (gst_element_link_filtered),
32001 (gst_element_link_many), (gst_element_link),
32002 (gst_element_link_pads), (gst_element_unlink_pads),
32003 (gst_element_unlink_many), (gst_element_unlink),
32004 (gst_pad_can_link_filtered), (gst_pad_can_link),
32005 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32006 (gst_object_default_error), (gst_bin_add_many),
32007 (gst_bin_remove_many), (gst_element_populate_std_props),
32008 (gst_element_class_install_std_props), (gst_buffer_merge),
32009 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32010 (link_fold_func), (gst_pad_proxy_setcaps):
32012 * gst/gstvalue.c: (gst_value_deserialize_string):
32013 * gst/parse/grammar.y:
32014 * gst/schedulers/gstbasicscheduler.c:
32015 (gst_basic_scheduler_cothreaded_chain),
32016 (gst_basic_scheduler_chain_recursive_add),
32017 (gst_basic_scheduler_pad_link):
32018 * gst/schedulers/gstoptimalscheduler.c:
32019 (get_group_schedule_function),
32020 (gst_opt_scheduler_state_transition),
32021 (gst_opt_scheduler_add_element), (element_get_reachables_func):
32022 * libs/gst/bytestream/bytestream.c:
32023 * libs/gst/dataprotocol/dataprotocol.c:
32024 (gst_dp_header_from_buffer):
32027 * tests/threadstate/threadstate2.c: (eos):
32028 * tools/gst-compprep.c: (main):
32029 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32030 (print_pad_info), (print_children_info):
32031 * tools/gst-launch.c: (idle_func), (main):
32032 * tools/gst-md5sum.c: (idle_func), (main):
32033 * tools/gst-xmlinspect.c: (print_element_info):
32034 First THREADED backport attempt, focusing on adding locks and
32035 making sure the API is threadsafe. Needs more work. More docs
32038 2005-02-24 Andy Wingo <wingo@pobox.com>
32040 * tests/bench-complexity.scm:
32041 * tests/complexity.gnuplot: New files, good for running complexity
32044 * tests/Makefile.am:
32045 * tests/complexity.c: New test, sets up N elements, at each level
32046 teeing into M streams per element. Eeeenteresting.
32048 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32049 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32050 running bench-mass_elements.scm.
32052 * tests/bench-mass_elements.scm: New script, runs mass_elements
32053 for various numbers of identities, outputting the results to a
32054 file. Requires guile 1.6. Just for testing.
32056 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
32058 * gst/schedulers/fairscheduler.c:
32059 compile with debug disabled
32061 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32064 hunting season on 0.9 is now OPEN